Skip to main content
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

No request body.

Parameters

Response

  • On a DRAFT campaign, the response reflects the current product selection (see productCount on the campaign).
  • After execute, use each product’s mediaBuys[].packageIds to construct update_campaign package updates. Filtering by mediaBuyId keeps 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 packageIds array here.

Errors

See Errors for the full error shape and recovery semantics.

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