---
title: "Get Story"
method: POST
path: "/api/mcp/get_story"
tags: ["mcp"]
---

# Get Story

`POST /api/mcp/get_story`

## 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/get_story`
- Auth: none declared

Fetch the full story artifact — plan, cast, chapter prose, revisions.

Safe to call in any state, but the heavy payload only becomes
useful once status is 'reviewing' (outline + cast populated) or
'completed' (all chapters written). During 'pending' / 'in_progress'
most fields are empty — prefer get_job_status for cheap polling.

## Request body

- GetStoryInput
  - `job_id` string, required: The story job ID.
  - `version` integer: DEPRECATED — stories no longer have a version axis. Ignored; accepted for back-compat.
  - `chapter` integer, nullable: If provided, only that chapter's text is returned; other chapters come back with text='' so the UI can render the chapter list but pay the network/DB cost only for what's shown. Omit to get full text for every chapter (legacy behavior).
  - `revision` integer, nullable: Fetch text from a specific revision of `chapter` (requires `chapter` to be set). Lets callers compare prior revisions inline without a separate get_chapter_text call. Omit for the latest revision (default).
  - `mode` string: 'editor' (default) returns the full artifact — plan, cast, ledgers, chapters. 'reader' returns only title, synopsis, chapters[].text|title|word_count, total_word_count, story_url — the minimum for a chat client to present the prose to a user without wading through editor metadata. 'metadata' returns status, chapter counts, word counts, plan metadata, generation params, and progress-log tail without chapter prose.
  - `siblings` boolean: When `chapter` is set, controls whether the other chapters come back with metadata (summary, revisions[]). Default true for UI compatibility. Set false to strip non-requested chapters entirely — cheapest get_story possible.

## Response `200`

Successful Response

- GetStoryResponse
  - `job_id` string, nullable
  - `status` string, nullable
  - `story_url` string, nullable
  - `title` string, nullable
  - `premise` string, nullable
  - `plan` object, nullable
  - `chapters` object[], 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)
