Quickstart
Make your first authenticated call to the ProRanked platform API in a few minutes. Everything is one HTTPS base URL and one header.
The ProRanked API has two families that share the same base URL, auth, and conventions: CPMS (operator control plane — chargers, sessions, tariffs) and eMSP (driver & roaming — discovery, start/stop, payments). Pick the family that matches what you're building.
1. Get an API key
Create a key in the developer dashboard. Keys are prefixed Stripe-style: pr_sk_test_… for a secret (server-side) key and pr_pk_test_… for a publishable one. Treat a secret key like a password — never ship it in client-side code. (A publishable key is read-only and safe to embed; see Authentication.)
New keys default to Test mode, which is what you want here: a test key carries the same scopes and reads the same data as a live one, but its usage is never rate-limited, counted against your quota, or billed. Switch the environment to Live when you ship.
Building a backend-less CPMS SPA? You can skip the API key entirely and authenticate the operator directly with OAuth instead — see Authentication for both options.
2. Authenticate
Send your key as the X-API-Key header on every request. The base URL is the same for both families.
Make this your first call — it confirms the key works and tells you what it can do:
curl 'https://api.proranked.com/cpms/v1/me' \
-H 'X-API-Key: pr_sk_test_…'
{
"data": {
"accessibleNetworkCount": 1,
"keyType": "Private",
"scopes": [ "cpms:read", "cpms:write:chargers", … ]
},
"success": true
}
Start with /me, not a list endpoint. On a new account you have no chargers yet, so GET /cpms/v1/chargers correctly returns {"data": []} — which looks exactly like a broken key. /me always returns your networks and granted scopes, so a success is unmistakable.
3. Read the response
Every successful response is a JSON envelope: a data payload plus success and a server timestamp. List endpoints add a pagination object.
{
"data": [ { "id": "4b2e9c10-…", "uid": "CP-IslaVerde-01", "status": "Available" } ],
"pagination": { "page": 1, "pageSize": 50, "total": 137, "totalPages": 3 },
"success": true,
"timestamp": "2026-06-19T18:42:09Z"
}
Next steps
- Browse the CPMS API for the operator control plane.
- Browse the eMSP API for driver & roaming flows.
- Building with an AI agent? Start with Build with an AI agent — a copy-paste prompt plus two fork-ready starter apps.
- Building with an LLM? Hit “Copy for LLM” on any endpoint, or pull the whole
llms.txtindex.