Skip to content

Batch Update Chargers

PUT
/tenant/{tenantId}/charger
curl --request PUT \
--url https://api.exolink.cloud/tenant/example/charger \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "chargerIds": [ 1 ], "displayName": "example", "profileId": 1 }'

Update multiple chargers at once, either per charger or with the same values for a list of chargers

tenantId
required
string

Tenant domain prefix

Media typeapplication/json
One of:
Array<object>
object
id
required
integer
displayName
string
profileId
integer

Example generated

{
"chargerIds": [
1
],
"displayName": "example",
"profileId": 1
}

Chargers updated successfully

Media typeapplication/json
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

[
{
"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

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": "Bad Request",
"errorCode": "ERR_API_BAD_REQUEST"
}

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"
}

Validation or verification failed

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": "Missing parameter: displayName",
"errorCode": "ERR_API_VALIDATION_FAILED"
}