All endpoints are under https://{hub-domain}/ocpi/2.2.1/ unless noted. Authenticate with Authorization: Token {token}.
Base paths
| Path | Description |
|---|---|
/ocpi/versions | List supported OCPI versions |
/ocpi/2.2.1 | Version details and module URLs |
/ocpi/2.2.1/{module} | Module-specific endpoints |
Shared modules
| Module | Hub interfaces | Primary callers |
|---|---|---|
| Versions | SENDER | All partners |
| Credentials | RECEIVER | All partners |
| HubClientInfo | SENDER | All partners |
Role-specific modules
| Module | CPO | eMSP |
|---|---|---|
| Locations | Push | Pull + receive |
| Tariffs | Push | Pull + receive |
| Tokens | Receive authorize | Authorize via Hub |
| Commands | Receive + callback | Send commands |
| Sessions | Push | Receive + pull |
| CDRs | Push | Receive + pull |
Response format
All responses use the OCPI envelope:
{
"status_code": 1000,
"status_message": "Success",
"timestamp": "2025-06-23T10:00:00.000Z",
"data": { }
}
Payload specifications
Request and response body shapes follow the OCPI 2.2.1 specification. These reference pages document Hub-specific behavior, roles, and paths.
Download the Hub OpenAPI summary: hub-api.yaml
Hub identity in version details
{
"version": "2.2.1",
"endpoints": [
{ "identifier": "credentials", "role": "RECEIVER", "url": "..." },
{ "identifier": "locations", "role": "RECEIVER", "url": "..." },
{ "identifier": "locations", "role": "SENDER", "url": "..." }
]
}