---
title: "Revise Article From Notes"
method: POST
path: "/api/mcp/revise_article_from_notes"
tags: ["mcp"]
---

# Revise Article From Notes

`POST /api/mcp/revise_article_from_notes`

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

Apply open article notes and produce the next draft revision.

Open review notes are the highest-priority edit contract and override
stale original request constraints. If a note says to replace
title/deck/body exactly and supplies Title:, Deck:, and Body: sections,
the replacement is applied deterministically without a server LLM call.

Default server mode uses the server article revision writer. Client
mode (`authoring_mode="client"` or `server_llm=false`) returns a
no-server-LLM revision brief; call this same tool again with
`base_text_hash` and revised Markdown `text` to commit.

## Request body

- ReviseArticleFromNotesInput
  - `job_id` string, required: The story job ID.
  - `note_ids` string[], nullable: Optional specific open note ids to apply. Omit to apply all open notes.
  - `authoring_mode` 'server' | 'client', nullable: Set to 'client' to return a no-server-LLM revision brief, or to commit client-authored revised Markdown when text is supplied.
  - `server_llm` boolean, nullable: Set false as an alias for authoring_mode='client'. Do not send model in this mode.
  - `base_text_hash` string, nullable: Hash returned by the client revision brief; required when submitting client-authored text.
  - `text` string, nullable: Client-authored revised full article Markdown to commit in client mode.
  - `client_name` string: Client identity for no-LLM provenance.
  - `client_model` string, nullable: Client-side model name for no-LLM provenance. Never used for server API calls.
  - `artifact_version` string: Version label for submitted client article revisions.

## 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)
