---
title: "Step one: what would be sent, and a confirmation token"
method: POST
path: "/pages/publish"
tags: ["Publish"]
---

# Step one: what would be sent, and a confirmation token

`POST /pages/publish`

## Request

- Base URL: `https://pagefully.com/api/v1`
- URL: `https://pagefully.com/api/v1/pages/publish`
- Auth: HTTP bearer

Sends nothing. Answers with exactly what would be made in App Store Connect and a `confirmation_token` good for 10 minutes and one use. Only pages that are approved and clear of pre-flight failures are in it; the rest are listed in `will_not_send`. All the pages must be of one app, and the app needs an App Store Connect key. Show the summary and each `preview_url` to a person before confirming.

## Request body

- object
  - `page_ids` string[], required: 1 to 70 page ids of one app.

## Response `200`

The summary and the token.

- PublishSummary
  - `confirmation_token` string, required
  - `expires_at` string, date-time, required
  - `expires_in_minutes` integer, required
  - `app_id` string, uuid, required
  - `will_send` object[], required
    - `id` string, uuid, required
    - `name` string, required
    - `revision` boolean, required: Apple has held this page before: sending it uses one of the plan's revisions for it.
    - `adds_language` boolean, required
    - `promo_text` string, required
    - `keywords` string[], required
    - `screenshots` object[], required
      - `position` integer, required
      - `headline` string, required
      - `subline` string, required
    - `devices` string[], required
    - `preflight_warnings` integer, required
    - `preview_url` string, required
  - `will_not_send` object[], required
    - `id` string, uuid, required
    - `reason` string, required
  - `what_happens` string[], required
  - `next` string, required

## Other responses

- `400`: The request could not be read: a body that is not a JSON object, or a field missing or of the wrong kind.
- `401`: No token, or one that is not valid or has been revoked.
- `402`: A plan's limit stopped the call. `error.code` is `upgrade_required`, `error.message` states the facts, and `error.upgrade.url` is the app's plan screen.
- `403`: The token's scope does not allow this call.
- `404`: Not found on this workspace.
- `409`: `key_required`: the app has no App Store Connect key.
- `422`: Understood, and refused by the product. The message says why, in a sentence that can be shown as it is.
- `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)
