---
title: "Add reviewed titles to the content calendar: the ones plan_content returned with a runId. Pass the rejected ones in `discarded` so their keywords go back to Content Ideas."
method: POST
path: "/api/v1/content/plan/commit"
---

# Add reviewed titles to the content calendar: the ones plan_content returned with a runId. Pass the rejected ones in \`discarded\` so their keywords go back to Content Ideas.

`POST /api/v1/content/plan/commit`

## Request

- Base URL: `https://api.rctrl.com`
- URL: `https://api.rctrl.com/api/v1/content/plan/commit`
- Auth: HTTP bearer

Requires the `write:content` scope.

## Request body

- object
  - `runId` string: The runId plan_content returned with these titles
  - `titles` object[], required: Titles to schedule
    - `title` string, required: Title from plan_content
    - `targetKeyword` string: Target keyword from plan_content
    - `searchVolume` number: Search volume from plan_content
    - `keywordDifficulty` number: Keyword difficulty from plan_content
    - `searchIntent` string: Search intent from plan_content
  - `discarded` object[]: Rejected candidates
    - `title` string, required: Title from plan_content
    - `targetKeyword` string: Target keyword from plan_content
    - `searchVolume` number: Search volume from plan_content
    - `keywordDifficulty` number: Keyword difficulty from plan_content
    - `searchIntent` string: Search intent from plan_content

## Response `200`

Success; the payload is wrapped in a data envelope

- object
  - `data` unknown

## Other responses

- `400`: Bad input
- `401`: Missing or invalid API key
- `403`: API key lacks the required scope
- `404`: Not found in this workspace
- `429`: Rate limited; the body includes a retryAfterMs hint

---

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