---
title: "Report uploaded chunks"
method: POST
path: "/assets/multipart-uploads/{upload_id}"
tags: ["multipartUpload"]
---

# Report uploaded chunks

`POST /assets/multipart-uploads/{upload_id}`

This method reports successfully uploaded chunks to the platform. The platform finalizes the upload after you report all chunks.


For optimal performance, report chunks in batches and in any order.

## Path parameters

- `upload_id` string, required

## Headers

- `x-api-key` string, required

## Request body

- ReportChunkBatchRequest
  - `completed_chunks` CompletedChunk[], required — The list of chunks successfully uploaded that you're reporting to the platform. Report only after receiving an ETag.
    - `chunk_index` integer, required — The number that identifies which chunk you uploaded. When you received presigned URLs from the platform, each URL was assigned an index number. Use that same number. The chunks are numbered starting from 1.
    - `proof` string, required — The ETag value you received after uploading the chunk. When you upload a chunk to a presigned URLs, the response includes an ETag. Use this value and submit it as proof of successful upload.
    - `proof_type` 'etag', required — The verification method. Supported value: `etag`.
    - `chunk_size` integer, required — The number of bytes uploaded for this chunk. For all chunks except the last, this value equals [`chunk_size`](/v1.3/api-reference/upload-content/multipart-uploads/create#response.body.chunk_size). For the last chunk, it may be smaller.

## Response `200`

The completion of this batch has been successfully reported.

- ReportChunkBatchResponse
  - `url` string, uri — The URL for accessing your asset. The platform returns this field only when all chunks are reported and the upload is complete. If absent, continue uploading and reporting the remaining chunks.
  - `asset_id` string — The unique identifier of this asset.
  - `processed_chunks` integer — The number of chunks accepted from this specific request. This equals the number of chunks in your `completed_chunks` array minus any duplicates.
  - `duplicate_chunks` integer — The number of chunks in this request that were already reported. Duplicates are ignored and don't affect your upload.
  - `total_completed` integer — The cumulative count of all unique chunks successfully reported across all requests. When this equals `total_chunks`, the upload is complete.

## Other responses

- `400` — The request has failed.
- `403` — The request has failed.
- `404` — Upload not found.

---

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