Skip to content

Start Multipart Upload Tier 3

POST/api/projects/:id/files/upload.multipartCopied!

Creates a file and returns presigned upload URLs for multipart upload. Parts are generated in 100 MB chunks, and the maximum file size is 10 GB.

For typical file uploads, use the SDK-managed files.upload helper instead of calling this endpoint directly. See Upload files.

Endpoint not callable from CLI

The CLI handles local file uploads automatically through the SDK files.upload helper. You cannot call this endpoint directly from the CLI.

Example

ts
const upload = await client.files.startMultipartUpload("bdbff5de-96d7-468f-9db0-85fe28bd6b62", {
  name: "launch-cut.mp4",
  size: 250000000,
});
bash
youvico file upload.file --project=bdbff5de-96d7-468f-9db0-85fe28bd6b62 --path=./launch-cut.mp4 --name=launch-cut.mp4
bash
curl -X POST 'https://api.youvico.com/api/projects/bdbff5de-96d7-468f-9db0-85fe28bd6b62/files/upload.multipart' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ "name": "launch-cut.mp4", "size": 250000000 }'
json
{
  "data": {
    "id": "FX1234567890ABCD",
    "parts": [
      {
        "partNumber": 1,
        "url": "https://example.com/upload/1"
      },
      {
        "partNumber": 2,
        "url": "https://example.com/upload/2"
      },
      {
        "partNumber": 3,
        "url": "https://example.com/upload/3"
      }
    ]
  }
}

Request

Path

idstringrequired
Project ID

Body

namestringrequired

1–255 characters

File name
sizenumberrequired

1–10000000000

File size in bytes

Response

Returns 201 Created.

dataobject
Upload session
data.idstring
Created file ID

Example: FX1234567890ABCD

data.partsarray
Upload parts
data.parts[].partNumbernumber
Part number

Example: 1

data.parts[].urlstring
Presigned upload URL for the part

Example: https://example.com/upload/1