Bulk upload documents
Upload multiple documents at once. Optionally skip the automatic parsing pipeline.
Per-file metadata can be attached at upload time via the files_metadata field so
documents arrive with their metadata already set (no follow-up metadata-add calls
needed).
Authorizations
Use Authorization: Bearer
Path Parameters
UUID of the project
Body
One or more files to upload
Optional JSON-encoded array of per-file metadata, aligned by position with
files. Each entry is itself a list of [key, value] string pairs for the
corresponding file, e.g.
[[["author","Alice"],["year","2024"]], [["author","Bob"]]].
The array length must equal the number of uploaded files. If the lengths do not match, all metadata is silently ignored and the files are uploaded without any metadata.
Optional collection (in this project) to upload every file into. Sets each
document's collection foreign key and writes the mirrored ["tag", slug]
pair. Omit to leave the documents in "Default".
Set to "true" to skip automatic parsing pipeline
true, false Response
Documents uploaded successfully
Document filename
URL to the document file
MIME type of the document
"application/pdf"
URL to generated PDF version (if applicable)
Origin of the document
upload, connector Metadata about the document source
Number of pages in the document
File size in bytes
List of key-value metadata pairs. Each element is a two-element array [key, value].
2 elementsThe collection this document belongs to (the membership foreign key); null
means the "Default" (uncategorised) bucket. A mirrored ["tag", slug] pair is
also kept on metadata. Move a document with the set-collection action.
Document deletion status
active, deleting, deleted When the document was added to the project.
The user who uploaded the document. Only returned to callers with admin permission
on the project; null for non-admin callers. Also null for connector-imported
documents (which are attributed to the connector, not a person) and for documents
created before this was tracked.