Pagination

Paginating list responses from ChargeIndia Hub.

List endpoints for locations, tariffs, sessions, CDRs, tokens (CPO), and HubClientInfo support offset-based pagination with OCPI Link headers plus X-Total-Count and X-Limit.

Query parameters

ParameterTypeDescription
offsetintegerNumber of records to skip (default: 0)
limitintegerMaximum records per page (capped by Hub)
date_fromISO 8601Inclusive lower bound on last_updated
date_toISO 8601Exclusive upper bound on last_updated

Sessions list (GET /sessions as eMSP) requires date_from.

Example request

GET /ocpi/2.2.1/locations?offset=0&limit=50&date_from=2025-06-01T00:00:00Z&date_to=2025-07-01T00:00:00Z
Authorization: Token {your-token}

Response headers

HeaderDescription
Linkrel="next" / rel="prev" URLs preserving date_from / date_to
X-Total-CountTotal matching rows (same filters as the page)
X-LimitServer-applied page size for this response
Link: <https://hub.chargeindia.com/ocpi/2.2.1/locations?offset=50&limit=50&date_from=...>; rel="next"
X-Total-Count: 120
X-Limit: 50

Follow rel="next" links until no further page is returned.

Response envelope

{
  "status_code": 1000,
  "timestamp": "2025-06-23T10:00:00.000Z",
  "data": [ ... ]
}

Routing filter

Locations and tariffs are filtered by routing rules. Sessions and CDRs are filtered by cdr_token ownership (only records for your eMSP party).

Rate limits

List requests for locations, sessions, and CDRs are limited to 200 requests/minute per party. See Rate Limits & Errors.

Sync strategy

Recommended approach for eMSPs:

  1. Initial full sync with offset/limit pagination
  2. Periodic incremental sync using date_from (and optional date_to) set to last successful sync window
  3. Handle empty pages gracefully (routing changes may reduce visible catalog rows)