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

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

**Get Order Item Text**

Returns the text the chunk was generated from.

The main use is fixing a `policy_flagged` chunk: the provider rejected the content,
and retrying the same text will be rejected again. The sequence is: fetch the text
here → rephrase the problematic part → send
`POST /orders/{order}/items/{item}/retry` with a `text` field.

The API does not report *why* the content was rejected — there is no such field.
Edit the text at your own judgement.

If the text was deleted with the order's storage retention, you get `422` with
`reason: input_expired`. It cannot be restored: create the order anew (a retry with a
new `text` still works).

**Required key permission:** `orders.read`.

- Gerekli izin: `orders.read`

## İstek

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

## Parametreler

| Alan | Yer | Tür | Zor. | Açıklama |
| --- | --- | --- | --- | --- |
| `order` | path | `string` | zorunlu | Order UUID — 36 characters shaped like `9f8b2c1a-4d3e-4f5a-8b9c-0d1e2f3a4b5c`, not a number. Take it from the `id` field: `POST /orders` returns it on creation and `GET /orders` lists it. Someone else’s order will not open with your key — you get a `404`. default: `9f8b2c1a-4d3e-4f5a-8b9c-0d1e2f3a4b5c` |
| `item` | path | `string` | zorunlu | Order chunk UUID — 36 characters; neither a number nor a position. Take it from an item’s `id` field: `GET /orders/{order}/items` returns the list, and the same set sits in `items[]` of the detailed order response. The chunk’s position is the neighbouring `chunk_index` field, which does **not** go into the path. default: `2b7d1e60-5a44-4a1e-9f3c-7c0d9e8a1b23` |

## İstek gövdesi

Gövde yok.

## Yanıtlar

### 200 — Success. The payload is in `data`.

**Yanıt alanları**

| Alan | Tür | Zor. | Açıklama |
| --- | --- | --- | --- |
| `success` | `boolean` | zorunlu | Success flag. Branch on the HTTP status code instead: any 2xx response carries `true` here, while an error comes back in a different shape that need not contain this field at all. |
| `message` | `string` | zorunlu | A human-readable note in the account language. Fine to show to a user; do not parse it — the wording changes without notice and is not an error code. |
| `data` | `object` | zorunlu | The response payload. |
| `data.text` | `string` | zorunlu | The fragment’s text verbatim — all tags included. This is what you send to `regenerate` after editing. |
| `data.length` | `integer` | zorunlu | Full text length in characters, tags included. |
| `data.original_text_length` | `integer` | zorunlu | Alias of `free_length`, kept for backward compatibility. |
| `data.free_length` | `integer` | zorunlu | The largest already-paid length of the fragment: retries within it are free, beyond it a surcharge applies. |
| `data.billable_length` | `integer` | zorunlu | How many characters of the current text are billed. Only our own pause tags `{{pause=2s}}` are free; `[whisper]` and `<break/>` reach the provider and are charged. |
| `data.max_raw_length` | `integer` | zorunlu | Technical cap on the fragment length — how much the system will hand the worker in one piece, measured in `capacity_unit`. Exceeding it yields `422`. |
| `data.max_billable_length` | `integer` | zorunlu | Cap on billable characters. Going over makes the regeneration more expensive or unavailable. |
| `data.surcharge_applies` | `string` | zorunlu | `true` means excess length carries a surcharge. Check it before calling `regenerate` so the charge is no surprise. |
| `data.capacity_unit` | `string` | zorunlu | Unit of `max_raw_length` and `raw_length`: `chars` — characters, `utf8_bytes` — UTF-8 bytes (Fish Audio caps a request in bytes: a Cyrillic letter is 2 bytes, a Latin one is 1). |
| `data.raw_length` | `integer` | zorunlu | Length of the current text in `capacity_unit` — the value compared against `max_raw_length`. |

**Örnek**

```json
{
  "success": true,
  "message": "Success",
  "data": {
    "text": "Welcome to our platform! This narration greets every new listener.",
    "length": 66,
    "original_text_length": 240
  }
}
```

### 401 — The key is missing, unknown, disabled or expired.

**Yanıt alanları**

| Alan | Tür | Zor. | Açıklama |
| --- | --- | --- | --- |
| `success` | `boolean` | zorunlu | Always `false` in error responses. |
| `message` | `string` | zorunlu | Error text in the key's language (set through the `X-Locale` header). |
| `data` | `null` — nullable | zorunlu | Always `null` when the request is rejected before processing. |

**Örnek**

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

### 403 — The key lacks the required permission, or the object belongs to another user.

**Yanıt alanları**

| Alan | Tür | Zor. | Açıklama |
| --- | --- | --- | --- |
| `message` | `string` | zorunlu | Error overview. |

**Örnek**

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

### 404 — Not found, or not reachable with this key.

**Yanıt alanları**

| Alan | Tür | Zor. | Açıklama |
| --- | --- | --- | --- |
| `message` | `string` | zorunlu | Error overview. |

**Örnek**

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

### 422 — Validation error. Offending fields are listed in `errors`.

**Yanıt alanları**

| Alan | Tür | Zor. | Açıklama |
| --- | --- | --- | --- |
| `success` | `boolean` | zorunlu | Always `false` in error responses. |
| `message` | `string` | zorunlu | The reason for the rejection in words, in the account language. Meant for display; do not branch on it, the wording changes. |
| `reason` | `string` | zorunlu | Machine-readable reason of a business refusal (for example, `input_expired`, `insufficient_balance`). Branch on it, not on the `message` text. |
| `error_code` | `string` | zorunlu | The same machine-readable code as in `reason` — a second name for the field. The values always match. |

**Örnek**

```json
{
  "success": true,
  "message": "string",
  "reason": "string",
  "error_code": "string"
}
```

---

- Bu sayfa tarayıcıda: https://lumean.app/tr/developers/docs/api/get-orders-order-items-item-text
- Makine tarafından okunabilir tam başvuru: https://api.lumean.app/docs/llm.md
