GET /orders /{order} /items /{item}
Возвращает детальную информацию об элементе заказа.
Включает:
- Тип и статус элемента
- Оригинальный и текущий текст (длины
original_text_length/current_text_length) - Результат (
result_file) при наличии - Флаги
can_retry/can_regenerate failure_reason— причина сбоя человеко-читаемым текстом (приfailed/policy_flagged)
failure_reason— локализованный текст, а не машинный код. Строка переводится по локали запроса и предназначена для показа человеку; ветвить на ней логику нельзя — для этого естьstatus. Сырые детали ошибки (metadata,policy_reason) остаются только в админ-контексте. У остальных статусов поле равноnull;nullвозможен и у упавшего элемента, если причина не распознана. См. плейбук обработки сбоев вPOST .../retryниже.
На этой странице(4)
Параметры
Поля ввода живут прямо в строке запроса: подставьте значение — и получите готовый URL. Ниже — тип, обязательность и допустимые значения каждого параметра.
- stringв путиобязательный
UUID заказа — 36 символов вида
9f8b2c1a-4d3e-4f5a-8b9c-0d1e2f3a4b5c, не число.Берётся из поля
id: его возвращаетPOST /ordersпри создании иGET /ordersв списке. Чужой заказ по вашему ключу не откроется — придёт404.Значение подставляется прямо в строку запроса выше.
- stringв путиобязательный
UUID фрагмента заказа (чанка) — 36 символов, не число и не порядковый номер.
Берётся из поля
idэлемента:GET /orders/{order}/itemsотдаёт список, тот же набор лежит вitems[]детального ответа заказа. Порядковый номер фрагмента — это соседнее полеchunk_index, в путь оно НЕ подставляется.Значение подставляется прямо в строку запроса выше.
Возможные ответы
200Информация об элементе
Информация об элементе
{
"success": true,
"message": "Order item loaded successfully.",
"data": {
"id": "d4e5f6a7-8b9c-4d0e-8f1a-2b3c4d5e6f7a",
"order_id": "9f8b2c1a-4d3e-4f5a-8b9c-0d1e2f3a4b5c",
"item_type": "chunk",
"chunk_index": 0,
"parent_item_id": null,
"original_text_length": 240,
"current_text_length": 240,
"price_units": 240,
"consumed_units": 240,
"remaining_locked": 0,
"status": "completed",
"result_file": {
"path": "storage/501/orders/9f8b2c1a-4d3e-4f5a-8b9c-0d1e2f3a4b5c/output/chunks/0/result.mp3",
"storage": "s3",
"name": "chunk_0.mp3",
"size": 512340,
"mime_type": "audio/mpeg",
"size_formatted": "500.33 KB"
},
"attempt_number": 1,
"can_retry": false,
"can_regenerate": true,
"created_at": "2026-07-17T12:00:05+00:00",
"updated_at": "2026-07-17T12:02:10+00:00"
}
}Признак успеха. Решение принимайте по HTTP-коду: у любого ответа 2xx здесь true, а ошибка приходит телом другой формы, где этого поля может не быть вовсе.
Пояснение для человека, на языке аккаунта. Показать пользователю можно; разбирать программно — нет: формулировки меняются без предупреждения и кодом ошибки не являются.
dataобязательноеОдин фрагмент заказа.
OrderItemOrderItem
Один фрагмент заказа.
UUID чанка. Подставляется в пути /orders/{order}/items/{item}/….
UUID заказа, которому принадлежит чанк.
Природа записи: chunk — исходный фрагмент, retry — бесплатный повтор
упавшего фрагмента, regeneration — платная переделка готового.
Повторы и перегенерации живут отдельными записями с тем же chunk_index:
история попыток сохраняется целиком, а звучит в результате последняя.
Порядковый номер фрагмента в заказе, с нуля. Задаёт порядок склейки итогового файла.
Номер абзаца, к которому относится фрагмент, — заполняется только у исходных фрагментов абзацного заказа. null и в обычном режиме, и у записей повтора либо перегенерации: у них своей привязки к абзацу нет, её берут у родительского фрагмента через parent_item_id. Режим включается ключом generation_mode в config_override заказа.
UUID исходного чанка — у записей retry и regeneration. У самого исходного чанка null.
Длина текста, с которой фрагмент создавался. Служит потолком для text в regenerate.
Длина актуального текста фрагмента: после перегенерации отличается от original_text_length.
Стоимость фрагмента в токенах — это не деньги. Денежная сумма лежит у самого заказа, в его поле price_units (там LMC, здесь токены; поля называются одинаково, единицы разные).
Сколько токенов фактически списано по этому фрагменту. У незавершённого фрагмента — 0.
Сколько токенов ещё зарезервировано под фрагмент. Обнуляется, когда фрагмент завершается или отменяется.
Состояние фрагмента: pending — ждёт воркера, processing — в работе,
completed — готов, failed — техническая ошибка, policy_flagged —
отклонён контентной политикой.
Разница между двумя последними определяет способ лечения: failed чинится
повтором как есть, policy_flagged — только переформулировкой текста,
повтор с прежним будет отклонён снова.
Файл готового фрагмента: абсолютный путь либо структура с путём и размером. Скачивается через POST /storage/url, как и файлы заказа. null, пока фрагмент не готов.
Длительность полученного аудио в миллисекундах — длина записи, а не время генерации. У не-аудио задач null.
Номер попытки для этого фрагмента, начиная с 1. Растёт с каждым повтором.
Разрешён ли бесплатный повтор прямо сейчас. Учитывает статус, тип задачи и исчерпание попыток — проверять условия самому не нужно.
Разрешена ли платная перегенерация прямо сейчас. Доступна только для завершённых фрагментов.
Когда фрагмент создан, ISO 8601.
Когда фрагмент последний раз менялся, ISO 8601.
Причина падения в машиночитаемом виде — есть только у failed и policy_flagged. Остальным приходит null.
401Не авторизован (отсутствует/невалидный X-API-KEY)
Не авторизован (отсутствует/невалидный X-API-KEY)
{
"success": false,
"message": "API key is missing. Provide it in the X-API-KEY header.",
"data": null
}Всегда false в ответах об ошибке.
Текст ошибки на языке ключа (задаётся заголовком X-Locale).
Всегда null, когда запрос отклонён до обработки.
403Нет доступа к заказу или у ключа нет права orders.read
Нет доступа к заказу или у ключа нет права orders.read
{
"success": false,
"message": "This API key does not have permission to perform this action."
}Error overview.
404Элемент не найден
Элемент не найден
{
"success": false,
"message": "Resource not found."
}Error overview.
События, которые это порождает
Ход выполнения приезжает по WebSocket: опрашивать заказ в цикле не обязательно. Подписка требует того же права, что и чтение заказов.
Рядом
Объекты
Соседние операции
Скормить страницу ИИ
спека 0.0.1