Skip to main content
Webhooks notify your server when something happens — a journal is posted, a statement is ready — so you don’t have to poll.

The event shape

Every event shares a common envelope with a typed data payload:

Events

Receiving events

  1. Expose an HTTPS endpoint and register its URL in the dashboard.
  2. Return a 2xx within 5 seconds to acknowledge receipt. Do slow work asynchronously.
  3. Verify the signature on the X-3Rings-Signature header before trusting a payload (see below).
  4. Deduplicate on the event id — an event may be delivered more than once.
Always verify the signature. Without it, anyone who learns your endpoint URL could post fake events. Never act on an unverified payload.

Retries

If your endpoint fails or times out, we retry with exponential backoff for up to 24 hours. Because retries and at-least-once delivery mean duplicates are possible, make your handler idempotent on the event id.