Technical onboarding establishes mutual trust between your platform and ChargeIndia Hub through the OCPI Credentials module.
Overview
- Your account team registers your party and provides an initial Hub token.
- You call Hub credentials endpoints to exchange tokens and URLs.
- You provide your receiver module URLs to your account team.
- Routing rules are enabled for your target partner networks.
- You verify end-to-end connectivity before production traffic.
Commercial onboarding first
Contact your ChargeIndia account team before starting technical integration. You need an assigned country_code, party_id, and initial credentials.
Credentials exchange flow
To leave the Hub later, call DELETE /ocpi/2.2.1/credentials (unregister). See Credentials.
Step 1: POST credentials
Call Hub with your platform details:
POST /ocpi/2.2.1/credentials
Authorization: Token {hub-issued-initial-token}
Content-Type: application/json
{
"token": "your-platform-token",
"url": "https://your-platform.com/ocpi/versions",
"roles": [
{
"role": "CPO",
"party_id": "ABC",
"country_code": "IN",
"business_details": { "name": "Your CPO Ltd" }
}
]
}
Adjust role to EMSP for eMSP partners.
Step 2: Store Hub response
The Hub responds with its credentials, including a HUB role:
{
"status_code": 1000,
"data": {
"token": "hub-token-for-your-calls",
"url": "https://hub.chargeindia.com/ocpi/versions",
"roles": [
{
"role": "HUB",
"party_id": "CIH",
"country_code": "IN"
}
]
}
}
Store data.token. Use it for all subsequent Hub API calls. data.url is the Hub GET /ocpi/versions endpoint.
The Hub fetches your versions and module endpoints from url before returning. If that callback fails, you receive OCPI 3001.
Step 3: PUT credentials (confirmation)
Confirm or rotate the exchange. The Hub fetches your endpoints again and returns a new Hub token — replace the token from step 2.
PUT /ocpi/2.2.1/credentials
Authorization: Token {hub-token-from-step-2}
Content-Type: application/json
{
"token": "your-platform-token",
"url": "https://your-platform.com/ocpi/versions",
"roles": [ ... ]
}
Store data.token from the PUT response. Do not keep using the POST token after a successful PUT.
Receiver module URLs
After credentials exchange, provide your account team with the URLs where the Hub should call your platform:
| Module | Who implements | Example path |
|---|---|---|
| Tokens (authorize) | CPO | /ocpi/2.2.1/tokens/{uid}/authorize (+ OCPI-To eMSP) |
| Commands | CPO | /ocpi/2.2.1/commands/{command} |
| Sessions | eMSP | /ocpi/2.2.1/sessions/{cc}/{pid}/{id} |
| CDRs | eMSP | /ocpi/2.2.1/cdrs |
Endpoint registration
The Hub resolves partner endpoints from its registry. Ensure your account team has configured your receiver URLs before testing async flows (sessions, CDRs, commands).
Routing enablement
Roaming traffic only flows between eMSP↔CPO pairs with an active routing rule. Your account team configures this after credentials exchange. See Routing.
Verification
GET /ocpi/versions- confirm2.2.1is listedGET /ocpi/2.2.1- confirm module endpointsGET /ocpi/2.2.1/hubclientinfo- confirm your party appears asCONNECTED- eMSPs: confirm target CPOs appear in HubClientInfo and your location/tariff/session receivers accept CPO
{country_code}/{party_id}in inbound paths. See Hub Receiver Identity (eMSP)