curl -X DELETE "https://api.hooked.so/v1/voice/cm4xa1b2c0001ab12cd34ef56" \
-H "x-api-key: your_api_key_here"
const response = await fetch("https://api.hooked.so/v1/voice/cm4xa1b2c0001ab12cd34ef56", {
method: "DELETE",
headers: { "x-api-key": process.env.HOOKED_API_KEY },
});
console.log(response.status, await response.json());
import os
import requests
response = requests.delete(
"https://api.hooked.so/v1/voice/cm4xa1b2c0001ab12cd34ef56",
headers={"x-api-key": os.environ["HOOKED_API_KEY"]},
)
print(response.status_code, response.json())
{
"success": true,
"message": "Voice deleted",
"data": {
"voiceId": "cm4xa1b2c0001ab12cd34ef56",
"deleted": true
}
}
{
"success": false,
"message": "Voice is used by project \"Launch video\" (cm4x9p0q10001ab12cd34ef56), which is still processing"
}
Voices
Delete a Voice
Delete one of your team’s own voices for good
DELETE
/
v1
/
voice
/
{voiceId}
curl -X DELETE "https://api.hooked.so/v1/voice/cm4xa1b2c0001ab12cd34ef56" \
-H "x-api-key: your_api_key_here"
const response = await fetch("https://api.hooked.so/v1/voice/cm4xa1b2c0001ab12cd34ef56", {
method: "DELETE",
headers: { "x-api-key": process.env.HOOKED_API_KEY },
});
console.log(response.status, await response.json());
import os
import requests
response = requests.delete(
"https://api.hooked.so/v1/voice/cm4xa1b2c0001ab12cd34ef56",
headers={"x-api-key": os.environ["HOOKED_API_KEY"]},
)
print(response.status_code, response.json())
{
"success": true,
"message": "Voice deleted",
"data": {
"voiceId": "cm4xa1b2c0001ab12cd34ef56",
"deleted": true
}
}
{
"success": false,
"message": "Voice is used by project \"Launch video\" (cm4x9p0q10001ab12cd34ef56), which is still processing"
}
Overview
Deletes one of your team’s own voices: one you cloned (in the dashboard or with Clone a Voice) or designed in the dashboard. Library voices cannot be deleted.This cannot be undone. The voice is removed from your library and from the ElevenLabs account it lives in. Videos and voiceovers already made keep their audio, but the voice can no longer be used as
voiceId.- The voice leaves List Voices, and a
voiceIdnaming it answers400from then on. - It frees one of your plan’s custom voices, so you can clone another.
- It is refused with
409while a project of your team is still being generated with it. Wait for that project to finish or fail, then retry.
id from List Voices (type=custom), not its ElevenLabs voiceId.
curl -X DELETE "https://api.hooked.so/v1/voice/cm4xa1b2c0001ab12cd34ef56" \
-H "x-api-key: your_api_key_here"
const response = await fetch("https://api.hooked.so/v1/voice/cm4xa1b2c0001ab12cd34ef56", {
method: "DELETE",
headers: { "x-api-key": process.env.HOOKED_API_KEY },
});
console.log(response.status, await response.json());
import os
import requests
response = requests.delete(
"https://api.hooked.so/v1/voice/cm4xa1b2c0001ab12cd34ef56",
headers={"x-api-key": os.environ["HOOKED_API_KEY"]},
)
print(response.status_code, response.json())
{
"success": true,
"message": "Voice deleted",
"data": {
"voiceId": "cm4xa1b2c0001ab12cd34ef56",
"deleted": true
}
}
{
"success": false,
"message": "Voice is used by project \"Launch video\" (cm4x9p0q10001ab12cd34ef56), which is still processing"
}
Errors
| Status | Message | Cause |
|---|---|---|
| 401 | code: "not_authenticated" | Missing or invalid x-api-key. |
| 403 | code: "entitlement_required" | Your team does not have the Hooked app product. |
| 404 | Voice not found | Not one of your team’s voices: a library voice, another team’s voice or an unknown id. |
| 409 | Voice is used by project ... | A project is still being generated with this voice. Nothing was deleted. |