---
title: "Wait For Status"
method: POST
path: "/api/mcp/wait_for_status"
tags: ["mcp"]
---

# Wait For Status

`POST /api/mcp/wait_for_status`

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

Block until the job reaches `target`/`until` (or timeout).

Covers story writes, revisions, assets, articles, and chat
operations via `kind`. On timeout returns current status with
timed_out=true — not an error.

## Request body

- WaitForStatusInput
  - `job_id` string, required: The story job ID.
  - `kind` string: Which job family to probe: story | revision | chat_operation | asset | chapter_cover | cover_image | article. `job_id` is the id of that family (story id, asset job id, cover_job_id, operation_id, or article id).
  - `include_debug` boolean: Include noisy revision debug fields when kind=revision.
  - `target` string: Which status to wait for. 'terminal' (default) returns when the job reaches completed/failed/cancelled. 'reviewing' returns as soon as the planner + characterizer finish so callers can edit the outline/cast before writing. 'progress_tick' returns as soon as chapters_done advances OR current_step text changes — use it in a short loop to stream progress to the user during a long generation instead of going silent for minutes. Any other literal status string is matched exactly.
  - `timeout_seconds` number: Maximum seconds to wait before returning. On timeout the current status is returned with timed_out=true — no error.
  - `until` string, nullable: Alias for `target`. Prefer this name in new clients.

## Response `200`

Successful Response

- JobStatusResponse
  - `job_id` string, nullable
  - `kind` string, nullable
  - `id` string, nullable
  - `status` string, nullable
  - `current_step` string, nullable
  - `revision_status` string, nullable
  - `chapters_done` integer, nullable
  - `chapter_count` integer, nullable
  - `is_terminal` boolean, nullable
  - `timed_out` boolean, nullable
  - `requested_timeout_seconds` number, nullable
  - `effective_timeout_seconds` number, nullable
  - `created_at` string, nullable
  - `updated_at` string, nullable
  - `story_url` string, nullable
  - `article_url` string, nullable
  - `result` unknown
  - `error` unknown
  - `progress` unknown
  - `current_segment` unknown
  - `segment_events_tail` unknown[], nullable
    - unknown

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