---
title: "Get a document"
method: GET
path: "/v1/documents/{id}"
tags: ["Documents"]
---

# Get a document

`GET /v1/documents/{id}`

## Request

- Base URL: `https://api.talonic.com`
- URL: `https://api.talonic.com/v1/documents/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` string, uuid, required

## Response `200`

Document details.

- DocumentResponse
  - `id` string, uuid, required
  - `filename` string, required
  - `pages` integer
  - `size_bytes` integer
  - `mime_type` string
  - `type_detected` string, nullable
  - `language_detected` string, nullable
  - `text_source` 'ocr' | 'local_parser' | 'vision_fallback': Which converter produced the document's markdown. Present only when recorded. `vision_fallback` = OCR failed and Claude transcribed the file.
  - `text_degraded` boolean: True when the markdown is NOT a verbatim transcription of the file (a summary, translation or truncated read after an OCR failure). Quotes and provenance from such text are never reported as verified. Present only when recorded.
  - `text_degraded_reasons` string[]: Why the verbatim guard flagged the text. Present only when `text_degraded` is true.
  - `status` 'pending' | 'processing' | 'completed' | 'error', required
  - `error` string: Human-readable failure message. Present ONLY when status is `error`; omitted otherwise.
  - `source` object
    - `id` string, uuid, nullable
    - `type` string
  - `field_count` integer: Number of fields captured from the document. 0 until extraction completes.
  - `triage` object, nullable: Compliance triage signals for the document. `null` until triage has run.
    - `sensitivity` 'public' | 'internal' | 'restricted' | 'null', nullable: Sensitivity tier.
    - `department` string, nullable
    - `jurisdiction` string, nullable: Two-letter country code.
    - `pii_detected` boolean: True when at least one PII category was detected.
    - `pii_categories` string[], nullable: Detected PII categories. `null` until the compliance pass has run.
    - `regulated_data` boolean: Whether the document likely contains regulated data.
    - `confidentiality_marking` string, nullable: Confidentiality marking found in the document, if any.
  - `original_path` string, nullable: Folder path of the file at its source, when ingested from a connector.
  - `batch_id` string: Caller grouping key supplied at ingest (batch_id). Present ONLY when the document was tagged; omitted otherwise (backwards-compatible).
  - `metadata` object: Caller flat metadata supplied at ingest. Present ONLY when the document was tagged; omitted otherwise (backwards-compatible).
  - `extraction_count` integer
  - `latest_extraction_id` string, uuid, nullable
  - `processing_log` object[]: Per-stage pipeline timing log (OCR, classify, extract). Present ONLY when at least one stage has been recorded; omitted otherwise.
    - `step` string, required
    - `status` string, required
    - `started_at` string, date-time, required
    - `completed_at` string, date-time
    - `duration_ms` integer
    - `detail` string
  - `created_at` string, date-time, required
  - `links` object
    - `self` string
    - `extractions` string
    - `fields` string
    - `lineage` string
    - `dashboard` string, uri

## Other responses

- `401`: Missing or invalid API key.
- `404`: The requested resource was not found.
- `429`: Daily rate limit exceeded.

---

[API](https://skmtc.dev/talonic/apis/talonic-api.md) · [All operations](https://skmtc.dev/talonic/apis/talonic-api/llms.txt) · [OpenAPI document](https://skmtc.dev/talonic/apis/talonic-api/revisions/678fe5f8c9c3?raw)
