МоделиЦеныДокументацияГайдыВойтиОткрыть чат
operations

Ошибки GPT API: 401, 402, 429 и 5xx

Диагностика ошибок GPT API: ключ, баланс, лимиты и endpoint, а также безопасные ограниченные повторы с паузой и без утечки данных.

Обновлено 26 июля 2026 г.

Ошибки конфигурации и временные сбои требуют разной реакции. Бесконечный retry не исправляет ключ или баланс, создаёт нагрузку и усложняет диагностику.

Сначала проверьте путь подключения

Если интеграция ещё не настроена, зарегистрируйтесь, пополните баланс, дождитесь зачисления и создайте ключ в разделе API-ключей. Для универсальной работы после пополнения используйте gpt-5.6-terra; для экономичного теста — gpt-5.6-luna. Актуальный model ID и тариф сверяйте на странице цен.

Параметры запроса:

  • Base URL: https://api.apiprovider.pro/v1;
  • RU Base URL: https://api.ru.apiprovider.pro/v1;
  • авторизация: Authorization: Bearer YOUR_API_KEY;
  • текстовый endpoint: POST /chat/completions.

Начните с минимального запроса. Не вставляйте ключ прямо в команду, сохраняемую в shell history, и не записывайте Authorization в логи.

401: ошибка авторизации

Проверьте наличие Bearer-заголовка, доступность переменной окружения процессу, лишние пробелы и правильный Base URL. Автоматически повторять 401 не нужно: без исправления секрета или конфигурации ответ не изменится.

402: недостаточно баланса

Проверьте баланс, выбранную модель и ожидаемый объём запроса. Повторять запрос до изменения состояния не нужно. Пополните баланс, дождитесь зачисления и выполните один новый тест.

429: слишком высокая частота

Уменьшите параллелизм, поставьте задачи в очередь и ограничьте всплески. Если ответ содержит Retry-After, используйте указанную сервером паузу. Иначе примените растущую задержку со случайным разбросом.

Практичный предел — не более трёх повторов после исходной попытки. После исчерпания лимита остановите поток или верните задачу в контролируемую очередь.

5xx: временная серверная ошибка

Сначала исключите неверный URL и маршрут. Затем для безопасной операции выполните до трёх повторов с растущей паузой и jitter. Если ошибка сохраняется, остановите автоматический поток, покажите понятный fallback и соберите безопасные диагностические данные.

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

Пример ограниченного retry

import random
import time
import requests

RETRYABLE = {429, 500, 502, 503, 504}
MAX_RETRIES = 3


def post_with_retry(url, headers, payload):
    for attempt in range(MAX_RETRIES + 1):
        response = requests.post(url, headers=headers, json=payload, timeout=60)
        if response.status_code not in RETRYABLE:
            response.raise_for_status()
            return response
        if attempt == MAX_RETRIES:
            response.raise_for_status()

        retry_after = response.headers.get("Retry-After")
        delay = float(retry_after) if retry_after and retry_after.isdigit() else 2 ** attempt + random.uniform(0, 0.5)
        time.sleep(delay)

Безопасное логирование

Записывайте время, HTTP-статус, model ID, длительность, число повторов и безопасный идентификатор задачи. Не логируйте ключ, заголовок Authorization, полные пользовательские сообщения, сырые персональные данные и секреты конфигурации. Подробнее: безопасность API-ключа.

Для production добавьте общий дедлайн задачи, очередь, метрики, circuit breaker или аналогичную остановку потока и контролируемый fallback. Полный список — в production-чек-листе.

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

Какие ошибки можно повторять?

Только временные 429 и 5xx, ограниченное число раз. 401 и 402 сначала требуют изменения ключа, конфигурации или баланса.

Что важнее при 429: backoff или Retry-After?

Если сервер прислал Retry-After, ориентируйтесь на него. Возвращайте задачи постепенно, чтобы не создать повторный всплеск.

Что делать после трёх неудачных повторов?

Остановить автоматические попытки, применить fallback и сохранить безопасные технические данные для диагностики.

Настройте устойчивую обработку ошибок

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

Готовы попробовать?

Создайте аккаунт, пополните баланс при необходимости и подключите подходящую модель.

Открыть документацию