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

    Interface ProposalDiscoveryCriteria

    AdCP 3.2 structured discovery criteria. Referenced offer/overlay objects retain forward-compatible value typing, while the closed top-level and catalog-selector vocabularies remain type-safe today.

    interface ProposalDiscoveryCriteria {
        product_ids?: string[];
        offer_filters?: Record<string, unknown>;
        targeting_overlay?: Record<string, unknown>;
        media_buy_frequency_cap?: {
            suppress?: Duration;
            suppress_minutes?: number;
            max_impressions?: number;
            per?: ReachUnit;
            window?: Duration;
        };
        required_overlay_support?: Record<string, unknown>;
        required_media_buy_support?: ProductMediaBuySupportRequirements;
        outcome_target?: OutcomeTarget;
        acceptance_context?: AcceptanceContext;
        catalog?: ProposalDiscoveryCatalogCriteria;
        policy_ids?: string[];
        ext?: Record<string, unknown>;
    }
    Index
    product_ids?: string[]
    offer_filters?: Record<string, unknown>
    targeting_overlay?: Record<string, unknown>
    media_buy_frequency_cap?: {
        suppress?: Duration;
        suppress_minutes?: number;
        max_impressions?: number;
        per?: ReachUnit;
        window?: Duration;
    }

    Type Declaration

    • Optionalsuppress?: Duration

      Cooldown period between consecutive exposures to the same entity. Prevents back-to-back ad delivery (e.g. {"interval": 60, "unit": "minutes"} for a 1-hour cooldown). Preferred over suppress_minutes.

    • Optionalsuppress_minutes?: number

      Deprecated — use suppress instead. Cooldown period in minutes between consecutive exposures to the same entity (e.g. 60 for a 1-hour cooldown).

    • Optionalmax_impressions?: number

      Maximum number of impressions per entity per window. For duration windows, implementations typically use a rolling window. campaign applies across the owning field's full flight: the package flight for a targeting overlay, or the MediaBuy flight for a root cap.

    • Optionalper?: ReachUnit

      Entity granularity for impression counting. Required when max_impressions is set.

    • Optionalwindow?: Duration

      Time window for the max_impressions cap (e.g. {"interval": 7, "unit": "days"} or {"interval": 1, "unit": "campaign"} for the full flight). Required when max_impressions is set.

    required_overlay_support?: Record<string, unknown>
    required_media_buy_support?: ProductMediaBuySupportRequirements
    outcome_target?: OutcomeTarget
    acceptance_context?: AcceptanceContext
    policy_ids?: string[]
    ext?: Record<string, unknown>