Uploads
12 endpoints
OPTIONS /uploads/discover
Tus Discover
TUS protocol discovery.
Response:
`any`OPTIONS /uploads/discover/\{upload_id\}
Tus Discover Upload
TUS protocol discovery for a specific upload.
Parameters:
| Name | In | Required | Description |
|---|---|---|---|
upload_id | path | Yes | — |
Response:
`any`POST /uploads/create
Tus Create
Create a TUS upload session.
Response:
`any`HEAD /uploads/\{upload_id\}/status
Tus Status
Get current upload offset and length.
Parameters:
| Name | In | Required | Description |
|---|---|---|---|
upload_id | path | Yes | — |
Response:
`any`PATCH /uploads/\{upload_id\}/chunk
Tus Chunk
Append a chunk to an in-progress upload.
Parameters:
| Name | In | Required | Description |
|---|---|---|---|
upload_id | path | Yes | — |
Response:
`any`POST /uploads/\{upload_id\}/finalize
Finalize Upload
Finalize a TUS upload and create upload record.
Parameters:
| Name | In | Required | Description |
|---|---|---|---|
upload_id | path | Yes | — |
Response:
{
upload_id: `string`
}POST /uploads/upload
Multipart Upload
Upload a file via multipart form-data.
Form fields: file: The file to upload. subfolder: Optional — “audio” or “video”. Defaults to general uploads folder.
Parameters:
| Name | In | Required | Description |
|---|---|---|---|
subfolder | query | No | — |
Request body:
{
file: `string`
}Response:
{
upload_id: `string`
}PUT /uploads/upload
Raw Upload
Upload a file via raw binary body.
Send the file bytes directly as the request body with Content-Type: application/octet-stream.
Query params: filename: Original filename with extension (e.g., “photo.png”). subfolder: Optional — “audio” or “video”. Defaults to general uploads folder.
Parameters:
| Name | In | Required | Description |
|---|---|---|---|
filename | query | No | — |
subfolder | query | No | — |
Response:
{
upload_id: `string`
}GET /uploads/\{upload_id\}/download
Download Upload
Download an upload file by ID.
Parameters:
| Name | In | Required | Description |
|---|---|---|---|
upload_id | path | Yes | — |
Response:
`any`GET /uploads/\{upload_id\}/preview
Preview Upload
Return a PNG preview of the first page of a PDF upload.
Parameters:
| Name | In | Required | Description |
|---|---|---|---|
upload_id | path | Yes | — |
Response:
`any`GET /uploads/\{upload_id\}/template
Render Upload Template
Render an HTML upload as a template with placeholder defaults.
Parameters:
| Name | In | Required | Description |
|---|---|---|---|
upload_id | path | Yes | — |
Response:
`any`POST /uploads/csv
Parse Csv
Parse a previously uploaded CSV file and return headers + rows.
Request body:
{
upload_id: `string`
}Response:
{
headers: `string`[]
rows: `string`[][]
row_count: `integer`
}