Skip to main content
Add an endpoint in Settings → Integrations → Webhooks, choose its events, and copy the signing secret. It is shown once. Satyakod then POSTs one JSON request per event.
Settings → Integrations → Webhooks: adding an endpoint

Settings → Integrations → Webhooks: adding an endpoint

Events

Request

data uses the same field names as the API (camelCase). Alerts and batches include a url to open them in the dashboard.

Verifying the signature

v1 is the hex HMAC-SHA256, keyed with your signing secret, of "<t>.<raw request body>". Compute it over the raw bytes you received, before parsing the JSON, and reject a request whose t is more than five minutes old.

Delivery

  • Respond with any 2xx within 15 seconds. Redirects are not followed.
  • Failed deliveries are retried with back-off (30 s, 1, 2, 4 and 8 minutes). A 4xx response is not retried.
  • Delivery is at least once. Use Satyakod-Delivery (the event id) to ignore duplicates.
  • After 5 failed deliveries in a row the endpoint is stopped and the person who added it is emailed. Re-add the same URL in Settings to start it again (it keeps its signing secret).
  • Endpoints must be public HTTPS URLs; private and local addresses are refused, also at send time.