---
title: "Get Parse preview progress"
method: GET
path: "/v1/documents/jobs/{id}/parse-progress"
tags: ["Documents"]
---

# Get Parse preview progress

`GET /v1/documents/jobs/{id}/parse-progress`

## Request

- Base URL: `https://console.nace.ai`
- URL: `https://console.nace.ai/v1/documents/jobs/{id}/parse-progress`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/nace/apis/drex-api/docs/v1/documents/jobs/:id/parse-progress/get.ts> (a function with typed inputs; its response is checked against the schema)

Read current ready-unit metadata. This is a snapshot, not an incremental log.

Retained Parse jobs only. Authenticate with the same Bearer key as the job. Previews do not change parsing, cache identity, cost, retention or cancellation. Zero retention and some parsers return only the complete result. See [Parse streaming](/docs/perception/parse#streaming).

## Path parameters

- `id` string, uuid, required

## Response `200`

Current preview metadata or content.

- ParsePreviewSnapshot
  - `job_id` string, uuid, required: Parse job being observed.
  - `status` 'queued' | 'running' | 'succeeded' | 'failed' | 'cancelled', required: Backend lifecycle state; read the normal job for final result and billing.
  - `generation` string, nullable: Current parser invocation. A changed generation replaces the previous preview.
  - `kind` 'page' | 'sheet' | 'section' | 'segment' | 'null', nullable: Natural unit being previewed.
  - `total` integer, nullable: Number of requested units, when known.
  - `units` ParsePreviewUnit[]: Ready units in document order, capped at 1,000. Terminal snapshots contain no units.
    - `index` integer, required: Original one-based page number or selected sheet position.
    - `revision` string, required: Immutable revision; replace an older revision of this unit.
    - `content_url` string, required: Job-scoped preview URL on this API. Fetch it with the same Bearer API key.
  - `more` boolean: Further units are omitted by the preview bound; the final result remains complete.
  - `first_ready_at` string, date-time, nullable: Server publication time of the first nonempty preview; unknown is null.
  - `all_ready_at` string, date-time, nullable: All selected units were saved. Document finalization can still be running.

## Other responses

- `404`: Job or preview not found, unavailable or inaccessible.
- `410`: Preview content expired.
- `429`: Request rate limit reached; retry after the indicated delay.
- `503`: Upstream unavailable, or a terminal result is awaiting usage settlement.

---

[API](https://skmtc.dev/nace/apis/drex-api.md) - [All operations](https://skmtc.dev/nace/apis/drex-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nace/apis/drex-api/revisions/a0e62d925a61?raw)
