/v3): it has its own base URL, credentials, versions and error format.
Base URL
Authentication
Call the SDK API from your server only. Your app never sees your credentials: it gets a short-lived client secret through your own endpoint (see Get started).Integrations
An integration has a client ID and a client secret; it starts in test mode. Exchange them for an access token with the OAuth client credentials grant:Authorization header:
Plugchoice users
A Plugchoice user can call the SDK API with their own OAuth access token or personal access token (see Authentication). They then act for themselves: their client sessions reach the chargers and sites they have Sensitive access to, and their link sessions show no consent screen.Versions
The SDK API is versioned by date. Send the version you built against in thePlugchoice-Version header:
- Without the header you get the newest version. Pin it, so a new version never changes what your server reads.
- Every response says which version answered, in the same header.
- An unknown version is
400 unknown-version.
2026-10-07 is the only version. See Versions.
Errors
Errors are RFC 9457 problem details, withContent-Type: application/problem+json:
code; type links to its page. New codes may be added. See Errors.
Rate limits
Each integration or Plugchoice user may make 120 requests a minute. Over it, the API answers429 rate-limited with a Retry-After header in seconds.
Pagination
List chargers returns a page at a time, newest first:limit: 1 to 100, 25 by default.cursor: thenext_cursorof the previous page.next_cursorisnullon the last page.
Conventions
- Ids are UUIDs.
- Times are RFC 3339, in UTC.
- Ignore fields and values you don’t know: new ones may be added within a version.
Endpoints
Create a client session
Say who Link acts for, and what it may reach.
Get a link session
Confirm what happened in Link.
List chargers
Your chargers, with their capabilities.
Get a charger
One charger, with its capabilities.