ChargeIndia Hub tracks partner connection status and exposes it through the HubClientInfo module.
HubClientInfo statuses
| Status | Meaning |
|---|---|
CONNECTED | Partner is reachable and recently active |
OFFLINE | Partner failed health checks (typically > 1 minute) |
PLANNED | Partner registered but not yet active |
SUSPENDED | Partner suspended by account team |
Query statuses:
GET /ocpi/2.2.1/hubclientinfo
Authorization: Token {your-token}
Or for a specific party:
GET /ocpi/2.2.1/hubclientinfo/{country_code}/{party_id}
Health probes
The Hub worker periodically calls GET /ocpi/versions on each partner's registered URL. Ensure your versions endpoint:
- Responds within timeout limits
- Returns OCPI 2.2.1 in the version list
- Is reachable over HTTPS
If probes fail consistently, your status transitions to OFFLINE. Hub still forwards authorize, commands, and async pushes while a party is OFFLINE.
Impact on roaming
| Condition | Effect |
|---|---|
CPO or eMSP OFFLINE | Health status only. Hub still forwards authorize, commands, and async pushes. |
| Open circuit | Authorize: HTTP 502, allowed: UNKNOWN, class message (Hub does not retry). Commands: HTTP 502, "CPO command forward unavailable" (command marked failed; not left pending). Async forwards to that party are deferred. |
Either SUSPENDED | All authenticated Hub requests return 401 |
| CPO not in HubClientInfo allow-list | eMSP receiver may reject inbound location/tariff/session pushes with invalid party errors |
Repeated retryable outbound failures open a short per-party circuit (~5 failures / 60s, open ~60s). Successful health /versions closes it. Details: Session Lifecycle — Failure scenarios.
Monitoring recommendations
- Poll HubClientInfo for your roaming partners before initiating sessions
- Use HubClientInfo to build the set of valid CPO party keys for inbound receiver validation (intersect with routing rules)
- Alert on your own
OFFLINEstatus - Log and investigate failed health probes on your platform
- On authorize, branch on HTTP 504 vs 502 when
allowedisUNKNOWN