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

# Idempotency

> Retry OrgX mutations safely with the Idempotency-Key header.

Send an `Idempotency-Key` header with every state-changing workspace request:

```http theme={"dark"}
Idempotency-Key: launch-plan-review-001
```

The key is scoped to the workspace and accepts 1–200 characters matching
`^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$`.

| Request                      | Result                                                        |
| ---------------------------- | ------------------------------------------------------------- |
| First key and input          | The operation runs and returns its created or accepted result |
| Same key and same input      | `200` returns the original result                             |
| Same key and different input | `409` reports an idempotency conflict                         |

Keep the same key after a timeout, `429`, or retryable server error. Generate a
new key when the user intends a new operation.

```bash theme={"dark"}
curl https://useorgx.com/api/v1/work \
  -X POST \
  -H "Authorization: Bearer $ORGX_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: launch-plan-review-001' \
  -d '{"title":"Review the launch plan"}'
```

Read-only and account-free validation requests do not need an idempotency key.
Stripe callback delivery uses the provider event identity and signature instead.
