---
title: "Update Personality"
method: PATCH
path: "/v1/personalities/{personality_id}"
tags: ["Personalities"]
---

# Update Personality

`PATCH /v1/personalities/{personality_id}`

## Path parameters

- `personality_id` string, required

## Headers

- `X-Organization-Id` string
- `X-API-Key` string, required

## Request body

- UpdatePersonalityRequest
  - `language` string, nullable — Language code, e.g. 'en'
  - `accent` string, nullable — Accent, e.g. 'american'
  - `gender` string, nullable — Voice gender; with language and accent this picks the stock voice
  - `background_noise` 'none' | 'office' | 'talking' | 'traffic' | 'cafe' | 'park' | 'tv' | 'noisy_restaurant' | 'hospital' | 'airport' | 'street' | 'subway_station' | 'supermarket' | 'construction' | 'rain' | 'wind' | 'quiet_home' | 'driving' | 'factory' | 'school', nullable
  - `background_noise_volume` number, nullable
  - `custom_background_noise_url` string, nullable
  - `voice_speed` 'slowest' | 'slow' | 'normal' | 'fast' | 'fastest', nullable
  - `audio_quality` 'horrible' | 'low' | 'medium' | 'high', nullable
  - `connection_quality` 'none' | 'low' | 'medium' | 'high', nullable
  - `fluency` 'beginner' | 'intermediate' | 'native', nullable
  - `verbosity` 'low' | 'medium' | 'high', nullable
  - `endpointing_delay` number, nullable
  - `silence_timeout` integer, nullable
  - `temperature` number, nullable
  - `interruption_configs` object, nullable
  - `role_description` string, nullable — Personality: who the caller is and how they come across. Replaces the digital human's own when this personality runs.
  - `name` string, nullable

## Response `200`

Successful Response

- PersonalityPydantic — One named delivery configuration, persisted to `personalities`. Organization-owned rather than tied to a digital human: a simulation selects the personalities it runs against, and every digital human in the run executes each one.
  - `id` string, uuid, nullable
  - `organization_id` string, uuid, required
  - `name` string, required
  - `language` string, nullable
  - `accent` string, nullable
  - `gender` string, nullable
  - `background_noise` string, nullable
  - `background_noise_volume` number, nullable
  - `custom_background_noise_url` string, nullable
  - `voice_speed` string, nullable
  - `audio_quality` string, nullable
  - `connection_quality` string, nullable
  - `fluency` string, nullable
  - `verbosity` string, nullable
  - `endpointing_delay` number, nullable
  - `silence_timeout` integer, nullable
  - `temperature` number, nullable
  - `interruption_configs` object, nullable
  - `role_description` string, nullable
  - `created_by` string, uuid, nullable
  - `created_at` string, date-time, nullable
  - `updated_at` string, date-time, nullable

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-30** `367800ade25a` — 2 info
  - added the new optional request property `role_description`
  - added the optional property `role_description` to the response with the `200` status
- **2026-09-26** `d6cc6baba47c` — 2 info
  - added the new optional request property `connection_quality`
  - added the optional property `connection_quality` to the response with the `200` status
- **2026-09-23** `582b3e7c58b7` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/getbluejay/apis/bluejay-api/changes/v1/personalities/:personality_id/patch.md)

---

[API](https://skmtc.dev/getbluejay/apis/bluejay-api.md) · [All operations](https://skmtc.dev/getbluejay/apis/bluejay-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getbluejay/apis/bluejay-api/revisions/c8f3df63307d?raw)
