List message campaigns in an ad account
Message (CTM) campaigns in one ad account, fetched live from Meta and cursor-paginated. Echo a response's `nextCursor` back as `after` for the next page. Returns `400` if the org is not connected to Meta Ads.
/ad-accounts/{adAccountId}/campaignsAuthorization
x-api-key x-date x-signature Your API key (the ApiKeys document id).
In: header
Current timestamp in ISO-8601 (must be fresh — within −5s..+60s of server time).
In: header
HMAC-SHA256 of the x-date string keyed by your secret, lowercase hex.
In: header
Path Parameters
The Meta ad account id.
Query Parameters
Opaque Meta page cursor — a previous response's nextCursor.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/ad-accounts/string/campaigns"{ "items": [ { "campaignId": "string", "name": "string", "status": "string", "createdTime": "string", "adId": "string", "adName": "string", "pixelId": "string", "adset": { "id": "string", "name": "string", "lifetimeBudget": "string", "dailyBudget": "string", "startTime": "string", "endTime": "string" }, "insights": {} } ], "returned": 0, "mayHaveMore": true, "nextCursor": "string"}{ "message": "string"}{ "message": "string"}{ "message": "string"}{ "error": [ { "message": "string", "path": [ "string" ], "type": "string", "context": {} } ]}List broadcasts / marketing messages
List a workspace's broadcasts (metadata only — insight numbers live on the details endpoint). `isMM` selects the family and is **required**: `false` = organic re-engagement broadcasts, `true` = Meta (paid) marketing messages. Optional `type` and `includeArchived` filters; newest first. `workspaceId` is **required**.
List Meta ad accounts
The org's connected Meta ad accounts, fetched live from the Meta Graph API using the org's system-user token. Returns `400` if the org is not connected to Meta Ads.