01Developers · API
API reference
A map of the resources, the conventions the API holds to, and the webhook events you can build on.
v1
Conventions
What holds across every endpoint
Learn these once and the rest of the API behaves the way you expect.
- Base URL
- https://api.zevos.ai
- Authentication
- Bearer token — per-tenant API keys with viewer (read) or operator (read + write) access
- Scope
- A key can only call the endpoints in the published reference; credentials, staff, billing and payment settings are never reachable with a key
- Format
- JSON request and response bodies, UTF-8; ISO 8601 timestamps with timezone
- Pagination
- `limit` (max 500) and `offset` on every list, with a `total` in the response; no unbounded endpoints
- Errors
- `{"detail": …}` bodies — 401 bad key, 403 not permitted, 422 validation, 429 rate limited
- Rate limits
- Per key, per minute — chosen when you create the key — with `X-RateLimit-*` headers on every response
- Versioning
- Path-versioned (`/api/v1`); breaking changes ship as a new version, not in place
Resources
What you can reach
Infrastructure
/v1/stationsCharging stations: create, list, update, and read live status./v1/stations/{id}/evsesEVSEs and connectors, with rated power and connector type./v1/stations/{id}/commandsRemote start, stop, unlock, reset and availability change./v1/stations/{id}/configurationRead and write OCPP configuration keys./v1/stations/{id}/messagesThe OCPP message log for a charger, filterable by action and window.
Sessions & energy
/v1/sessionsCharging sessions with energy, duration, tariff snapshot and cost./v1/sessions/{id}/meter-valuesThe meter value series recorded during a session./v1/availabilityConnector state timelines and computed uptime for a period.
Commerce
/v1/tariffsTariffs, components, time-of-day windows and assignments./v1/paymentsPayments, captures and refunds against sessions./v1/invoicesGST invoices and receipts, with tax splits and series numbering./v1/promotionsCampaigns, targeting rules, caps and redemptions.
People
/v1/driversDrivers, groups, wallets and limits./v1/id-tagsRFID and ID tag issuance, blocking and station permissions./v1/authorizationsThe authorisation decision log, with reasons./v1/partnersSite partners, contracts and scoped access./v1/settlementsSettlement runs, statements, beneficiaries and payouts.
Roaming
/ocpi/2.2.1/...OCPI endpoints for Credentials, Locations, Tariffs, Tokens, Sessions, CDRs and Commands.
Webhooks
Events you can build on
Payloads are signed, retried on failure, and carry an idempotency key so a redelivery can be safely re-processed. Design your handler to be idempotent — it will receive a duplicate eventually.
- session.started / completed / failed / expired
- The life of a charging session, with energy, duration and cost on completion
- session.payment.captured / failed
- Money in against a session, or the gateway reason it did not arrive
- refund.completed / failed
- A refund issued to a driver, or why it could not be
- settlement.created
- A settlement run closed and its statement is available
- payout.completed / failed
- Money out to a partner or beneficiary
- wallet.credited
- A driver wallet top-up landed
- station.connected / disconnected / error
- A charger came online, dropped, or reported a fault with the decoded code
- connector.status
- A connector changed state (available, charging, faulted, …)
- reservation.confirmed / cancelled / expired / used
- The life of a reservation
Sandbox credentials and the full reference
Open Developer in the console to create a key, test it, add a webhook and send yourself a signed test event — no ticket needed. Want a simulated charger to develop against before hardware exists? Ask us for a sandbox tenant.