Webhooks
Receive real-time events when chargers connect, transactions start, or status changes. Register a URL and we'll POST events to it.
Webhooks require Starter tier or above. Free tier users do not have access to webhook endpoints. Upgrade your plan to receive real-time event notifications.
Create webhook
POST
/api/v1/webhooksRegister a webhook endpoint to receive events.
Request body
json
{"url": "https://myapp.com/webhooks/capacitor","events": ["charger.connected","charger.disconnected","transaction.started","transaction.stopped"],"secret": "optional_webhook_secret"}
Response — 201 Created
json
{"id": "wh_123","url": "https://myapp.com/webhooks/capacitor","events": ["charger.connected", "transaction.started"],"active": true,"createdAt": "2026-02-06T12:00:00.000Z"}
Available events
| Event | Description |
|---|---|
charger.connected | Charger connects via WebSocket |
charger.disconnected | Charger disconnects |
charger.boot | Charger sends BootNotification |
connector.status_changed | Connector status changes |
transaction.started | Charging session begins |
transaction.stopped | Charging session ends |
transaction.updated | Meter values updated during session |
Event payload
Events are delivered as POST requests to your webhook URL with a JSON body:
transaction.started payload
json
{"event": "transaction.started","timestamp": "2026-02-06T14:30:00.000Z","data": {"transactionId": 12345,"chargeBoxId": "CHARGER-001","connectorId": 1,"idTag": "USER001","meterStart": 0}}
charger.connected payload
json
{"event": "charger.connected","timestamp": "2026-02-06T14:30:00.000Z","data": {"chargeBoxId": "CHARGER-001"}}
Webhook deliveries are fire-and-forget. If your endpoint returns a non-2xx status, the event is not retried. Ensure your endpoint responds within 5 seconds.
List webhooks
GET
/api/v1/webhooksGet all registered webhooks.
Response — 200 OK
json
{"webhooks": [{"id": "wh_123","url": "https://myapp.com/webhooks/capacitor","events": ["charger.connected", "transaction.started"],"active": true,"createdAt": "2026-02-06T12:00:00.000Z"}]}
Update webhook
PATCH
/api/v1/webhooks/:webhookIdUpdate a webhook's URL, events, or active status.
Request body
json
{"url": "https://newurl.com/webhooks","events": ["charger.connected"],"active": true}
Delete webhook
DELETE
/api/v1/webhooks/:webhookIdRemove a webhook.
Response — 200 OK
json
{"message": "Webhook deleted successfully"}