Skip to content

Get Discovery Status

GET
/tenant/{tenantId}/provision
curl --request GET \
--url https://api.exolink.cloud/tenant/example/provision \
--header 'Authorization: Bearer <token>'

Get the active discovery and the chargers discovered by it

tenantId
required
string

Tenant domain prefix

Discovery status

Media typeapplication/json

Charger discovery status

object
provision

The active discovery; null when none is active

object
id
integer
tenantId
integer
profileId

Profile ID used for discovery mode

integer
from

When discovery mode started

string format: date-time
to

When discovery mode ends

string format: date-time
active

True while active; null once stopped or expired

boolean
nullable
chargers

Chargers discovered by the active discovery

Array<object>
object
id

Unique identifier for the charger

integer
tenantId

ID of the tenant that owns this charger

integer
profileId

ID of the configuration profile associated with this charger

integer
displayName

User-friendly name for the charger

string
nullable
provisioned

Indicates whether the charger has been discovered and configured

boolean
identity

Unique identity string used for OCPP communication

string
chargeBoxSerialNumber

Serial number of the charge box hardware

string
nullable
chargePointSerialNumber

Serial number of the charge point

string
nullable
meterSerialNumber

Serial number of the integrated energy meter

string
nullable
chargePointModel

Model identifier of the charge point

string
chargePointVendor

Manufacturer or vendor of the charge point

string
firmwareVersion

Current firmware version running on the charger

string
nullable
iccid

Integrated Circuit Card Identifier for the SIM card (if applicable)

string
nullable
imsi

International Mobile Subscriber Identity for cellular connectivity (if applicable)

string
nullable
meterType

Type or model of the energy meter

string
nullable
status

Current operational status of the charger; empty when not blocked

string
Allowed values: BLOCKED ""
aliases

Identity the charger has on a CPMS, keyed by CPMS ID

object
key
additional properties
string
createdAt

Timestamp when the charger record was created

string
updatedAt

Timestamp when the charger record was last updated

string
deletedAt

Timestamp when the charger record was soft-deleted (null if active)

string
nullable
profileName

Name of the configuration profile associated with this charger

string
chargerConnected

Indicates whether the charger is currently connected to the platform; null when unknown

boolean
nullable
cpmsConnected

Indicates whether the charger is currently connected to the CPMS backend; null when unknown

boolean
nullable
connectedCpmsIds

IDs of the CPMS backends the charger is currently connected to; null when unknown

Array<string>
nullable
cpmsName

Name(s) of the CPMS backend(s) this charger is connected to

string
cpmsUrl

WebSocket URL(s) of the CPMS backend(s) this charger is connected to

string

Example

{
"chargers": [
{
"id": 1,
"tenantId": 1,
"profileId": 1,
"displayName": "My Charger",
"provisioned": false,
"identity": "TEST",
"chargeBoxSerialNumber": "12345",
"chargePointSerialNumber": "12345",
"chargePointModel": "KC-P30-EC2404B2-E00",
"chargePointVendor": "Keba AG",
"firmwareVersion": "1.0.0",
"status": "BLOCKED",
"aliases": {
"1": "DE*XYZ*E000001"
},
"createdAt": "2025-10-15T15:19:50.834Z",
"updatedAt": "2025-10-15T15:19:50.834Z",
"deletedAt": "2025-10-15T15:19:50.834Z",
"profileName": "Main Profile",
"cpmsName": "MyCPMS",
"cpmsUrl": "wss://cpms.example.com"
}
]
}

Missing, invalid or expired credentials

Media typeapplication/json

Error response. Some rejections carry only message.

object
message
required

Error message

string
errorCode

Error code

string
Allowed values: ERR_API_BAD_REQUEST ERR_API_NOT_AUTHORIZED ERR_API_PAYMENT_REQUIRED ERR_API_FORBIDDEN ERR_API_RESOURCE_NOT_FOUND ERR_API_RESOURCE_IN_USE ERR_API_RESOURCE_ALREADY_EXISTS ERR_API_UNEXPECTED_STATE ERR_API_CONTENT_TOO_LARGE ERR_API_VALIDATION_FAILED ERR_API_VERIFICATION_FAILED ERR_API_NO_TENANT ERR_API_INVALID_INVITATION ERR_API_USER_DISABLED ERR_API_FAILED_DEPENDENCY ERR_EXOLINK_GENERIC
details

Failed validations, for requests checked against a schema

Array<object>
object
path

Path of the invalid field

string
message
string
code
string

Example

{
"message": "Not authorized",
"errorCode": "ERR_API_NOT_AUTHORIZED"
}

The caller may not perform this action

Media typeapplication/json

Error response. Some rejections carry only message.

object
message
required

Error message

string
errorCode

Error code

string
Allowed values: ERR_API_BAD_REQUEST ERR_API_NOT_AUTHORIZED ERR_API_PAYMENT_REQUIRED ERR_API_FORBIDDEN ERR_API_RESOURCE_NOT_FOUND ERR_API_RESOURCE_IN_USE ERR_API_RESOURCE_ALREADY_EXISTS ERR_API_UNEXPECTED_STATE ERR_API_CONTENT_TOO_LARGE ERR_API_VALIDATION_FAILED ERR_API_VERIFICATION_FAILED ERR_API_NO_TENANT ERR_API_INVALID_INVITATION ERR_API_USER_DISABLED ERR_API_FAILED_DEPENDENCY ERR_EXOLINK_GENERIC
details

Failed validations, for requests checked against a schema

Array<object>
object
path

Path of the invalid field

string
message
string
code
string

Example

{
"message": "Forbidden",
"errorCode": "ERR_API_FORBIDDEN"
}