Appearance
List campaigns
Returns campaigns as virtual aggregations over ad documents grouped by platform campaign ID. Metrics (spend, impressions, clicks, etc.) are summed across all ads in each campaign. Campaign status is derived from child ad statuses (active > pending_review > paused > error > completed > cancelled > rejected).
GET /v1/ads/campaigns
Returns campaigns as virtual aggregations over ad documents grouped by platform campaign ID. Metrics (spend, impressions, clicks, etc.) are summed across all ads in each campaign. Campaign status is derived from child ad statuses (active > pending_review > paused > error > completed > cancelled > rejected).
Parameters
None(query, any)limit(query, integer)source(query, string) —all(default) returns both Zernio-created ads and those discovered from the platform's ad manager — matches the web UI's default view. Passzernioto restrict to isExternal=false only. Status is NOT filtered by default — use thestatusparam fo...platform(query, string)status(query, any) — Filter by derived campaign status (post-aggregation)adAccountId(query, string) — Platform ad account ID (e.g. act_123 for Meta)accountId(query, string) — Social account IDprofileId(query, string) — Profile ID
Responses
200 — Paginated campaigns
campaigns(array)pagination($ref)
401
403 — Ads access required. Legacy plans need the Ads add-on; included by default on usage-based plans.