Skip to main content
GET /api/v2/buyer/campaigns/:id Returns the full mode-specific campaign resource. Platform-managed campaigns include planning fields such as brief, audiences, budget allocation, pacing, performance config, frequency caps, and creative format coverage. A directed campaign instead projects exactly one upstream media buy and includes its connection, provider, dual-keyed identity, mirror state, and metadata sync time.

Request

Parameters

Response

For platform-managed campaigns, campaign.creativeFormats.missing lists formats that still need creatives, and campaign.mediaBuys[] is populated after execution. campaign.mediaBuyRefs[] remains a complete lightweight inventory, including a ref with status: "ARCHIVED" after a buy is archived; archived buys are omitted from the substantive campaign.mediaBuys[] array. A directed campaign has no execute step: its single mediaBuys[] entry is the mirrored upstream campaign, and creative details are not mirrored in Phase 1. After a directed delivery read, its performance snapshot includes windowStart, windowEnd, and lastUpdated; always display the window because the values represent the latest requested range, not lifetime delivery. For a lightweight scan across many campaigns, use List campaigns. Every budget in the response is gross — fee-inclusive, the amount the customer pays. allocatedBudget is the sum of the budgets of every media buy that still holds budget — DRAFT, PENDING_APPROVAL, INPUT_REQUIRED, ACTIVE, PAUSED — plus delivered spend (all-in, at each buy’s locked fee terms) on ended or archived media buys, and unallocatedBudget is budget.total − allocatedBudget; read them directly rather than re-deriving. A DRAFT buy is already counted in allocatedBudget, so raising that buy’s budget has headroom of currentBudget + unallocatedBudget — don’t add its current budget to allocatedBudget again. unallocatedBudget can go negative when delivered spend on ended buys exceeds budget.total. Each media buy carries budget_denomination: "gross" and a read-only budget_breakdown (media_budget, fee_amount, fee_rate_percent, effective_gross_cpm) showing the media/fee split at the fee terms locked when that buy was created. Both fields appear only on buys with locked fee terms — legacy buys created before fee terms were locked carry neither budget_denomination nor budget_breakdown. See Budgets and fees.

Errors

  • 404 NOT_FOUND — no campaign with this ID is visible to the authenticated account.
See Errors for the full error contract.

List campaigns

Compact summaries across campaigns

Update campaign

Change a campaign or its media buys

Get media buy status

Poll live ADCP status

Campaign overview

Fields, lifecycle, and concepts