API Documentation
Comprehensive reference for the Pipelet platform components, including the OCPP Config Server, Broker, REST API, and Diagnostic Server.
API Overview
This document lists the HTTP endpoints exposed by the Python entrypoints in this repository. The host names and ports in the examples are placeholders and should be adapted to your environment.
Pipelet OCPP Server (aiohttp, default port 9751)
| Method | Path | Description | Example | Example response |
|---|---|---|---|---|
| GET | /robots.txt |
Disables web crawling. | curl http://HOST:9751/robots.txt |
User-agent: *\nDisallow: /\n |
| GET | /api/db_pool_status |
Reports the configured MySQL pool status. | curl http://HOST:9751/api/db_pool_status |
{"pool_type":"aiomysql","mysql_pool_size":10,...} |
| GET | /api/ocpp_log_queue_metrics |
Metrics for the async OCPP log queue (optional window_minutes). |
curl http://HOST:9751/api/ocpp_log_queue_metrics |
{"size":0,"maxsize":5000,...} |
| GET | /api/websocketCounts |
WebSocket connection and file descriptor metrics. | curl http://HOST:9751/api/websocketCounts |
{"connections":{"active":2,...}} |
| GET | /api/ocpp_action_metrics |
Aggregated latency/error metrics per OCPP action. | curl http://HOST:9751/api/ocpp_action_metrics |
{"BootNotification":{"success":12,...}} |
| GET | /api/station_liveness |
Liveness snapshot for connected stations (optional threshold,
sort).
|
curl http://HOST:9751/api/station_liveness |
{"generated_at":"...", "stations": [...]} |
| GET | /api/connected_stations |
Compact list of connected charge points with timestamps. | curl http://HOST:9751/api/connected_stations |
{"stations":[{"station_id":"STATION",...}]} |
| GET | /api/getConfiguration |
Returns the current OCPP configuration for a station (station_id query
param required). |
curl "http://HOST:9751/api/getConfiguration?station_id=STATION" |
{"status":"Accepted","configurationKey":[...]} |
| POST | /api/setConfiguration |
Changes a configuration key on a station. Body JSON: station_id,
key, value.
|
curl -X POST -d '{"station_id":"STATION",...}' http://HOST:9751/api/setConfiguration
|
{"status":"Accepted"} |
| POST | /api/changeConfiguration/custom |
Sends a custom ChangeConfiguration payload. |
curl -X POST -d '{"station_id":"STATION",...}' ... |
{"status":"Accepted"} |
| GET | /api/localAuth/configuration |
Returns Local Auth List–related configuration keys. | curl "http://HOST:9751/api/localAuth/configuration?station_id=STATION" |
{"LocalAuthListEnabled":"true",...} |
| POST | /api/localAuth/configuration |
Sets Local Auth List–related configuration keys. | curl -X POST ... |
{"status":"Accepted"} |
| GET | /api/localAuth/listVersion |
Fetches the current Local Auth list version. | curl "http://HOST:9751/api/localAuth/listVersion?station_id=STATION" |
{"listVersion":2} |
| POST | /api/localAuth/sendLocalList |
Sends a Local Authorization List update. | curl -X POST ... |
{"status":"Accepted"} |
| POST | /api/changeAvailability |
Switches a connector to Operative/Inoperative. |
curl -X POST ... |
{"status":"Accepted"} |
| GET | /api/connectedStations |
Detailed connected-station view including availability, connector status, etc. | curl http://HOST:9751/api/connectedStations |
{"stations":[{"station_id":"STATION",...}]} |
| POST | /api/triggerBootNotification |
Sends an OCPP TriggerMessage BootNotification. |
curl -X POST ... |
{"status":"Accepted"} |
| POST | /api/triggerMeterValues |
Sends TriggerMessage MeterValues. |
curl -X POST ... |
{"status":"Accepted"} |
| POST | /api/triggerStatusNotification |
Sends TriggerMessage StatusNotification. |
curl -X POST ... |
{"status":"Accepted"} |
| POST | /api/statusRoundCall |
Triggers StatusNotification for all connected stations. |
curl -X POST http://HOST:9751/api/statusRoundCall |
{"triggered":["STATION"]} |
| POST | /api/oicp/sync |
Pushes an OICP status update for a station. | curl -X POST ... |
{"result":"ok"} |
| POST | /hubject/evse-data |
Forwards EVSE data to Hubject. | curl -X POST ... |
{"hubject_response":{"Result":"OK"}} |
| POST | /hubject/remote-start |
Remote start transaction triggered by Hubject. | curl -X POST ... |
{"status":"Accepted",...} |
| POST | /hubject/reserve-now |
Reserve a connector via Hubject payload. | curl -X POST ... |
{"status":"Accepted",...} |
| POST | /api/pnc/ocpp-command |
Generic Plug&Charge command endpoint. | curl -X POST ... |
{"status":"Accepted",...} |
| POST | /api/pnc/ocpp-certificates |
OCPP certificate management (install/get/delete/check). | curl -X POST ... |
{"status":"Accepted",...} |
| POST | /hubject/remote-stop |
Remote stop transaction triggered by Hubject. | curl -X POST ... |
{"status":"Accepted",...} |
| POST | /api/reset |
Sends OCPP Reset (Hard/Soft). |
curl -X POST ... |
{"status":"Accepted"} |
| POST | /api/disconnect |
Drops the websocket connection for a station. | curl -X POST ... |
{"status":"disconnected",...} |
| POST | /api/startTransaction |
Remote start via classic OCPP call. | curl -X POST ... |
{"status":"Accepted","transaction_id":1} |
| POST | /api/stopTransaction |
Remote stop transaction. | curl -X POST ... |
{"status":"Accepted"} |
| POST | /api/unlockConnector |
Tries to unlock a connector. | curl -X POST ... |
{"status":"Unlocked"} |
| POST | /api/triggerMessage |
Sends a generic TriggerMessage. |
curl -X POST ... |
{"status":"Accepted"} |
| POST | /api/datatransfer |
Sends an OCPP DataTransfer to a station. |
curl -X POST ... |
{"status":"Accepted",...} |
| POST | /api/getDiagnostics |
Requests diagnostics upload. | curl -X POST ... |
{"status":"queued",...} |
| GET | /updateFirmware/{station_id} |
Starts a firmware update via query params. | curl ... |
UpdateFirmware gesendet... |
| POST | /api/updateFirmware |
Firmware update via JSON body. | curl -X POST ... |
{"status":"Accepted",...} |
| GET | /api/getAllCurrentTransactions |
Lists transaction IDs currently open on the server. | curl ... |
{"transactions":[...]} |
Pipelet OCPP Broker (websockets, default port 7020)
API endpoints are served on API-enabled listeners.
| Method | Path | Description | Example | Example response |
|---|---|---|---|---|
| GET | /robots.txt |
Disables web crawling. | curl http://HOST:7020/robots.txt |
User-agent: *... |
| GET | / |
Root path (basic health response). | curl http://HOST:7020/ |
. |
| GET | /healthCheck-01 |
Health probe used by load balancers. | curl http://HOST:7020/healthCheck-01 |
alive. |
| GET | /refreshStationList |
Reloads the station list from the database. | curl http://HOST:7020/refreshStationList |
done. |
| GET | /brokerStatus |
Returns broker status plus MySQL check timestamps. | curl http://HOST:7020/brokerStatus |
{"status":"online",...} |
| GET | /api/db_pool_metrics |
Metrics for the broker's MySQL pool. | curl http://HOST:7020/api/db_pool_metrics |
{"initialized":true,...} |
| GET | /api/op_redirects |
Lists redirect entries from op_redirects. |
curl http://HOST:7020/api/op_redirects |
{"op_redirects":[...]} |
| GET | /connectionStats |
Ping/connection statistics. | curl http://HOST:7020/connectionStats |
{"stations":{...}} |
| GET | /api/reconnectStats |
Recent reconnect and handshake metrics. | curl http://HOST:7020/api/reconnectStats |
{"window_seconds":3600,...} |
| GET | /connectedWallboxes |
Summary of known wallboxes and connection state. | curl http://HOST:7020/connectedWallboxes |
{"entries":2,...} |
| GET | /websocketCounts |
Counts active WebSocket connections. | curl http://HOST:7020/websocketCounts |
{"wallbox_to_broker":2,...} |
| GET | /mysqlPoolStatus |
MySQL pool status snapshot. | curl http://HOST:7020/mysqlPoolStatus |
{"initialized":true,...} |
| GET | /firmware/<filename> |
Serves firmware binaries. | curl -O http://HOST:7020/firmware/fw.bin |
(binary data) |
| GET | /setRedirect |
Updates redirect settings via query params. | curl ... |
{"result":"ok"} |
| GET | /getConnecteEVSE |
Connected/disconnected EVSE list with connection quality. | curl http://HOST:7020/getConnecteEVSE |
{"connected":[...]} |
| GET | /system/limits |
File descriptor limits and estimated usage. | curl http://HOST:7020/system/limits |
{"ulimit_no_file_soft":1024,...} |
| GET | /rebootChargePoint/<station_id> |
Triggers a Reset (reboot) call. | curl ... |
Reset-Aufruf gestartet |
| GET | /updateFirmware/<station_id> |
Triggers firmware update. | curl ... |
UpdateFirmware-Aufruf gestartet |
| GET | /getDiagnostics/<station_id> |
Triggers OCPP GetDiagnostics. |
curl ... |
GetDiagnostics-Aufruf gestartet |
| GET | /disconnectChargePoint/<station_id> |
Disconnects the station websocket. | curl ... |
Chargepoint getrennt |
| GET | /getDiagnosticsHTTP/<station_id> |
Triggers GetDiagnostics via HTTP. |
curl ... |
GetDiagnostics-Aufruf gestartet |
| GET | /getConnectedDevices |
Lists connected devices and connector snapshots. | curl ... |
{"connected":[...]} |
| GET | /activeSessions |
Active charging session snapshot. | curl ... |
{"sessions":[...]} |
Example Plug&Charge OCPP command payloads:
See full Examples below.
Pipelet REST API (Flask, default port 9750)
| Method | Path | Description | Example |
|---|---|---|---|
| GET | /robots.txt |
Disables web crawling. | curl http://HOST:9750/robots.txt |
| GET | /api/connected |
Devices that sent messages within the last hour. | curl "http://HOST:9750/api/connected?owner=ocpp16" |
| GET | /api/disconnected |
Placeholder, not implemented. | curl http://HOST:9750/api/disconnected |
| GET | /api/meter/<device> |
Placeholder for meter values. | curl http://HOST:9750/api/meter/DEVICE |
| GET | /tokens |
Lists EMSP tokens with pagination. | curl "http://HOST:9750/tokens?limit=50" |
| PUT | /tokens |
Creates/updates EMSP tokens. | curl -X PUT ... |
| GET | /sessions |
Lists broker sessions with pagination. | curl "http://HOST:9750/sessions?stationId=STATION" |
| POST/PUT | /sessions |
Upserts session state entries. | curl -X POST ... |
| GET | /api/getsession |
Returns OCPP session details. | curl "http://HOST:9750/api/getsession..." |
| GET | /Charge/GetChargeRecordsByRfId |
Charging session history filtered by rfId. |
curl "http://HOST:9750/Charge/GetChargeRecordsByRfId..." |
| POST | /WallboxManagement/createRedirect |
Creates a redirect entry if missing. | curl -X POST ... |
| GET | /WallboxManagement/getChargePointConfiguration |
Returns stored configuration for a charge point. | curl ... |
| POST | /WallboxManagement/setConfiguration |
Sends a configuration change via OCPP server. | curl -X POST ... |
| POST | /api/datatransfer |
Issues an OCPP DataTransfer via the broker. |
curl -X POST ... |
| POST | /WallboxManagement/AddWallbox |
Placeholder, not implemented. | curl -X POST ... |
| GET | /WallboxManagement/GetAllWallboxes |
Placeholder, not implemented. | curl ... |
| PATCH | /WallboxManagement/UpdateWallbox |
Placeholder, not implemented. | curl -X PATCH ... |
Pipelet OCPP Diagnostic Server (Flask, default port 9090)
| Method | Path | Description | Example |
|---|---|---|---|
| GET | /robots.txt |
Disables web crawling. | curl http://HOST:9090/robots.txt |
| PUT | /upload_diagnostics/<filename> |
Uploads raw diagnostic data. | curl -T file.bin ... |
| GET/POST | /upload_diagnostics |
Multipart upload of diagnostic files. | curl -F "diag=@file.bin" ... |
| GET | /diagnostics |
Lists stored diagnostic file names. | curl http://HOST:9090/diagnostics |
FTP Service: The diagnostic server also starts an FTP service to receive diagnostic uploads.
Pipelet Dashboard (Flask, default port 5000)
Authentication is required for most pages.
Authentication & basic navigation
| Method | Path | Description |
|---|---|---|
| GET | /robots.txt |
Disables web crawling. |
| GET/POST | /set_language |
Sets the UI language cookie. |
| GET | /check |
Health check endpoint. |
| GET/POST | / |
Login page. |
| GET | /op_directlogin |
Token-based login. |
| GET | /logout |
Logs out. |
| GET/POST | /op_change_password |
Changes admin password. |
| GET | /op_api_docs |
Swagger/Redoc viewer. |
Dashboards, redirects, and monitoring
| Method | Path | Description |
|---|---|---|
| GET | /op_dashboard |
Main redirect/connection dashboard. |
| GET | /op_redirects |
Lists redirect entries. |
| GET | /op_marked_wallboxes/<id>/history |
History of mark/unmark actions. |
| GET | /op_active_sessions |
Active OCPP sessions. |
| GET | /op_connection_info |
OCPP/MQTT connection settings. |
| GET/POST | /op_performance |
WebSocket performance statistics. |
| GET | /op_ping_monitor |
Ping monitor view. |
| GET | /op_details |
Recent OCPP messages for a station. |
| GET | /op_mqtt_status |
MQTT status overview. |
| GET | /op_energymqtt |
Energy MQTT topics. |
| GET/POST | /op_energymqtt_ignore |
Manage ignored MQTT topics. |
| GET | /op_energymqtt_disconnected |
Devices with no MQTT traffic. |
| GET/POST | /op_ai_diagnostics |
AI-based diagnostic reports. |
Rules & Config
(See full list in API Overview file)