@adcp/sdk API Reference - v14.3.0
    Preparing search index...

    Interface ListProductsRequest

    Read seller offers with structured discovery criteria. When criteria includes catalog, provide exactly one brand source: top-level brand or a natural-key account containing brand and operator. Each invocation completes synchronously, while durable wholesale product-feed webhooks registered through sync_accounts keep buyer mirrors current without polling. list_products is the authoritative bootstrap and repair read for those subscriptions; proposal creation is handled by request_proposals.

    interface ListProductsRequest {
        adcp_version?: string;
        adcp_major_version?: number;
        idempotency_key?: string;
        context_id?: string;
        context?: ContextObject;
        governance_context?: string;
        push_notification_config?: PushNotificationConfig;
        account?: CanonicalAccountReference;
        brand?: BrandKey;
        criteria?: ProductDiscoveryCriteria;
        fields?: ProductResponseFields;
        cursor?: string;
        max_results?: number;
        if_feed_version?: string;
        if_pricing_version?: string;
    }
    Index
    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

    Optional replay key accepted uniformly on read calls.

    16

    255

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

    context_id?: string

    MCP compatibility field: servers ignore this value; A2A uses transport-native Message/Task contextId.

    1

    context?: ContextObject
    governance_context?: string

    1

    4096

    push_notification_config?: PushNotificationConfig

    Uniform per-call envelope field accepted for SDK compatibility. This does not register a wholesale feed subscription; durable product.* and wholesale_feed.bulk_change subscribers are registered through sync_accounts notification_configs.

    account?: CanonicalAccountReference

    Account scope for pricing and availability. A natural-key account is the single brand source and MUST NOT be combined with top-level brand.

    brand?: BrandKey
    criteria?: ProductDiscoveryCriteria
    fields?: ProductResponseFields
    cursor?: string

    1

    max_results?: number

    1

    100

    int

    if_feed_version?: string

    Opaque feed version returned by a prior list_products response or wholesale product-feed webhook for the same cache scope and canonicalized selection. Used for repair and conditional reconciliation, not routine polling when webhooks are active.

    if_pricing_version?: string

    Opaque pricing version returned by a prior list_products response. Valid only with if_feed_version.