Ошибки API: что проверить первым
HTTP-код показывает класс ошибки. Текст ответа уточняет причину; он может различаться между протоколами и клиентами.
Порядок диагностики
- Проверьте Base URL для выбранного протокола в документации.
- Сверьте ID модели с каталогом.
- Посмотрите статус ключа, баланс и расход в кабинете.
- Отправьте один короткий запрос без большого проекта и сравните результат.
Короткая генерация расходует токены. Проверка списка моделей не запускает генерацию:
curl https://apicodik.ai/v1/models -H "Authorization: Bearer $API_KEY"Частые HTTP-коды
| Код | Причина | Действие |
|---|---|---|
| 401 | Ключ или авторизация | Проверьте ключ и заголовок Authorization: Bearer. Для Anthropic используется также x-api-key. Не отправляйте ключ в URL. |
| 402 | Недостаточно средств | Посмотрите баланс в кабинете. Уже полученный код пополнения можно активировать на существующем ключе. |
| 403 | Доступ ограничен | Ключ может быть приостановлен, отозван или просрочен. Также проверьте разрешённые модели и срок пакета компании. |
| 404 | Модель или путь не найдены | Сверьте ID модели с каталогом. Проверьте, что SDK не удвоил /v1 в адресе. |
| 413 | Слишком большой запрос | Сократите контекст, историю и вложения. Проверьте лимит программы и выбранной модели. |
| 429 | Слишком много запросов | Уменьшите параллельность. Если есть Retry-After, дождитесь указанного времени; используйте повторы с увеличивающейся задержкой. |
| 502 / 503 / 504 | Сбой маршрута или ожидания | Сохраните время, модель и идентификатор запроса из ответа. При повторе сначала убедитесь, что предыдущий запрос завершился. |
Cursor или агент долго ждёт
Клиент может отправлять большой контекст, а модель — обрабатывать его до первого фрагмента ответа. Время отправки, ожидания и генерации различается: по одному сообщению «долго» нельзя определить причину.
Сравните короткий запрос с запросом проекта, включите потоковый режим, если клиент его поддерживает, и сохраните время обращения. Не запускайте несколько одинаковых платных запросов одновременно.
Что сохранить для разбора
Время с часовым поясом, ID модели, HTTP-код, безопасный текст ошибки и request ID, если он есть. Удалите API-ключи, коды активации, конфиденциальный контекст и персональные данные из скриншотов и журналов.
