Set this user's preferred voice and effects
const url = 'http://localhost:11044/api/v1/profile/voice';const options = { method: 'PUT', headers: {'X-Embabel-Api-Key': '<X-Embabel-Api-Key>', 'Content-Type': 'application/json'}, body: '{"effects":["example"],"voiceName":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url http://localhost:11044/api/v1/profile/voice \ --header 'Content-Type: application/json' \ --header 'X-Embabel-Api-Key: <X-Embabel-Api-Key>' \ --data '{ "effects": [ "example" ], "voiceName": "example" }'Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”The voice preference, replacing the stored one: voiceName is a voice id from GET /profile/voice, blank or omitted clearing it, and effects the effect names to apply, omitted or empty clearing them. Neither is checked against what GET /profile/voice offers
Voice preferences to store, the body of PUT /profile/voice. Both fields are replaced
object
Effect presets to apply; blank entries are dropped, and an empty or absent list clears them
Voice id from the voices list; absent or blank resets to the deployment’s default voice
Example generated
{ "effects": [ "example" ], "voiceName": "example"}Responses
Section titled “Responses”OK
The user’s voice preferences and the voices on offer, answered by GET and PUT /profile/voice
object
False when no voice can be offered to this user (no voice key, or the voice catalogue is empty or could not be read); a client should then hide voice controls
Effect presets this deployment offers, e.g. warm, radio, echo
Effect presets applied to this user’s spoken replies; empty for none
The chosen voice id, or null for the deployment’s default voice
Voices this user can choose from; empty when not available
One voice the user can choose for spoken replies
object
Voice id to send as voiceName, e.g. aura-2-phoebe-en
Name to show for the voice

