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

# Idempotency

> Retry requests safely.

Requests that start work take a `requestId`: a unique string of up to 128 characters that you choose. Use a new one for each distinct request.

If a request fails or times out, retry it with the same `requestId` and body. The work runs once, and the retry returns the original result.

When a retry can't return the original result, it fails with `409 CONFLICT`, and the message says what to do: retry shortly while the original is still starting, or use a new `requestId`. That happens when the body differs from the original, or when the original `references/createUpload` upload has already been used. A request that failed validation doesn't use its `requestId`, so you can fix the body and retry it.

One exception to running once: if a `checkouts/create` request is abandoned while starting, a retry can leave one extra unpaid checkout.
