EVSE Controllers
No OAuth-enabled endpoints in this section. Turn off the OAuth filter in the sidebar to see all of its endpoints.
EVSE Controllers Management
Create EVSE Controller
User sessionAPI credentialevse-controllers:writeRequest bodyapplication/json
connectorsobject[]Each connectorId must be unique within the array.
Each connectorId must be unique within the array.
1eMI3 identifier (e.g. NLEFLEV1234567), optionally with * separators.
autocustomCABLESOCKET00AC_1_PHASEAC_3_PHASEDCCATARCCHADEMODOMESTIC_BDOMESTIC_EDOMESTIC_FIEC_62196_T1IEC_62196_T1_COMBOIEC_62196_T2IEC_62196_T2_COMBOIEC_62196_T3AIEC_62196_T3CcostSettingsobject[]
componentsobject[]
costSettingsobjectREQUIRED
0000restrictionsobject
false0000000max 100autosmartChargingobject
200OK application/json
dataEvseController
accessGroupIdsHistoryAccessGroupIdHistory[]
authorizationInfoEvseAuthenticationAttempt
basicclient_certificatenoneerrorEvseAuthenticationError
errorskippedsuccessbootInfoBootNotificationRequest
bootInfoSerialNumbersobject[]
configurationEvseControllerConfigurationItem[]
componentobject
variableobject
configureSecureConnectionSyncEvseControllerSyncMetadata
CompletedFailedInProgresssoapwswssprivatepublicaccess-deniedconnecteddisconnectedmaybe-connectedpending-first-connectionunknownconnectorsEvseControllerConnector[]REQUIRED
autocustomoperator platform tariffs associated with connector for most cases this value should contain only one tariff, but some connectors could have more than one tariff
a human-readable label for visual identification
This field is used for Roaming purposes
connectorsHistoryEvseControllerConnectorHistoryEntry[]
coordinatorStatusobject
connectionInfoobject
costSettingsEvseTariff[]
componentsAdvancedTariffRestrictedCostSettings[]
connectiondraftautocustomevseOperationalStatusEvseOperationalStatus
blackbluebrowngreengreyoliveorangepinkpurpleredtealvioletyellowdisabledenablednoneOnly present for system status
activationarchivedliveonboardingoutOfServiceinoperativenoneoperativeOnly present for custom status with parent. Indicates the primary alias used for automatic transitions.
Only present for custom status with parent
Only present for custom status
blockedinoperativenoneoutOfOrderplannedremovedreservedcustomsystemimportsobject
basicclient_certificatenoneenrolledenrolled-tariff-onlyenrolled-with-shadow-modenot-enrolledpairedChargeCardCard
deliveryCardDelivery
externalPaymentExternalPayment
AUTHORIZEDCOMPLETEDFAILEDMISSINGPENDINGVOIDEDpayBridgeThe fleet the card's token belongs to. Kept in step with the token, never set on its own.
mspPaymentMSPPaymentCard
activedisabledpendingpending-activationpending-paymentsentcardtagvirtualpairedChargeCardSyncEvseControllerSyncMetadata
CompletedFailedInProgresspublicKeysobject[]
renewBasicAuthPasswordSyncEvseControllerRenewBasicAuthMetadata
CompletedFailedInProgresssecurityPolicyEvseSecurityPolicy
ATTACH_ENTITIESCOMPLETEDCONFIGURE_CONNECTOR_INFOCONFIGURE_ENERGY_COSTSCONFIGURE_NUMBER_OF_CONNECTORSsmartChargingSmartChargingConfiguration
nonestekkerunlockConnectorSyncUnlockConnectorSyncMetadata
not_supportedongoing_authorized_transactionrejectedunknown_connectorunlock_failedunspecifiedCompletedFailedInProgressmetaobject
400Invalid Request application/json
errorobject
401Unauthorized application/json
errorobject
403Forbidden: missing a required permission, or no access to this resource application/json
errorobject
404Not Found application/json
errorobject
500Internal server error application/json
errorobject
List Available EVSE Operational Statuses
User sessionAPI credential200OK application/json
dataobject[]
blackbluebrowngreengreyoliveorangepinkpurpleredtealvioletyellowdisabledenablednoneOnly present for system status
activationarchivedliveonboardingoutOfServiceinoperativenoneoperativeOnly present for custom status with parent. Indicates the primary alias used for automatic transitions.
parentEvseOperationalStatusEvseOperationalStatus
blackbluebrowngreengreyoliveorangepinkpurpleredtealvioletyellowdisabledenablednoneOnly present for system status
activationarchivedliveonboardingoutOfServiceinoperativenoneoperativeOnly present for custom status with parent. Indicates the primary alias used for automatic transitions.
Only present for custom status with parent
Only present for custom status
blockedinoperativenoneoutOfOrderplannedremovedreservedcustomsystemOnly present for custom status with parent
Only present for custom status
blockedinoperativenoneoutOfOrderplannedremovedreservedcustomsystemmetaobject
400Invalid Request application/json
errorobject
401Unauthorized application/json
errorobject
404Not Found application/json
errorobject
500Internal server error application/json
errorobject
EVSE Reliability Report
The reliability metrics are computed from aggregated connector status changes collected over time. This endpoint requires the analytics:account platform feature to be enabled for the account.
User sessionAPI credentialevse-controllers:readRequest bodyapplication/json
exportRangeobject
filtersobject
createdAtobject
ACACDCDCcsvjsonjsonmonthyear1000sortobject
200OK application/json
dataReliabilityReportItem[]REQUIRED
metaobjectREQUIRED
400Invalid Request application/json
errorobject
401Unauthorized application/json
errorobject
403Forbidden: missing a required permission, or no access to this resource application/json
errorobject
404Not Found application/json
errorobject
500Internal server error application/json
errorobject
Search EVSE Controllers
Fast search EVSE Controllers.
User sessionAPI credentialevse-controllers:readRequest bodyapplication/json
createdAtobject
100ACACDCDC0sortobject
200OK application/json
dataEvseControllerFastSearch[]
accountobject
authorizationInfoobject
billingPlanobject
bootInfoobject
access-deniedconnecteddisconnectedmaybe-connectedpending-first-connectionunknownconnectorStatusEvseControllerConnectorStatusFastSearch[]
connectorsEvseControllerConnectorFastSearch[]
evseOperationalStatusobjectREQUIRED
locationobject
maintenanceAccountobject
setupProgressobject
metaobject
400Invalid Request application/json
errorobject
401Unauthorized application/json
errorobject
403Forbidden: missing a required permission, or no access to this resource application/json
errorobject
404Not Found application/json
errorobject
500Internal server error application/json
errorobject
Get EVSE Controller by ID
User sessionAPI credentialevse-controllers:readPath parameters1
200OK application/json
dataEvseControllerResource
configurationEvseControllerConfigurationItem[]
componentobject
variableobject
metaobject
400Invalid Request application/json
errorobject
401Unauthorized application/json
errorobject
403Forbidden: missing a required permission, or no access to this resource application/json
errorobject
404Not Found application/json
errorobject
500Internal server error application/json
errorobject
Update EVSE Controller
User sessionAPI credentialevse-controllers:writePath parameters1
Request bodyapplication/json
connectorsobject[]Each connectorId must be unique within the array.
Each connectorId must be unique within the array.
1eMI3 identifier (e.g. NLEFLEV1234567), optionally with * separators.
autocustomCABLESOCKET00AC_1_PHASEAC_3_PHASEDCCATARCCHADEMODOMESTIC_BDOMESTIC_EDOMESTIC_FIEC_62196_T1IEC_62196_T1_COMBOIEC_62196_T2IEC_62196_T2_COMBOIEC_62196_T3AIEC_62196_T3CcostSettingsobject[]
componentsobject[]
costSettingsobjectREQUIRED
0000restrictionsobject
false0000000max 100smartChargingobject
200OK application/json
dataEvseControllerResource
configurationEvseControllerConfigurationItem[]
componentobject
variableobject
metaobject
400Invalid Request application/json
errorobject
401Unauthorized application/json
errorobject
403Forbidden: missing a required permission, or no access to this resource application/json
errorobject
404Not Found application/json
errorobject
500Internal server error application/json
errorobject
Delete EVSE Controller
User sessionAPI credentialevse-controllers:writePath parameters1
204OK text/plain
400Invalid Request application/json
errorobject
401Unauthorized application/json
errorobject
403Forbidden: missing a required permission, or no access to this resource application/json
errorobject
404Not Found application/json
errorobject
500Internal server error application/json
errorobject
Send OCPP Command
Send an OCPP command to an EVSE Controller.
User sessionAPI credentialevse-commands:writePath parameters1
Request bodyapplication/json
200OK application/json
dataobject
metaobject
400Invalid Request application/json
errorobject
401Unauthorized application/json
errorobject
403Forbidden: missing a required permission, or no access to this resource application/json
errorobject
404Not Found application/json
errorobject
500Internal server error application/json
errorobject
Search OCPP Commands
Search OCPP commands for an EVSE Controller.
User sessionAPI credentialevse-commands:readDeprecated since 31 July 2026. Stops working on 31 March 2027. Use POST /2/evse-controllers/{evseController}/commands/search instead.
Path parameters1
Request bodyapplication/json
createdAtobject
commands.csvjson500sortobjectdefault {"field":"createdAt","order":"desc"}
{"field":"createdAt","order":"desc"}ascdesc200OK application/json
dataOcppCommandResource[]
metaobject
400Invalid Request application/json
errorobject
401Unauthorized application/json
errorobject
403Forbidden: missing a required permission, or no access to this resource application/json
errorobject
404Not Found application/json
errorobject
429Too many requests: the rate limit was exceeded application/json
errorobject
500Internal server error application/json
errorobject
Search OCPP Commands (v2)
Returns the OCPP commands sent to and received from the station, newest first. There is no sort or order parameter.
This replaces the v1 search (POST /1/evse-controllers/{evseController}/commands/search), which is being retired.
{evseController} is the EVSE controller's id: a 24-character hex id, the same id used across the EVSE Controllers API.
Pagination:
- Make the first request without
cursor. - If
meta.nextCursoris present, older results remain: repeat the same body with"cursor": "<meta.nextCursor>". - When
meta.nextCursoris absent, you have reached the end of the window.
meta.prevCursor, when present, walks back towards newer results. The rest of the body must stay identical across pages. cursor and pinnedEntry are mutually exclusive. If the pinned command is not in the result set (outside the window, filtered out, or deleted), the server falls back to page 1 rather than returning an error.
Counting is opt-in, since it costs more than fetching a page, and is attempted only on a forward fetch. Set count: true on the first request to add meta.total. isExact: true means an exact count; false means the count reached countCap and value is a lower bound. total is omitted when the result set is too large to count within the safety budget, and also when the request uses pinnedEntry or a cursor from meta.prevCursor, even if count was set. Request the count once, on the first page.
User sessionAPI credentialevse-commands:readPath parameters1
The EVSE controller's id: a 24-character hex id, the same id used across the EVSE Controllers API.
Request bodyapplication/json
Filter to commands for this connector (the connector number shown on the dashboard).
Adds meta.total to the response. Opt-in, since counting costs more than fetching a page. Request it once, on the first page.
falseThe maximum value the count counts up to. When it is reached, meta.total.isExact is false and value is a lower bound.
10000max 100000The opaque cursor from meta.nextCursor or meta.prevCursor. Cannot be combined with pinnedEntry.
The CSV download's file name. Used only when format is csv.
commands.csvjson returns one page. csv streams every matching row in the window, newest first, as a CSV download, and ignores limit, cursor, count and pinnedEntry.
csvjsonjsonStart of the search window (inclusive).
Exclude Connected commands.
Exclude Heartbeat commands.
Exclude meter value readings: the OCPP 1.6 MeterValues action, and periodic metering TransactionEvents on OCPP 2.0.1/2.1.
Page size.
100max 500Filter by OCPP action, or a list of actions, for example BootNotification or ["StartTransaction", "StopTransaction"].
pinnedEntryobjectThe sort key of one command to centre the page on, for deep links: returns the page containing this command, with a few newer rows above it and the rest older below. Cannot be combined with cursor. Ignored when format is csv.
The sort key of one command to centre the page on, for deep links: returns the page containing this command, with a few newer rows above it and the rest older below. Cannot be combined with cursor. Ignored when format is csv.
The id of the command to centre on.
The createdAt of the command to centre on.
Filter by command status: one or more of pending, busy, done, timeout. timeout is not yet recorded; timed-out commands currently show as busy.
End of the search window (exclusive: results have createdAt < to). Defaults to now.
Filter by OCPP transaction id.
200OK application/json
dataOcppCommandSearchRow[]REQUIRED
chargepoint means the command was sent to the station; centralsystem means it was received from the station.
Null unless the command failed.
The command's unique id.
The charging station's id (not the EVSE controller id in the request path).
The OCPP version, for example ocpp1.6.
metaobjectREQUIRED
Present only when older results remain; omitted on the last page.
Cursor towards the newer end of the result set, for paging backwards. Present only when a newer page exists; omitted otherwise.
totalobjectPresent only when count was requested and a count is available; omitted
otherwise, including when the scan-budget cap made counting infeasible.
Present only when count was requested and a count is available; omitted
otherwise, including when the scan-budget cap made counting infeasible.
True for an exact count; false when the count reached countCap, in which case value is a lower bound.