Events
From the dashboard
Everything below is also available without writing code. Open a space in the dashboard and pick the Webhooks tab, where you can add and edit endpoints, choose which events they receive, pause one without deleting it, and read the delivery log for a receiver that is not responding.Register a webhook
Response
201 Created
Delivery format
data object varies by event:
Fields with no value are omitted rather than sent as
null.
Respond with any 2xx status to acknowledge. Anything else counts as a failure and is
retried.
Verifying signatures
X-Anona-Signature is sha256= followed by the HMAC-SHA256 of the raw request body,
keyed with your webhook secret. Compare it in constant time, never with == on the raw
strings.
Sign the raw bytes. Parsing the JSON and re-serializing it changes key order and
whitespace, which changes the hash. This is the most common reason verification fails.
Retries
A delivery is attempted up to 6 times over roughly 7 hours, then marked failed.
Deliveries are at-least-once: a receiver that times out after doing its work still gets
retried. Make your handler idempotent on
operation_id.
Timing and ordering
List webhooks
Update a webhook
Only the fields you send are changed. Returns the updated webhook.Delete a webhook
204 No Content. Queued deliveries for that webhook stop.
Debugging deliveries
When a receiver is not working, inspect the attempts:
Pass
next_cursor back as cursor to page through older deliveries.
Errors
See Errors for the general error shape.
