Each key is either a sandbox key (
cxk_test_…), which acts on a private sandbox copy of your fleet with simulated chargers and payments, or a live key (cxk_live_…), which acts on your real fleet. You choose when you create the key. Live keys come from the production fleet portal. See Authentication.What you can build
Driver and vehicle sync
Add, update, suspend and remove drivers from your HR system. Register, assign and retire vehicles from your asset register.
Charging visibility
Find charge points, follow your drivers’ sessions as they charge, and get the final energy and cost of each one.
Wallet and billing
Quote and start wallet top-ups, pay outstanding usage invoices, list invoices and download them as PDFs.
Spending controls
Set kWh or GHS limits per session, day, week or month for the whole fleet, with per-driver overrides.
Event-driven integrations
Receive signed webhooks when sessions start and finish, the wallet is funded or runs low, invoices are issued, and drivers, vehicles or limits change.
Reconciliation
Replay the last 30 days of events, list wallet transactions and match invoices to sessions and top-ups.
Conventions at a glance
- JSON, snake_case. Request and response bodies are JSON with
snake_casefields. Timestamps are ISO 8601 in UTC. - Decimals are strings. Money is a string with 2 decimal places plus a
currency(alwaysGHS), for example"amount": "125.50". Energy is a string in kWh with 4 decimal places, for example"energy_kwh": "18.4250". Parse them with a decimal type, not a float. - Ids. Drivers, vehicles, wallets and fleets use opaque lowercase ids such as
d3x7n2q9k4m8p1r6t0v5w2yz. Objects new to this API carry a prefix:evt_for events,we_for webhook endpoints,req_for request ids. A session id is the charger’s transaction id, such as"48213". Treat every id as an opaque string. - Objects. Every resource has an
objectfield ("driver","session", …). Single objects are returned as-is; lists are paginated as{ data, has_more, next_cursor }. - Forward compatible. New fields and new event types can appear in
v1at any time. Ignore fields and event types you don’t recognise.
Next steps
Quickstart
Create a sandbox key, make your first call and receive your first webhook.
Sandbox
Test charging, top-ups and webhooks safely with simulated chargers and payments.
API reference
Every endpoint, parameter and response.

