Skip to main content
GET
Get a link session

Authorizations

Authorization
string
header
required

Your integration's client credentials (test or live). The token acts as your integration's team and lasts 1 hour; request a new one when it expires. Send client_id, client_secret and grant_type=client_credentials. No OAuth scopes are needed.

FlowClient Credentials
Token URL
https://app.plugchoice.com/oauth/token

Headers

Plugchoice-Version
enum<string>

The API version to answer with (400 unknown-version for one this API does not know). Every response carries the version that answered in the same header.

Available options:
2026-10-07

Path Parameters

Response

OK

One time through Link, opened with one of your client sessions.

id
string<uuid>
required
started_by
enum<string>
required

integration when an integration created the client session, user when a Plugchoice user did.

Available options:
user,
integration
action
string
required

What a link session does. add (the default) adds chargers; the others work on one charger: network (its network settings), setup (its electrical setup), reconnect (bring it back to Plugchoice). Open: any action the pattern allows is accepted, and the hosted flow decides what it means; for one it can't do, it shows what the charger can do.

Pattern: ^[a-z_]{1,32}$
Examples:

"add"

"network"

"setup"

"reconnect"

device_type
enum<string>
required

The kind of device. Only chargers for now; another type is 422 unsupported-device-type.

Available options:
charger
status
enum<string>
required

A link session is opened when Link starts it, then completed | abandoned | expired (not finished within 6 h).

Available options:
opened,
completed,
abandoned,
expired
charger_ids
string<uuid>[]
required

Chargers finished in this link session. Empty unless completed.

devices
object[]
required

The same chargers as devices, as the SDK returns them.

claims
object[]
required

Claims this link session started. They can still succeed after it ended; the charger then appears at site_id.

created_at
string<date-time>
required
expires_at
string<date-time>
required

The 6 h cap.

external_user_id
string | null

Your own id for one of your users.

Required string length: 1 - 200
Pattern: ^[A-Za-z0-9._:@-]+$
site_id
string<uuid> | null

Null until the hosted flow has the address, when the client session didn't name a site.

charger_id
string<uuid> | null

The charger a link session other than add is for.

abandon_reason
enum<string> | null
Available options:
cancelled,
consent_declined,
error,
null
error
object | null

Set when abandon_reason is error.

opened_at
string<date-time> | null
ended_at
string<date-time> | null