Skip to main content

List Extractions

List extraction results across your workspace with GET /v1/extractions. Filter by document, status, or time range and page through results with cursors.

The List Extractions endpoint, GET /v1/extractions, returns the extraction results across your Talonic workspace. An extraction is the per-document result of the extraction process: the structured output produced from one document, its field values plus confidence scores. Extractions and documents are 1:1 — the extraction id is the document id, so id and document_id in each summary are the same UUID and you can pass either into the extraction or document reads. Re-extracting a document updates its extraction in place rather than creating a second one.

Use this endpoint to browse extraction results across your organization. Filter by document, status, or time range to find specific results; each extraction summary includes an overall confidence score and links to the full result and the source document. The list only contains documents that have produced extraction output — documents still in OCR that have no fields yet do not appear, which is why filtering by status=processing is not supported here (poll the document or the pipeline for in-flight state instead).

Pagination is cursor-based over (created_at, id): take pagination.next_cursor from one page and pass it as cursor on the next. Because it is a keyset cursor rather than an offset, pages stay consistent while new extractions arrive — you never see the same row twice mid-walk. pagination.total is computed over the whole filtered set before the cursor is applied, so it is stable across every page of the same query.

Visibility follows your Sources IAM rules: the list is filtered to the documents the API key's creator can see, and pagination.total counts only that visible set. A document hidden by an IAM rule is absent here and reads as 404 on the detail endpoints — indistinguishable from a document that does not exist.

Extractions are returned in descending order by created_at by default (pass order=asc for oldest-first). Use the after and before parameters to narrow results to a specific time window — both are exclusive comparisons.
GET/v1/extractions

Query parameters

document_iduuidFilter to one document. Since extractions are 1:1 with documents, this returns at most one row.
statusstringFilter by status: complete or failed. Other values are ignored (the list returns all rows), since only finished extractions appear here.
afterstringISO 8601 datetime. Only extractions created strictly after this timestamp.
beforestringISO 8601 datetime. Only extractions created strictly before this timestamp.
limitintegerMaximum number of results to return, clamped to 1–100. Default: 20
cursorstringPagination cursor from a previous response's pagination.next_cursor.
orderstringSort direction by created_at: asc or desc. Any other value falls back to desc. Default: desc

curl

curl -s "https://api.talonic.com/v1/extractions?status=complete&limit=20" \
  -H "Authorization: Bearer tlnc_your_api_key"

Response

Response fields

dataarrayArray of extraction summary objects.
data[].iduuidExtraction UUID — identical to the document UUID.
data[].statusstringExtraction status: complete or failed.
data[].document_iduuidID of the source document (same value as id).
data[].document_filenamestringFilename of the source document.
data[].confidence_overallnumberOverall confidence score (0–1) across all extracted fields; 0 when no score is recorded.
data[].created_atstringISO 8601 creation timestamp.
data[].linksobjectRelated resource URLs: self, document.
pagination.totalintegerTotal extractions matching the query (visible to your key), counted before the cursor — stable across pages.
pagination.limitintegerMaximum results per page.
pagination.has_morebooleanWhether more results exist beyond this page.
pagination.next_cursorstring | nullCursor to fetch the next page. Null if no more results.

Response

{
  "data": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "status": "complete",
      "document_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "document_filename": "invoice-0847.pdf",
      "confidence_overall": 0.94,
      "created_at": "2026-07-14T10:33:12.000Z",
      "links": {
        "self": "/v1/extractions/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "document": "/v1/documents/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
      }
    }
  ],
  "pagination": {
    "total": 89,
    "limit": 20,
    "has_more": true,
    "next_cursor": "YTFiMmMzZDQtZTVmNi03ODkwLWFiY2QtZWYxMjM0NTY3ODkwfDIwMjYtMDctMTRUMTA6MzM6MTIuMDAwWg"
  }
}

curl — walk every page

CURSOR=""
while :; do
  PAGE=$(curl -s "https://api.talonic.com/v1/extractions?limit=100&cursor=$CURSOR" \
    -H "Authorization: Bearer tlnc_your_api_key")
  echo "$PAGE" | jq -r '.data[] | [.id, .status, .confidence_overall] | @tsv'
  CURSOR=$(echo "$PAGE" | jq -r '.pagination.next_cursor // empty')
  [ -z "$CURSOR" ] && break
done

Errors

Error responses

401unauthorizedMissing or invalid API key.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.

Frequently asked questions

Can a single document have multiple extractions?+
No — extractions and documents are 1:1, and the extraction id is the document id. Re-extracting a document (or correcting its fields) updates the same extraction in place; the list never shows two rows for one document.
What does the confidence_overall score represent?+
It is the overall confidence across all extracted fields (0 to 1). A score of 0.94 means the extraction engine is highly confident in the accuracy of the results; a 0 usually means no per-field scores were recorded rather than total failure.
How do I filter extractions by date range?+
Use the `after` and `before` query parameters with ISO 8601 datetime strings to retrieve extractions within a specific time window. Both comparisons are strict (exclusive), so pad the bounds by a millisecond if you need inclusive behavior.
Why don't I see an extraction for a document I just uploaded?+
The list only includes documents whose extraction output exists — a document still in OCR or mid-extraction is absent rather than shown as processing. Poll the document or the run/pipeline you submitted it through, and the extraction appears here when it completes.
Can this list show documents my key cannot access?+
No. The list is filtered by your Sources IAM visibility rules as evaluated for the API key's creator, and pagination.total counts only the visible set. Hidden documents also 404 on the detail endpoints, identically to non-existent ids.