---
title: "Complete Asset Upload"
method: POST
path: "/v1/assets/uploads/{upload_id}/complete"
tags: ["Assets"]
---

# Complete Asset Upload

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

Validates and completes an upload. If the response is processing, retry this POST with the same parts until it returns completed.

## Path parameters

- `upload_id` string, required

## Headers

- `x-api-key` string, required — API Key for authentication

## Request body

- PublicCompleteUploadRequest
  - `parts` PublicUploadedPart[], required
    - `part_number` integer, required
    - `size_bytes` integer, required

## Response `200`

Successful Response

- PublicCompleteUploadResponse
  - `upload_id` string, required
  - `status` 'completed' | 'processing', required
  - `asset_id` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/mirage/apis/mirage-video-api.md) · [All operations](https://skmtc.net/mirage/apis/mirage-video-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mirage/mirage-video-api/revisions/021b1eec81a4/schema)
