Skip to main content
GET /api/v2/buyer/campaigns Returns campaigns in a compact summary shape — identity, mode, management state, status, flight dates, flattened budget, and product count. Filter by advertiser, status, mode, or management state. Use Get campaign for the full resource. The list defaults to the live working set: every non-terminal status (ACTIVE, DRAFT, PAUSED) across both managed campaigns and tracked mirrors from connected provider accounts — connect a provider account and your live spend there is visible immediately. Completed, canceled, and archived campaigns require an explicit status filter (or status=ALL). A subscribed account may mirror thousands of historical campaigns — browse that scale through the provider-account rollup, not the ambient list. This endpoint normally requires a Buyer Account. A Seller Account in the Media Company V3 preview may use it only with a positive advertiserId that has an active own-supply binding to the Seller Account’s own Storefront, in either the sandbox or live environment. A live-environment Advertiser additionally requires the Seller Account to be enrolled in amc-campaign-management. The response removes any Campaign that is not confined to that Storefront. Campaign detail, mutations, and reporting remain unavailable to the Seller Account through Buyer REST.

Request

Parameters

Response

The tracked row above appears in the default list while it is active or paused; once the seller completes or cancels it upstream, reaching it requires an explicit status filter (or status=ALL). Each entry is a summary, not the full resource — mediaBuys, audiences, budget allocation fields, and creativeFormats are omitted. directed is present only for mode: "directed"; use its mirrorState and lastSyncedAt for metadata freshness, not delivery freshness. performanceConfig is present when the campaign has optimization goals, in the same shape as Get campaign, so a list row shows each goal and its target without a second read. total is the count across all pages. Results use offset pagination (take / skip); see Pagination.

Campaigns the default status filter left out

When the request sends no status and the default filter leaves out campaigns that match every other filter, the response adds defaultStatusFilter. It says how many campaigns were left out, by status, and how to include them:
An empty or short page without defaultStatusFilter means no campaign was left out because of its status. Archived campaigns are counted only when the request also sets includeArchived=true, because status=ALL alone does not return them. The field is never present when the request sends status. The advertiser summary’s campaign count includes completed and canceled campaigns, so it can be higher than the number of campaigns this list returns by default. Use defaultStatusFilter to reconcile the two.

Errors

  • 400 VALIDATION_ERROR — invalid status or mode value.
  • 403 CUSTOMER_ROLE_DENIED — the account is neither a Buyer Account nor a Seller Account listing Campaigns for a bound own-supply Advertiser.
  • 403 OWN_SUPPLY_SCOPE_REQUIRED — the Seller compatibility request omitted advertiserId, that Advertiser has no active own-Storefront binding, or the Advertiser is in the live environment and the Seller Account is not enrolled in amc-campaign-management.
See Errors for the full error contract.

Get campaign

Full resource for one campaign

Create campaign

Open a new DRAFT campaign

Pagination

Offset-based list paging

Campaign overview

Fields, lifecycle, and concepts