Retries and idempotency#

Idempotency-Key is optional for ordinary REST and source submissions, but use it whenever a request may be retried. Without it, each submission creates a new operation identity. Studio generation/run routes and credit-consuming MCP tools require a caller-provided identity.

SituationNext action
Timeout or dropped responseRetry the unchanged request with its original key, or inspect its known operation ID.
Completed resultThe same key replays retained output with no additional fetch or charge.
409 conflictThe key was already used for another body. Restore the original body or choose a new key for new work.
Terminal failureThe original key preserves the failure. Correct the cause and use a new key for a deliberate new attempt.
429 admission limitRespect Retry-After and reduce concurrency. Reuse the identity, unless the error asks you to retry with a new operation: then use a new key.
410 expired contentThe replay does not rerun. A new collection needs a new key and its normal credit budget.

Idempotency is scoped to a workspace and API route. It is not a permanent content cache or a guarantee that a source never changes. REST and MCP share the identity for the same route and normalized request body.