---
title: "Retry writing a failed draft"
method: POST
path: "/api/v1/plans/items/{item_id}/render"
tags: ["plans"]
---

# Retry writing a failed draft

`POST /api/v1/plans/items/{item_id}/render`

## Request

- Base URL: `https://api.cadencz.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.cadencz.com/api/v1/plans/items/{item_id}/render`
- Auth: HTTP bearer

Puts a failed plan item back into `rendering` and re-runs the writer in the background — along with any sibling drafts that failed in the same run. The client polls GET /plans/current and watches items leave `rendering`.

## Path parameters

- `item_id` string, required

## Response `200`

Successful Response

- PlanItemRead
  - `id` string, required
  - `theme` string, nullable, required
  - `angle` string, nullable, required
  - `platforms` string[], required
  - `why` string, nullable, required
  - `prompt` string, required
  - `scheduled_for` string, date-time, nullable, required
  - `status` string, required
  - `format` string, nullable
  - `publish_mode` string
  - `content_metadata` object
  - `body_parts` string[]
  - `media_ids` string[]
  - `media` MediaRead[]
    - `id` string, required
    - `kind` string, required
    - `url` string, required
    - `alt_text` string, nullable
    - `width` integer, nullable
    - `height` integer, nullable
    - `bytes` integer, nullable
  - `created_at` string, date-time, nullable

## Other responses

- `401`: Missing or invalid Supabase bearer token.
- `404`: The requested resource was not found.
- `409`: The requested state transition is not allowed.
- `422`: Validation Error

---

[API](https://skmtc.dev/cadencz/apis/cadencz-api.md) · [All operations](https://skmtc.dev/cadencz/apis/cadencz-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cadencz/apis/cadencz-api/revisions/3392fe5e93db?raw)
