Към съдържанието

Грешки

Грешките споделят една обвивка (вижте общия преглед). Разклонявайте логиката по code, записвайте meta.request_id в лога и приемайте message като английски текст за хора.

Код Статус Значение и какво да направите
validation_failed 400 Поле не е преминало валидацията. field го посочва, details обяснява. Коригирайте полето.
bad_request 400 Заявката изобщо не може да бъде прочетена: невалиден JSON, повреден поток Content-Encoding, прекъснато тяло. Няма поле за коригиране; проверете транспорта.
validation_error 400 X-Account-Id е изпратен към крайна точка, която го забранява (/auth/login, /auth/refresh, /auth/swap-company, /auth/logout).
cursor_expired 400 Курсорът за пагинация е по-стар от 24 часа. Започнете изброяването отначало.
unauthenticated 401 Липсващ или невалиден токен. Обновете сесията или проверете ключа.
invalid_signature 401 Подписът на уебхук не е потвърден. Вижте Уебхукове.
forbidden 403 Токенът е валиден, но няма нужното разрешение.
account_context_mismatch 403 X-Account-Id не съвпада с акаунта на токена. Представата на клиента за текущата фирма се е разминала; прочетете я отново от сесията.
not_found 404 Ресурсът не съществува или принадлежи на друг акаунт или сайт. API никога не прави разлика между двете.
conflict 409 Конфликт на състоянието: оптимистично заключване, ограничение за уникалност или действие, непозволено в текущото състояние (например запис в обединен разговор).
idempotency_key_conflict 409 Idempotency-Key е използван повторно с различно тяло.
payload_too_large 413 Тялото надвишава лимита за това семейство крайни точки.
unsupported_media_type 415 Грешен Content-Type.
unprocessable 422 Валиден JSON, но бизнес правило го е отхвърлило (например час за резервация извън работното време).
storage_quota_exceeded 422 Акаунтът е достигнал лимита за хранилище на своя план. details съдържа used_bytes, quota_bytes и requested_bytes; освободете място или преминете към по-висок план.
rate_limited 429 Намалете темпото. Спазвайте Retry-After и details.retry_after_seconds.
Код Статус Значение и какво да направите
internal_error 500 Неочакван срив. Опитайте отново веднъж, след това се свържете с поддръжката с request_id.
upstream_unavailable 502 Шлюзът изобщо не е успял да достигне услугата. Кратък повторен опит обикновено успява.
service_unavailable 503 Планирана поддръжка или отворен предпазител (circuit breaker). Опитайте отново след заглавката Retry-After.
ai_vendor_out_of_funds 503 Вашият AI доставчик е отказал извикването по причини, свързани с плащането (402 или 429 за квота от доставчика). Заредете акаунта при доставчика; повторен опит няма да помогне.
upstream_timeout 504 Услугата не е отговорила навреме. Опитайте отново, когато има retry_after.

Повтаряйте 429, 502, 503, 504 и мрежови сривове с експоненциално забавяне и изпращайте същия Idempotency-Key при повторния опит, за да не се приложи запис два пъти. Не повтаряйте 4xx, освен 429.