Hub role: RECEIVER (CPO → Hub)
Endpoints
| Method | Path | Description |
|---|---|---|
POST | /ocpi/2.2.1/cdrs | Submit completed CDR to Hub |
After a session completes, POST the CDR to Hub. Include cdr_token with the eMSP's country_code and party_id.
Push example
POST /ocpi/2.2.1/cdrs
Authorization: Token {cpo-token}
Content-Type: application/json
{
"country_code": "IN",
"party_id": "ABC",
"id": "CDR001",
"start_date_time": "2025-06-23T10:00:00.000Z",
"end_date_time": "2025-06-23T10:45:00.000Z",
"session_id": "SESSION001",
"cdr_token": {
"country_code": "IN",
"party_id": "XYZ",
"uid": "TOKEN001",
"type": "RFID",
"contract_id": "CONTRACT001"
},
"cdr_location": { ... },
"currency": "INR",
"total_cost": { "excl_vat": 150.0, "incl_vat": 177.0 },
"total_energy": 12.5,
"total_time": 2700,
"last_updated": "2025-06-23T10:45:00.000Z"
}
Immutability
CDRs are treated as immutable audit records at the Hub. Corrections require a new CDR or bilateral agreement outside the Hub.
Related docs
OCPI spec
See OCPI 2.2.1 CDRs module for full CDR object definitions.