Обработка ошибок
Коды ошибок API и рекомендации по обработке
Формат ошибок
Все ошибки API возвращаются в едином формате:
При ошибках валидации дополнительно возвращается массив errors с указанием конкретных полей:
Коды ошибок
Клиентские ошибки (4xx)
| HTTP | Код | Описание | Что делать |
|---|---|---|---|
| 400 | INVALID_JSON | Невалидный JSON в теле запроса | Проверьте формат JSON |
| 400 | VALIDATION_ERROR | Ошибка валидации полей | Смотрите массив errors |
| 400 | INVALID_TASK_ID | Невалидный формат ID задачи | Используйте UUID из ответа при создании |
| 400 | INVALID_CATEGORY | Невалидная категория шага | Проверьте допустимые значения через GET /steps |
| 400 | INVALID_INPUT_TYPE | Невалидный тип входных данных | Проверьте допустимые значения через GET /steps |
| 401 | MISSING_API_KEY | Отсутствует заголовок Authorization | Добавьте заголовок Authorization: Bearer sk-... |
| 401 | INVALID_AUTH_FORMAT | Неверный формат заголовка (нет префикса Bearer) | Используйте формат Bearer <ключ> |
| 401 | INVALID_API_KEY | API-ключ невалиден | Проверьте правильность ключа в Dashboard |
| 401 | API_KEY_INACTIVE | API-ключ деактивирован | Активируйте ключ или создайте новый в Dashboard |
| 401 | API_KEY_EXPIRED | Срок действия ключа истёк | Создайте новый ключ в Dashboard |
| 402 | INSUFFICIENT_BALANCE | Недостаточно средств на балансе | Пополните баланс |
| 404 | NOT_FOUND | Ресурс не найден | Проверьте ID задачи или пайплайна |
| 404 | TASK_NOT_FOUND | Задача не найдена | Проверьте task ID |
| 429 | RATE_LIMIT_EXCEEDED | Превышен лимит запросов | Подождите и повторите (подробнее) |
Серверные ошибки (5xx)
| HTTP | Код | Описание | Что делать |
|---|---|---|---|
| 500 | INTERNAL_ERROR | Внутренняя ошибка сервера | Повторите запрос. Если ошибка повторяется — обратитесь в поддержку |
| 502 | UPSTREAM_ERROR | Сервер обработки недоступен | Повторите через 30-60 секунд |
Обработка ошибок в коде
Всегда проверяйте поле success в ответе. При success: false ответ содержит объект error с кодом и описанием.
Рекомендуемый подход
TTL и истечение задач
Результаты задач хранятся ограниченное время (TTL). По умолчанию — 4 часа после завершения.
После истечения TTL:
- Поле
expiredстановитсяtrue - Поля
inputиoutputстановятсяnull - Метаданные задачи (ID, статус, даты) остаются доступными
Используйте webhooks для получения результатов сразу после завершения обработки, чтобы не зависеть от TTL. Параметр ttl при создании задачи позволяет задать время хранения от 0 до 24 часов.