GET /api/v2/buyer/campaigns/:id/products
Returns the products selected for the campaign. On a DRAFT campaign, this is the current selection. After execute, each product’s mediaBuys[] entries include the complete packageIds needed for package-level updates. This is the lean package-ID read surface for media buys whose full campaign response is too large.
Request
Parameters
Response
- On a
DRAFTcampaign, the response reflects the current product selection (seeproductCounton the campaign). - After execute, use each product’s
mediaBuys[].packageIdsto constructupdate_campaignpackage updates. Filtering bymediaBuyIdkeeps the response small while still returning every package ID for that buy. - To resolve a package by description instead (“the display package ending 2026-08-11”), or to read a package’s own budget, pacing, and delivery, use Get media buy packages: it is scoped to one media buy and returns richer per-package detail than the
packageIdsarray here.
Errors
See Errors for the full error shape and recovery semantics.
Related
Auto-select products
Let Scope3 pick a balanced product set
Execute campaign
Turn selected products into media buys
Media buy status
Poll live ADCP status after execute
Get media buy packages
Resolve a package by description within one media buy
Campaign overview
The campaign object and lifecycle