---
title: "The plan: one page for each search intent"
method: GET
path: "/apps/{id}/plan"
tags: ["Plan"]
---

# The plan: one page for each search intent

`GET /apps/{id}/plan`

## Request

- Base URL: `https://pagefully.com/api/v1`
- URL: `https://pagefully.com/api/v1/apps/{id}/plan`
- Auth: HTTP bearer

## Path parameters

- `id` string, uuid, required

## Query parameters

- `locale` string

## Response `200`

The intents in build order.

- object
  - `locale` string, required
  - `intents` Intent[], required
    - `id` string, uuid, required
    - `name` string, required
    - `kind` string, required: problem, feature, competitor or channel.
    - `message` string, required: What the page says to the person searching: why it is in the plan.
    - `on` boolean, required: A page is wanted for it.
    - `keywords` object[], required: Keywords from the app's keyword field that the page claims.
      - `keyword` string, required
      - `fit` number, nullable, required: How well it belongs on this page, 0 to 1. Null when a person placed it.
    - `targets` string[], required: What a page with no keyword from the field is written for.
    - `volume_estimate` number, required
    - `source` string, required: generated or user.
    - `position` integer, required: Lower is built first.
    - `page_id` string, uuid, nullable, required: Its page, once one is made.
  - `job_id` string, uuid, nullable, required: The job building the plan, if one is.

## Other responses

- `401`: No token, or one that is not valid or has been revoked.
- `404`: Not found on this workspace.
- `429`: Too many calls: 120 requests a minute for a token, and 20 generation starts an hour. `retry_after` is seconds.

---

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