---
title: "Finalize your multipart upload using actual ETags and enqueue metadata validation and video transcoding. Queue acceptance does not complete transcoding, approve the creative or publish the ad. Check get_video_status before submitting the creative."
method: POST
path: "/v1/agent/videos/{asset_id}/complete"
---

# Finalize your multipart upload using actual ETags and enqueue metadata validation and video transcoding. Queue acceptance does not complete transcoding, approve the creative or publish the ad. Check get_video_status before submitting the creative.

`POST /v1/agent/videos/{asset_id}/complete`

## Request

- Base URL: `https://api.nowyourlink.com`
- URL: `https://api.nowyourlink.com/v1/agent/videos/{asset_id}/complete`
- Auth: OAuth 2 (authorization code, authorization URL `https://api.nowyourlink.com/oauth/authorize`, token URL `https://api.nowyourlink.com/oauth/token`, scopes: `creatives:write`)

Finalize your multipart upload using actual ETags and enqueue metadata validation and video transcoding. Queue acceptance does not complete transcoding, approve the creative or publish the ad. Check get_video_status before submitting the creative.

## Path parameters

- `asset_id` string, required

## Request body

- object
  - `upload_id` string, required
  - `key` string, required
  - `ad_id` string, required
  - `parts` object[], required
    - `part_number` integer, required
    - `etag` string, required

## Response `202`

Finalize your multipart upload using actual ETags and enqueue metadata validation and video transcoding. Queue acceptance does not complete transcoding, approve the creative or publish the ad. Check get_video_status before submitting the creative.

- object

## Other responses

- `400`: Invalid arguments or media.
- `401`: The bearer token is missing, expired or invalid. A missing Authorization header returns an empty body.
- `403`: Missing scope, inactive account, ownership or consent failure.
- `404`: No owned record exists for this identifier.
- `405`: The path exists but does not accept this method (agent.method-not-allowed).
- `409`: The current account or creative state blocks this operation.
- `422`: Verification or media validation failed.
- `429`: This grant's 120-per-minute token bucket is empty. Wait Retry-After seconds before retrying.
- `503`: A dependency failed; read current state before retrying a mutation.

---

[API](https://skmtc.dev/nowyourlink/apis/nowyourlink-public-spotlight-api.md) · [All operations](https://skmtc.dev/nowyourlink/apis/nowyourlink-public-spotlight-api/llms.txt) · [OpenAPI document](https://skmtc.dev/nowyourlink/apis/nowyourlink-public-spotlight-api/revisions/cd8408529b48?raw)
