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

# Create Campaign Cast Member

`POST /v1/campaigns/{campaign_id}/cast`

## 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`
- Auth: HTTP bearer

## Path parameters

- `campaign_id` string, required

## Headers

- `x-api-key` string, nullable

## Request body

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

## Response `201`

Successful Response

- CastMemberCreateResponse
  - `speaker` CastMemberRead, required
    - `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
  - `deduped` 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)
