Skip to main content
Dynamo CSMS sends webhook events to URLs you register whenever something significant happens — a session starts, a charge point goes offline, or commissioning completes. This guide shows you how to set up endpoints, verify incoming payloads, and troubleshoot failed deliveries.

Register a webhook endpoint

Create an endpoint by providing the URL that should receive events, the list of event types you want to subscribe to, and a secret used to sign payloads.
Response:
Generate your secret using a cryptographically secure random generator (e.g., openssl rand -hex 32). Store it securely — you’ll need it to verify every incoming payload.

Available event types

Webhook payload format

Every event payload shares a common envelope with an event type, a unique id, a timestamp, and an object containing the relevant data. Example session.started payload:

Verify webhook signatures

Dynamo signs every request with an HMAC-SHA256 signature derived from the raw request body and your endpoint secret. Always verify the signature before processing a payload. The signature is sent in the X-Dynamo-Signature header as sha256=<hex_digest>.
Always read the raw request body bytes before parsing JSON. Many frameworks reformat the body during parsing, which will cause signature verification to fail.

Retry behaviour

If your endpoint returns a non-2xx HTTP status code or times out (30 second limit), Dynamo retries the delivery with exponential backoff: After 5 failed attempts, the delivery is marked as failed and no further retries occur. You can manually replay failed deliveries from the dashboard or using the deliveries API.

Manage endpoints

View delivery history

Inspect past delivery attempts to debug failures or confirm events were received.
Response: