@adcp/sdk API Reference - v14.0.0-beta.6
    Preparing search index...

    Interface SyncAccountsRequest

    Sync advertiser account state with a seller. Two modes, distinguished by the key on each per-account entry:

    • Provisioning mode (brand + operator + billing at the entry root): the agent declares the advertiser identity, operator, optional operator-owned buying unit, optional fixed account currency, conditionally required buyer-selected account timezone, sandbox disposition, and billing model. The seller provisions or links the corresponding advertiser object via upsert. brand.countries, operator_unit.id, currency, buyer-selected timezone, and sandbox participate in the buyer-declared natural key when present; operator_unit.name is display metadata only. The seller MAY echo a seller-assigned account_id but MUST continue accepting the complete natural-key AccountRef.

    • Settings-update mode (account field carrying an AccountRef): targets an existing account by seller/storefront account_id or buyer-declared natural key. The seller updates settable state without provisioning side effects. A complete operator_identity value reconciles the existing account to the buyer's desired operator domain and optional operator unit; omission leaves identity unchanged.

    Exactly one key shape is allowed per entry. Sellers that do not implement one mode return UNSUPPORTED_PROVISIONING for that mode. Identity reconciliation is additionally gated by get_adcp_capabilities.account.identity_updates.

    interface SyncAccountsRequest {
        adcp_version?: string;
        adcp_major_version?: number;
        idempotency_key: string;
        accounts: (ProvisioningMode | SettingsUpdateMode)[];
        delete_missing?: boolean;
        dry_run?: boolean;
        push_notification_config?: PushNotificationConfig;
        context?: ContextObject;
        ext?: ExtensionObject;
    }
    Index

    Properties

    adcp_version?: string

    Release-precision AdCP version (VERSION.RELEASE, e.g. "3.0", "3.1", "3.1-beta"). On a request: the buyer's release pin — the seller validates against its supported_versions and returns VERSION_UNSUPPORTED on cross-major mismatch, or downshifts to the highest supported release within the same major. On a response: the release the seller actually served — clients SHOULD validate the response against that release's schema, not against their pin. Patches are not negotiated; surface them as build_version on capabilities for operational visibility. When omitted, falls back to adcp_major_version (deprecated) or server default. Buyers SHOULD emit both adcp_version and adcp_major_version through 3.x to remain compatible with sellers that only read the legacy field. NORMALIZATION: SDKs that read full-semver values from bundle metadata (e.g. ComplianceIndex.published_version = "3.1.0-beta.1") MUST normalize to release-precision ("3.1-beta.1") before emitting on the wire — meta-field values are NOT valid wire values.

    adcp_major_version?: number

    DEPRECATED in favor of adcp_version (release-precision string). Servers MUST continue to honor this field through 3.x. Removed in 4.0. Original semantics: 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.

    idempotency_key: string

    Client-generated unique key for at-most-once execution. Natural per-account upsert keys 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: (ProvisioningMode | SettingsUpdateMode)[]

    Per-account sync entries. Each entry uses one of two key shapes: the account field (AccountRef) for settings-update mode, or the flat brand + operator + billing trio for provisioning mode. An operator_identity settings update MUST carry the latest account revision.

    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