---
title: "Patch Campaign Cast Member"
method: PATCH
path: "/v1/campaigns/{campaign_id}/cast/{speaker_id}"
tags: ["campaigns", "developer-api", "product-api"]
---

# Patch Campaign Cast Member

`PATCH /v1/campaigns/{campaign_id}/cast/{speaker_id}`

## Request

- Base URL: `https://api.myarchivist.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.myarchivist.ai/v1/campaigns/{campaign_id}/cast/{speaker_id}`
- Auth: HTTP bearer

## Path parameters

- `campaign_id` string, required
- `speaker_id` string, required

## Headers

- `x-api-key` string, nullable

## Request body

- CastMemberUpdate
  - `name` string, nullable
  - `handle` string, nullable
  - `roles` string[], nullable
  - `character_name` string, nullable
  - `character_type` 'PC' | 'NPC'
  - `character_ids` string[], nullable
  - `user_id` string, nullable
  - `default` boolean, nullable

## Response `200`

Successful Response

- CastMemberRead
  - `id` string, required
  - `world_id` string, required
  - `name` string, nullable
  - `handle` string, nullable
  - `roles` string[]
  - `default` boolean
  - `user_id` string, nullable
  - `characters` CastCharacterSummary[]
    - `id` string, required
    - `character_name` string, required
    - `type` string, required
    - `character_aliases` string[]
  - `user` CastUserSummary
    - `id` string, required
    - `name` string, nullable
    - `email` string, nullable
    - `picture` string, nullable
    - `given_name` string, nullable
    - `family_name` string, nullable
    - `discord_username` string, nullable
  - `has_voice_sample` boolean

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/myarchivist/apis/archivist-public-api.md) · [All operations](https://skmtc.dev/myarchivist/apis/archivist-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/myarchivist/apis/archivist-public-api/revisions/3ea6ca7efc56?raw)
