Idempotency-Key header. Send one and a
retried request replays the original response instead of performing the
operation again.
This matters because the case where your client times out is exactly the case
where the request may already have succeeded. Without an idempotency key, a
retried POST /v1/meetings creates a second meeting, spawns a second agent,
and bills you for both — and nothing on your side can tell you it happened.
Choosing a key
Any unique string up to 255 characters. A UUID per logical operation is the usual choice. Generate it before the first attempt and reuse it for every retry of that same operation — a key generated inside the retry loop protects nothing.Behaviour
Only successful (2xx) responses are stored. A failed write does not “use up”
its key — otherwise a transient validation failure would lock you out of
retrying the corrected request.
Keys are scoped to your API key. Two workspaces choosing the same key string
never collide.
Detecting a replay
A complete retry loop
Pairs with the backoff described in Errors — one key per operation, generated outside the loop.Scope
Applies toPOST, PUT, PATCH and DELETE on the public API. GET needs
no key — reads are already idempotent, and the header is ignored there.
