write:charge_points scope unless noted otherwise.
Base URL: https://api.dynamo-csms.com
Send generic command
POST /api/v1/ocpp16/send_command
Sends any arbitrary OCPP 1.6 command to a charge point. Use the specific command endpoints below when available — this endpoint is intended for commands not covered by dedicated routes.
The target charge point’s unique identifier.
OCPP 1.6 action name (e.g.
"GetConfiguration", "ChangeConfiguration", "GetLocalListVersion").Command-specific payload as defined in the OCPP 1.6 specification.
200 OK
OCPP response status from the charge point. Typically
Accepted, Rejected, or NotImplemented.Raw OCPP response payload from the charge point.
Round-trip latency in milliseconds between the API and the charge point.
Remote start transaction
POST /api/v1/ocpp16/remote_start_transaction
Instructs the charge point to start a charging session on the specified connector, as if an RFID card with the given id_tag was presented at the hardware.
Target charge point identifier.
The RFID identifier or user token to authorize the session (max 20 characters).
Connector number to start on. If omitted, the charge point selects an available connector.
Optional OCPP
ChargingProfile to apply to the session. Controls power limits and schedules.200 OK
Accepted means the charge point acknowledged the command. The session will start once the charge point sends a StartTransaction message — subscribe to webhooks or poll active_transactions to confirm.
Remote stop transaction
POST /api/v1/ocpp16/remote_stop_transaction
Remotely stops an active charging session.
Target charge point identifier.
The OCPP transaction ID of the session to stop. Retrieve this from the active transactions endpoint.
200 OK
Change availability
POST /api/v1/ocpp16/change_availability
Changes the availability of a connector or the entire charge point.
Target charge point identifier.
Connector to change. Use
0 to apply the change to all connectors on the charge point.New availability state. Must be one of:
"Operative"— connector accepts new sessions"Inoperative"— connector rejects new sessions (e.g. for maintenance)
200 OK
"Scheduled" — the change will take effect when the session ends.
Set charging profile
POST /api/v1/ocpp16/set_charging_profile
Applies an OCPP charging profile to a connector to limit or schedule charging power.
Target charge point identifier.
Target connector. Use
0 to set a charge-point-wide profile.OCPP 1.6
ChargingProfile object.200 OK
Clear charging profile
POST /api/v1/ocpp16/clear_charging_profile
Removes a previously set charging profile from the charge point.
Target charge point identifier.
The
chargingProfileId to remove. If omitted, all profiles matching the optional filter fields are cleared.Limit clearing to a specific connector.
Limit clearing to profiles with this purpose.
Limit clearing to profiles at this stack level.
200 OK
Reset charge point
POST /api/v1/ocpp16/reset
Sends a reset command to the charge point.
Target charge point identifier.
Reset type:
"Soft"— the charge point finishes active sessions before restarting"Hard"— immediate restart, active sessions are terminated
200 OK
Trigger message
POST /api/v1/ocpp16/trigger_message
Requests the charge point to send a specific OCPP message immediately, rather than waiting for its scheduled interval.
Target charge point identifier.
The OCPP message type to trigger. Valid values:
BootNotification, DiagnosticsStatusNotification, FirmwareStatusNotification, Heartbeat, MeterValues, StatusNotification.Required for
MeterValues and StatusNotification — specifies which connector to trigger the message for.200 OK
Reserve connector
POST /api/v1/ocpp16/reserve_now
Places a reservation on a specific connector for a given user tag, preventing other users from starting sessions until the reservation expires or is cancelled.
Target charge point identifier.
Connector to reserve. Must be
> 0.ISO 8601 datetime when the reservation expires (e.g.
"2024-03-10T17:00:00Z").RFID tag or user identifier that the reservation is for.
A unique integer identifier for this reservation (chosen by you, used to cancel it later).
Optional parent RFID tag for group reservations.
200 OK
Accepted, Faulted, Occupied, Rejected, Unavailable.
Cancel reservation
POST /api/v1/ocpp16/cancel_reservation
Cancels an existing reservation on a charge point.
Target charge point identifier.
The
reservation_id of the reservation to cancel.200 OK
Get active transactions
GET /api/v1/ocpp16/active_transactions/{charge_point_id}
Returns all currently active charging transactions on the specified charge point.
The charge point to query.
200 OK
Meter reading at session start in Wh.
Latest meter reading in Wh.
Energy delivered in this session so far, in Wh.
Get all charge point statuses
GET /api/v1/ocpp16/charge_points/status
Returns the current OCPP status of all charge points in your organization. Requires read:charge_points scope.
Filter by OCPP status:
Available, Preparing, Charging, SuspendedEVSE, SuspendedEV, Finishing, Reserved, Unavailable, Faulted.Page number (default: 1).
Results per page (default: 50, max: 200).
200 OK
Error responses
| Status | Code | Meaning |
|---|---|---|
400 | validation_error | Missing or invalid request field |
401 | unauthorized | Missing or invalid API key |
403 | forbidden | Insufficient scope (write:charge_points required for command endpoints) |
404 | not_found | Charge point ID not found in your organization |
408 | timeout | Charge point did not respond within the timeout window (10s default) |
422 | charge_point_offline | Charge point is not currently connected via WebSocket |
422 | ocpp_rejected | Charge point returned Rejected — check charge point logs |
429 | rate_limited | Too many commands — max 10 commands/second per charge point |