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

# Retry Policy

> Understand the Junction webhook retry schedule with exponential backoff across eight attempts, from immediate retry up to 10 hours between attempts.

Junction attempts to deliver each webhook message based on a retry schedule with exponential backoff.

## Delivery Schedule

Each message is retried according to the following fixed schedule after a failed attempt:

1. Immediately
2. 5 seconds
3. 5 minutes
4. 30 minutes
5. 2 hours
6. 5 hours
7. 10 hours
8. After an additional 10 hours

**Notes:**

* 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 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.

## Failed delivery handling

After the conclusion of the above attempts, the message will be marked as `Failed` for this endpoint, and you will get a webhook of type `message.attempt.exhausted` notifying you of this error.

## Disabling failing endpoints

If all attempts to a specific endpoint fail for a period of 5 days, the endpoint will be disabled. The clock only starts after multiple deliveries failed within a 24-hour span, with at least 12 hours difference between the first and the last failure.

## Manual retries

You can also use the webhook portal in the dashboard to manually retry each message at any time, or automatically retry ("Recover") all failed messages starting from a given date.
