Hub role: SENDER (eMSP pull + async push to eMSP RECEIVER)
When a CPO updates locations on the Hub, you receive the same PUT/PATCH on your registered locations RECEIVER URL. GET remains for backfill. See Async Delivery.
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /ocpi/2.2.1/locations | List locations (paginated) |
GET | /ocpi/2.2.1/locations/{cc}/{pid}/{location_id} | Location detail |
PUT, PATCH | Your locations RECEIVER URL | Async catalog updates from Hub |
Receiver path party
Async pushes from Hub use the owning CPO's country_code and party_id in the URL path, not Hub (CIH). Authenticate the Hub token; validate path parties via HubClientInfo + routing. See Hub Receiver Identity (eMSP).
Pull example
GET /ocpi/2.2.1/locations?offset=0&limit=50
Authorization: Token {emsp-token}
Results filtered by routing rules. See Pagination.
Use pull for initial catalog sync and recovery. For real-time EVSE status, rely on async push to your receiver.
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.