REST API · Creatives
List platform templates
TikTok / Snapchat: the Quick Bulk Edit templates saved in the app, for a launch plan
GEThttps://api.apogee.ad/api/v1/ad-accounts/{acc}/platform-templates
What it does
The templates saved in the Apogee app ("Save as template" in the TikTok ad group / Snapchat ad squad and ad params) for this ad account. level adgroup = an ad group's / ad squad's settings, ad = an ad's. A launch plan uses one as its base: tiktok.adgroup_template_id / tiktok.ad_template_id, snapchat.adsquad_template_id / snapchat.ad_template_id.
Request
GET /ad-accounts/{acc}/platform-templates on https://api.apogee.ad/api/v1.
Path parameters
-
accstring path requiredTikTok advertiser id or Snapchat ad account id (GET /ad-accounts?platform=…)
Query parameters
-
platformstring query required -
levelstring query required
Headers
-
Authorizationstring header requiredBearer apk_…: an API key with the scope of this route.
Response
200.
-
templatesarray of objectsFields of each item (4)
-
idstring or null -
namestring or null -
updated_atstring or null -
paramsobjectThe drawer's params as the app saved them
-
-
platformstring -
levelstring -
availablebooleanfalse: templates are not set up on this server
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 |
| 502 Bad gateway | drive_error, launch_failed, meta_error, platform_error, upstream_error |
Example
With your key in APOGEE_API_KEY (create one):
curl 'https://api.apogee.ad/api/v1/ad-accounts/7000000000000000001/platform-templates?platform=tiktok&level=adgroup' \
-H "Authorization: Bearer $APOGEE_API_KEY" {
"platform": "tiktok",
"level": "adgroup",
"available": false,
"templates": [
{
"id": "120200000000000001",
"name": "Nordlicht | Spring launch",
"updated_at": "2026-10-23T09:00:00.000Z",
"params": {}
}
]
} 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. |
In the MCP
An AI assistant does the same with this tool of the MCP server:
list_platform_templates: TikTok and Snapchat: the Quick Bulk Edit templates saved in the Apogee app ("Save as template" in the ad group / ad squad and ad params), per ad account.level: "adgroup": an ad group's (TikTok) or an ad squad's (Snapchat) settings;level: "ad": an ad's (TikTok account, texts, URL, call to action…).prepare_launchuses one as its base:tiktok.adgroup_template_id/tiktok.ad_template_id,snapchat.adsquad_template_id/snapchat.ad_template_id. Saving and deleting templates stay in the app.
Related operations
- Create import:
POST /imports - Get import:
GET /imports/{id} - List drive folder:
GET /drive-folders - Create uploads:
POST /uploads - Confirm uploads:
POST /uploads/confirm - List TikTok posts:
GET /ad-accounts/{acc}/tiktok-posts - List TikTok music:
GET /ad-accounts/{acc}/tiktok-music