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

    Interface CompatibleProductsResponse

    interface CompatibleProductsResponse {
        products?: CompatibleProduct[];
        proposals?: CompatibleProposal[];
        feed_version?: string;
        pricing_version?: string;
        unchanged?: true;
        next_cursor?: string;
        pagination?: PaginationResponse;
        cache_scope?: "account" | "public";
        errors?: CompatibleErrors;
        context?: CompatibleContext;
        purchase_continuation?:
            | {
                kind: "listed_purchase";
                product_ids: [string, ...string[]];
                cache_scope: "account";
                feed_version: string;
                pricing_version?: string;
            }
            | {
                kind: "legacy_create";
                continuation_token: string;
                continuation_expires_at: string;
                source_adcp_version: "3.0"
                | "2.5"
                | "3.1";
                product_ids: [string, ...string[]];
                losses: [
                    | "feed_version_not_atomic"
                    | "pricing_version_not_atomic"
                    | "mutation_idempotency_not_guaranteed",
                    | "feed_version_not_atomic"
                    | "pricing_version_not_atomic"
                    | "mutation_idempotency_not_guaranteed",
                    ...(
                        | "feed_version_not_atomic"
                        | "pricing_version_not_atomic"
                        | "mutation_idempotency_not_guaranteed"
                    )[],
                ];
                requires_explicit_acceptance: true;
            };
        raw: ListProductsResponse
        | CanonicalGetProductsResponse;
    }
    Index
    products?: CompatibleProduct[]

    Present only when the seller returned product rows (conditional reads may return only unchanged).

    proposals?: CompatibleProposal[]
    feed_version?: string
    pricing_version?: string
    unchanged?: true
    next_cursor?: string

    Lifecycle-neutral cursor for the next page.

    pagination?: PaginationResponse
    cache_scope?: "account" | "public"
    errors?: CompatibleErrors
    context?: CompatibleContext
    purchase_continuation?:
        | {
            kind: "listed_purchase";
            product_ids: [string, ...string[]];
            cache_scope: "account";
            feed_version: string;
            pricing_version?: string;
        }
        | {
            kind: "legacy_create";
            continuation_token: string;
            continuation_expires_at: string;
            source_adcp_version: "3.0"
            | "2.5"
            | "3.1";
            product_ids: [string, ...string[]];
            losses: [
                | "feed_version_not_atomic"
                | "pricing_version_not_atomic"
                | "mutation_idempotency_not_guaranteed",
                | "feed_version_not_atomic"
                | "pricing_version_not_atomic"
                | "mutation_idempotency_not_guaranteed",
                ...(
                    | "feed_version_not_atomic"
                    | "pricing_version_not_atomic"
                    | "mutation_idempotency_not_guaranteed"
                )[],
            ];
            requires_explicit_acceptance: true;
        }

    SDK-local handoff for an eligible tokenless established catalog. Present only when the caller configured durable continuation bindings and the observed products contain selectable pricing options.

    Type Declaration

    • {
          kind: "listed_purchase";
          product_ids: [string, ...string[]];
          cache_scope: "account";
          feed_version: string;
          pricing_version?: string;
      }
      • kind: "listed_purchase"
      • product_ids: [string, ...string[]]

        Exact products the coordinator promoted and re-read through account-scoped list_products before returning this result. The set MUST match products[].product_id.

        1

      • cache_scope: "account"
      • feed_version: string

        Real seller-issued account-scoped feed fence obtained by re-reading the promoted products through list_products.

        1

      • Optionalpricing_version?: string

        Real seller-issued pricing fence from the same account-scoped list_products response, when the seller versions pricing independently.

        1

    • {
          kind: "legacy_create";
          continuation_token: string;
          continuation_expires_at: string;
          source_adcp_version: "3.0" | "2.5" | "3.1";
          product_ids: [string, ...string[]];
          losses: [
              | "feed_version_not_atomic"
              | "pricing_version_not_atomic"
              | "mutation_idempotency_not_guaranteed",
              | "feed_version_not_atomic"
              | "pricing_version_not_atomic"
              | "mutation_idempotency_not_guaranteed",
              ...(
                  | "feed_version_not_atomic"
                  | "pricing_version_not_atomic"
                  | "mutation_idempotency_not_guaranteed"
              )[],
          ];
          requires_explicit_acceptance: true;
      }
      • kind: "legacy_create"
      • continuation_token: string

        Opaque, short-lived coordinator token bound to the caller principal, account, and complete observed product/pricing payload. It is not a seller-issued feed fence.

        16

      • continuation_expires_at: string

        Absolute expiry of the single-use compatibility continuation.

        date-time

      • source_adcp_version: "3.0" | "2.5" | "3.1"

        Established AdCP version actually negotiated with the peer. This provenance is required; the coordinator MUST NOT infer stronger guarantees from the label.

      • product_ids: [string, ...string[]]

        Exact products bound to this continuation. A follow-up MUST select a non-empty subset and MUST NOT substitute an ID from another discovery result.

        1

      • losses: [
            | "feed_version_not_atomic"
            | "pricing_version_not_atomic"
            | "mutation_idempotency_not_guaranteed",
            | "feed_version_not_atomic"
            | "pricing_version_not_atomic"
            | "mutation_idempotency_not_guaranteed",
            ...(
                | "feed_version_not_atomic"
                | "pricing_version_not_atomic"
                | "mutation_idempotency_not_guaranteed"
            )[],
        ]

        Guarantees that the established create_media_buy continuation cannot provide. The coordinator MUST fail before mutation unless the caller explicitly accepts every listed loss.

        2

      • requires_explicit_acceptance: true

    SDK-returned source object, retained for fields outside the stable compatibility view.