Upload Endpoints
Complete API reference for file upload endpoints.
Upload endpoints are part of the Upload API tier, designed for high-throughput production use. All endpoints are under /api/v1/upload.
/uploadUpload one or more files. Requires authentication.
Parameters:
| Field | Type | Required | Validation |
|---|---|---|---|
file | file | Yes (or files) | Max 50MB |
files | file | Yes (or file) | Each max 50MB |
space | string | Yes | Must be valid space handle |
upload_config | string | No | Upload config ID |
folder_id | string | No | Valid folder ID |
folder_path | string | No | Valid folder path (requires folder_id) |
/upload/generate-signed-urlGenerate a signed URL for client-side uploads. Requires authentication.
Parameters:
| Field | Type | Required | Description |
|---|---|---|---|
upload_config_id | string | Yes | Upload config to validate against |
expiration_minutes | integer | No | URL validity period |
filename | string | No | Suggested filename |
content_type | string | No | Expected MIME type |
/upload/signedUpload a file using a signed URL. Auth is handled via the signed URL signature.
Parameters:
| Field | Type | Required |
|---|---|---|
file | file | Yes |
upload_config_id | string | Yes |
space_id | string | Yes |
/upload/unsigned/:spaceHandle/:configNamePublic upload without authentication. The upload config must have allow_unsigned: true.
Unsigned uploads are rate-limited separately from authenticated uploads. The API validates the Referer header against the config's allowed_referrers list.
/upload/presignGenerate a presigned PUT URL for direct-to-storage uploads. Requires authentication.
Parameters:
| Field | Type | Required | Validation |
|---|---|---|---|
space | string | Yes | Valid space handle |
filename | string | Yes | Max 255 |
content_type | string | Yes | Max 100 |
size | integer | Yes | Min 1 |
upload_config | string | No | Valid config name |
ref | string | No | Custom reference, max 255 |
The file is created with status: "pending".
/upload/confirm/:fileIdConfirm that a presigned upload has completed. Requires authentication.
The API verifies the object exists in cloud storage, then changes the file status from pending to active.