---
title: "GET /orders/{order}/items/{item} — Get Order Item"
url: https://lumean.app/developers/docs/api/get-orders-order-items-item
locale: ru
description: "Get Order Item"
generated: 2026-10-17
operationId: orderItem.show
method: GET
path: "/orders/{order}/items/{item}"
scopes: [orders.read]
spec_version: 0.0.1
---

# GET /orders/{order}/items/{item}

**Get Order 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` ниже.

- Право ключа: `orders.read`

## Запрос

```bash
curl -X GET 'https://api.lumean.app/api/public/orders/{order}/items/{item}' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY'
```

## Параметры

| Поле | Где | Тип | Обяз. | Описание |
| --- | --- | --- | --- | --- |
| `order` | path | `string` | обяз. | UUID заказа — 36 символов вида `9f8b2c1a-4d3e-4f5a-8b9c-0d1e2f3a4b5c`, не число. Берётся из поля `id`: его возвращает `POST /orders` при создании и `GET /orders` в списке. Чужой заказ по вашему ключу не откроется — придёт `404`. default: `9f8b2c1a-4d3e-4f5a-8b9c-0d1e2f3a4b5c` |
| `item` | path | `string` | обяз. | UUID фрагмента заказа (чанка) — 36 символов, не число и не порядковый номер. Берётся из поля `id` элемента: `GET /orders/{order}/items` отдаёт список, тот же набор лежит в `items[]` детального ответа заказа. Порядковый номер фрагмента — это соседнее поле `chunk_index`, в путь оно НЕ подставляется. default: `2b7d1e60-5a44-4a1e-9f3c-7c0d9e8a1b23` |

## Тело запроса

Тела нет.

## Ответы

### 200 — Информация об элементе

**Поля ответа**

| Поле | Тип | Обяз. | Описание |
| --- | --- | --- | --- |
| `success` | `boolean` | обяз. | Признак успеха. Решение принимайте по HTTP-коду: у любого ответа 2xx здесь `true`, а ошибка приходит телом другой формы, где этого поля может не быть вовсе. |
| `message` | `string` | обяз. | Пояснение для человека, на языке аккаунта. Показать пользователю можно; разбирать программно — нет: формулировки меняются без предупреждения и кодом ошибки не являются. |
| `data` | `OrderItem` | обяз. | Один фрагмент заказа. |
| `data.id` | `string` | обяз. | UUID чанка. Подставляется в пути `/orders/{order}/items/{item}/…`. |
| `data.order_id` | `string` | обяз. | UUID заказа, которому принадлежит чанк. |
| `data.item_type` | `string` | обяз. | Природа записи: `chunk` — исходный фрагмент, `retry` — бесплатный повтор упавшего фрагмента, `regeneration` — платная переделка готового. Повторы и перегенерации живут отдельными записями с тем же `chunk_index`: история попыток сохраняется целиком, а звучит в результате последняя. |
| `data.chunk_index` | `integer` — nullable | обяз. | Порядковый номер фрагмента в заказе, с нуля. Задаёт порядок склейки итогового файла. |
| `data.paragraph_index` | `string` | обяз. | Номер абзаца, к которому относится фрагмент, — заполняется только у исходных фрагментов абзацного заказа. `null` и в обычном режиме, и у записей повтора либо перегенерации: у них своей привязки к абзацу нет, её берут у родительского фрагмента через `parent_item_id`. Режим включается ключом `generation_mode` в `config_override` заказа. |
| `data.parent_item_id` | `string` | обяз. | UUID исходного чанка — у записей `retry` и `regeneration`. У самого исходного чанка `null`. |
| `data.original_text_length` | `integer` | обяз. | Длина текста, с которой фрагмент создавался. Служит потолком для `text` в `regenerate`. |
| `data.current_text_length` | `integer` | обяз. | Длина актуального текста фрагмента: после перегенерации отличается от `original_text_length`. |
| `data.price_units` | `integer` | обяз. | Стоимость фрагмента в **токенах** — это не деньги. Денежная сумма лежит у самого заказа, в его поле `price_units` (там LMC, здесь токены; поля называются одинаково, единицы разные). |
| `data.consumed_units` | `integer` | обяз. | Сколько токенов фактически списано по этому фрагменту. У незавершённого фрагмента — 0. |
| `data.remaining_locked` | `integer` | обяз. | Сколько токенов ещё зарезервировано под фрагмент. Обнуляется, когда фрагмент завершается или отменяется. |
| `data.status` | `string` | обяз. | Состояние фрагмента: `pending` — ждёт воркера, `processing` — в работе, `completed` — готов, `failed` — техническая ошибка, `policy_flagged` — отклонён контентной политикой. Разница между двумя последними определяет способ лечения: `failed` чинится повтором как есть, `policy_flagged` — только переформулировкой текста, повтор с прежним будет отклонён снова. |
| `data.result_file` | `object \| string \| null` — nullable | обяз. | Файл готового фрагмента: абсолютный путь либо структура с путём и размером. Скачивается через `POST /storage/url`, как и файлы заказа. `null`, пока фрагмент не готов. |
| `data.duration_ms` | `integer` — nullable | обяз. | Длительность полученного аудио в миллисекундах — длина записи, а не время генерации. У не-аудио задач `null`. |
| `data.attempt_number` | `integer` | обяз. | Номер попытки для этого фрагмента, начиная с 1. Растёт с каждым повтором. |
| `data.can_retry` | `boolean` | обяз. | Разрешён ли бесплатный повтор прямо сейчас. Учитывает статус, тип задачи и исчерпание попыток — проверять условия самому не нужно. |
| `data.can_regenerate` | `boolean` | обяз. | Разрешена ли платная перегенерация прямо сейчас. Доступна только для завершённых фрагментов. |
| `data.created_at` | `string` — date-time — nullable | обяз. | Когда фрагмент создан, ISO 8601. |
| `data.updated_at` | `string` — date-time — nullable | обяз. | Когда фрагмент последний раз менялся, ISO 8601. |
| `data.failure_reason` | `string` — nullable | — | Причина падения в машиночитаемом виде — есть только у `failed` и `policy_flagged`. Остальным приходит `null`. |

**Пример**

```json
{
  "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"
  }
}
```

### 401 — Не авторизован (отсутствует/невалидный X-API-KEY)

**Поля ответа**

| Поле | Тип | Обяз. | Описание |
| --- | --- | --- | --- |
| `success` | `boolean` | обяз. | Всегда `false` в ответах об ошибке. |
| `message` | `string` | обяз. | Текст ошибки на языке ключа (задаётся заголовком `X-Locale`). |
| `data` | `null` — nullable | обяз. | Всегда `null`, когда запрос отклонён до обработки. |

**Пример**

```json
{
  "success": false,
  "message": "API key is missing. Provide it in the X-API-KEY header.",
  "data": null
}
```

### 403 — Нет доступа к заказу или у ключа нет права orders.read

**Поля ответа**

| Поле | Тип | Обяз. | Описание |
| --- | --- | --- | --- |
| `message` | `string` | обяз. | Error overview. |

**Пример**

```json
{
  "success": false,
  "message": "This API key does not have permission to perform this action."
}
```

### 404 — Элемент не найден

**Поля ответа**

| Поле | Тип | Обяз. | Описание |
| --- | --- | --- | --- |
| `message` | `string` | обяз. | Error overview. |

**Пример**

```json
{
  "success": false,
  "message": "Resource not found."
}
```

---

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