test_framework

Update a personality

Changed on

Update an existing personality, sending only the fields you want to change. This is the only place the simulated caller's voice-layer behavior can be set — evaluator instructions cannot override it, so a trait that lasts the whole call belongs here and a one-off moment belongs in the evaluator.

The change reaches every evaluator already using this personality on its next run; there is no per-evaluator override, so fork first when it should apply to only some of them. Globally available personalities are shared and cannot be updated; fork one into your project first, then update the fork.

To change how the caller sounds, including its accent, set voice_id with the matching provider — send both, since provider selects the catalog the id is validated against. accent is derived from that voice and is read-only.

patch/test_framework/v1/personalities/{id}/

Request

  • Base URL
    https://api.cekura.ai
  • URL
    https://api.cekura.ai/test_framework/v1/personalities/{id}/
  • Auth
    • API key in header X-CEKURA-API-KEY
    • or HTTP bearer
    • or HTTP bearer

Path parameters

idinteger required

A unique integer value identifying this personality.

Request body

idinteger
projectinteger

Project that will own the personality. Optional when using a project-scoped API key (it is inferred from the key); required otherwise. Example: 1

namestring

Name of the personality Example: "Customer Service"

promptstring

Prompt of the personality Example: "You are a friendly and helpful customer service agent who is always willing to help"

language'af' | 'ar' | 'bn' | 'bg' | 'zh' | 'cs' | 'da' | 'nl' | 'en' | 'et' | 'fi' | 'fr' | 'de' | 'el' | 'gu' | 'hi' | 'he' | 'hu' | 'id' | 'it' | 'ja' | 'kn' | 'kk' | 'ko' | 'ms' | 'ml' | 'mr' | 'multi' | 'no' | 'pl' | 'pa' | 'pt' | 'ro' | 'ru' | 'sk' | 'es' | 'sv' | 'th' | 'tr' | 'tl' | 'ta' | 'te' | 'uk' | 'uz' | 'vi'

Language of the personality

  • af - Afrikaans
  • ar - Arabic
  • bn - Bengali
  • bg - Bulgarian
  • zh - Chinese Simplified
  • cs - Czech
  • da - Danish
  • nl - Dutch
  • en - English
  • et - Estonian
  • fi - Finnish
  • fr - French
  • de - German
  • el - Greek
  • gu - Gujarati
  • hi - Hindi
  • he - Hebrew
  • hu - Hungarian
  • id - Indonesian
  • it - Italian
  • ja - Japanese
  • kn - Kannada
  • kk - Kazakh
  • ko - Korean
  • ms - Malay
  • ml - Malayalam
  • mr - Marathi
  • multi - Multilingual
  • no - Norwegian
  • pl - Polish
  • pa - Punjabi
  • pt - Portuguese
  • ro - Romanian
  • ru - Russian
  • sk - Slovak
  • es - Spanish
  • sv - Swedish
  • th - Thai
  • tr - Turkish
  • tl - Tagalog
  • ta - Tamil
  • te - Telugu
  • uk - Ukrainian
  • uz - Uzbek
  • vi - Vietnamese
accentstring

Read-only label describing the accent of this personality's voice, as reported by the voice provider. It is derived from voice_id and cannot be set directly: speech is synthesised from voice_id alone, so changing the accent of a personality means choosing a different voice. Empty when the provider publishes no accent for the voice.

background_noisestring

Background noise

voice_modelstring

Voice model name

voice_idstring

Voice ID Example: "TX3LPaxmHKxFdv7VOQHJ"

interruption_levelstring

Interruption level

speednumber

Speed of the voice

start_speaking_plannumber

Wait seconds before the bot starts speaking (float >= 0). Ignored if interruption_level is also set in the same request (preset takes precedence). Example: 0.7

voice_volumestring nullable

Speech volume of the testing agent (0.01 to 2.0, default 1.0). Works on every voice provider — it is amplitude scaling applied after synthesis, so it reaches far quieter levels than generation_config.volume, which is a Cartesia-native parameter limited to Cartesia's own 0.5-2.0. Setting this clears any generation_config.volume so the ratio is never applied twice. Send null to remove it. Example: 0.05 for a barely-audible caller.

effective_voice_volumestring

Read-only. The volume the call will actually play at: voice_volume if set, else a legacy generation_config.volume, else 1.0. Use this to populate a volume control.

patronus_settingsunknown
provider_agent_idstring

Provider agent ID Example: "assistant_123"

end_call_enabledboolean

Whether the end call is enabled

provider'11labs' | 'cartesia'

Provider of the voice

  • 11labs - Elevenlabs
  • cartesia - Cartesia

Response

idinteger
projectinteger

Project that will own the personality. Optional when using a project-scoped API key (it is inferred from the key); required otherwise. Example: 1

namestring required

Name of the personality Example: "Customer Service"

promptstring

Prompt of the personality Example: "You are a friendly and helpful customer service agent who is always willing to help"

language'af' | 'ar' | 'bn' | 'bg' | 'zh' | 'cs' | 'da' | 'nl' | 'en' | 'et' | 'fi' | 'fr' | 'de' | 'el' | 'gu' | 'hi' | 'he' | 'hu' | 'id' | 'it' | 'ja' | 'kn' | 'kk' | 'ko' | 'ms' | 'ml' | 'mr' | 'multi' | 'no' | 'pl' | 'pa' | 'pt' | 'ro' | 'ru' | 'sk' | 'es' | 'sv' | 'th' | 'tr' | 'tl' | 'ta' | 'te' | 'uk' | 'uz' | 'vi'

Language of the personality

  • af - Afrikaans
  • ar - Arabic
  • bn - Bengali
  • bg - Bulgarian
  • zh - Chinese Simplified
  • cs - Czech
  • da - Danish
  • nl - Dutch
  • en - English
  • et - Estonian
  • fi - Finnish
  • fr - French
  • de - German
  • el - Greek
  • gu - Gujarati
  • hi - Hindi
  • he - Hebrew
  • hu - Hungarian
  • id - Indonesian
  • it - Italian
  • ja - Japanese
  • kn - Kannada
  • kk - Kazakh
  • ko - Korean
  • ms - Malay
  • ml - Malayalam
  • mr - Marathi
  • multi - Multilingual
  • no - Norwegian
  • pl - Polish
  • pa - Punjabi
  • pt - Portuguese
  • ro - Romanian
  • ru - Russian
  • sk - Slovak
  • es - Spanish
  • sv - Swedish
  • th - Thai
  • tr - Turkish
  • tl - Tagalog
  • ta - Tamil
  • te - Telugu
  • uk - Ukrainian
  • uz - Uzbek
  • vi - Vietnamese
accentstring

Read-only label describing the accent of this personality's voice, as reported by the voice provider. It is derived from voice_id and cannot be set directly: speech is synthesised from voice_id alone, so changing the accent of a personality means choosing a different voice. Empty when the provider publishes no accent for the voice.

background_noisestring required

Background noise

voice_modelstring required

Voice model name

voice_idstring

Voice ID Example: "TX3LPaxmHKxFdv7VOQHJ"

interruption_levelstring

Interruption level

speednumber

Speed of the voice

start_speaking_plannumber

Wait seconds before the bot starts speaking (float >= 0). Ignored if interruption_level is also set in the same request (preset takes precedence). Example: 0.7

voice_volumestring nullable

Speech volume of the testing agent (0.01 to 2.0, default 1.0). Works on every voice provider — it is amplitude scaling applied after synthesis, so it reaches far quieter levels than generation_config.volume, which is a Cartesia-native parameter limited to Cartesia's own 0.5-2.0. Setting this clears any generation_config.volume so the ratio is never applied twice. Send null to remove it. Example: 0.05 for a barely-audible caller.

effective_voice_volumestring

Read-only. The volume the call will actually play at: voice_volume if set, else a legacy generation_config.volume, else 1.0. Use this to populate a volume control.

patronus_settingsunknown
provider_agent_idstring

Provider agent ID Example: "assistant_123"

end_call_enabledboolean

Whether the end call is enabled

provider'11labs' | 'cartesia'

Provider of the voice

  • 11labs - Elevenlabs
  • cartesia - Cartesia

Changes