---
title: "Complete multipart upload"
method: POST
path: "/v1/files/uploads/{upload_id}/complete"
tags: ["files"]
---

# Complete multipart upload

`POST /v1/files/uploads/{upload_id}/complete`

Complete a multipart upload after all parts have been uploaded.
Creates the file object and returns it.

## Path parameters

- `upload_id` string, uuid, required — The ID of the multipart upload

## Request body

- CompleteMultipartUploadRequest
  - `parts` MultipartUploadPart[], required — List of completed parts with their ETags
    - `part_number` integer, required — 1-based part number
    - `etag` string, required — ETag returned by the storage backend after uploading the part

## Response `200`

The completed file details

- FileObject — A model representing a file object in the system. This model contains metadata about files stored in the system, including identifiers, size information, and timestamps.
  - `id` string, required — Unique identifier for the file
  - `filename` string, required — Name of the file including extension
  - `bytes` integer, required — Size of the file in bytes
  - `mime_type` string, required — MIME type of the file
  - `version` integer, required — Version of the file
  - `created_at` string, date-time, required — Timestamp when the file was created
  - `updated_at` string, date-time, required — Timestamp when the file was last updated

## 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/42cbb70e7218/schema)
