---
title: "Plan articles that link to one of the person's product or service pages: the action item's \"Plan 3 articles that link here\". Up to 3 articles about the page's main search, in the formats the workspace has on, each asked to link to the page once; they go on the calendar as planned articles. Defaults to a DRY RUN. When the person asked for this, call it with confirm=true. Item ids come from get_insights."
method: POST
path: "/api/v1/opportunities/plan"
---

# Plan articles that link to one of the person's product or service pages: the action item's "Plan 3 articles that link here". Up to 3 articles about the page's main search, in the formats the workspace has on, each asked to link to the page once; they go on the calendar as planned articles. Defaults to a DRY RUN. When the person asked for this, call it with confirm=true. Item ids come from get_insights.

`POST /api/v1/opportunities/plan`

## Request

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

Requires the `write:content` scope.

## Request body

- object
  - `itemId` string, required: Item id from get_insights
  - `confirm` boolean: Set true to put the articles on the calendar (default: dry run)

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