---
title: "Begin a multipart upload"
method: POST
path: "/uploads/multipart"
---

# Begin a multipart upload

`POST /uploads/multipart`

## Request

- Base URL: `https://clusters.soleilpictures.com/api/v1`
- URL: `https://clusters.soleilpictures.com/api/v1/uploads/multipart`
- Auth: HTTP bearer

For files past the single-request ceiling, and for any file type. The bytes never pass through this API: you receive signed URLs from /uploads/multipart/parts and PUT to them directly. `bytes` is the TOTAL size and is required, because the storage quota is checked up front rather than after the transfer. Needs a paid account on the workspace that owns the board.

## Query parameters

- `board` string, uuid, required

## Request body

- object
  - `bytes` integer, required: Total size of the whole file.
  - `content_type` string
  - `filename` string: Used here to recover a file extension. Send it again on complete to keep the name.

## Response `201`

The upload session

- object
  - `key` string
  - `upload_id` string
  - `part_size` integer
  - `part_count` integer
  - `content_type` string

## Other responses

- `402`: That would go past the storage included with this account
- `403`: Not a writer on that board, or the owner is not on a paid plan

---

[API](https://skmtc.dev/soleilpictures/apis/soleil-clusters-api.md) · [All operations](https://skmtc.dev/soleilpictures/apis/soleil-clusters-api/llms.txt) · [OpenAPI document](https://skmtc.dev/soleilpictures/apis/soleil-clusters-api/revisions/1d426d587bf3?raw)
