brand object containing domain + optional brand_id, resolved via /.well-known/brand.json.
sync_accounts is used across all seller protocols: media buy agents, signals agents, governance agents, and creative agents. It declares the buyer’s intent — the seller provisions or links accounts internally. For implicit accounts (require_operator_auth: false), use natural keys (brand + operator) on subsequent requests. For explicit accounts (require_operator_auth: true), discover seller-assigned account IDs via list_accounts. For sandbox on implicit accounts, include sandbox: true in the account entry — the seller provisions a test account with no real spend. For explicit accounts, sandbox accounts are pre-existing test accounts discovered via list_accounts.
Response Time: ~1s. Account provisioning is synchronous; credit and legal review may require human action (indicated by status: "pending_approval" with a setup.url).
Request Schema: /schemas/3.0.19/account/sync-accounts-request.json
Response Schema: /schemas/3.0.19/account/sync-accounts-response.json
Quick start
Sync a single advertiser account and check the resulting status:Request parameters
Account entry fields:
Natural key: The tuple
(brand, operator, sandbox) uniquely identifies an account relationship. {brand: {domain: "acme-corp.com"}, operator: "acme-corp.com"} (direct) is a different account from {brand: {domain: "acme-corp.com"}, operator: "pinnacle-media.com"} (via agency). Adding sandbox: true provisions a sandbox account for the same brand/operator pair — no real platform calls or billing.
Response
Success response: Returns anaccounts array with per-account results. Individual accounts may be pending, rejected, or failed even when the operation succeeds.
Error response:
errors— Array of operation-level errors (auth failure, service unavailable). Noaccountsarray is present.
accounts OR errors, never both.
Per-account fields:
Account status
Async notifications
Whenpush_notification_config is provided and the seller returns pending_approval, the seller sends a webhook notification when the account status changes (e.g., approved → active, declined → rejected).
The notification payload includes the (brand, operator) natural key so the buyer can correlate it to the original sync request. For explicit accounts (require_operator_auth: true), the notification also includes the seller-assigned account_id once provisioned.
push_notification_config, poll list_accounts to check for status changes.
Common scenarios
Agency syncing multiple brands
Direct brand purchase
Handling rejection
When a seller declines a request, the account entry hasstatus: "rejected":
Error handling
Next steps
- list_accounts — Poll for status changes on pending accounts
- sync_governance — Sync governance agents to accounts
- Accounts and agents — Billing models, trust models, and authorized operators
- Brand protocol — How seller agents resolve brand identity from the
brand.domain - get_adcp_capabilities — Discover
supported_billingandrequire_operator_authbefore syncing accounts