List Chargers
const url = 'https://api.exolink.cloud/tenant/example/charger';const options = { method: 'GET', headers: { 'x-exo-fields': '["id","displayName"]', 'x-exo-filter': '["eq","profileId",3]', 'x-exo-sort': '["asc","displayName"]', Authorization: 'Bearer <token>' }};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.exolink.cloud/tenant/example/charger \ --header 'Authorization: Bearer <token>' \ --header 'x-exo-fields: ["id","displayName"]' \ --header 'x-exo-filter: ["eq","profileId",3]' \ --header 'x-exo-sort: ["asc","displayName"]'Return the list of chargers for the given tenant, 500 per page unless x-exo-size says otherwise.
x-exo-sort also accepts chargerConnected and cpmsConnected; chargers of unknown connection state sort last.
Send Content-Type: text/csv to receive CSV. Without x-exo-size the CSV holds every charger.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Tenant domain prefix
Header Parameters
Section titled “Header Parameters”JSON array of the fields to return
Example
["id","displayName"]JSON filter expression [operator, field, value]. Operators: eq, ne, gt, gte, lt, lte, in, nin,
like, ilike, nlike, nilike, null, nnull, and eqc, nec, gtc, gtec, ltc, ltec to compare two fields.
Combine expressions with ["and", ...] or ["or", ...].
Example
["eq","profileId",3]Page number, starting at 1. Applies together with x-exo-size.
Page size. Every returned row then carries __total, the number of matching rows.
JSON sort [direction, field] with direction asc or desc, or a list of them
Example
["asc","displayName"]Responses
Section titled “Responses”List of chargers
object
Unique identifier for the charger
ID of the tenant that owns this charger
ID of the configuration profile associated with this charger
User-friendly name for the charger
Indicates whether the charger has been discovered and configured
Unique identity string used for OCPP communication
Serial number of the charge box hardware
Serial number of the charge point
Serial number of the integrated energy meter
Model identifier of the charge point
Manufacturer or vendor of the charge point
Current firmware version running on the charger
Integrated Circuit Card Identifier for the SIM card (if applicable)
International Mobile Subscriber Identity for cellular connectivity (if applicable)
Type or model of the energy meter
Current operational status of the charger; empty when not blocked
Identity the charger has on a CPMS, keyed by CPMS ID
object
Timestamp when the charger record was created
Timestamp when the charger record was last updated
Timestamp when the charger record was soft-deleted (null if active)
Name of the configuration profile associated with this charger
Indicates whether the charger is currently connected to the platform; null when unknown
Indicates whether the charger is currently connected to the CPMS backend; null when unknown
IDs of the CPMS backends the charger is currently connected to; null when unknown
Name(s) of the CPMS backend(s) this charger is connected to
WebSocket URL(s) of the CPMS backend(s) this charger is connected to
Examples
OK
List of chargers
[ { "id": 4, "tenantId": 1, "profileId": 3, "displayName": "Test", "provisioned": false, "identity": "TEST", "chargeBoxSerialNumber": null, "chargePointSerialNumber": null, "meterSerialNumber": null, "chargePointModel": "Unknown", "chargePointVendor": "Unknown", "firmwareVersion": null, "iccid": null, "imsi": null, "meterType": null, "status": "", "aliases": {}, "createdAt": "2025-10-15T15:19:50.834Z", "updatedAt": "2025-10-15T15:19:50.834Z", "deletedAt": null, "profileName": "Main Profile", "chargerConnected": null, "cpmsConnected": null, "connectedCpmsIds": null, "cpmsName": "My CPMS", "cpmsUrl": "ws://cpms.example.com" }]Missing, invalid or expired credentials
Error response. Some rejections carry only message.
object
Error message
Error code
Failed validations, for requests checked against a schema
object
Path of the invalid field
Example
{ "message": "Not authorized", "errorCode": "ERR_API_NOT_AUTHORIZED"}The caller may not perform this action
Error response. Some rejections carry only message.
object
Error message
Error code
Failed validations, for requests checked against a schema
object
Path of the invalid field
Example
{ "message": "Forbidden", "errorCode": "ERR_API_FORBIDDEN"}