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

# Idempotency in flight

> A request with this `Idempotency-Key` is still being processed.

This page is the resolution target of the RFC 9457 `type` URI on every `idempotency_in_flight` problem body: `https://docs.get-exo.com/errors/idempotency_in_flight`.

**HTTP status: `409` Conflict**.

```json theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "type": "https://docs.get-exo.com/errors/idempotency_in_flight",
  "title": "Idempotency in flight",
  "status": 409,
  "detail": "A request with this Idempotency-Key is still being processed.",
  "code": "idempotency_in_flight",
  "requestId": "req_9f2c41ab7d0e5c18",
  "suggestedAction": "Wait for the original request to finish, then retry."
}
```

## Why it happens

The first request to present a key claims it. A second request with the same key while the first is still running is refused rather than run in parallel, which is what makes the key a guarantee rather than a hint.

The claim is always released. Any failure after the claim, including a rate limit, a validation error or a crash, frees the key so a corrected request stays retryable.

## How to fix it

* Wait, then retry with the same key. If the original succeeded you get its response back; if it failed the key is free.
* Do not generate a new key for the retry. That defeats the purpose and can create a duplicate.

## Related

* [`idempotency_key_reuse`](/errors/idempotency_key_reuse)
* [`rate_limit_exceeded`](/errors/rate_limit_exceeded)
* [Errors](/platform/errors) for the envelope and the full catalogue
