Skip to main content
The Fleet API is versioned in its path (/api/public/v1). Within v1 we only make additive changes: new endpoints, new optional parameters, new response fields, new error codes and new event types. Breaking changes will come as /v2, with notice. Build your integration to ignore fields and event types it doesn’t recognise.
October 2026

Sandbox and per-key environments

  • Choose the environment per key. In Developers → API keys → Create key, pick Live or Sandbox. cxk_live_ keys act on your real fleet; cxk_test_ keys act on your fleet’s sandbox. The environment no longer depends on which ChargeExpress deployment you call. Live keys come from the production portal.
  • Sandbox. A separate copy of your fleet, created on first use, with three fake drivers, their vehicles, 500 kWh of credit and a GHS 1,000 credit limit. Nothing in it is billed, invoiced or sent to ExpressPay. Drivers created in it get placeholder emails and login_invite.status: "skipped".
  • Simulated chargers. With a sandbox key, GET /charge_points returns SIM-AC-22, SIM-DC-60, SIM-OFFLINE and SIM-REJECT (simulated: true). Sessions run at 60× real time, stop at their budget with session.stopped_by_limit, and end within about two minutes.
  • Simulated payments. Sandbox top-ups and usage-invoice payments return checkout_url: null and sandbox: true. Settle them with POST /sandbox/fundings/{fundingId}/succeed or /fail.
  • POST /sandbox/reset clears sandbox activity and reseeds it, keeping keys and webhook endpoints.
  • Test events of any type. POST /webhook_endpoints/{endpointId}/test accepts {"type": "…"} and sends a sample payload of that event type. The response now includes type.
  • livemode on events is false for sandbox events and true for live ones. Sandbox and live webhook endpoints and events are separate.
  • New error codes: sandbox_only, funding_not_pending, and live_keys_disabled in the portal.
  • Developers → Sandbox in the fleet portal runs sessions on the simulated chargers, simulates top-ups and resets the sandbox without code.
October 2026

Fleet API v1

The first public release.
  • API keys created in the fleet portal under Developers → API keys, with seven scopes, and cxk_live_ and cxk_test_ keys.
  • Fleet and wallet: read the fleet, set the low-balance alert, read the wallet and its transactions.
  • Drivers and vehicles: list, create, update, suspend, remove and retire, with photo and image uploads, and the vehicle type catalogue.
  • Limits: fleet default limits and per-driver overrides, by kWh or GHS per session, day, week or month.
  • Charging: list charge points, and list and read sessions.
  • Payments: quote and start wallet top-ups through an ExpressPay checkout, pay usage invoices, list invoices and download PDFs.
  • Webhooks: up to 10 endpoints per fleet, 18 event types, HMAC-SHA256 signatures with secret rotation, automatic retries over about 45 hours, a 30-day event log and redelivery.
  • Cursor pagination, Idempotency-Key support on POSTs, per-key rate limits, and X-Request-Id on every response.