# Ошибки

Источник: https://dev.smartpdf.ru/docs/errors

Ошибка запроса — код HTTP и JSON с полем `detail`: строкой с объяснением или, у `422`, списком ошибок по полям.

```json
{ "detail": "Файл не найден или истёк" }
```

| Код | Когда | Что делать |
|---|---|---|
| `400` | Ссылка на результат запрошена до завершения операции; неверный запрос. | Дождитесь `done`; проверьте запрос. |
| `401` | Нет ключа, ключ неверный, перевыпущен или удалён. | Проверьте заголовок `X-API-Key`. |
| `402` | На балансе не хватает денег или исчерпан лимит ключа. В `detail` — что именно и сколько стоит запрос. Ничего не списано. | Пополните баланс или поднимите лимит ключа в кабинете. |
| `404` | `file_id` не найден или истёк (час), `task_id` не найден. | Загрузите файл заново. |
| `410` | Срок хранения результата истёк, файл удалён или ссылка на бесплатном тарифе уже выдана. | Запустите операцию заново. |
| `413` | Файл больше лимита тарифа. | Сожмите или разделите файл. |
| `415` | Формат не поддерживается или содержимое не совпадает с типом. | Проверьте файл и его расширение. |
| `422` | Ошибка в параметрах; у распознавания текста — больше 100 страниц (без списания). | Исправьте запрос по `detail`. |
| `429` | Слишком много запросов — см. [лимиты](https://dev.smartpdf.ru/docs/limits). | Подождите и повторите; учитывайте `Retry-After`. |
| `503` | Сервис обработки временно недоступен; оплата вернулась. | Повторите позже. |

## Ошибки обработки

Если файл приняли, но обработать не удалось, запрос операции успешен (`202`), а задача получает статус `failed`. В поле `error` — причина, понятная человеку: например, неверный пароль у снятия защиты или повреждённый PDF. Оплата за такую операцию возвращается на баланс автоматически.

## Ответы 429 без JSON

Ограничение частоты по IP срабатывает до приложения, поэтому такой `429` может прийти не в JSON. Ориентируйтесь на код ответа.
