List Jobs
List document extraction jobs with status, progress, and cursor pagination. Filter by pending, queued, processing, complete, or failed status via the API.
Jobs (formerly called structuring runs) are Talonic's quick ad-hoc runs for asynchronous document extraction: GET /v1/jobs lists every job in your organization with its status, progress, and grid statistics. You create a job with a schema and a set of documents, poll it until it completes, then read the structured rows from the results endpoint. Each job runs the standard 4-phase extraction pipeline.
The 4-phase pipeline consists of: Phase 1 (Resolve) which fills 60-80% of cells using registry transfer, raw extraction mapping, lookup cascades, and deterministic compute; Phase 2 (Planner) in which the Planner uses Claude to extract remaining values; Phase 3 (Resolve II) which normalizes LLM-extracted values to canonical codes; and Phase 4 (Transform) which applies deterministic transforms, validation, and format constraints.
Jobs are the ad-hoc tier: one call against a schema, no Spec required. If you have curated a Spec — a schema plus its rail, resolution policies, and validation gates — run it through POST /v1/pipelines instead; the pipelines API compiles the Spec's rail server-side and enforces review holdback.
/v1/jobsQuery parameters
20descRequest
Response
Response fields
Response
{
"data": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "Q4 Invoice Run",
"status": "complete",
"progress": null,
"estimated_seconds_remaining": null,
"schema": { "id": "sch_uuid_1", "name": "Invoice" },
"document_count": 48,
"completed_documents": 48,
"grid_stats": {
"total_cells": 2016,
"filled": 1890,
"empty": 126,
"fill_rate": 0.94
},
"current_phase": null,
"created_at": "2024-09-14T10:32:00.000Z",
"started_at": "2024-09-14T10:32:05.000Z",
"completed_at": "2024-09-14T10:35:22.000Z",
"links": {
"self": "/v1/jobs/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"dashboard": "https://app.talonic.com/jobs/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}
],
"pagination": {
"total": 67,
"limit": 20,
"has_more": true,
"next_cursor": "eyJjcmVhdGVkQXQiOiIyMDI0LTA5LTE0VDEwOjMyOjAwLjAwMFoiLCJpZCI6ImExYjJjM2Q0In0="
}
}links.cancel URL is only present while a job is pending or processing. Its absence tells you the job is already terminal without inspecting the status field.Errors
Error responses