---
title: "List Dubbing Projects"
method: GET
path: "/v1/dubbing/project"
tags: ["Dubbing"]
---

# List Dubbing Projects

`GET /v1/dubbing/project`

List the dubbing projects in your workspace that you can access, newest first, cursor-paginated. Listed projects carry no `language_ids`; fetch a project, or list its language targets, to see them.

## Query parameters

- `cursor` string, nullable — Pass the `next_cursor` from a previous response to fetch the page after it. Omit for the first page.
- `page_size` integer — Number of projects per page. Clamped to between 1 and 100 rather than rejected, so a larger value returns a full page.
- `status` string, nullable — Filter to projects in this status: `queued`, `preparing`, `ready`, or `failed`. Omit to return every status.
- `sort_direction` 'ASCENDING' | 'DESCENDING' — Sort by creation time; newest first by default.

## Headers

- `xi-api-key` string, nullable — Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.

## Response `200`

Successful Response

- DubbingProjectListResponse
  - `projects` DubbingProjectResponse[], required — The page of dubbing projects the caller can access.
    - `project_id` string, required — Unique identifier of the dubbing project.
    - `status` 'queued' | 'preparing' | 'processing' | 'ready' | 'failed', required — Lifecycle status of the project: `queued` before the source is picked up, `preparing` while it is transcribed, `ready` once transcription is done and language targets can start, or `failed`. A project is never reported as `processing` — that value belongs to language targets.
    - `reference` string, nullable — The free-form string you supplied as `reference` when creating the project, or null if you supplied none.
    - `source_language` string, nullable — BCP-47 language tag of the source media (null if auto-detected).
    - `model_id` string, nullable — Dubbing model every language target of this project is dubbed with. Fixed at create time and not selectable per language.
    - `media` DubbingSourceMediaInfo — Metadata about the project's source media.
      - `filename` string, nullable — Original filename of the uploaded source media (null for URL sources).
      - `duration_s` number, nullable — Duration of the source media, in seconds.
      - `has_video` boolean, nullable — Whether the source media contains a video stream.
      - `mime_type` string, nullable — MIME type of the uploaded source media (null for URL sources).
    - `language_ids` string[] — Identifiers of the language targets under this project. Populated when a single project is fetched, and on create when `target_language` creates one. Always empty in list responses — list the project's language targets instead.
    - `webhook_ids` string[] — IDs of the workspace webhooks notified as this project and its languages reach `ready`, `completed`, or `failed`.
    - `revision` integer, required — Monotonic counter incremented whenever the source transcript is edited (segment add/edit/delete).
    - `error` DubbingError
      - `code` string, required — Stable identifier for the failure, safe to branch on. New codes are added over time, so we recommend treating an unrecognized value as `internal_error`.
      - `message` string, required — Human-readable description of the failure, for display. The wording may change at any time, so we recommend branching on `code` instead.
      - `retryable` boolean, required — Whether resubmitting the same input could succeed. A value of false means the failure describes the input or the account, so an identical retry will fail the same way.
    - `warnings` VoicesNotPermittedWarning[] — Non-fatal conditions raised while preparing the source, empty when there are none. Reflects the latest preparation. Conditions raised while dubbing a particular language are reported on that language instead.
      - `type` 'voices_not_permitted', required — Identifies this warning; branch on it to read the other fields.
      - `speaker_ids` string[], required — Speakers whose voices were not permitted for cloning. The dub used a replacement voice for each of them; all other speakers are unaffected.
      - `message` string, required — Human-readable description of the warning, for display. The wording may change at any time, so we recommend branching on `type` instead.
    - `created_at` string, date-time, required — When the project was created.
    - `updated_at` string, date-time, required — When the project was last updated.
  - `next_cursor` string, nullable — Opaque cursor to pass back as `cursor` for the next page, or null when there are no more results.

## Other responses

- `422` — Validation Error

## Changes

- **2026-08-07** `57d56f34628a` — 1 info
  - added the optional property `projects/items/webhook_ids` to the response with the `200` status
- **2026-08-06** `1cae8adcc965` — 2 info
  - added the optional property `projects/items/error` to the response with the `200` status
  - added the optional property `projects/items/warnings` to the response with the `200` status

[Change history](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/changes/v1/dubbing/project/get.md)

---

[API](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation.md) · [All operations](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/elevenlabs/elevenlabs-api-documentation/revisions/70aad41bc4b9/schema)
