Initiate a large (multipart) file upload

Initiate a multipart upload for files up to 10 GB. The response includes an opaque upload_id and a fully populated urls array containing one pre-signed PUT URL per part the client should upload. After uploading every part, call Complete large upload at POST /v2/files/{file_id}/large-upload/complete with the resulting part etag values.

The client may optionally specify the desired number of parts (1 to 10000). If omitted, the server picks a value based on the declared size and the recommended part size — for most uploads this is the right default.

Every URL in urls expires roughly 3 hours after issue. If a part PUT fails after that window, abandon the upload and initiate a fresh session.

Once finalized, inspect the file with GET /v1/files/{file_id} and download it with GET /v1/files/{file_id}/download — no v2 read surface exists yet.

Returns 201 with the upload session details. Orphaned uploads that are not completed are eventually cleaned up.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Body

string
required
length between 1 and 1024

The file's original name, including extension. 1-1024 characters.

string
required
length ≤ 255

The file's MIME type (e.g. image/png, video/mp4). Up to 255 characters.

integer
required
1 to 10000000000

Total size of the file in bytes. Must be between 1 and 10000000000 (10 GB).

integer
1 to 10000

Number of parts the client will split the upload into. Optional — if omitted, the server picks a value based on the declared size and the recommended part size. Must be between 1 and 10000.

Responses

Language
Credentials
Bearer
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json