Skip to main content

Uploading Documents

Sources are the entry point for all data in Talonic. Every document belongs to a source — whether uploaded manually, synced from Google Drive, or ingested via the public API. A source acts as a container that groups related documents together and tracks their ingestion method, processing status, and connection credentials. Manual uploads land in your workspace's upload source automatically, while connectors and dedicated-key API sources each keep their own source so you can tell channels apart.

Uploads happen on the Documents page: open Documents in the sidebar and drop files onto the upload zone at the top of the list. You can upload individual files, multiple files, or entire folders. ZIP archives are unpacked recursively — nested ZIPs are also extracted, so deeply packaged archives are handled automatically. When uploading folders, the original file path is preserved as a data field (source_file_path) on each document — available for downstream processing and export.

Documents — Upload Zone

Drag files or folders onto the upload zone on the Documents page. The tag composer in the zone's top-right corner tags everything in the upload.

Files are deduplicated via SHA-256 hashing — uploading the same file twice won't create duplicates. The hash is computed from the raw file bytes before any processing begins, so identical files are caught regardless of filename or upload method. Processing runs asynchronously so you can continue working while documents flow through OCR, classification, and extraction in the background.

When uploading folders or ZIP archives, the original directory structure is preserved as a source_file_path metadata field on each document (e.g., contracts/2026/lease.pdf). This field is available for filtering, export, and schema mapping — just like any AI-extracted field. It provides a natural way to organize and trace documents back to their original location in your file system.

Upload Workflow

  1. Open Documents in the sidebar. The upload zone sits at the top of the document list.
  2. Optionally type one or more tags into the small Tag this upload composer in the zone's top-right corner. Every file in the upload carries those tags.
  3. Drag files, folders, or ZIP archives onto the zone, or click browse to pick them.
  4. Watch the progress line and the Status dot on each new row: gray for queued, a pulsing purple for processing, green for done, amber for partial, red for failed. Hover a dot to see the full legend.
  5. Once processing completes, each document shows its classification pills and extracted fields. Open a row to see the document detail view.

The Sources sidebar entry is retired. Connectors, dedicated-key API sources, and their access rules now open from the Sources button in the Documents page header, and the /sources route still works if you have it bookmarked. Reference data has its own Reference Data tab beside the document list, so lookup tables you check documents against live next to the documents themselves. Upload tags are ordinary document tags: they appear in the Tags column and in the filter bar's tag cloud, which makes them a quick way to find one upload again later.

Large uploads (100+ files) are throttled to avoid overloading the pipeline, but you can monitor progress from the Documents list where each document shows its current processing stage. For very large ingestion jobs, consider using batch processing mode which defers AI extraction to run at 50% cost. You can also combine manual uploads with source connectors — for example, uploading a backlog of historical files manually while connecting Google Drive for ongoing ingestion.

Use the quick extract shortcut (Cmd+J / Ctrl+J) to upload a single document from any page without opening the Documents page first. This opens a streamlined upload interface that processes the document immediately and shows results inline.

Uploading via API

For automated ingestion pipelines, you can upload documents programmatically through the REST API. The upload endpoint accepts multipart form data with the file and optional metadata. Each uploaded document flows through the same processing pipeline as manual uploads — OCR, classification, and extraction run automatically. You can optionally set processing_mode=batch to defer extraction at 50% cost for non-urgent documents.

Upload a document via API
curl -X POST https://api.talonic.com/v1/sources/src_abc123/documents \
  -H "Authorization: Bearer $TALONIC_API_KEY" \
  -F "file=@invoice.pdf" \
  -F "processing_mode=realtime"
Response
{
  "document_id": "doc_7f3a1b2c",
  "filename": "invoice.pdf",
  "status": "queued",
  "processing_mode": "realtime",
  "source_id": "src_abc123"
}
List documents in a source
curl https://api.talonic.com/v1/documents?source_id=src_abc123 \
  -H "Authorization: Bearer $TALONIC_API_KEY"

When integrating with external systems, a common pattern is to upload documents via the API and then configure a webhook to receive notifications when extraction completes. This avoids the need to poll for status updates and lets your downstream system react immediately when structured data is available. The document.extracted webhook signal fires as soon as all fields have been captured and the document status transitions to completed.

For batch ingestion scenarios, set processing_mode=batch when uploading to defer AI extraction and process at 50% cost. Batch mode runs OCR and classification immediately but queues the extraction step for deferred processing with a 48-hour delivery window. This is ideal for historical document backlogs where immediate results are not required. You can mix batch and realtime uploads within the same source — each document's processing mode is independent.

Frequently asked questions

How do I upload documents to Talonic?+
Open Documents in the sidebar and drag files or folders onto the upload zone at the top of the list. You can upload individual files, multiple files, entire folders, or ZIP archives that are unpacked recursively. You can also use the quick extract shortcut (Cmd+J / Ctrl+J) to upload a single file from any page.
Where do I upload documents now that Sources is no longer in the sidebar?+
On the Documents page. The upload zone sits at the top of the document list, and its top-right composer tags every file in the upload. Connectors and API sources open from the Sources button in the Documents page header.
Does Talonic detect duplicate uploads?+
Yes. Files are deduplicated via SHA-256 hashing computed from the raw file bytes. Uploading the same file twice will not create duplicates, regardless of filename or upload method. When you upload a duplicate through the API, the response returns a duplicate status together with the existing document ID.
What happens when I upload a folder or ZIP archive?+
ZIP archives are unpacked recursively and each file is processed individually. Nested ZIPs are also extracted. Folders preserve the original directory structure as a source_file_path metadata field on each document, available for filtering, schema mapping, and export.
Can I upload large batches of documents?+
Yes. Large uploads (100+ files) are automatically throttled to prevent pipeline overload. Each document processes independently through OCR, classification, and extraction. For very large batches, consider batch processing mode which defers extraction at 50% cost.
Can I upload documents programmatically via the API?+
Yes. POST a multipart form request to /v1/sources/:sourceId/documents with the file and optional processing_mode parameter. Set processing_mode=batch for 50% cost deferral with 48-hour delivery, or omit it for immediate processing. The API follows the same pipeline as the UI — documents flow through OCR, classification, and extraction automatically after upload.