Идемпотентность

Записывающие вызовы можно безопасно повторять с Idempotency-Key.

Зачем

Сетевые ошибки и тайм-ауты не дают понять, дошёл ли вызов. С тем же Idempotency-Key повтор вернёт тот же ответ вместо дубликата.

Как

Заголовок Idempotency-Key с уникальным значением (например UUID) на каждую бизнес-операцию, действует 24 часа для ключа.

curl
curl -X POST https://www.claritos.io/api/v1/contacts \
  -H "Authorization: Bearer capi_…" \
  -H "Idempotency-Key: 5c3f9a4e-…" \
  -H "Content-Type: application/json" \
  -d '{ "kind": "PERSON", "firstName": "Anna", "lastName": "Muster" }'

Правила

Тот же ключ + то же содержимое → сохранённый ответ с Idempotent-Replayed: true. Тот же ключ + другое содержимое → 422 idempotency-mismatch. Первый вызов ещё выполняется → 409 с Retry-After. Ответы 429 и 5xx не сохраняются.