Коды ошибок
Полный справочник по всем ошибкам API и способам их обработки.
Формат ответа об ошибках
Все ошибки API возвращаются в OpenAI-совместимом формате:
json
{
"error": {
"message": "Human-readable error message",
"type": "invalid_request_error",
"code": "error_code",
"details": {}
}
}HTTP-коды состояния
Описание
| Код | Название | Описание |
|---|---|---|
400 | Bad Request | Неверное тело запроса или параметры |
401 | Unauthorized | Отсутствует или неверная аутентификация |
402 | Payment Required | Недостаточный баланс |
403 | Forbidden | Аутентификация валидна, но недостаточно прав или не пройдена проверка безопасности |
404 | Not Found | Ресурс не существует |
409 | Conflict | Ресурс уже существует или конфликт состояния |
429 | Too Many Requests | Превышен лимит запросов |
500 | Internal Server Error | Непредвиденная ошибка сервера |
503 | Service Unavailable | Временная проблема с сервисом |
504 | Gateway Timeout | Запрос занял слишком много времени |
Распространённые коды ошибок
Нажмите на любой код ошибки, чтобы увидеть причины, решения и примеры ответов.
HTTP-коды состояния
Все возможные ошибки API с их значениями.
Обработка ошибок
Реализуйте правильную обработку ошибок для хорошего пользовательского опыта. Вот пример комплексного обработчика ошибок:
error_handling.py
import openai
import time
client = openai.OpenAI(
api_key="your-gonkagate-api-key",
base_url="https://api.gonkagate.com/v1"
)
def chat_with_retry(messages, max_retries=3):
"""Make API request with exponential backoff retry logic."""
for attempt in range(max_retries):
try:
response = client.chat.completions.create(
model="Qwen/Qwen3-32B-FP8",
messages=messages
)
return response.choices[0].message.content
except openai.RateLimitError as e:
# 429: Wait and retry with exponential backoff
wait_time = 2 ** attempt
print(f"Rate limited. Waiting {wait_time}s...")
time.sleep(wait_time)
except openai.AuthenticationError as e:
# 401: Invalid API key - don't retry
print(f"Auth error: {e.message}")
raise
except openai.BadRequestError as e:
# 400: Invalid request - don't retry
print(f"Bad request: {e.message}")
raise
except openai.APIStatusError as e:
# 5xx: Server error - retry with backoff
if e.status_code >= 500:
wait_time = 2 ** attempt
print(f"Server error {e.status_code}. Retrying in {wait_time}s...")
time.sleep(wait_time)
else:
raise
raise Exception("Max retries exceeded")
# Usage
result = chat_with_retry([{"role": "user", "content": "Hello!"}])
print(result)