Skip to main content
PUT
update persona

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string
required

Persona id

Body

application/json

Partial persona update; fields left out keep their values. A new avatarId may reset avatarModel if the avatar doesn't support it, and a new voiceId resets voiceGenerationOptions unless new ones are sent. voiceGenerationOptions sent with the current voiceId are merged into the saved ones (so a key can't be removed that way), sent without voiceId replace them, and null clears them. They must suit the voice's model, or the model override when set.

name
string

Name of the persona

Maximum string length: 191
Example:

"Cara"

description
string

Description of the persona, for example "A helpful assistant". Does not affect the persona's behavior.

avatarId
string

The avatar to use.

Example:

"071b0286-4cce-4808-bee2-e642f1062de3"

avatarModel
enum<string>

Avatar model version. cara-4 is pinned to a stable checkpoint; cara-4-latest tracks the newest Cara 4 checkpoint and may change between sessions. cara-5-latest is an early-access preview that tracks the newest Cara 5 checkpoint; it is available only to organizations that have been granted it, and other organizations get 403.

Available options:
cara-3,
cara-4,
cara-4.1-express,
cara-4-latest,
cara-5-latest
Example:

"cara-4"

voiceId
string

The voice to use.

Example:

"de23e340-1416-4dd8-977d-065a7ca11697"

llmId
string

The LLM to use. To disable the LLM, use 'CUSTOMER_CLIENT_V1'.

Example:

"a7cf662c-2ace-4de1-a21e-ef0fbf144bb7"

systemPrompt
string

System prompt for the LLM

Example:

"You are a helpful assistant"

skipGreeting
boolean

Skip the greeting when a session starts.

Example:

false

uninterruptibleGreeting
boolean

The user can't interrupt the greeting.

Example:

false

initialMessage
string | null

What the persona says first. Empty or left out, it greets in its own words.

Example:

"Hi there! I'm excited to chat with you today."

zeroDataRetention
boolean

When true, session data is not stored after the conversation ends

Example:

false

maxSessionLengthSeconds
integer | null

Longest session with this persona, in seconds; it can only shorten the plan's limit. Send null to remove it.

Required range: 60 <= x <= 7200
Example:

600

voiceDetectionOptions
object | null

Voice detection options. The fields you send are merged into the saved options; null resets them to the defaults.

languageCode
string

Supported ISO 639 language code override (including "yue" for Cantonese) for transcription, replaces organisation level settings and multilingual (default) mode.

Example:

"en"

voiceGenerationOptions
ElevenLabs V1 · object

Configuration options for voice generation. Send null to clear them.

toolIds
string[]

Array of tool IDs to attach to the persona. Replaces any existing tool associations.

Example:
widgetConfig
object

Widget settings to change, merged into the saved ones; fields left out keep their values.

expectedUpdatedAt
string<date-time> | null

The persona's updatedAt from your last read. If the persona has changed since, such as a tool another client attached, the update is refused with 409. Omit it to update unconditionally.

Response

Successfully updated persona

Full persona shape returned by the create, get, and update endpoints.

id
string<uuid>

Unique identifier for the persona.

name
string

Human-readable name of the persona.

description
string | null

Free-form description of the persona.

personaPreset
string
deprecated

Deprecated. Name of the legacy preset an older persona was created from, if any. Presets can no longer be set; use avatarId and voiceId.

avatar
object | null

Avatar currently attached to the persona.

avatarModel
string | null

Public model version (e.g. cara-3, cara-4) used when rendering the avatar.

voice
object | null

Voice currently attached to the persona.

voiceSpeed
number | null

Speech rate multiplier applied to the voice.

llmId
string<uuid> | null

ID of the LLM the persona uses, or null for presets that don't run an LLM.

brain
object

Persona behaviour configuration applied on top of the raw LLM.

tools
object[]

Tool configurations currently attached to the persona.

knowledge
object[]

Knowledge group attachments currently active on the persona.

All share links ever issued for this persona.

The primary share link attached to the persona, if one has been created.

enableAudioPassthrough
boolean

Whether audio is passed through from the client instead of being generated server-side.

skipGreeting
boolean

Whether the persona skips the greeting message at the start of a session.

zeroDataRetention
boolean

Whether session data is discarded instead of stored after the conversation ends.

maxSessionLengthSeconds
integer | null

Maximum length in seconds of every session with this persona, or null when only the plan's session limit applies.

voiceDetectionOptions
object | null

Voice activity detection tuning for user speech.

voiceGenerationOptions
ElevenLabs V1 · object

Provider-specific voice generation tuning.

widgetConfig
object

Widget rendering overrides (e.g. removing the watermark).

createdAt
string<date-time>

Timestamp when the persona was created.

updatedAt
string<date-time>

Timestamp when the persona was last updated.