---
title: "Delete one of your library voices."
method: DELETE
path: "/voices/{voiceId}"
tags: ["Voices"]
---

# Delete one of your library voices.

`DELETE /voices/{voiceId}`

## Request

- Base URL: `https://docs.sleeperhit.studio/api/v1`
- URL: `https://docs.sleeperhit.studio/api/v1/voices/{voiceId}`
- Auth: HTTP bearer

Deletes a voice from your library and at its provider. A voice still pinned in a cast canon or spoken in a read (the read behind a share link) is refused with 409 `voice_in_use`, `details.uses` naming every use; send the delete again with `confirmed: true` (`?confirmed=true`, or a JSON body) to delete it anyway — those characters then have no voice until they are recast. Free. Scope: `story:write`.

## Query parameters

- `confirmed` boolean

## Response `200`

Deleted.

- StudioVoiceDeleteResponse
  - `deleted` true, required
  - `voiceId` string, required
  - `name` string, required
  - `uses` VoiceUses, required
    - `canon` object[], required
      - `projectId` string, required
      - `projectName` string, required
      - `character` string, required
    - `reads` object[], required
      - `jobId` string, required
      - `artifactId` string, nullable, required
      - `characters` string[], required

## Other responses

- `401`: Missing, malformed, revoked, or expired API key.
- `403`: API key is valid but lacks the scope, is blocked by IP allowlist, or the account is disabled.
- `404`: No voice with that id in your library, or another writer's cloned or designed voice, which is never yours to preview, cast, pin or migrate onto (`voice_not_found`). GET /voices lists the ones you own; a catalog voice can be previewed and assigned but not renamed or deleted.
- `409`: The voice is still pinned in a cast canon or spoken in a read, so nothing was deleted (`voice_in_use`). `details.uses` lists `canon` people and `reads`; recast them first, or delete again with `confirmed: true`.
- `429`: Rate limit for this API key + IP + route family was exceeded.
- `500`: The API failed unexpectedly. Safe to retry with the same Idempotency-Key.

---

[API](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api.md) · [All operations](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api/revisions/4534f5d25540?raw)
