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

# Retries and dead-lettering

> How Bullionwale retries a delivery your endpoint did not accept, and when it gives up.

> [!WARNING]
>
> **Not available yet.** Webhooks are being built and are not part of the API today: there is no way to subscribe yet, and no events are sent. This page describes the planned design so you can prepare; details may change before release.

## What counts as delivered

A delivery succeeds when your endpoint answers with a `2xx` status. Anything else counts as a failure and is retried: another status, a timeout, or a connection that could not be made.

## Retries

* Failed deliveries are retried with **exponential backoff**: each retry waits longer than the one before.
* Every retry carries the **same event id**, so you can recognise it.
* Deliveries are **at least once**: after a timeout, an event your endpoint did process can arrive again. De-duplicate on the event id.

## Dead-lettering

After a fixed number of failed attempts, Bullionwale stops retrying and moves the event to a **dead-letter** list. A dead-lettered event is not sent again on its own.

Nothing about your orders depends on a delivery: an order is booked, closed or rejected whether or not your endpoint received the event. If you may have missed events, for example after an outage on your side, read your orders back with `GET /orders` and its `since` filter to catch up.

The exact retry schedule and the number of attempts will be published here when webhooks are released.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.