Idempotency-Key on every paid call, and a
retry returns the first result instead of buying it again.
What it guarantees
Keys are scoped to the calling API key and the logical operation. Two keys,
or two different source operations, can use the same string without
colliding. The v1 and v2 direct-call path aliases identify the same logical
operation.
Where it applies
Continuations without a key are refused. Their keys are scoped to the calling
key and task. Keep the original signed state when retrying the same choice;
use a new idempotency key for a newly reviewed action.
Retrying in practice
While the first request is still running, a retry answers
409 request_in_progress with a retry_after_ms. Wait that long and retry; it is
not an error, and nothing was charged twice.Runs already in flight
A run that is still executing answers202 with its id. Polling
GET /v2/runs/{id} is always free and never starts anything new.
