01Developers
The same API the console runs on
There is no reduced public API and no privileged internal one. If the operator console can do it, so can your code — which is also why the API tends to be complete rather than aspirational.
Surfaces
Three ways to talk to the platform
REST API
Stations, EVSEs, sessions, meter values, drivers, tariffs, payments, invoices, partners and settlements. The console is a client of this API — there is no privileged internal surface it uses instead.
Webhooks
Signed event callbacks for session lifecycle, payment status, charger faults and settlement runs. Delivered with retries and an idempotency key so your handler can be safely re-run.
Server-sent events
A live stream of station and session updates for building a control-room view without polling.
Ground rules
What to expect from the API
- Tenant scoping applied server-side — an API key cannot reach another operator’s data
- Station-group restrictions apply to API access exactly as they do in the console
- Idempotency keys on write operations so retries are safe
- Cursor pagination on every list endpoint; no unbounded queries
- Rate limits published per key, with headers on every response
- Webhook payloads signed, and redelivered on failure
# List sessions for a station, newest first
curl -s https://api.zevos.ai/v1/sessions \
-H "Authorization: Bearer $ZEVOS_API_KEY" \
-G --data-urlencode "station_id=$STATION" \
--data-urlencode "limit=50"
# Start a session remotely
curl -s -X POST https://api.zevos.ai/v1/sessions \
-H "Authorization: Bearer $ZEVOS_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"evse_id":"...","driver_id":"..."}'Illustrative — see the API reference for exact paths and payloads
Patterns
What people actually build
Six integrations that come up repeatedly. None of them takes long, which is usually the surprise.
Push sessions into your ERP
Subscribe to the session-completed webhook, map the payload to your revenue schema, and reconcile monthly against the settlement export. Most operators have this working in an afternoon.
Build a custom driver app
Use the driver endpoints for authentication, station discovery, session start and stop, wallet and receipts. The white-label apps are built on the same surface.
Feed a data warehouse
Scheduled bulk export of sessions, meter values, payments and settlements, so your analysts work in the tool they already use.
Automate site provisioning
Create stations, EVSEs, connectors, tariff assignments and QR codes programmatically as part of your commissioning workflow.
Integrate a fleet management system
Map RFID tags to vehicles, pull per-vehicle energy consumption, and join it to telematics for cost-per-kilometre reporting.
Mirror uptime into your monitoring
Consume the charger-fault and availability events so charging appears alongside the rest of your infrastructure alerting.
Get keys
Ask for sandbox credentials
Tell us roughly what you want to build and we will set up a sandbox tenant with data that resembles a real network rather than three tidy rows.
The API reference is public
Every endpoint, every field, with example payloads. No login required to read it.