Concepts
Organizations
Your organization is the tenant. Every token belongs to one organization, and every call only reads and writes that organization’s data. An id from another organization returns 404.
Domains
The API is split into eight domains. Each one is a namespace in the SDKs, a command group in the CLI and its own MCP server.
Virtual chargers
A location groups virtual chargers. A deployment is one running charger: it has an OCPP identity, a charger model from the catalog, and the ws_url of the CSMS it connects to. Once online, a virtual charger also appears as a CPO charge point, so the same charger can be driven as a simulator (evcharger) and managed as infrastructure (cpo).
Asynchronous operations
Deploying chargers and sending them commands takes seconds, so those calls return 202 Accepted at once and finish in the background. The response tells you what to poll. See Long-running operations.
Roaming
As a CPO you publish locations, tariffs, sessions and CDRs to partners. As an eMSP you publish driver tokens and receive partner locations. OCPI connects the two: register a partner, run the credentials handshake, then push or pull data. Your organization’s OCPI party id (for example NL*X0I) is set in Studio under Settings → Business details.
Environments
The SDKs and CLI call https://api.ocpplab.io by default. Pass baseUrl (TypeScript), base_url (Python) or --base-url (CLI) to use another host.