Skip to main content
Запрос вернул ошибку вместо ответа модели? Найдите ваш код ниже — почти всё чинится в пару шагов.
Где смотреть текст ошибки. Причина ошибки приходит прямо в ответе API — в поле error.message. В конце сообщения указан номер запроса: (request id: 2026…). Сохраните его — по нему мы найдём запрос, если понадобится помощь. В разделе Консоль → Журнал запросов видны только успешные запросы и списания; неудачные запросы там не показываются.Язык сообщений. Ошибки самого RuAPI — про ключ, баланс, лимиты и ID модели — приходят на языке, который вы выбрали на www.ruapi.ai (переключатель языка вверху страницы, когда вы вошли в аккаунт). Если язык не выбран — сразу на русском и английском. Ошибки, которые возвращает сам провайдер модели, обычно на английском.

Шпаргалка

401 Unauthorized — Invalid token

Причина. Сервер не принял ваш ключ. Возможные причины:
  • Подставлен не тот ключ: должен быть ключ RuAPI (sk-...), а не официальный ключ OpenAI (sk-...) или Anthropic (sk-ant-...). Внешне ключи OpenAI и RuAPI похожи, но рабочий — только из вашей Консоли RuAPI.
  • В ключ затесались лишние пробелы или перенос строки при копировании — частая беда при копи-пасте.
  • Ключ отключён, удалён или истёк срок его действия.
  • Ключ исчерпал свой бюджет (если вы задавали бюджет при создании). Общий баланс при этом может быть положительным — бюджет закончился именно у этого ключа.
Решение.
  1. Откройте Консоль → API-ключи и убедитесь, что ключ активен, срок не истёк, а лимит не исчерпан. При необходимости скопируйте ключ заново.
  2. Вставьте ключ без пробелов в начале и конце, без переноса строки.
  3. Проверьте, что заголовок именно Authorization: Bearer sk-... (OpenAI-протокол) или x-api-key: sk-... (Anthropic-протокол).

403 — недостаточно средств

Причина. На счёте закончились деньги (или их не хватает на запрос). Запросы не выполняются, пока вы не пополните баланс. Решение.
  • Пополните баланс в USDT / USDC или банковской картой — минимум 5 $. Криптовалюта зачисляется обычно за 1–5 минут, оплата картой — за секунды.
  • Учтите: агентные инструменты (Claude Code, Cline, автономные агенты) и длинный контекст сжигают токены очень быстро — десятки запросов за минуту — это норма.
  • Чтобы случайно не уйти в ноль на одном проекте, задайте бюджет ключа в разделе Консоль → API-ключи — ключ перестанет работать при достижении суммы, а остальные продолжат.

404 — неверный адрес

Причина. Запрос ушёл по несуществующему пути. Почти всегда дело в base_url, и зависит оно от протокола:
Для Anthropic-протокола не добавляйте /v1 в конце адреса. SDK сам подставляет /v1/messages, и лишний /v1 даёт /v1/v1/messages → 404. И наоборот: для OpenAI-протокола /v1 обязателен.
Решение. Проверьте base_url по таблице выше. Подробный разбор адресов — в справочнике API.

503 — модель недоступна (model_not_found)

Причина. Почти всегда — модели с таким ID нет в каталоге. Имя в поле model должно точно совпадать с ID со страницы цен — вплоть до дефисов, префикса и регистра (GLM-5.2 и glm-5.3 — разные написания, kimi/kimi-k3 пишется с префиксом). Алиасы и «примерные» названия не сработают. В ответе будет "code": "model_not_found", а в error.message — текст: Модель gpt-5 недоступна. Проверьте точное название модели на странице «Цены» или повторите запрос позже. Решение. Скопируйте ID модели со страницы цен и подставьте его в model без изменений. Если ID точно верный — модель временно недоступна: повторите запрос через минуту.

429 — Too Many Requests / rate limit

Причина. Слишком много запросов за короткий промежуток — либо ваш код шлёт их пачкой, либо провайдер модели временно ограничивает поток. У RuAPI тоже есть ограничение на частоту запросов для каждого аккаунта; обычной работе, в том числе агентам, оно не мешает. Решение.
  • Сбавьте темп и повторяйте с экспоненциальной задержкой (backoff): 1 с, 2 с, 4 с, 8 с…
  • Распределите нагрузку во времени, не отправляйте сотни запросов одновременно.
  • Для пакетной обработки добавьте небольшую паузу между запросами или ограничьте число параллельных потоков.

5xx — 500 / 502 / 503 / upstream error

Причина. Временный сбой на стороне провайдера модели или шлюза. Это не проблема вашего ключа или кода. (Исключение — 503 с кодом model_not_found: это почти всегда опечатка в имени модели, см. выше.) Решение.
  • Повторите запрос через несколько секунд — чаще всего со второй-третьей попытки проходит.
  • Заверните вызовы в retry с backoff, чтобы такие всплески не роняли ваш скрипт.
  • Если ошибка держится долго и повторяется на разных моделях — напишите на support@ruapi.ai и приложите номер запроса (request id) из текста ошибки.

Обрывы стриминга и таймауты

Длинные ответы (большой контекст, рассуждающие модели, генерация кода) могут идти десятки секунд. Если соединение рвётся на середине стрима или клиент отваливается по таймауту — увеличьте timeout в SDK (для тяжёлых запросов ставьте 60–120 с и выше), убедитесь, что между вами и RuAPI нет прокси, обрывающего долгие SSE-соединения, и не отключайте стриминг для длинных ответов — именно он не даёт запросу упасть по таймауту.

Всё ещё не работает?

Напишите на support@ruapi.ai: приложите код ошибки, полный текст из error.message (вместе с request id), имя модели и время запроса — и мы быстро разберёмся.