к тексту
api

документация api

ошибки и коды ответов

400, 401, 402, 403, 404, 429, 502, 504 и чем detail отличается от error.

последняя редакция: 18 сентября 2026

неудачный запрос возвращает http-код и тело с описанием причины. причины бывают двух видов: проверки на стороне airakurs — ключ, баланс, доступ к модели — и ошибки, которые вернул конечный сервис.

тело ответа

проверки airakurs отвечают полем detail:

{
    "detail": "Insufficient balance to run this request."
}

ошибка конечного сервиса приводится к формату того эндпоинта, на который пришёл запрос. для эндпоинтов в формате openai это выглядит так:

{
    "error": {
        "message": "This model's maximum context length is 128000 tokens.",
        "type": "invalid_request_error",
        "param": null,
        "code": null
    }
}

для /v1/messages — в формате anthropic ({"type": "error", "error": {…}}), для /v1beta — в формате google ({"error": {"code", "message", "status"}}). обработку ошибок в коде, написанном под конкретный формат, менять не нужно.

коды ответов

кодпричиначто делать
400запрос не соответствует формату: неверный json, неизвестное поле, недопустимое значениепроверить тело запроса
401ключ не распознан, не определён ip-адрес запроса или аккаунт заблокированпроверить ключ и базовый адрес
402недостаточно средств на балансе либо исчерпан бюджет ключапополнить баланс или поднять бюджет ключа
403модель не входит в список разрешённых для ключа, ip-адрес не в белом списке, эндпоинт ключу не разрешёнпроверить настройки ключа
404модель или файл с таким идентификатором не найденысверить идентификатор с каталогом
429превышен лимит частоты запросовповторить запрос позже
502конечный сервис недоступен или ни один из них не ответилповторить запрос
504истекло время ожидания ответаповторить запрос

точная причина всегда в тексте ошибки: например, у 402 это Insufficient balance to run this request., API Key budget exceeded. или Monthly budget exceeded. — три разные ситуации с одним кодом.

отдельный случай — 402 при непустом балансе. перед отправкой запроса его стоимость считается предварительно, с запасом на самый длинный возможный ответ, и средств должно хватать именно на эту оценку. как она устроена и как её уменьшить — в статье стоимость запроса.

ошибки от конечного сервиса

часть ошибок формирует не airakurs, а сам сервис, которому ушёл запрос: слишком длинный контекст, недопустимое значение параметра, отказ по правилам безопасности. такие ответы передаются с исходным кодом и исходным текстом, поэтому искать их описание нужно в документации соответствующего api.

что дальше

  • api-ключи — ограничения ключа, из-за которых приходят 401, 402 и 403.
  • лимиты — откуда берётся 429.
  • стоимость запроса — предварительный расчёт, из-за которого приходит 402.

частые вопросы

как понять, кто вернул ошибку — airakurs или сама модель?

по телу ответа. проверки airakurs отвечают полем detail. ошибка конечного сервиса приходит в формате эндпоинта — например, объектом error для эндпоинтов в формате openai.

почему приходит 402, если на балансе есть деньги?

причины две. либо исчерпан бюджет ключа или месячный бюджет — это отдельные ограничения, не связанные с остатком. либо средств не хватает на предварительную оценку стоимости запроса, которая делается с запасом на самый длинный ответ. точную причину показывает текст ошибки.

что делать при ошибках 502 и 504?

повторить запрос. 504 означает, что ответ не пришёл за отведённое время, 502 — что конечный сервис недоступен. обе ошибки обычно временные.

поддержка airakurs.official@gmail.com
© airakurs

20 статей. поддержка airakurs.official@gmail.com