Skip to main content
A charge point is the physical EV charging unit that drivers interact with to charge their vehicles. In Dynamo CSMS, every charge point is a first-class resource with its own identity, configuration, and lifecycle. You manage charge points through the API to control availability, trigger charging sessions, apply pricing, and monitor real-time status.

What is a charge point?

A charge point represents a single physical charger installed at a location. Each charge point has a globally unique charge_point_id that you use in all API requests that target it. This identifier is assigned during registration and cannot be changed.
{
  "charge_point_id": "cp_01HXYZ123ABC",
  "name": "Parking Lot A - Bay 3",
  "site_id": "site_01HXYZ000AAA",
  "project_id": "proj_01HXYZ999ZZZ",
  "ocpp_version": "1.6",
  "status": "online"
}
The charge_point_id is immutable after creation. Store it in your system as the canonical reference for the physical unit.

Charge points and connectors

A charge point contains one or more connectors — the physical sockets that plug into a vehicle. The charge point is the parent device; connectors are the individual charging outlets it exposes. For example, a dual-port charger is one charge point with two connectors. You start and stop sessions on a specific connector, not the charge point as a whole.
ConceptDescriptionExample
Charge pointThe physical deviceA wall-mounted unit in a parking garage
ConnectorA single charging outlet on the deviceConnector 1 (CCS), Connector 2 (CHAdeMO)

Connector statuses

Each connector reports a status at all times. Dynamo CSMS tracks status updates delivered via OCPP StatusNotification messages.
StatusMeaning
AvailableThe connector is idle and ready to accept a new charging session
OccupiedA vehicle is actively charging on this connector
FaultedThe connector has reported a hardware or software fault and cannot charge
UnavailableThe connector has been administratively taken offline
ReservedThe connector is held for a specific driver via a reservation
A connector in Faulted status will not accept remote start commands. Resolve the fault or use ChangeAvailability to reset the connector before attempting to start a session.

Charge point lifecycle

New charge points go through a commissioning workflow before they go live. Each stage must complete successfully before moving to the next.
1

Register

Call POST /api/v1/installer/charge-points with the device’s serial number and OCPP credentials. The charge point is created in pending state and assigned its charge_point_id.
2

Configure

Push the required OCPP configuration keys to the charge point using POST /api/v1/ocpp16/send_command with the ChangeConfiguration action. Set heartbeat intervals, authorization modes, and network parameters.
3

Test connection

Confirm the charger has established a WebSocket connection and is sending heartbeats. Check GET /api/v1/installer/charge-points/{charge_point_id}/connection-status for connected: true.
4

Commission

Mark the charge point as commissioned by calling POST /api/v1/installer/charge-points/{charge_point_id}/commission. This transitions the unit to commissioned state and makes it eligible to accept sessions.
5

Online

Once the charge point sends its first BootNotification after commissioning, Dynamo CSMS transitions it to online. It is now fully operational.
You can automate the registration and configuration steps using the bulk provisioning endpoints if you are deploying multiple charge points at once.

Projects and sites

Charge points can be organized into two grouping levels: projects and sites.
A project is a logical grouping of charge points, typically representing a deployment contract or business unit. Projects let you apply billing rules, tariffs, and access policies across a collection of chargers at once.
{
  "project_id": "proj_01HXYZ999ZZZ",
  "name": "Downtown Retail Deployment",
  "organization_id": "org_01HXYZ111BBB"
}
A site represents a physical location — a parking garage, office campus, or shopping center. Charge points assigned to a site share geographic context and can be filtered together in reporting and monitoring queries.
{
  "site_id": "site_01HXYZ000AAA",
  "name": "Maple Street Garage",
  "address": "100 Maple Street, Springfield",
  "project_id": "proj_01HXYZ999ZZZ"
}
A charge point belongs to exactly one site and one project. Both are optional during registration but required before commissioning.

Querying charge points

Use the list endpoint to retrieve charge points filtered by site, project, or status:
GET /api/v1/installer/charge-points?site_id=site_01HXYZ000AAA&status=online
{
  "data": [
    {
      "charge_point_id": "cp_01HXYZ123ABC",
      "name": "Parking Lot A - Bay 3",
      "connectors": [
        { "connector_id": 1, "status": "Available" },
        { "connector_id": 2, "status": "Occupied" }
      ],
      "ocpp_version": "1.6",
      "status": "online",
      "last_heartbeat": "2026-05-01T10:22:00Z"
    }
  ],
  "total": 1
}

OCPP protocols

Learn how charge points communicate with Dynamo CSMS over WebSocket using OCPP 1.6 and 2.0.1.

Billing model

Understand how charging sessions on connectors generate billing records and receipts.