---
title: "Multipart Complete"
method: POST
path: "/upload/multipart/complete"
tags: ["upload"]
---

# Multipart Complete

`POST /upload/multipart/complete`

## Request

- Base URL: `https://api.seal.net` (the document declares no server; this is the origin it was published from)
- URL: `https://api.seal.net/upload/multipart/complete`
- Auth: none declared

Complete multipart upload.

Client must provide all uploaded parts with their ETags.
S3 will assemble the final object from the parts.

## Request body

- MultipartCompleteRequest: Request to complete multipart upload; the row keeps its registered `sha256_hex`.
  - `upload_id` string, required: Upload ID
  - `parts` MultipartCompletePartInfo[], required: List of uploaded parts with ETags
    - `part_number` integer, required
    - `etag` string, required
  - `on_conflict` 'fail' | 'keep_both': A version whose base another version closed first: 412, or keep as a second head

## Response `200`

Successful Response

- MultipartCompleteResponse: Response from multipart complete.
  - `version_of` string, nullable
  - `head` boolean, nullable
  - `conflict_with` string, nullable
  - `status` string, required: 'verified' — assembled and checked; 'accepted' — queued, poll /upload/status

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/seal/apis/seal-api.md) · [All operations](https://skmtc.dev/seal/apis/seal-api/llms.txt) · [OpenAPI document](https://skmtc.dev/seal/apis/seal-api/revisions/68460cfa1957?raw)
