Ошибки и идемпотентность

Стандартные ошибки, повторы, лимиты и защита от дублей.

Ошибки используют application/problem+json, реальный HTTP-статус и request_id.

Создание требует Idempotency-Key длиной 8–128. Хранятся только HMAC и отпечаток запроса. Тот же Key/тело возвращает исходную задачу; другое тело — 409 idempotency_conflict; активный запрос — 409 request_in_progress. Не создавайте новый Key при автоматическом повторе.

Частые коды: invalid_api_key, invalid_api_key_rate_limited, api_key_expired, insufficient_scope, validation_error, unsupported_model, unsupported_parameter, input_url_not_allowed, insufficient_credits, payment_required, account_suspended, network_not_allowed, rate_limit_exceeded, concurrency_limit_exceeded, provider_unavailable, service_unavailable.

Повторные неверные данные с одного IP тоже ограничиваются; хранится только защищённый Pepper HMAC отпечаток IP.

Сетевые ошибки, 429, 503 повторяйте с backoff, тем же телом и Key. Если результат Provider не подтверждён, API запрещает слепую повторную отправку.

Перед повтором всегда соблюдайте header Retry-After.