Idempotency

Retry writes without running them twice.

All write operations require an Idempotency-Key of 1 to 200 characters. Generate one UUID for each intended change. On a network error, keep the same UUID and request content.

An identical request returns the stored result with Idempotent-Replayed: true. Reusing a key with different content or a different operation returns 422 idempotency_key_reused. A missing header returns 400 idempotency_key_required.

The key is scoped to the tenant and user. Two API keys belonging to the same user therefore share an idempotency scope. Keep the key and request for at least 24 hours.

Read operations do not need an Idempotency-Key. This also applies to POST searches, validations, and bulk downloads when the reference marks the operation as a read.