Skip to content

Start Multipart Upload Tier 3

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

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

Managed CLI upload

The SDK files.upload helper and CLI youvico file upload.file command both run the full multipart workflow, so the CLI example below does not call this endpoint alone.

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 URL for uploading the part

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