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

Update ad account settings

Sets the default DSA beneficiary and payor on a Meta ad account (EU DSA, Article 26). Set them once and every EU-targeted call to /v1/ads/create, /v1/ads/boost and /v1/ads/ctwa on that ad account can omit dsaBeneficiary/dsaPayor: Meta applies the defaults automatically.

The values are written to the ad account on Meta, the same setting Ads Manager edits. Nothing is stored in Zernio, and defaults already set in Ads Manager work identically. Zernio never guesses these values for you. Beneficiary and payor are legal disclosures shown to EU users, so you must provide the entity names explicitly. Use GET /v1/ads/dsa-recommendations to offer suggestions in your UI.

If defaultDsaPayor is omitted, the beneficiary is also set as the payor, which covers the common case where the same entity benefits from and pays for the ads. Read the current values back with GET /v1/ads/dsa-defaults.

Currently supported for Meta accounts only; other platforms return 400.


PlatformsMeta
PATCH
/v1/ads/accounts

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

{  "adAccountId": "string",  "dsaDefaults": {    "beneficiary": "string",    "payor": "string"  }}
Was this page helpful?

List ad accounts

Returns the platform ad accounts available for the given social account (e.g. Meta ad accounts, TikTok advertiser IDs, Google Ads customer IDs). For TikTok agencies: enumerates every advertiser under every Business Center the token can read (paginated server-side), then chunks the lookup against TikTok's `/advertiser/info/` endpoint (which has a per-call cap of ≤100 IDs). Solo advertisers without a BC fall back to the OAuth-time `advertiser_ids` list. Cached for 1h on the SocialAccount; lazy-refreshed on first call after expiry. For Google Ads: responds `429` when Google's API quota is temporarily exhausted (instead of an empty list). Retry after a delay.

Ad account finances

Finances of one Meta ad account: prepaid `balance`, lifetime `amountSpent`, account `spendCap` (null = no cap) and the `fundingSource`. Money values are converted from Meta's minor units to whole units of `currency`.

accountId*string

Social account ID (metaads, or a facebook/instagram posting account)

adAccountId*string

Meta ad account ID (act_...)

defaultDsaBeneficiary*string

Legal entity benefiting from ads on this ad account

Lengthlength <= 100
defaultDsaPayor?string

Legal entity paying for ads on this ad account. Defaults to defaultDsaBeneficiary when omitted.

Lengthlength <= 100