Discover products with automatic session creation. If discoveryId is not provided, a new session is created automatically. Returns discoveryId and discovered products.
Documentation Index
Fetch the complete documentation index at: https://docs.interchange.io/llms.txt
Use this file to discover all available pages before exploring further.
API key or access token
Request body for discovering products with optional auto-session creation
Advertiser ID to resolve brand manifest
x <= 900719925474099112345
Existing discovery ID. If not provided, a new discovery session is created.
"abc123-def456-ghi789"
Campaign ID to seed discovery from. The campaign brief, flight dates, and budget are used as defaults (explicit request values take precedence).
"campaign_ea5e33dd-d65b-44c7-a3e8-8e1db1d137b4"
Channels to search (defaults to ["display", "olv", "ctv", "social"]). "video" is accepted as an alias for "olv".
display, olv, ctv, social, video ["ctv", "display"]Countries to target (defaults to brand agent countries if not specified)
250^[A-Z]{2}$["US", "CA"]Natural language context for product search
5000"Looking for premium video inventory targeting tech enthusiasts"
Budget for the discovery
x > 050000
Optional flight dates for availability filtering
Filter products by publisher domain (exact domain component match)
1"hulu"
Filter products by pricing model
cpm, vcpm, cpc, cpcv, cpv, cpp, flat_rate "cpm"
Filter discovery to these storefronts. Highly encouraged when the buyer wants results scoped to specific sellers — pass the IDs returned by list_storefronts. Combined with storefrontNames using OR logic. An empty array or omitted field both mean "no request-level filter" — if a campaignId is also provided and the campaign was created with storefrontIds, the campaign-level value is used in that case.
50x <= 9007199254740991[42, 57]Filter discovery to storefronts whose name matches one of these values (case-insensitive substring match). Use when the buyer mentions a seller by name. Combined with storefrontIds using OR logic. An empty array or omitted field both mean "no request-level filter" — campaign-level pinning is used in that case if available.
50255["Acme", "Acme Exchange"]Maximum number of product groups to return (default: 10, max: 10)
x <= 1010
Number of groups to skip for pagination
0 <= x <= 90071992547409910
Maximum products to return per group (default: 10, max: 15)
x <= 1510
Number of products to skip within each group (default: 0, max: 1000)
0 <= x <= 10005
When true, includes detailed ADCP agent request/response debug logs in the response for troubleshooting
Refinement instructions for iterating on previous discovery results. When provided, discoveryId is required.
1 - 100 elementsA refinement instruction for iterating on discovery results. Scoped to the overall request, a specific product, or a specific proposal.
Discover products
Response from discovering products
Discovery ID
"abc123-def456-ghi789"
Products grouped by publisher
Total number of product groups available
0 <= x <= 900719925474099125
Whether more groups are available beyond those shown
Summary statistics for discovered products
Budget context if budget was provided
Recommended media plans from sales agents (ADCP v3). Each proposal explains WHY certain products are recommended together and how budget should be allocated.
Debug info for failed agents only. Only present when debug=true and at least one agent failed.
Seller's response to each refinement instruction, matched by position to the request's refine array. Only present when refine was provided.