Docs menu

REST API · Actions

Confirm action

Run a prepared action, after the user approved what it will do

POSThttps://api.apogee.ad/api/v1/actions/{id}/confirm

Scope: the action's own: actions (launch for create_campaign) Pro and Scale plans Credits: 2 Idempotency-Key required

What it does

An action runs once (409 action_already_ran), within 24 hours (410 action_expired). The answer lists what was created (details: new ids; for a duplicated ad, the method that kept its post).

Request

POST /actions/{id}/confirm on https://api.apogee.ad/api/v1.

Path parameters

  • id string path required

    Action 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 approved this action

    Always true

Response

200.

  • id string
  • done boolean
  • message string
  • type string or null
  • details array of objects

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/actions/120200000000000001/confirm' \
  -H "Authorization: Bearer $APOGEE_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "confirm": true
}'
Response 200 (shape)
{
  "id": "120200000000000001",
  "done": false,
  "type": "120200000000000001",
  "message": "Thanks for your message! Our team answers you in a private message.",
  "details": [
    {}
  ]
}

Access and cost

PlansPro and Scale.
Scopethe action's own: actions (launch for create_campaign) (scopes).
Credits2 credits per change. 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 2 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