@adcp/sdk API Reference - v7.9.0
    Preparing search index...

    Interface SyncAccountsRequest

    Sync advertiser accounts with a seller using upsert semantics. The agent declares which brands it represents, who operates on each brand's behalf, and the billing model. The seller provisions or links accounts accordingly, returning per-account status.

    interface SyncAccountsRequest {
        adcp_major_version?: number;
        idempotency_key: string;
        accounts: {
            brand: BrandReference;
            operator: string;
            billing: BillingParty;
            billing_entity?: BusinessEntity;
            payment_terms?: PaymentTerms;
            sandbox?: boolean;
            preferred_reporting_protocol?: CloudStorageProtocol;
        }[];
        delete_missing?: boolean;
        dry_run?: boolean;
        push_notification_config?: PushNotificationConfig;
        context?: ContextObject;
        ext?: ExtensionObject;
    }
    Index

    Properties

    adcp_major_version?: number

    The AdCP major version the buyer's payloads conform to. Sellers validate against their supported major_versions and return VERSION_UNSUPPORTED if unsupported. When omitted, the seller assumes its highest supported version.

    1

    99

    idempotency_key: string

    Client-generated unique key for at-most-once execution. Natural per-account upsert keys (brand, operator) handle resource-level dedup, but the envelope triggers onboarding webhooks, billing setup, and audit events — this key prevents those side effects from firing twice on retry. MUST be unique per (seller, request) pair. Use a fresh UUID v4 for each request.

    16

    255

    ^[A-Za-z0-9_.:-]{16,255}$

    accounts: {
        brand: BrandReference;
        operator: string;
        billing: BillingParty;
        billing_entity?: BusinessEntity;
        payment_terms?: PaymentTerms;
        sandbox?: boolean;
        preferred_reporting_protocol?: CloudStorageProtocol;
    }[]

    Advertiser accounts to sync

    Type Declaration

    • brand: BrandReference
    • operator: string

      Domain of the entity operating on the brand's behalf (e.g., 'pinnacle-media.com'). When the brand operates directly, this is the brand's domain. Verified against the brand's authorized_operators in brand.json.

      ^a-z0-9?(.a-z0-9?)*$

    • billing: BillingParty
    • Optionalbilling_entity?: BusinessEntity
    • Optionalpayment_terms?: PaymentTerms
    • Optionalsandbox?: boolean

      When true, provision this as a sandbox account with no real platform calls or billing. Only applicable to implicit accounts (require_operator_auth: false). For explicit accounts, sandbox accounts are pre-existing test accounts discovered via list_accounts.

    • Optionalpreferred_reporting_protocol?: CloudStorageProtocol
    delete_missing?: boolean

    When true, accounts previously synced by this agent but not included in this request will be deactivated. Scoped to the authenticated agent — does not affect accounts managed by other agents. Use with caution.

    dry_run?: boolean

    When true, preview what would change without applying. Returns what would be created/updated/deactivated.

    push_notification_config?: PushNotificationConfig
    context?: ContextObject
    ext?: ExtensionObject