Hub role: SENDER (Hub → eMSP async + pull)
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /ocpi/2.2.1/sessions | Pull sessions belonging to this eMSP (paginated) |
GET | /ocpi/2.2.1/sessions/{cc}/{pid}/{session_id} | Pull one session (must own via cdr_token) |
PUT, PATCH | Your sessions RECEIVER URL | Async session updates from Hub |
Push + pull
You receive sessions via async push. Use GET /sessions for backfill — date_from is required (OCPI status_code 2001 if omitted). Optional date_to bounds the window. Pull returns only sessions where cdr_token identifies your party. Wrong-party GET returns "Not found" — see Ownership.
Missed push
If a CPO push succeeded but your receiver was down, Hub retries timeout/unavailable failures. Permanent receiver errors are not retried. Backfill with GET /sessions. Hub does not surface async forward failures on the CPO's original request. See Failure scenarios.
Async delivery
After CPO PUT / PATCH, the Hub worker forwards with the same HTTP method to:
PUT|PATCH /ocpi/2.2.1/sessions/{cpo_cc}/{cpo_pid}/{session_id}
on your registered receiver URL. Path uses the owning CPO's identifiers. See Hub Receiver Identity (eMSP).
Related docs
OCPI spec
See OCPI 2.2.1 Sessions module for full Session object definitions.