> ## Documentation Index
> Fetch the complete documentation index at: https://developers.chatbrick.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhook Retries

> We will attempts to deliver each webhook message based on a retry schedule with exponential backoff.

## Retry Schedule

Each message is attempted based on the following schedule, where each period starts following the failure of the preceding attempt:

* Immediately
* 5 seconds
* 5 minutes
* 30 minutes
* 2 hours
* 5 hours
* 10 hours
* 10 hours (in addition to the previous)

If an endpoint is removed or disabled delivery attempts to the endpoint will be disabled as well.

For example, an attempt that fails three times before eventually succeeding will be completed roughly 35 minutes and 5 seconds after the first attempt.

## Indicating Successful Delivery

The method to indicate that a webhook has been processed is by returning a `2xx` (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.

## Idempotency

To ensure that webhook messages are processed exactly once, the webhook message includes a unique `svix-id` header field.

If you receive a webhook message with an `svix-id` that you have already processed, you should ignore the message.
