Installer charge points
Register a charge point
POST /api/v1/installer/charge-points
Registers a new charge point with Dynamo CSMS and returns the configuration needed to connect the hardware to the platform via OCPP.
string
required
Unique identifier for the charge point, typically matching the hardware serial or OCPP identity. Maximum 48 characters, alphanumeric and hyphens only.
string
required
Hardware model name (e.g.
"ABB Terra AC W22-G5").string
required
Hardware manufacturer name (e.g.
"ABB").string
required
Physical serial number printed on the unit.
string
required
The project this charge point belongs to. Projects group charge points by site or deployment.
object
Optional GPS coordinates for the charge point.
201 Created
string
The WebSocket URL to configure on the charge point hardware for OCPP connectivity.
string
Initial status is always
registered. Progresses through configured, connected, and commissioned.List charge points
GET /api/v1/installer/charge-points
Returns all charge points registered by the authenticated installer.
string
Filter by project ID.
string
Filter by status. One of:
registered, configured, connected, commissioned, offline.integer
Page number for pagination (default: 1).
integer
Results per page (default: 20, max: 100).
200 OK
Get charge point
GET /api/v1/installer/charge-points/{charge_point_id}
Returns full details for a single charge point.
string
required
The charge point’s unique identifier.
200 OK
Update charge point
PUT /api/v1/installer/charge-points/{charge_point_id}
Updates metadata for a registered charge point. You cannot change charge_point_id or serial_number after registration.
string
required
The charge point’s unique identifier.
string
Updated hardware model name.
string
Updated vendor name.
string
Move the charge point to a different project.
object
Updated location data.
200 OK — returns the full updated charge point object.
Delete charge point
DELETE /api/v1/installer/charge-points/{charge_point_id}
Removes a charge point from Dynamo CSMS. The charge point must be offline and not currently in an active session. Historical session and billing data is retained.
string
required
The charge point’s unique identifier.
204 No Content
Certificate management
Generate TLS certificate
POST /api/v1/installer/charge-points/{charge_point_id}/certificates/generate
Generates a TLS client certificate for the charge point. Install this certificate on the hardware to enable mutual TLS authentication on the OCPP WebSocket connection.
string
required
The charge point’s unique identifier.
integer
Certificate validity period in days (default: 365, max: 1095).
201 Created
private_key_pem is returned once only — store it securely alongside the certificate.
List certificates
GET /api/v1/installer/charge-points/{charge_point_id}/certificates
Lists all certificates issued for a charge point, including expired ones.
200 OK
Configuration management
Get config template
GET /api/v1/installer/charge-points/{charge_point_id}/config/template
Returns the default OCPP configuration template for this charge point’s model. Use it as a starting point before customizing.
200 OK
Customize configuration
POST /api/v1/installer/charge-points/{charge_point_id}/config/customize
Saves a custom OCPP configuration for this charge point, overriding template defaults.
string
required
The charge point’s unique identifier.
object
required
Key-value map of OCPP configuration keys to set. Only include the keys you want to override.
200 OK
Download configuration
GET /api/v1/installer/charge-points/{charge_point_id}/config/download
Downloads the final merged configuration (template + customizations) as a JSON file ready to upload to the charge point hardware.
200 OK — returns application/json with the full configuration object.
Connection testing
Test connection
POST /api/v1/installer/charge-points/{charge_point_id}/test-connection
Initiates a connection test by sending a ping to the charge point over OCPP. Use this to verify network reachability before commissioning.
200 OK
Get connection status
GET /api/v1/installer/charge-points/{charge_point_id}/connection-status
Returns the current real-time connection status of the charge point.
200 OK
Commission charge point
POST /api/v1/installer/charge-points/{charge_point_id}/commission
Marks a charge point as commissioned and live. This transitions the charge point from installer-mode to production operation. Requires the charge point to be connected and all configuration steps to be complete.
200 OK
Get charge point status
GET /api/v1/installer/charge-points/{charge_point_id}/status
Returns the current operational status of a charge point.
200 OK
CPO charge points
CPO (Charge Point Operator) endpoints use an organization API key with thewrite:charge_points or read:charge_points scope.
Create charge point (CPO)
POST /api/v1/chargepoints
Creates a charge point record at the CPO level, for operators managing charge points without going through the installer workflow.
string
required
Unique charge point identifier.
string
required
Display name for the charge point.
number
required
GPS latitude.
number
required
GPS longitude.
string
required
Physical address of the charge point.
integer
required
Number of connectors on this unit.
number
required
Maximum charging power per connector in kilowatts.
201 Created
Update charge point (CPO)
PATCH /api/v1/chargepoints/{charge_point_id}
Partially updates a CPO charge point. Only include fields you want to change.
string
required
The charge point’s unique identifier.
string
Updated display name.
string
Updated address.
number
Updated maximum power in kilowatts.
200 OK — returns the full updated charge point object.
Search charge points by proximity
GET /api/v1/chargepoints/search
Returns charge points near a given GPS coordinate, ordered by distance.
number
required
Center latitude for the proximity search.
number
required
Center longitude for the proximity search.
number
Search radius in kilometers (default: 5, max: 50).
string
Filter by connector status:
available, occupied, offline.200 OK
Get CPO charge point status
GET /api/v1/chargepoints/{charge_point_id}/status
200 OK
List connectors
GET /api/v1/chargepoints/{charge_point_id}/connectors
200 OK
Get tariff
GET /api/v1/chargepoints/{charge_point_id}/tariff
Returns the current pricing tariff applied to this charge point.
200 OK
Update tariff
PUT /api/v1/chargepoints/{charge_point_id}/tariff
Sets or replaces the tariff for a charge point. Requires write:charge_points scope.
string
required
ISO 4217 currency code (e.g.
"GBP", "EUR", "USD").number
required
Price per kilowatt-hour.
number
Flat fee charged at session start.
number
Per-minute fee charged when a vehicle remains plugged in after charging completes.
integer
Number of idle minutes allowed before idle fees apply.
200 OK — returns the updated tariff object.
Search public chargers (no auth)
GET /api/v1/public/chargers
Returns publicly listed charge points. No authentication required. Suitable for driver-facing apps and maps.
number
required
Center latitude.
number
required
Center longitude.
number
Search radius in kilometers (default: 5, max: 50).
200 OK