CDRs (CPO)

Submit Charge Detail Records to ChargeIndia Hub.

Hub role: RECEIVER (CPO → Hub)

Endpoints

MethodPathDescription
POST/ocpi/2.2.1/cdrsSubmit 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.

OCPI spec

See OCPI 2.2.1 CDRs module for full CDR object definitions.