---
title: "List dubs for a video"
method: GET
path: "/videos/{videoId}/dubs"
tags: ["Dubs"]
---

# List dubs for a video

`GET /videos/{videoId}/dubs`

## Request

- Base URL: `https://api.braiv.co/v1`
- URL: `https://api.braiv.co/v1/videos/{videoId}/dubs`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Api-Key`

Lists all dubbing request projections for the video. Use `getDub` for downloadable audio and transcript segments. Required scope: `videos:read`.

## Path parameters

- `videoId` string, required

## Response `200`

Dubbing requests and current internal completion state.

- DubList
  - `dubs` DubListItem[], required: Dubbing request projections for the video.
    - `id` string, required: Internal dubbing request ID.
    - `language` string, required: ISO-style language or locale code accepted by the underlying product.
    - `product` string, required: Public plus/premium slug when recognized; otherwise the stored internal product string.
    - `status` string, required: Stored dubbing request status.
    - `completion` string: Stored completion status, such as preview_ready or complete.
    - `jobId` string, required: Pollable dub job ID.

## Other responses

- `401`: A supported authentication header is missing or contains an invalid Public API key.
- `403`: Authentication succeeded, but the required scope, workspace role, or resource permission is missing.
- `404`: The resource does not exist or is not accessible to the caller.
- `429`: The API key exceeded its allowed concurrency or request rate. Retry after in-flight work completes or the limit resets.
- `500`: An unexpected server error occurred.

---

[API](https://skmtc.dev/braiv/apis/braiv-public-api.md) - [All operations](https://skmtc.dev/braiv/apis/braiv-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/braiv/apis/braiv-public-api/revisions/8ed0fd0d0a6f?raw)
