Skip to main content

Export Data Product

Download a data product as CSV: a plain values export, or an audit export with per-cell provenance that marks held review-queue cells as PENDING_REVIEW.

Export a data product as a CSV file with a single GET request. Two variants are available: a plain export of the values, and an audit export that preserves the handover trail. Both stream the file as a text/csv attachment with a Content-Disposition filename, so a plain curl -o or a browser download works without further headers.

The plain export is the spreadsheet view: one row per document, one column per schema field, values only. The audit export is the handover trail in long ("tidy") form — for pipeline-backed products it emits one row per document, field, and audit-trail stage, pivoted from the cell version history, with a stage column and an is_final flag marking each field's delivered row, plus reviewer attribution for human decisions.

For a pipeline-backed product, cells still held in the review queue (pending_approval) are treated carefully: the plain export writes them as empty, and the audit export writes a PENDING_REVIEW marker with every intermediate stage row withheld, so the held value is never serialized into the file. This keeps an in-flight review from leaking an unapproved value while still letting you export everything that has cleared.

Internal diagnostic fields — keys prefixed with __, such as assembly diagnostics — never appear in either export, matching their exclusion from the results endpoint and delivery payloads. Exports always reflect the current state of the product: re-download after review decisions resolve to pick up the newly cleared values.

Choose the variant by audience. The plain CSV is what you hand to a consumer who wants the data — it loads directly into a spreadsheet or a COPY-into-database step. The audit CSV is what you hand to a reviewer or auditor who wants to know where each value came from: filter it to is_final = true to reconstruct the plain view, or group by document and field to walk a single value's history through extraction, resolution, and review.

GET/v1/data-products/{id}/export/plain

Path parameters

id*stringData product UUID.
GET/v1/data-products/{id}/export/audit

Path parameters

id*stringData product UUID.

curl

curl -s https://api.talonic.com/v1/data-products/6ecb46fa-24ba-4b5d-93ee-b8b6c6b97655/export/plain \
  -H "Authorization: Bearer tlnc_your_api_key" -o data-product.csv

# Audit variant with the handover trail
curl -s https://api.talonic.com/v1/data-products/6ecb46fa-24ba-4b5d-93ee-b8b6c6b97655/export/audit \
  -H "Authorization: Bearer tlnc_your_api_key" -o data-product-audit.csv

Plain export (excerpt)

filename,invoice_number,vendor_name,total_amount,currency
inv_0042.pdf,INV-2026-0042,Acme Corp,1250.00,USD
inv_0043.pdf,INV-2026-0043,,842.10,USD
The response is a CSV attachment (text/csv), not JSON. An empty cell in the plain export is ambiguous between "no value extracted" and "held in review" — when the distinction matters, use the audit export, where a held field reads PENDING_REVIEW.

Frequently asked questions

What is the difference between the plain and audit exports?+
Plain is the values only: one row per document, one column per field. Audit is the handover trail in long form — one row per document, field, and processing stage, with an `is_final` flag on each field's delivered row — and marks held cells `PENDING_REVIEW` instead of writing them empty.
Why is a cell empty (plain) or PENDING_REVIEW (audit)?+
That cell is still held in the field-review queue. Its value is never serialized into an export until a reviewer resolves it, so an in-flight review cannot leak an unapproved value.
What content type do the export endpoints return?+
Both variants return a CSV attachment with content type `text/csv` and a filename in the `Content-Disposition` header. Save the response body to a file, for example with curl's `-o` flag, to download the dataset.
Are internal diagnostic fields included in exports?+
No. Fields whose keys start with `__` are internal run diagnostics, not customer data — they are excluded from the plain CSV, the audit CSV, the results endpoint, and delivery payloads alike.