Skip to main content
PUT
Update a persona

Authorizations

x-api-key
string
header
required

Path Parameters

persona_id
string<uuid>
required

Body

application/json

Partial update of a persona — only supplied fields change. behavior_config, when supplied, fully replaces the existing config (no deep merge).

Explicit null is rejected for non-nullable columns (name, body, is_active, traits, behavior_config) — omit the field instead. description is the only nullable column, so it accepts null as a clear-the-column signal. This mirrors the voice-config update API and prevents client bugs ("forgot to fill in name") from looking like successful no-ops.

name
string | null
Required string length: 1 - 255
description
string | null
is_active
boolean | null
body
string | null
Minimum string length: 1
traits
Traits · object | null
behavior_config
PersonaBehaviorConfig · object | null

Advanced simulation knobs attached to a persona. Stored as JSONB on personas.behavior_config; per-run overrides will reuse this shape on SimulationRun (ENG-474).

Response

Successful Response

id
string<uuid>
required
organization_id
string<uuid>
required
name
string
required
description
string | null
required
is_active
boolean
required
body
string
required
traits
Traits · object
required
behavior_config
PersonaBehaviorConfig · object
required

Advanced simulation knobs attached to a persona. Stored as JSONB on personas.behavior_config; per-run overrides will reuse this shape on SimulationRun (ENG-474).

created_by
string | null
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
cloned_from_id
string<uuid> | null