---
title: "Make the approved ideas"
method: POST
path: "/content-plans/{id}/approve"
---

# Make the approved ideas

`POST /content-plans/{id}/approve`

## Request

- Base URL: `https://clypmint.com/api/v1`
- URL: `https://clypmint.com/api/v1/content-plans/{id}/approve`
- Auth: HTTP bearer

Make the videos for a calendar from plan_content: every idea, or the numbers given. Each then posts on its date once it is ready and the accounts are connected, so this needs publishing permission, TikTok/YouTube settings in platform_options when they are named, and the user’s explicit yes. dry_run: true answers the credits and the room left this month, and makes nothing; past the room it answers 402 with how many fit. Cost: About 4 credits per 30-second video. Same as the MCP tool approve_plan.

## Path parameters

- `id` string, required

## Request body

- object
  - `items` integer[]: The idea numbers (n) to make; every idea not removed when left out.
  - `platform_options` object: TikTok and YouTube publishing settings, required when the ideas post there.
    - `TIKTOK` object
      - `privacy` 'SELF_ONLY' | 'PUBLIC_TO_EVERYONE' | 'MUTUAL_FOLLOW_FRIENDS' | 'FOLLOWER_OF_CREATOR', required
      - `disableComments` boolean, required
      - `disableDuet` boolean, required
      - `disableStitch` boolean, required
      - `isAiGenerated` boolean, required
      - `isBrandContent` boolean, required
      - `isOrganicBrandContent` boolean, required
      - `consent` true, required
    - `YOUTUBE` object
      - `privacy` 'PUBLIC' | 'PRIVATE' | 'UNLISTED', required
      - `madeForKids` boolean, required
      - `containsSyntheticMedia` boolean
  - `operation_id` string: A stable ID for this request. Preserve it on retries. Use a new ID only for a deliberate new request.
  - `dry_run` boolean: true: answer the credit cost and make nothing.

## Response `200`

Make the approved ideas

- Result: The tool result, as the MCP tool of the same name returns it.

## Other responses

- `400`: The request is invalid. The message names each field to fix.
- `401`: A valid bearer token (API key or OAuth access token) is required.
- `402`: This account has no allowance left for this, or does not include it. error.checkout_url is where to add it.
- `403`: This needs publishing permission (scope clypmint.publish), or is not open on this account yet.
- `404`: The video, upload, memory or calendar was not found in this account.
- `409`: Busy: an upload or edit is already running, the video changed, or too many upload links are waiting.
- `413`: The request body is too large.
- `422`: Clypmint could not apply it as asked; error.problems names each part.
- `429`: A daily limit was reached (direct edits, caption fixes, upload links).
- `501`: This is not available on Clypmint yet; the message says what to use instead.
- `503`: Clypmint is busy. Try again in a moment.

---

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