---
title: "Ошибки и коды"
url: https://lumean.app/developers/docs/errors
locale: ru
description: "HTTP-коды и машинные `reason` с разбором: что произошло, почему и что делать дальше."
generated: 2026-11-08
---

# Ошибки и коды

HTTP-коды и машинные `reason` с разбором: что произошло, почему и что делать дальше.

| HTTP | reason | Название | Заголовок `Retry-After` | Страница |
| --- | --- | --- | --- | --- |
| 401 | — | 401 — ключ не принят | нет | [401](https://lumean.app/developers/docs/md/errors/401) |
| 402 | — | 402 — требуется оплата | нет | [402](https://lumean.app/developers/docs/md/errors/402) |
| 403 | — | 403 — доступ запрещён | нет | [403](https://lumean.app/developers/docs/md/errors/403) |
| 404 | — | 404 — ресурс не найден | нет | [404](https://lumean.app/developers/docs/md/errors/404) |
| 409 | — | 409 — конфликт состояния | нет | [409](https://lumean.app/developers/docs/md/errors/409) |
| 422 | — | 422 — запрос не принят | нет | [422](https://lumean.app/developers/docs/md/errors/422) |
| 429 | — | 429 — превышен лимит | иногда | [429](https://lumean.app/developers/docs/md/errors/429) |
| 402 | `payg_topup_required` | payg_topup_required — нужно подтвердить доплату | нет | [payg-topup-required](https://lumean.app/developers/docs/md/errors/payg-topup-required) |
| 409 | `quote_mismatch` | quote_mismatch — цена доплаты изменилась | нет | [quote-mismatch](https://lumean.app/developers/docs/md/errors/quote-mismatch) |
| 402 | `insufficient_balance` | insufficient_balance — не хватает LMC | нет | [insufficient-balance](https://lumean.app/developers/docs/md/errors/insufficient-balance) |
| 402 | `insufficient_allowance` | insufficient_allowance — оплата сверх квоты отключена | нет | [insufficient-allowance](https://lumean.app/developers/docs/md/errors/insufficient-allowance) |
| 429 | `rate_limit_exceeded` | rate_limit_exceeded — превышена частота запросов ключа | да | [rate-limit-exceeded](https://lumean.app/developers/docs/md/errors/rate-limit-exceeded) |
| 429 | `token_quota_exceeded` | token_quota_exceeded — исчерпана токен-квота ключа | да | [token-quota-exceeded](https://lumean.app/developers/docs/md/errors/token-quota-exceeded) |
| 429 | `limit_exceeded` | limit_exceeded — исчерпан лимит подписки | нет | [limit-exceeded](https://lumean.app/developers/docs/md/errors/limit-exceeded) |
| 429 | `concurrency_limit_exceeded` | concurrency_limit_exceeded — достигнут лимит одновременных заказов | нет | [concurrency-limit-exceeded](https://lumean.app/developers/docs/md/errors/concurrency-limit-exceeded) |
| 429 | `policy_cooldown_active` | policy_cooldown_active — создание заказов приостановлено | да | [policy-cooldown-active](https://lumean.app/developers/docs/md/errors/policy-cooldown-active) |
| 422 | `content_blocked` | content_blocked — фрагмент текста заблокирован | нет | [content-blocked](https://lumean.app/developers/docs/md/errors/content-blocked) |
| 422 | `text_empty` | text_empty — в тексте нечего озвучивать | нет | [text-empty](https://lumean.app/developers/docs/md/errors/text-empty) |
| 202 | `policy_flagged` | policy_flagged — чанк отклонён контентной политикой | нет | [policy-flagged](https://lumean.app/developers/docs/md/errors/policy-flagged) |
| 403 | `template_access_denied` | template_access_denied — нет доступа к шаблону | нет | [template-access-denied](https://lumean.app/developers/docs/md/errors/template-access-denied) |
| 422 | `service_not_found` | service_not_found — сервис не найден | нет | [service-not-found](https://lumean.app/developers/docs/md/errors/service-not-found) |
| 422 | `invalid_order_status` | invalid_order_status — статус заказа не подходит | нет | [invalid-order-status](https://lumean.app/developers/docs/md/errors/invalid-order-status) |
| 202 | `max_attempts_reached` | max_attempts_reached — попытки повтора чанка исчерпаны | нет | [max-attempts-reached](https://lumean.app/developers/docs/md/errors/max-attempts-reached) |
| 404 | `storage_expired` | storage_expired — срок хранения файлов истёк | нет | [storage-expired](https://lumean.app/developers/docs/md/errors/storage-expired) |

## Пять источников 429

| Источник | reason | Заголовок `Retry-After` | Как отличить | Что делать |
| --- | --- | --- | --- | --- |
| Частота запросов ключа | `rate_limit_exceeded` | да | `reason: "rate_limit_exceeded"`, в теле `retry_after` (секунды), заголовки `Retry-After` и `X-RateLimit-*`. | Подождите `retry_after` секунд и повторите. Если лимит срабатывает постоянно, снизьте частоту под окна ключа: `limits.requests.per_minute`, `per_hour` и `per_day`. По умолчанию частота запросов не ограничена. Числовое ограничение по умолчанию действует, только если его задал оператор. Действующие окна видны в разделе разработчика. |
| Токен-квота ключа | `token_quota_exceeded` | да | Подробное тело: `window`, `limit`, `used`, `requested`, `reset_at`, `retry_after`. Заголовок `Retry-After` есть у всех окон, кроме пула без сброса (`window: "quota"`). | Дождитесь `reset_at` или уменьшите объём запроса, чтобы `requested` уложился в остаток окна (`limit − used`). Проверка идёт до создания заказа: вместо 201 приходит 429, и ничего не списывается. |
| Лимит подписки | `limit_exceeded` | нет | `reason: "limit_exceeded"`, полей окна и `Retry-After` нет. Отсутствие заголовка отличает его от токен-квоты. | Дождитесь конца расчётного периода (`period_end` и `resets_in` в `GET /usage`) или смените тариф. Лимит общий для аккаунта: другой ключ не поможет. |
| Лимит одновременных заказов | `concurrency_limit_exceeded` | нет | `reason: "concurrency_limit_exceeded"`, `Retry-After` нет. Обычно приходит, когда много заказов отправлено разом при свободных квотах. | Дождитесь завершения своих активных заказов, а не конца периода: как только один из них завершится или остановится, повтор пройдёт. Помогает очередь с ограничением числа одновременных заказов, а не паузы. Потолок и текущее число — в записи `limit_type: "concurrent"` в `GET /usage`. |
| Пауза после блокировок контента | `policy_cooldown_active` | да | `reason: "policy_cooldown_active"`, в теле `retry_after` и `retry_at`, заголовок `Retry-After`. Заголовок есть и у частоты запросов, и у токен-квоты. Отличает `reason`. | Исправьте текст: одно ожидание не поможет. Тот же текст после паузы получит 422 `content_blocked`, а каждый новый заказ, отклонённый политикой, удлиняет паузу (5 → 10 → 15 минут). Любой заказ, выполненный хотя бы частично, обнуляет и счётчик, и длительность паузы. |

---

- Эта же страница в браузере: https://lumean.app/developers/docs/errors
- Машинный справочник целиком: https://api.lumean.app/docs/llm.md
