Zernio
Zernio
API Reference

Accounts & Ops

Accounts

List ad accountsGETUpdate ad account settingsPATCHAd account financesGET

Activity

Ad account change / audit logGETList comments on an adGET

Business Assets

Businesses listGETList TikTok Business CentersGETAd labelsGETA/B tests and lift studiesGET

Custom Conversions

List custom conversionsGETCreate or reuse a custom conversionPOST

Value Rules

List value rule setsGETCreate a value rule setPOSTRead a value rule setGETReplace a value rule setPUTDelete a value rule setDELETE

Budget Scheduling

High demand periods / budget schedulesGETSchedule a budget increasePOST

DSA Compliance

Get ad account DSA defaultsGETList DSA beneficiary/payor suggestionsGET

Other

Add account-level callout extensionsPOSTList account-level callout extensionsGETRemove an account-level callout extensionDELETE
Dashboard
llms.txtOpenAPI
OverviewPlatformsAPI ReferenceResources
Accounts & Ops

Businesses list

Business Manager portfolios the connected Meta user belongs to (Meta's /me/businesses), rows returned verbatim (id, name, verification_status, created_time). Token-scoped, so no adAccountId is needed. For TikTok Business Centers use GET /v1/ads/business-centers.


PlatformsMeta
GET
/v1/ads/businesses

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication - use your Zernio API key as a Bearer token

In: header

Query Parameters

accountId*string

Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.

limit?integer

Rows per page

Range1 <= value <= 100
Default25
after?string

Cursor from paging.after of the previous page.

Response Body

application/json

application/json

{  "data": [    {}  ],  "paging": {    "after": "string"  }}
Was this page helpful?

List comments on an ad

Returns comments on an ad's underlying creative post. Useful for moderating or analyzing engagement on dark posts (ad creatives that never went live organically), which the regular GET /v1/inbox/comments/{postId} endpoint cannot serve because dark posts are not in Zernio's post database. An ad that runs on both Facebook feed and Instagram feed has two separate underlying posts with separate comment threads (the creative's effective_object_story_id and effective_instagram_media_id). Use the `placement` query param to pick one; with no param the Instagram side is returned when it exists, otherwise Facebook. The identifiers are read from the ad record (persisted during sync) with a Marketing-API fallback for ads that predate the field. For Instagram-placed comments, the Instagram account that runs the ad must be connected to Zernio — those comments are read through that account's token. If no connected Instagram account on the profile can read the ad's media, the call returns ads_connection_required (the Facebook side, if any, is still readable via ?placement=facebook). Meta-only for now. Other ad platforms (TikTok, LinkedIn, Pinterest, Google, X) are not wired to this endpoint and return feature_not_available. Requires the Ads add-on. Response shape matches GET /v1/inbox/comments/{postId}. The `{adId}` path segment accepts any identifier dialect Zernio indexes for the ad: Zernio internal `_id` (24-char hex), Meta's numeric `platformAdId` (the value shipped in `comment.received` webhooks as `comment.ad.id`), or the creative's `effective_object_story_id` / `effective_instagram_media_id`. Caller doesn't need a translation step.

List TikTok Business Centers

Returns the TikTok Business Centers (BCs) the connected `tiktokads` account can read. Each BC reports its advertiser count so callers can build agency-style pickers without re-walking `/v1/ads/accounts` per BC. TikTok-only. Solo advertisers (non-agency tokens) return an empty array.