---
title: "Complete Asset Upload Batch"
method: POST
path: "/v3/assets/complete/batches"
tags: ["Asset Batches"]
---

# Complete Asset Upload Batch

`POST /v3/assets/complete/batches`

## Request

- Base URL: `https://api.heygen.com`
- URL: `https://api.heygen.com/v3/assets/complete/batches`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Finalizes every uploaded file in a batch once all PUTs return 200. Files are ingested independently. Returns 202 with the `batch_id`; poll GET /v3/assets/batches/{batch_id} for progress. Safe to repeat.

## Headers

- `Idempotency-Key` string

## Request body

- CompleteAssetBatchRequest: Finalize every uploaded file in a batch (POST /v3/assets/complete/batches).
  - `batch_id` string, required: Identifier returned by POST /v3/assets/direct-uploads/batches.

## Response `202`

Accepted — submission acknowledged; poll for completion.

- object
  - `data` CompleteAssetBatchResponse
    - `batch_id` string, required: Identifier of the batch being finalized. Poll GET /v3/assets/batches/{batch_id} for progress.

## Other responses

- `400`: Invalid request parameters
- `401`: Authentication failed
- `404`: Resource not found
- `409`: A prior request with this Idempotency-Key is still in progress. Wait for the original request to complete, then retry.
- `429`: Rate limit exceeded

## Changes

- **2026-11-03** `7dfa5e59b4f5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/heygen/apis/heygen-external-api/changes/v3/assets/complete/batches/post.md)

---

[API](https://skmtc.dev/heygen/apis/heygen-external-api.md) - [All operations](https://skmtc.dev/heygen/apis/heygen-external-api/llms.txt) - [OpenAPI document](https://skmtc.dev/heygen/apis/heygen-external-api/revisions/7dfa5e59b4f5?raw)
