Files
The Files API stores organization-scoped documents in S3 and tracks their metadata in PostgreSQL. Use the presigned upload flow when you want clients, scripts, or CI jobs to upload files autonomously and trigger downstream classification.Authentication
All endpoints require:x-api-keyx-organization-id
Recommended Upload Flow
Upload Files
Request presigned URLs, upload bytes directly to S3, then confirm the upload to trigger classification.
List File Readings
Retrieve extracted file readings after the async classification and processing steps complete.
Core Endpoints
Status Lifecycle
Notes
folder_idis optional on upload requests. Omit it to upload at the root level.project_idis optional onPATCH /v1/files/batch-update. When present, the backend createsfile_projectlinks.POST /v1/files/uploadis still available, but the presigned flow is recommended for automation and large-file friendly clients.POST /v1/files/send-eventcan be used to manually retry downstream processing when a classified file has not produced afile_readingyet.- Once processing finishes, clients can use
GET /v1/files/readings, optionally edit extracted values withPUT /v1/files/readings/{file_reading_id}, and then create linked invoices or wastes withPOST /v1/files/readings. POST /v1/files/readingscurrently supports one file reading per request, even though the request body accepts an array.
Related Documentation
MCP Tools
Access file data from AI assistants via MCP
Invoices API
Manage invoices created from file readings