---
title: "Approve a plan item into a post"
method: POST
path: "/api/v1/plans/items/{item_id}/approve"
tags: ["plans"]
---

# Approve a plan item into a post

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

## 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}/approve`
- Auth: HTTP bearer

## Path parameters

- `item_id` string, required

## Request body

- PlanItemApproveRequest: When the post goes out. Nothing set = the planner's slot (rolled forward if it has passed); `asap` = a few minutes from now; a `scheduled_for` = exactly then.
  - `scheduled_for` string, date-time, nullable
  - `asap` boolean
  - `as_draft` boolean

## Response `200`

Successful Response

- ApproveItemResponse
  - `status` string, required
  - `item_id` string, required
  - `post_id` string, required
  - `variant_ids` string[]
  - `scheduled` integer

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