Endpoints
| Method | Path | Caller | Description |
|---|---|---|---|
PUT | /ocpi/2.2.1/locations/{cc}/{pid}/{location_id} | CPO | Create or replace location |
PATCH | /ocpi/2.2.1/locations/{cc}/{pid}/{location_id} | CPO | Partial location update |
PUT | .../{location_id}/{evse_uid} | CPO | Create or replace EVSE |
PATCH | .../{location_id}/{evse_uid} | CPO | Partial EVSE update |
PUT | .../{evse_uid}/{connector_id} | CPO | Create or replace connector |
PATCH | .../{evse_uid}/{connector_id} | CPO | Partial connector update |
GET | /ocpi/2.2.1/locations | eMSP | List locations (paginated) |
GET | /ocpi/2.2.1/locations/{cc}/{pid}/{location_id} | eMSP / owner CPO | Location detail |
Hub role: RECEIVER (CPO push) + SENDER (eMSP pull)
CPO push example
PUT /ocpi/2.2.1/locations/IN/ABC/LOC001
Authorization: Token {cpo-token}
Content-Type: application/json
{
"country_code": "IN",
"party_id": "ABC",
"id": "LOC001",
"publish": true,
"name": "Station Alpha",
"address": "123 Main Road",
"city": "Bengaluru",
"country": "IND",
"coordinates": { "latitude": "12.9716", "longitude": "77.5946" },
"evses": [ ... ],
"last_updated": "2025-06-23T10:00:00.000Z"
}
eMSP pull example
GET /ocpi/2.2.1/locations?offset=0&limit=50
Authorization: Token {emsp-token}
Results filtered by routing rules. See Pagination.
Rate limit
Location list: 200 requests/minute per party.
OCPI spec
See OCPI 2.2.1 Locations module for full Location, EVSE, and Connector objects.