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

    Type Alias Proposal

    Proposal: {} & {
        proposal_id: string;
        name: string;
        description?: string;
        allocations: [ProductAllocation, ...ProductAllocation[]];
        budget_allocation?: BudgetAllocation;
        pacing?: Pacing;
        proposal_status?: ProposalStatus;
        expires_at?: string;
        insertion_order?: InsertionOrder;
        total_budget_guidance?: {
            min?: number;
            recommended?: number;
            max?: number;
            currency?: string;
        };
        brief_alignment?: string;
        forecast?: DeliveryForecast;
        ext?: ExtensionObject;
    }

    A proposed media plan with fixed or seller-optimized budget allocation across products. Represents the publisher's strategic recommendation for how to structure a campaign based on the brief. Proposals are actionable: committed proposals can be executed directly via create_media_buy by providing the proposal_id; draft proposals must first be finalized via get_products refine action 'finalize'.

    Type Declaration

      • proposal_id: string

        Unique identifier for this proposal. Used to finalize a draft proposal and to execute a committed proposal via create_media_buy.

      • name: string

        Human-readable name for this media plan proposal

      • Optionaldescription?: string

        Explanation of the proposal strategy and what it achieves

      • allocations: [ProductAllocation, ...ProductAllocation[]]

        Products and budget constraints in this plan. Fixed proposals require allocation_percentage on every entry and percentages MUST sum to 100. Seller-optimized proposals forbid exact allocation_percentage and may instead supply min_spend_target_percentage and max_spend_percentage. Publishers are responsible for validating cross-entry sums; buyers SHOULD validate them before execution.

        1

      • Optionalbudget_allocation?: BudgetAllocation

        How the executed total budget is allocated across proposal products. Omit for legacy fixed proposals.

      • Optionalpacing?: Pacing
      • Optionalproposal_status?: ProposalStatus
      • Optionalexpires_at?: string

        When this proposal expires and can no longer be executed. For draft proposals, indicates when indicative pricing becomes stale. For committed proposals, indicates when the inventory hold lapses — the buyer must call create_media_buy before this time.

      • Optionalinsertion_order?: InsertionOrder
      • Optionaltotal_budget_guidance?: { min?: number; recommended?: number; max?: number; currency?: string }

        Optional budget guidance for this proposal

        • Optionalmin?: number

          Minimum recommended budget

        • Optionalrecommended?: number

          Recommended budget for optimal performance

        • Optionalmax?: number

          Maximum budget before diminishing returns

        • Optionalcurrency?: string

          ISO 4217 currency code

      • Optionalbrief_alignment?: string

        Explanation of how this proposal aligns with the campaign brief

      • Optionalforecast?: DeliveryForecast
      • Optionalext?: ExtensionObject