priya, not a vendor UUID). GET /v1/voices returns catalog rows, public clones, and — when you send a user JWT — your private clones.
GET /v1/providers lists STT, LLM, and TTS catalogs (including defaults). Brand names are Kupe-facing (kupe rather than the upstream vendor).
List
provider (brand name) or provider_id (catalog UUID). Omit both to list every enabled TTS catalog.
Preview and speak
GET /v1/voices/{voice_id}/preview— cached English+Hindi sample (audio body).POST /v1/voices/{voice_id}/speak— billed TTS for playground text. JSON{ "text", "org_id", "language?", "speed?", "pitch?" }. Max 2000 characters. JWT required. Audio is not stored.
Clone, patch, delete
These are JWT-only. API keys cannot own a voice (403). SDKs still expose the methods and raise a typed error if you call them with a key.
POST /v1/voices/clone—multipart/form-data:name,sample(≤ 25 MB), optionalis_publicPATCH /v1/voices/{voice_id}— rename or visibilityGET /v1/voices/{voice_id}/usage— how many live agents still reference this cloneDELETE /v1/voices/{voice_id}— optionalfallback_voice_idfor agents that still use it

