Docs menu

REST API · Launches

Confirm launch plan

Launch a prepared plan, after the user said yes to its recap

POSThttps://api.apogee.ad/api/v1/launch-plans/{id}/confirm

What it does

A plan launches once (409 plan_already_launched), within 24 hours of being prepared (410 plan_expired). Answers 202 as soon as the launch started: follow it with GET /launches/{launch_id}.

Request

POST /launch-plans/{id}/confirm on https://api.apogee.ad/api/v1.

Path parameters

  • id string path required

    Launch plan id

    1 to 64 characters

    Matches ^[\w-]+$

Headers

  • Authorization string header required

    Bearer apk_…: an API key with the scope of this route.

  • Idempotency-Key string header required

    A unique key per request, e.g. a UUID, reused when you retry it: the first answer comes back instead of a second write (idempotency).

    1 to 255 visible ASCII characters

  • Content-Type string header required

    application/json

Body

  • confirm constant required

    true = the user said yes to the recap

    Always true

Response

202.

  • plan_id string
  • status string

    One of started

  • launch_id string or null

Every answer carries X-Request-Id (give it to support), Apogee-Version: 2026-10-06, and the RateLimit and RateLimit-Policy headers; a replayed answer also carries Idempotent-Replayed: true.

Errors

Errors are application/problem+json with a stable code to switch on (all the codes).

Example

With your key in APOGEE_API_KEY (create one):

Request
curl -X POST 'https://api.apogee.ad/api/v1/launch-plans/120200000000000001/confirm' \
  -H "Authorization: Bearer $APOGEE_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "confirm": true
}'
Response 202 (shape)
{
  "plan_id": "7b0f3c52-4d1e-4c8a-9f61-2a5e8d3c1b90",
  "launch_id": "9a4c1e7d-2f58-4b3a-8e60-1d5b7c9e3f20",
  "status": "started"
}

Access and cost

PlansPro and Scale.
Scopelaunch (scopes).
Credits15 credits per ad created, counted at the end (an ad that failed is free). A request that fails costs nothing, a replayed one neither (credits).
Rate limitConfirmation: 30 per 15 minutes on Pro, 60 on Scale (rate limits).
Meta budgetReads Meta: spends 1 unit of the account's Meta budget (1,800 per 15 minutes, 900 per ad account).
Daily capCounts 10 units toward the 2,000 units one API key can use in 24 hours.

In the MCP

An AI assistant does the same with this tool of the MCP server:

Last updated on . The parameters, limits, credits and error codes of these pages are generated from the code of the Apogee API (contract 2026-10-06).

A question, something missing? Write to hello@apogee.ad.

Book a demo

Pick the time that suits you.

Open in a new tab

Loading the calendar…

Talk to Founder