Upload a file
Upload a file to a workspace.
Files are added to an upload session and queued for asynchronous processing. To track progress, retrieve the file details using the GET endpoints to check the current status.
Idempotent upload: When external_metadata.external_id is provided and a manually-uploaded document with the same external ID already exists in the target workspace, the existing document is returned with 200 OK instead of creating a duplicate. This makes bulk re-runs safe without requiring a pre-check. Datasource-imported documents are not affected.
Accepted file formats: csv, doc, docx, htm, html, jpeg, jpg, md, odp, odt, pdf, png, ppt, pptx, txt, xhtml, xls, xlsx
Customization Options:
title: Customize the document title (defaults to filename without extension)filename: Override the uploaded filenameparser: Specify a custom ingestion pipeline instead of using the default
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Request serializer for POST /api/v3/files endpoint.
Phase 1 Implementation - Core Parameters:
- file: The file to upload (required)
- name: Custom filename (optional, defaults to uploaded filename)
- title: Custom title for the document (optional)
- workspace_id: Workspace ID where the document will be stored (required)
- parser: Pipeline to use for ingestion processing (optional)
Changes from V2:
- Removed: collection_type (workspace_id is now the source of truth)
- Removed: collection (derived automatically from workspace_id)
- Simplified: workspace_id is now required and is the single source of truth
Phase 2 (Deferred):
- chunk_size, chunk_overlap
- OCR configuration parameters
- These may be reorganized into nested configuration objects
The file to upload (binary data)
Workspace where the document will be stored.
Custom filename (defaults to uploaded filename if not provided)
255Custom title for the document. If not provided, defaults to filename without extension.
255Ingestion pipeline to use. Only 'v2.2.1' is accepted. If omitted, the platform default is used.
255List of tag IDs to assign to the document on creation.
External source metadata for documents ingested from third-party systems. Provide as a JSON object with external_id (required), doc_type (optional), and additional_metadata (optional JSON object).
Response
Document already exists (idempotent). Returned when external_metadata.external_id matches a manually-uploaded document in the same workspace. The existing document is returned without creating a duplicate.
Filename of the document
Workspace the document belongs to
Document summaries (all languages)
File extension of the document
Creation date of the resource
Total number of pages
List of tags associated with the document
User who created the file. Null when the file was created by the system.
Upload session UUID associated with this document
External document metadata
Status message about the file upload
255pending- Pendingpending_conversion- Pending Conversionconverting- Convertingparsing- Parsingparsing_failed- Parsing Failedembedding- Embeddingembedding_failed- Embedding Failedembedded- Embeddedparsed- Parsedfail- Failupdating- Updating
pending, pending_conversion, converting, parsing, parsing_failed, embedding, embedding_failed, embedded, parsed, fail, updating pending- Pendingprocessing- Processingembedded- Embeddedfail- Fail-- Not available
pending, processing, embedded, fail, -