From b3ed0856ba37816dbbec2aea7c6322847ac1d174 Mon Sep 17 00:00:00 2001 From: Chiranjeet Mishra Date: Mon, 7 Sep 2026 06:35:21 +0000 Subject: [PATCH] Document the ElevenLabs BYOK API key permission requirement An ElevenLabs API key with endpoint access restrictions is accepted in Integrations but fails when Vapi calls a restricted endpoint. ElevenLabs returns "The API key you used is missing the permission voices_read to execute this operation." on voice search, and rejects voice library sync outright, so the voice looks missing and the library never syncs. Nothing on the ElevenLabs or Integrations pages stated that the key needs unrestricted endpoint access, so the requirement was only discoverable from the failure. - custom-voices/elevenlabs: state the requirement on the step where the key is created, and add troubleshooting for the two failure symptoms - providers/voice/elevenlabs: note the requirement where BYOK is offered - providers/integrations: note that a provider key needs access to every endpoint Vapi calls --- .../custom-voices/elevenlabs.mdx | 23 +++++++++++++++++++ fern/providers/integrations.mdx | 6 ++++- fern/providers/voice/elevenlabs.mdx | 4 ++++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/fern/customization/custom-voices/elevenlabs.mdx b/fern/customization/custom-voices/elevenlabs.mdx index 664e5e994..181fdd651 100644 --- a/fern/customization/custom-voices/elevenlabs.mdx +++ b/fern/customization/custom-voices/elevenlabs.mdx @@ -14,6 +14,12 @@ This guide outlines the procedure for integrating your cloned voice with ElevenL Go to the 'Profile + Keys' section on the ElevenLabs website to get your API key. + + + Create the key without endpoint access restrictions. ElevenLabs lets you [limit which endpoints a key can access](https://elevenlabs.io/docs/api-reference/authentication), and Vapi needs a key that can reach both the text-to-speech endpoints, to generate speech during calls, and the voices endpoints, to list, search, and sync your voices into Vapi. A key that cannot reach one of them fails when Vapi calls that endpoint, which shows up as a missing voice or a library that will not sync. + + If you need to cap what the key can spend, use ElevenLabs' credit quota on the key instead of endpoint restrictions. + Navigate to the [Vapi Integrations section](https://dashboard.vapi.ai/settings/integrations) and input your ElevenLabs API key under the ElevenLabs section. @@ -25,6 +31,23 @@ This guide outlines the procedure for integrating your cloned voice with ElevenL +## Troubleshooting + + + + Searching for a voice reads the voice list from your ElevenLabs account with your key. If the key cannot read voices, Vapi gets nothing back and the voice does not appear in search results, even though it still exists in ElevenLabs. ElevenLabs rejects the request with: + + ``` + The API key you used is missing the permission voices_read to execute this operation. + ``` + + Generate a key without endpoint access restrictions, then save it again in [Integrations](https://dashboard.vapi.ai/settings/integrations). + + + Syncing the library calls your ElevenLabs account with your key. If ElevenLabs rejects the request, the sync fails and no voices are added. Confirm the key still exists in your ElevenLabs account, has not been rotated, and has no endpoint access restrictions. + + + **Video Tutorial:**