For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Dashboard
DocsAPI Reference
Dashboard
LogoLogo
DocsAPI Reference
  • OCPPLAB Gateway API
        • GETList chargers
        • POSTCreate charger (durable)
        • GETGet charger provisioning status
        • GETGet charger
        • PUTUpdate charger
        • DELDelete charger
        • POSTStart charger runtime
        • POSTStop charger runtime
        • POSTRestart charger runtime
        • GETList charger logs
OCPPLAB Gateway APICore ResourcesChargers

Create charger (durable)

||View as Markdown|
POST
https://host.com/ocpp/chargers
POST
/ocpp/chargers
1import requests
2
3url = "https://host.com/ocpp/chargers"
4
5payload = {
6 "identity": "CP-FAST-201",
7 "brand_slug": "abb",
8 "model_slug": "terra-184",
9 "connector_type": "CCS2",
10 "ws_url": "wss://example-ocpp-backend.test/ws",
11 "ocpp_version": "OCPP2.0.1",
12 "charge_point_name": "Fast Bay 01",
13 "location_id": "4090477f-a416-4515-a302-97aa344a0a2a",
14 "location_name": "La Defense Charging Hub"
15}
16headers = {
17 "Authorization": "Bearer <token>",
18 "Content-Type": "application/json"
19}
20
21response = requests.post(url, json=payload, headers=headers)
22
23print(response.json())
1{
2 "charger_id": "dep-123",
3 "identity": "CP-TEST-001",
4 "status": "PROVISIONING",
5 "status_url": "/ocpp/chargers/dep-123/status",
6 "workflow_run_id": "wfr_abc123"
7}

Register a charger deployment and provision its runtime. Returns 202 Accepted in under a second once the deployment row is written; the slow ECS provisioning runs as a durable Upstash Workflow with step-level retries. Poll GET {status_url} every 1-2s until status == READY (or FAILED).

Was this page helpful?
Previous

List chargers

Next

Get charger provisioning status

Built with

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Request

This endpoint expects an object.
identitystringRequired

Unique charge point identity used by the simulator/OCPP client.

brand_slugstringRequired
model_slugstringRequired
connector_typestringRequired
ws_urlstringRequired>=1 character
Target OCPP WebSocket URL for the deployed charger.
ocpp_versionstringOptionalDefaults to OCPP1.6
charge_point_namestring or nullOptional
location_idstring or nullOptional
location_namestring or nullOptional

Optional human-readable location name forwarded to the deployment environment.

Response

Charger provisioning accepted; poll status_url

charger_idstring
identitystring
statusenum

Terminal + in-flight states for async charger provisioning.

Mirrors CpoProvisioningStatus so callers observe the same shape for both durable flows. PENDING is the transient state between the 202 response and the workflow’s first webhook.

Allowed values:
status_urlstring
workflow_run_idstring or null

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
422
Unprocessable Entity Error
500
Internal Server Error
503
Service Unavailable Error