REST API · Launches
Get launch
Where a launch is: processing, completed, failed or interrupted (a deploy cut it: check Ads Manager)
GEThttps://api.apogee.ad/api/v1/launches/{id}
Request
GET /launches/{id} on https://api.apogee.ad/api/v1.
Path parameters
-
idstring path requiredLaunch id
Headers
-
Authorizationstring header requiredBearer apk_…: an API key with the scope of this route.
Response
200.
-
finishedboolean -
statusstring -
idstring or null -
plan_idstring or null -
filesobjectFields (3)
-
totalnumber or null -
completednumber or null -
failednumber or null
-
-
resultobject or nullFields (5)
-
successboolean -
summaryobject -
adsetsarray of objectsFields of each item (2)
-
idstring or null -
namestring or null
-
-
ads_okarray of strings -
errorsany
-
-
interrupted_atstring or null -
notestring or null -
errorstring or null
Every answer carries X-Request-Id (give it to support), Apogee-Version: 2026-10-06, and the RateLimit and RateLimit-Policy headers.
Errors
Errors are application/problem+json with a stable code to switch on (all the codes).
| Status | Possible codes |
|---|---|
| 400 Bad request | idempotency_key_required, not_supported, request_refused, validation_failed |
| 401 Unauthorized | invalid_api_key |
| 403 Forbidden | account_not_connected, forbidden, insufficient_scope, meta_permission_denied, platform_permission_denied, upgrade_required |
| 404 Not found | not_found |
| 429 Too many requests | daily_read_cap, meta_rate_limited, platform_rate_limited, quota_exceeded, rate_limited |
| 500 Internal server error | internal_error |
Example
With your key in APOGEE_API_KEY (create one):
curl 'https://api.apogee.ad/api/v1/launches/120200000000000001' \
-H "Authorization: Bearer $APOGEE_API_KEY" {
"id": "120200000000000001",
"plan_id": "7b0f3c52-4d1e-4c8a-9f61-2a5e8d3c1b90",
"finished": false,
"status": "not launched",
"files": {
"total": 3,
"completed": 3,
"failed": 0
},
"result": {
"success": false,
"summary": {},
"adsets": [
{
"id": "120200000000000001",
"name": "Nordlicht | Spring launch"
}
],
"ads_ok": [
"120200000000000001"
],
"errors": "120200000000000001"
},
"interrupted_at": "2026-10-23T09:00:00.000Z",
"note": "Example text",
"error": "120200000000000001"
} Access and cost
| Plans | Pro and Scale. |
|---|---|
| Scope | read (scopes). |
| Credits | Free up to the daily free reads (5,000 a day on Pro, 10,000 on Scale), then 1 credit per read. A request that fails costs nothing, a replayed one neither (credits). |
| Rate limit | Read: 600 per 15 minutes on Pro, 1,200 on Scale (rate limits). |
| Daily cap | Counts 1 unit toward the 2,000 units one API key can use in 24 hours. |
Related operations
- Get launch questions:
POST /ad-accounts/{acc}/launch-questions - Create launch plan:
POST /launch-plans - Get launch plan:
GET /launch-plans/{id} - Confirm launch plan:
POST /launch-plans/{id}/confirm - Get launch plan status:
GET /launch-plans/{id}/status - List launches:
GET /launches