Chargers

Register, list, and manage your OCPP 1.6J chargers. All endpoints require the X-API-Key header.

Register charger

POST/api/v1/chargers

Register a new charger with your organisation.

Request body
json
{
  "chargeBoxId": "CHARGER-001",
  "name": "Office Parking Lot",
  "location": "Building A, Spot 12"
}
Response — 201 Created
json
{
  "id": "chg_123",
  "chargeBoxId": "CHARGER-001",
  "name": "Office Parking Lot",
  "location": "Building A, Spot 12",
  "status": "offline",
  "isOnline": false,
  "registeredAt": "2026-02-06T12:00:00.000Z",
  "connectionUrl": "wss://capacitor.live/ocpp/CHARGER-001",
  "instructions": {
    "message": "Configure your charger to connect to the WebSocket URL below",
    "url": "wss://capacitor.live/ocpp/CHARGER-001",
    "protocol": "ocpp1.6"
  }
}

List chargers

GET/api/v1/chargers

Get all chargers for your organisation.

ParameterTypeDescription
statusstringFilter by status: online, offline
limitnumberResults per page (default: 50)
offsetnumberPagination offset (default: 0)
Response — 200 OK
json
{
  "chargers": [
    {
      "id": "chg_123",
      "chargeBoxId": "CHARGER-001",
      "name": "Office Parking Lot",
      "status": "online",
      "isOnline": true,
      "vendor": "ABB",
      "model": "Terra AC",
      "lastHeartbeat": "2026-02-06T12:45:00.000Z"
    }
  ],
  "pagination": {
    "total": 1,
    "limit": 50,
    "offset": 0
  }
}

Get charger details

GET/api/v1/chargers/:chargeBoxId

Get detailed information about a specific charger, including connectors.

Response — 200 OK
json
{
  "id": "chg_123",
  "chargeBoxId": "CHARGER-001",
  "name": "Office Parking Lot",
  "status": "online",
  "isOnline": true,
  "vendor": "ABB",
  "model": "Terra AC",
  "serialNumber": "ABC12345",
  "firmwareVersion": "1.6.0",
  "lastHeartbeat": "2026-02-06T12:45:00.000Z",
  "connectors": [
    {
      "connectorId": 1,
      "status": "Available",
      "errorCode": "NoError",
      "lastUpdated": "2026-02-06T12:30:00.000Z"
    }
  ],
  "connectionUrl": "wss://capacitor.live/ocpp/CHARGER-001"
}

Delete charger

DELETE/api/v1/chargers/:chargeBoxId

Unregister a charger from your organisation.

Response — 200 OK
json
{
  "message": "Charger unregistered successfully",
  "chargeBoxId": "CHARGER-001"
}

Get connector status

GET/api/v1/chargers/:chargeBoxId/connectors/:connectorId/status

Get the last 5 status notifications for a specific connector.

Response — 200 OK
json
{
  "chargeBoxId": "CHARGER-001",
  "connectorId": 1,
  "statusNotifications": [
    {
      "status": "Available",
      "errorCode": "NoError",
      "timestamp": "2026-02-06T12:45:00.000Z"
    },
    {
      "status": "Preparing",
      "errorCode": "NoError",
      "timestamp": "2026-02-06T12:40:00.000Z"
    }
  ]
}

Connector statuses

OCPP 1.6J defines these connector statuses:

StatusDescription
AvailableConnector is ready for a new session
PreparingCable plugged in, waiting to start
ChargingActive charging session
SuspendedEVCharging suspended by the vehicle
SuspendedEVSECharging suspended by the charger
FinishingSession ending, preparing to unplug
UnavailableConnector is not available (maintenance)
FaultedConnector has an error