The Tellus Open Platform API uses OAuth2 client-credentials for partner / operator integrations and a bearer-token scheme for chargers themselves. This guide covers both, plus the optional HMAC-SHA256 request signing for high-security operations.Documentation Index
Fetch the complete documentation index at: https://developers.telluspowergroup.com/llms.txt
Use this file to discover all available pages before exploring further.
Operator-side authentication
CPMS providers, EMS partners, aggregators, and Tellus-internal services authenticate using OAuth2 client-credentials.How it works
You receive aclient_id and client_secret from the Tellus platform team. You exchange these for a short-lived access token by POSTing to the token endpoint:
Scopes
Yourclient_id is provisioned with one or both of the following scopes:
read— query sites, devices, charging records, telemetry, aggregated energywrite— issue control commands (start, stop, V2G discharge, schedule, flexibility)
read only — it removes any risk of an integration bug affecting real chargers. Add write once your client has been validated against the test environment.
Token lifecycle
Tokens expire after 86,400 seconds (24 hours). Most production clients refresh proactively a few minutes before expiry rather than waiting for a 401:Best practices
- Store credentials in a server-side secret store (AWS Secrets Manager, GCP Secret Manager, HashiCorp Vault, Cloudflare Workers Secrets, etc.).
- Use a Backend-For-Frontend (BFF) pattern: your frontend calls your own backend, which holds the Tellus credentials and proxies API requests with the access token attached server-side.
- Rotate
client_secretperiodically. Tellus supports rotation via a coordinated swap — contact the platform team to schedule. - Use separate
client_ids for production and test environments. Don’t reuse production credentials in development.
Charger-side authentication
Chargers themselves authenticate using adevice_id + device_secret pair issued at registration.
Registration
On first connection, a charger callsPOST /v1/device/register with its serial number, model, manufacturer, firmware version, and (optionally) MAC address. The platform returns a unique device_id and device_secret.
Token exchange
Subsequent calls use a Bearer token obtained by:Key rotation
Periodic rotation ofdevice_secret is recommended and can be performed via a dedicated rotation endpoint. Coordinate with the Tellus platform team for production fleets.
Optional: request signing
For high-security control operations, requests may additionally be signed using HMAC-SHA256. The signature coversHTTP_METHOD + REQUEST_PATH + TIMESTAMP + REQUEST_BODY and is placed in the X-Signature header. The platform verifies the signature using the device or client secret.
This is optional — most integrations don’t enable it — but available for operators who need defence-in-depth on critical commands.
Common questions
What if my access token expires mid-request?
What if my access token expires mid-request?
The API returns HTTP 401 with
code: 2002. Refresh the token by calling POST /v1/operator/oauth/token again with the same client_id and client_secret, then retry the original request. Most client libraries handle this automatically.Can I use the same client_id from multiple servers?
Can I use the same client_id from multiple servers?
Yes — the same
client_id can be used concurrently from multiple instances. The token returned is shared, and refreshing from one instance does not invalidate others. For operational simplicity, a single shared cache (e.g., Redis) holding the current token across instances is a common pattern.How do I get sandbox credentials?
How do I get sandbox credentials?
Email support@telluspowergroup.com and request a test
client_id / client_secret alongside any production credentials. Sandbox credentials hit a separate test environment with synthetic data — safer for verifying write/control endpoints before promoting to production.What's the difference between operator and charger authentication?
What's the difference between operator and charger authentication?
Operator authentication is for external clients — CPMS providers, EMS partners, aggregators, Tellus-side services — that consume data and issue control commands across many chargers. Charger authentication is for the chargers themselves — embedded firmware reporting heartbeat and telemetry to the platform, fetching commands. They use different token endpoints and different credential types.