---
title: "Create multipart upload"
method: POST
path: "/v1/files/uploads"
tags: ["files"]
---

# Create multipart upload

`POST /v1/files/uploads`

Initiate a multipart upload and receive presigned URLs for uploading parts directly to storage.

## Request body

- CreateMultipartUploadRequest
  - `filename` string, required — Name of the file including extension
  - `file_size` integer, required — Total size of the file in bytes
  - `mime_type` string, required — MIME type of the file
  - `part_count` integer — Number of parts to split the upload into

## Response `201`

The multipart upload details with presigned URLs

- CreateMultipartUploadResponse
  - `id` string, required — The multipart upload ID (use this to complete or abort)
  - `part_urls` MultipartUploadPartUrl[], required — Presigned URLs for uploading parts
    - `part_number` integer, required — 1-based part number
    - `url` string, required — Presigned URL for uploading this part

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/mixedbread/apis/mxbai-omni.md) · [All operations](https://skmtc.net/mixedbread/apis/mxbai-omni/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mixedbread/mxbai-omni/revisions/2eece97b5ae5/schema)
