Skip to main content

Guarantees

Retry schedule

A failed delivery is retried up to 8 attempts in total, with this wait before each retry:
After the eighth failure the delivery is dead-lettered: status dead, kept in the delivery log, never retried automatically. An admin can re-queue it from View deliveries on the endpoint, and consumers can find it with GET /webhook-deliveries?status=dead.
A 4xx from your endpoint is treated like any other failure and retried. If a payload will never parse, respond 2xx and log it on your side — or let it dead-letter and inspect it in the log.

Automatic disabling

Two things turn an endpoint off without an admin’s involvement: While an endpoint is disabled, events are not queued for it. When an admin re-enables it (which also resets the failure counter), reconcile with the cursor feeds to pick up what was missed — this is the case the polling half of the pattern exists for.

What you see, and where

Handling bursts

A room going live to a buying committee can produce dozens of engagement.recorded events in a minute. Deliveries are sent as they come due, in id order, in batches of 50 per dispatcher tick (every 15 seconds), so a burst arrives over a few ticks rather than all at once. Your handler should still be prepared to see events out of order.