Delivery Schedule
Each message is retried according to the following fixed schedule after a failed attempt:- Immediately
- 5 seconds
- 5 minutes
- 30 minutes
- 2 hours
- 5 hours
- 10 hours
- After an additional 10 hours
- Retries always occur in the order listed above, with each period starting only after the previous attempt fails.
- If an endpoint is removed or disabled, further delivery attempts to that endpoint will be stopped.
- Example: If a message fails four times before eventually succeeding, it will be delivered roughly 35 minutes and 5 seconds after the initial attempt (Immediate + 5 seconds + 5 minutes + 30 minutes).
Indicating successful delivery
The way to indicate that a webhook has been processed is by returning a2xx (status code 200-299) response to the webhook message within a reasonable timeframe (15s). Any other status code, including 3xx redirects, is treated as a failure.
Failed delivery handling
After the conclusion of the above attempts, the message will be marked asFailed for this endpoint, and you will get a webhook of type message.attempt.exhausted notifying you of this error.