Skip to content
Lumean API

Descriptions are in English

The section interface is translated into your language, but descriptions of operations, schemas and errors exist only in Russian and English — the English version is shown here.
GET/orders/chunks/preview/{previewId}

Preview Page

A page of chunks from an already computed preview, straight from the cache (no recomputation) — pagination by preview_id, obtained from POST/GET /orders/chunks/preview.

Spec fixes · 2

  • Pagination does not live in data.meta

    Four per_page descriptions promise pagination metadata in data.meta. No public API response contains that key: a page arrives flat — data.items[] plus data.current_page, data.last_page, data.per_page, data.total. Code reading data.meta.total gets undefined.

  • Chunk preview is available with an API key

    The machine-readable llm.md §12 claims chunk preview is a web-cabinet endpoint that returns 401 for API keys. That is wrong: all three preview operations are part of the public surface and require the orders.read scope — as described by both the OpenAPI document and §7.1 of the very same llm.md. If an AI assistant cites §12, it is mistaken.

  • 200 status=ready — a page of chunks + pagination meta. A page out of range returns an empty chunks[] with has_more=false.
  • 202 status=processing — the calculation is still running.
  • 404 — the preview was not found, expired (TTL ~30 min) or the calculation failed — resubmit via POST /orders/chunks/preview.

Required key permission: orders.read.

On this page(4)

Parameters

The inputs live inside the request line: fill in a value and you get a ready URL. Below are the type, whether it is required and the allowed values of every parameter.

GEThttps://api.lumean.app/api/public/orders/chunks/preview/
  • stringin pathrequired

    Preview id — a sha256 hash (64 lowercase characters, NO dashes), not a UUID.

    Take it from the preview_id field of a POST/GET /orders/chunks/preview response. Someone else's preview_id returns 404 — the cache is isolated per key owner.

    The value goes straight into the request line above.

  • integerin queryoptional≥ 1

    Page number, starting at 1.

  • integerin queryoptional1..500

    How many records to return per page. Pagination metadata sits next to items: current_page, last_page, per_page, total.

Possible responses

200

Success. The payload is in data.

Body example
{
  "success": true,
  "message": "string",
  "data": {
    "status": "string",
    "preview_id": "string",
    "summary": "string",
    "chunks": [
      "string"
    ],
    "page": "string"
  }
}
Response fields
successrequired

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.

boolean
messagerequired

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.

string
datarequired

The response payload.

object
statusrequired

Always ready for a 200 response — the calculation is done.

string
preview_idrequired

A content-based preview id (sha256 of text+template+mode+algorithm version). Use it for incremental re-preview (previous_preview_id) and for pagination (GET .../{previewId}).

string
summaryrequired

Totals for the whole text — not just the current page of chunks.

string
chunksrequired

Only the CURRENT page (see data.page), not the full list — use pagination (GET .../{previewId}?page=) for the rest.

array<any>
pagerequired

Pagination meta for the CURRENT page of data.chunks.

string
202

Accepted for processing. The result arrives asynchronously.

Body example
{
  "success": true,
  "message": "string",
  "data": {
    "status": "string",
    "preview_id": "string",
    "summary": "string",
    "chunks": [
      "string"
    ],
    "page": "string"
  }
}
Response fields
successrequired

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.

boolean
messagerequired

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.

string
datarequired

The response payload.

object
statusrequired

Always processing for a 202 response — the calculation is running in the background.

string
preview_idrequired

The preview id. Use it to subscribe to the private-chunks.preview.{userId} WS channel (the .ready event), or to poll GET /orders/chunks/preview/{previewId} manually.

string
summaryrequired

Totals for the whole text — not just the current page of chunks.

string
chunksrequired

Only the CURRENT page (see data.page), not the full list — use pagination (GET .../{previewId}?page=) for the rest.

array<any>
pagerequired

Pagination meta for the CURRENT page of data.chunks.

string
401

The key is missing, unknown, disabled or expired.

Analyse this response
Body example
{
  "success": false,
  "message": "API key is missing. Provide it in the X-API-KEY header.",
  "data": null
}
Response fields
successrequired

Always false in error responses.

boolean
messagerequired

Error text in the key's language (set through the X-Locale header).

string
datarequired

Always null when the request is rejected before processing.

nullable
null
403

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

Analyse this response
Body example
{
  "success": false,
  "message": "This API key does not have permission to perform this action."
}
Response fields
successrequired

Always false in error responses.

boolean
messagerequired

Error text in the key's language (set through the X-Locale header).

string
404

Not found, or not reachable with this key.

Analyse this response
Body example
{
  "success": false,
  "message": "Resource not found."
}
Response fields
successrequired

Always false in error responses.

boolean
messagerequired

The reason for the rejection in words, in the account language. Meant for display; do not branch on it, the wording changes.

nullable
null | array<any> | string | object
errorsrequired

A per-field breakdown — present only on validation errors (422): the key names a request field, the value lists the complaints about it. Other codes send null, since there is nothing to break down and the whole reason is in message.

nullable
null
422

Validation error. Offending fields are listed in errors.

Analyse this response
Body example
{
  "message": "string",
  "errors": {}
}
Response fields
messagerequired

Errors overview.

string
errorsrequired

A detailed description of each field that failed validation.

object
*optional
claves arbitrarias
array<string>
429

Limit exceeded: either the key's request rate or its token quota. Retry no earlier than Retry-After.

Analyse this response
Body example
{
  "success": false,
  "message": "Too many attempts. Please wait a moment and try again.",
  "reason": "rate_limit_exceeded",
  "error_code": "rate_limit_exceeded",
  "retry_after": 30
}
Response fields
successrequired

Always false in error responses.

boolean
messagerequired

Error text in the key's language (set through the X-Locale header).

string
reasonrequired

Machine-readable failure reason — branch on this, not on the message text.

string
error_coderequired

The same machine-readable code as in reason — a second name for the field. The values always match; branch on either.

string
retry_afteroptional

How many seconds to wait before retrying (the same value is in the Retry-After header).

nullable
integer

Events this produces

Progress arrives over WebSocket: polling the order in a loop is not required. Subscribing needs the same scope as reading orders.

Feed this page to an AI

Open .mdllm.md

spec 0.0.1