---
title: "Update Characters"
method: POST
path: "/api/mcp/update_characters"
tags: ["mcp"]
---

# Update Characters

`POST /api/mcp/update_characters`

## Request

- Base URL: `https://writer.swapp1990.org` (the document declares no server; this is the origin it was published from)
- URL: `https://writer.swapp1990.org/api/mcp/update_characters`
- Auth: none declared

Low-level direct replacement of the character list. Prefer
refine_characters(apply=true) for conversational edits —
update_characters is for programmatic / fully-formed cast dicts.

Valid in any state. Edits made after writing has started apply to
future revisions only — already-written chapter text is not retouched.

## Request body

- UpdateCharactersInput
  - `job_id` string, required: The story job ID.
  - `characters` object[], required: Full replacement character list.

## Response `200`

Successful Response

- GenericToolResponse: Fallback for tools whose payload is still being tightened.
  - `story_url` string, nullable
  - `article_url` string, nullable
  - `job_id` string, nullable
  - `status` string, nullable
  - `is_terminal` boolean, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/swapp1990/apis/writeforyou-mcp-api.md) · [All operations](https://skmtc.dev/swapp1990/apis/writeforyou-mcp-api/llms.txt) · [OpenAPI document](https://skmtc.dev/swapp1990/apis/writeforyou-mcp-api/revisions/ce5e2a89ab4d?raw)
