Skip to main content
POST
/
v1
/
library
/
personas
Add a persona to the global library (Feather staff only)
curl --request POST \
  --url https://api-sandbox.featherhq.com/v1/library/personas \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "name": "<string>",
  "body": "<string>",
  "description": "<string>",
  "traits": {},
  "behavior_config": {
    "first_speaker": "agent",
    "cut_in": {
      "min_words": 3,
      "min_duration_ms": 300,
      "backoff_ms": 1000
    },
    "language": "<string>",
    "background_noise": "none",
    "background_noise_volume": 0.3,
    "wait_seconds": 0,
    "yield_on_overlap": {
      "after_words": 2,
      "after_seconds": 0.5
    },
    "interruption_mode": "off",
    "backchannel_style": "neutral",
    "backchannel_overrides": [
      "<string>"
    ],
    "reaction_pause_ms_min": 200,
    "reaction_pause_ms_max": 500
  },
  "tags": [
    "<string>"
  ]
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "name": "<string>",
  "description": "<string>",
  "body": "<string>",
  "traits": {},
  "behavior_config": {
    "first_speaker": "agent",
    "cut_in": {
      "min_words": 3,
      "min_duration_ms": 300,
      "backoff_ms": 1000
    },
    "language": "<string>",
    "background_noise": "none",
    "background_noise_volume": 0.3,
    "wait_seconds": 0,
    "yield_on_overlap": {
      "after_words": 2,
      "after_seconds": 0.5
    },
    "interruption_mode": "off",
    "backchannel_style": "neutral",
    "backchannel_overrides": [
      "<string>"
    ],
    "reaction_pause_ms_min": 200,
    "reaction_pause_ms_max": 500
  },
  "tags": [
    "<string>"
  ],
  "created_by": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z"
}

Authorizations

x-api-key
string
header
required

Body

application/json

Create a library persona (Feather-staff only at the router layer).

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

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).

tags
string[]
Maximum array length: 20

Response

Successful Response

Library persona payload returned by /v1/library/personas routes.

id
string<uuid>
required
name
string
required
description
string | null
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).

tags
string[]
required
created_by
string | null
required
created_at
string<date-time>
required
updated_at
string<date-time>
required