Skip to main content
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.