Source: https://aiprimetech.io/ru/docs/api-reference/errors/ [Главная](/ru/) / [Документация](/ru/docs/) / Ошибки # Ошибки Все коды состояния, которые возвращает шлюз: реальные причины и способы исправления. Копировать страницу [ Посмотреть в формате Markdown](/ru/docs/api-reference/errors.md) [ Спросить ChatGPT](https://chatgpt.com/?q=Read%20https%3A//aiprimetech.io/docs/api-reference/errors.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) [ Спросить в Claude](https://claude.ai/new?q=Read%20https%3A//aiprimetech.io/docs/api-reference/errors.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) При ошибках возвращается JSON с type и понятным человеку message. Коды состояния соответствуют соглашениям Anthropic и OpenAI. ``` Copy{"type": "error", "error": {"type": "authentication_error", "message": "invalid api key"}} ``` ## Коды состояния | Код | Значение | Наиболее частая причина на практике | Решение | 400 | Некорректный запрос | Отсутствует max_tokens в Messages или некорректно сформирован messages массив | Проверьте тело запроса по [Messages](/ru/docs/api-reference/messages/) | 401 | Не выполнена аутентификация | Ключ отправлен в заголовке, не соответствующем формату | x-api-key для Messages, Bearer для Chat Completions | 402 | Требуется оплата | Баланс исчерпан или срок действия тарифа истёк | [Пополнить баланс](/ru/topup/) или [купите тариф](/ru/plans/) | 403 | Доступ запрещён | Ключ отозван или модель не включена для аккаунта | Создайте новый ключ; проверьте /v1/models | 404 | Не найдено | Ошибка в базовом URL — обычно дублируется или отсутствует /v1 | См. [Базовые URL](/ru/docs/getting-started/base-urls/) | 429 | Превышен лимит запросов | Слишком много одновременных запросов | Увеличивайте задержку между попытками экспоненциально; см. [Ограничения частоты запросов](/ru/docs/api-reference/rate-limits/) | 500 | Ошибка шлюза | Непредвиденный внутренний сбой | Повторите запрос один раз; если ошибка сохраняется, обратитесь в поддержку, указав идентификатор запроса | 529 | Сервис провайдера перегружен | Ограничение мощности провайдера, а не вашего аккаунта | Повторите запрос с увеличенной задержкой — обычно проблема исчезает за несколько секунд ## Типы ошибок | тип | Значение | invalid_request_error | Тело запроса сформировано некорректно или отсутствует обязательное поле | authentication_error | Ключ отсутствует, имеет некорректный формат или отозван | permission_error | Ключ действителен, но не имеет доступа к этой модели | not_found_error | Неизвестный путь или идентификатор модели | rate_limit_error | Запросы ограничены | api_error | Внутренний сбой | overloaded_error | Мощности сервиса провайдера исчерпаны ## Правильное повторение запросов Повторная попытка 429, 500, 502, 503 и 529. Никогда не повторяйте вслепую 400, 401, 402 или 403 — тот же запрос завершится той же ошибкой, а за частично сгенерированные ответы вы можете заплатить дважды. ``` Copyimport time, httpx def call(body, key, tries=4): for i in range(tries): r = httpx.post(class="s">"https://aiprimetech.io/v1/messages", json=body, timeout=120, headers={class="s">"x-api-key": key, class="s">"anthropic-version": class="s">"2023-06-01"}) if r.status_code in (429, 500, 502, 503, 529): time.sleep(2 ** i) class=class="s">"c"># 1s, 2s, 4s, 8s continue r.raise_for_status() return r.json() raise RuntimeError(class="s">"upstream unavailable after retries") ``` В рабочей среде добавляйте случайный разброс к задержке между попытками. Синхронные повторные попытки множества обработчиков превращают кратковременный сбой в лавину запросов к одному и тому же сервису провайдера. [Ограничения частоты запросовПараллелизм и пропускная способность](/ru/docs/api-reference/rate-limits/)[Устранение неполадокУказатель по симптомам](/ru/docs/guides/troubleshooting/) [НазадПотоковая передача](/ru/docs/api-reference/streaming/)[ДалееОграничения частоты запросов](/ru/docs/api-reference/rate-limits/)