Create Charger
const url = 'https://api.exolink.cloud/tenant/example/charger';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"profileId":1,"displayName":"example","identity":"example","aliases":{"1":"DE*XYZ*E000001"}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.exolink.cloud/tenant/example/charger \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "profileId": 1, "displayName": "example", "identity": "example", "aliases": { "1": "DE*XYZ*E000001" } }'Create a new charger. Chargers created via the API are never provisioned. An identity that a live charger of the tenant already has is refused with 409; an identity that only deleted chargers had is created again, with every field set as for a new charger.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Tenant domain prefix
Request Bodyrequired
Section titled “Request Bodyrequired”object
Configuration profile ID
Charger display name
Unique identity for OCPP communication
Identity the charger has on a CPMS, keyed by CPMS ID
object
Example
{ "1": "DE*XYZ*E000001"}Responses
Section titled “Responses”Charger created successfully
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
Example
{ "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"}Malformed request
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": "Bad Request", "errorCode": "ERR_API_BAD_REQUEST"}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 required product is not subscribed
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": "No Connect product subscribed", "errorCode": "ERR_API_PAYMENT_REQUIRED"}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"}Resource not found
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": "Charger '7' not found", "errorCode": "ERR_API_RESOURCE_NOT_FOUND"}Resource already exists or a limit is reached
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": "Subscription limit for product reached", "errorCode": "ERR_API_RESOURCE_ALREADY_EXISTS"}Validation or verification failed
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": "Missing parameter: displayName", "errorCode": "ERR_API_VALIDATION_FAILED"}