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

    Interface SyncAudiencesRequest

    Request parameters for managing CRM-based audiences on an account with upsert semantics. Existing audiences matched by audience_id are updated, new ones are created. Members are specified as delta operations: add appends new members, remove drops existing ones. Recommend no more than 100,000 members per call; for larger lists, chunk and call incrementally using add/remove deltas. When delete_missing is true, buyer-managed audiences on the account not in this request are removed — do not combine with omitted audiences or all buyer-managed audiences will be deleted. When audiences is omitted, the call is discovery-only: it returns all audiences on the account without modification.

    interface SyncAudiencesRequest {
        adcp_major_version?: number;
        idempotency_key: string;
        account: AccountReference;
        audiences?: {
            audience_id: string;
            name?: string;
            description?: string;
            audience_type?: "crm" | "suppression" | "lookalike_seed";
            tags?: string[];
            add?: AudienceMember[];
            remove?: AudienceMember[];
            delete?: boolean;
            consent_basis?: ConsentBasis;
        }[];
        delete_missing?: boolean;
        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. audience_id gives resource-level dedup per audience, but the sync envelope emits audit events and may trigger downstream refreshes — this key prevents those side effects from firing twice on retry. Also serves as a request ID on discovery-only calls (when audiences is omitted). MUST be unique per (seller, request) pair. Use a fresh UUID v4 for each request.

    16

    255

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

    audiences?: {
        audience_id: string;
        name?: string;
        description?: string;
        audience_type?: "crm" | "suppression" | "lookalike_seed";
        tags?: string[];
        add?: AudienceMember[];
        remove?: AudienceMember[];
        delete?: boolean;
        consent_basis?: ConsentBasis;
    }[]

    Audiences to sync (create or update). When omitted, the call is discovery-only and returns all existing audiences on the account without modification.

    Type Declaration

    • audience_id: string

      Buyer's identifier for this audience. Used to reference the audience in targeting overlays.

    • Optionalname?: string

      Human-readable name for this audience

    • Optionaldescription?: string

      Human-readable description of this audience's composition or purpose (e.g., 'High-value customers who purchased in the last 90 days').

    • Optionalaudience_type?: "crm" | "suppression" | "lookalike_seed"

      Intended use for this audience. 'crm': target these users. 'suppression': exclude these users from delivery. 'lookalike_seed': use as a seed for the seller's lookalike modeling. Sellers may handle audiences differently based on type (e.g., suppression lists bypass minimum size requirements on some platforms).

    • Optionaltags?: string[]

      Buyer-defined tags for organizing and filtering audiences (e.g., 'holiday_2026', 'high_ltv'). Tags are stored by the seller and returned in discovery-only calls.

    • Optionaladd?: AudienceMember[]

      Members to add to this audience. Hashed before sending — normalize emails to lowercase+trim, phones to E.164.

    • Optionalremove?: AudienceMember[]

      Members to remove from this audience. If the same identifier appears in both add and remove in a single request, remove takes precedence.

    • Optionaldelete?: boolean

      When true, delete this audience from the account entirely. All other fields on this audience object are ignored. Use this to delete a specific audience without affecting others.

    • Optionalconsent_basis?: ConsentBasis
    delete_missing?: boolean

    When true, buyer-managed audiences on the account not included in this sync will be removed. Does not affect seller-managed audiences. Do not combine with an omitted audiences array or all buyer-managed audiences will be deleted.

    context?: ContextObject
    ext?: ExtensionObject