Skip to main content
Deprecated. This page documents the v2 buyer API, which is closed to new API clients and switches off on 1 December 2026. Use V3 instead: see Move a v2 buyer REST integration to V3. The conversion endpoint, Log event, stays open.
POST /api/v2/buyer/campaigns/:id/auto-select-products For DRAFT campaigns with an attached discovery session, this lets Apostra pick a balanced product set. Iterate with ADCP-style refinement to nudge the selection toward your plan.

Request

Parameters

Response

When the campaign has optimization goals, auto-select prefers products that can optimize to the primary goal: every product that can ranks ahead of every product that cannot. Among the products that can, those whose forecast makes the primary goal’s target likely come first, then possible, then products with no expectation, then unlikely. The usual order (historical score, or lowest CPM) decides within each group. The preference applies before maxProducts or minBudgetPerProduct trims the list. A product that cannot optimize to the goal is still selected when the budget reaches past every product that can, and products you include are kept whatever they can optimize. goalCoverage on each selected product says what it can optimize, read from the product’s AdCP optimization declaration: goalCoverage is absent when the campaign has no goals or the platform holds no copy of the product. A product that declares no optimization capability covers no goal. See Goal-seeking campaigns for how the expectation is worked out. Read the confirmed selection with Get campaign products.

Errors

See Errors for the full error shape and recovery semantics.

Discovery

Build the discovery session that feeds selection

Get campaign products

Read the selected products

Execute campaign

Launch the campaign into media buys

Campaign overview

The campaign object and lifecycle