Skip to main content

Public API

Talonic exposes a comprehensive REST API with 20+ namespaces covering every aspect of the platform — from document extraction and schema management to delivery, matching, and Benchmarks (accuracy measurement against ground truth). All endpoints use JSON request and response bodies with cursor-based pagination for list operations.

The API follows standard REST conventions. Authenticate with a tlnc_ API key via the Authorization: Bearer header. Most resources support full CRUD operations, and long-running tasks like matching runs and batch inference are handled asynchronously with polling endpoints for status and progress.

Use the public API to build automated ingestion integrations, integrate extraction results into downstream systems, or orchestrate complex workflows that combine multiple platform features. The API mirrors every action available in the web interface, so anything you can do manually can be fully automated.

For best results, start with the /v1/extract endpoint for document ingestion, then use /v1/documents and /v1/extractions to retrieve results. As your integration matures, explore delivery bindings, matching configurations, and batch processing to build a fully automated data flow.

Long-running operations like matching runs, batch inference, and resolution runs follow an asynchronous pattern. You submit a request to start the operation and receive a run ID. Poll the status endpoint with that run ID to track progress — the response includes a percentage-complete indicator and a terminal status when the operation finishes. This pattern keeps HTTP connections short-lived while giving you full visibility into background processing.

Error responses follow a consistent structure across all namespaces. Every error returns a JSON body with a machine-readable error code and a human-readable message. Common error codes include not_found (404), validation_error (400), insufficient_scope (403), and rate_limit_exceeded (429). Rate limits are tiered (Free, Pro, Enterprise) and metered per calendar day per namespace — the response headers include X-RateLimit-Remaining and X-RateLimit-Reset so your integration can adapt proactively.

  • 20+ namespaces covering extraction, documents, schemas, jobs, delivery, linking, cases, benchmarks, and more
  • JSON request and response bodies with cursor-based pagination for list operations
  • Authenticate with a tlnc_ API key via the Authorization: Bearer header
  • Asynchronous operations with polling endpoints for status and progress
  • Typed error codes with consistent response structure across all endpoints
  • Rate limiting with X-RateLimit-Remaining and X-RateLimit-Reset headers
  • Batch processing mode at 50% cost with 48-hour delivery SLA
See the full API Documentation for detailed endpoint specifications, request/response examples, and authentication guides. The API reference is organized by namespace and includes every parameter, status code, and error response.

API Quick Start

The fastest way to start using the API is to upload a document and retrieve its extraction results. The example below shows the complete flow: upload a file to a source, poll until processing completes, then fetch the extracted fields. This three-step pattern is the foundation for any API integration — from simple one-off extractions to complex automated workflows.

Step 1: Upload a document
curl -X POST https://api.talonic.com/v1/sources/src_abc123/documents \
  -H "Authorization: Bearer $TALONIC_API_KEY" \
  -F "file=@invoice.pdf"
Step 2: Check processing status
# Poll until "status" transitions to "completed":
curl https://api.talonic.com/v1/documents/doc_7f3a1b2c \
  -H "Authorization: Bearer $TALONIC_API_KEY"
Step 3: Retrieve extraction results
curl https://api.talonic.com/v1/documents/doc_7f3a1b2c/extractions \
  -H "Authorization: Bearer $TALONIC_API_KEY"
Extraction response
{
  "document_id": "doc_7f3a1b2c",
  "document_type": "Invoice",
  "fields": [
    {
      "name": "invoice_number",
      "value": "INV-2026-0472",
      "confidence": 0.98
    },
    {
      "name": "vendor_name",
      "value": "Acme Corp",
      "confidence": 0.96
    },
    {
      "name": "total_amount",
      "value": "4,250.00",
      "confidence": 0.95
    }
  ]
}

API namespaces

ParameterTypeDescription
/v1/extractPOSTSynchronous and asynchronous document extraction.
/v1/documentsCRUDDocument listing, detail, and deletion with cursor pagination.
/v1/extractionsCRUDExtraction results and field corrections.
/v1/schemasCRUDSchema management — create, update, delete.
/v1/jobsCRUDAsync job tracking, results, and N-Shot comparisons with override and judge decisions.
/v1/sourcesCRUDAPI source management and document ingest.
/v1/deliveryCRUDOutbound delivery: destinations, bindings, history, DLQ, outbox, catalog.
/v1/resolutionsCRUDResolution runs — field normalization, transforms, and lookup cascades.
/v1/linkingmixedDocument linking: link keys, document links, entity graph, classification, backfill, and document-case mapping.
/v1/schema-graphmixedSchema class ontology: versioned classes, diffs with approval workflow, edges, aliases, and visualization.
/v1/structuringCRUDPipeline validation config (the path keeps its frozen legacy name): validation checks, Review Gates with rules, result checks, pending approvals, and delivery triggers.
/v1/telemetryGETPipeline metrics: per-schema and per-run summaries, trends, and field-level breakdowns.
/v1/validationCRUDBenchmarks: ground truth samples and benchmark runs for measuring extraction accuracy.
/v1/creditsGETCredit balance, transaction history, usage summaries, daily breakdown, and per-request usage log.
/v1/casesCRUDCases: status updates, edge confirmation/rejection, split/merge, completeness, document pinning.
/v1/batchesmixedBatch inference: listing, detail, provider sync, and cancellation.
/v1/matchingCRUDSmart matching: configurations, strategies, smart runs, AI resolution, results, progress, and review.
/v1/reviewmixedRecord Review: assignment, actions, batch operations, and statistics.
/v1/qualityCRUDBenchmarks: ground truth datasets with entries, benchmark results and comparison.
/v1/reference-dataCRUDReference datasets: file and JSON upload, row browsing, and management.

Frequently asked questions

How many API namespaces does Talonic provide?+
Over 20 namespaces covering extraction, documents, schemas, jobs, sources, delivery, linking, matching, batches, cases, benchmarks, telemetry, and more.
Where can I find detailed API documentation?+
See the full API Documentation at /docs for complete endpoint documentation with request/response examples, parameter descriptions, and authentication details.
How does pagination work in the API?+
List endpoints use cursor-based pagination. Pass limit (1-100, default 20), cursor (the opaque token from the previous response's pagination.next_cursor), and order (asc or desc, default desc). This approach is more reliable than offset-based pagination when documents are being added or removed concurrently.
Does the API process documents synchronously or asynchronously?+
Small documents (up to 5 pages) are processed synchronously and return a 200 with the extracted data immediately. Larger documents return a 202 Accepted with a poll_url: poll GET /v1/documents/:id until status transitions to completed, then fetch results via GET /v1/documents/:id/extractions. You can force async processing on any extraction request by passing options with async set to true.