Idempotency for POST commands
Every POST operation requires anIdempotency-Key. Generate it once for one intended action, store it with the payload, and reuse both for retries.
409 idempotency_conflict.
After full-response replay expires, a retained key returns
409 idempotency_result_expired without executing again. Durable receipts remain until workspace deletion. Look up the original accepted request before taking another action.
Never generate a new idempotency key on every automatic retry. Do not assume a command is safe to replay indefinitely after deduplication retention expires.
Optimistic concurrency for PATCH
Read the current monitor, retain the quotedETag, and send it in If-Match. The PATCH body changes only explicitly supplied fields.
4 and the ETag is "4". A stale precondition returns 412 version_conflict. Re-read, compare, and decide whether the change is still intended; do not blindly overwrite the newer record.
The PATCH schemas reject empty bodies, unknown properties, and null clearing. Omit fields you do not intend to change.
A pre-execution 402 insufficient_credits rejection does not reserve an accepted operation or charge credits. After funding, retry the same intended request with the same key.
See errors and asynchronous jobs for recovery behavior.