GET /api/v2/buyer/campaigns/:id/media-buy-status
Refreshes the campaign’s non-terminal media buys and returns the current status Interchange has for each buy. Direct sales-agent and delegated-adapter buys are polled during this request. Storefront-routed buys are checked from persisted upstream-leg state, because one buyer-facing storefront buy can fan out to multiple upstream sources rather than one pollable storefront agent. Useful right after execute while waiting on publisher approvals.
Request
Parameters
| Field | Type | Required | Notes |
|---|---|---|---|
id | string | Yes | Campaign ID (path parameter). |
Response
media_buys reflects one media buy checked during the request:
campaign_status— the stored campaign lifecycle status.operational_status— the rolled-up delivery status to present to users (draft,pending_creatives,pending_start,active,paused,completed,attention_required, orno_media_buys).internal_status— the Interchange status after this poll (one ofDRAFT,PENDING_APPROVAL,INPUT_REQUIRED,ACTIVE,PAUSED,COMPLETED,CANCELED,FAILED,REJECTED,ARCHIVED).adcp_status— the raw AdCP media-buy status string currently stored or returned by the status check.media_buys[].operational_status— the per-buy delivery status behind the campaign rollup.previous_internal_status/previous_adcp_status— values before this poll.updated—trueonly when this request changed Interchange’s stored status.falsedoes not mean the status is stale; it can also mean the buy was already current.status_refresh_source— where this media buy’s status signal came from:direct_agent— this request called the sales agent’sget_media_buys.delegated_adapter— this request called the delegated adapter’sget_media_buys.storefront_route_rollup— this request read persisted upstream-leg statuses for a storefront-routed buy. This can confirm active delivery without incrementingagents_queried.not_submitted— the buy has no upstream media-buy ID yet.refresh_failed— the refresh failed before a per-buy status signal was available; seeerrorsandblockers.
agents_queried— number of direct sales-agent or delegated-adapter status calls made during this request. It can be0for a current storefront-routed buy whenstatus_refresh_sourceisstorefront_route_rollup.errors— per-media-buy errors from agents that failed to respond;media_buy_idanderrormessage are included for each failure. A partial error does not prevent successful entries from being returned.blockers/media_buys[].blockers— campaign-level and per-buy reasons delivery is not ready, such as pending creative review or missing upstream IDs.pending_creative_reviews— count of creative reviews still waiting.has_upstream_media_buy— whether any media buy has an upstream ADCP media-buy ID.has_delivery— whether the campaign currently has an active delivery signal.
has_delivery, has_upstream_media_buy, operational_status, and each buy’s status_refresh_source as the delivery signal. Do not use agents_queried: 0 or updated: false alone as a stale-status or dispatch-failure signal.
Only non-terminal media buys (PENDING_APPROVAL, ACTIVE, PAUSED) are polled; terminal buys are excluded.
Errors
| Code | When |
|---|---|
NOT_FOUND | Campaign ID does not exist for the authenticated account. |
Related
Media buys
Media buy structure and the status enum
Execute campaign
Launch the campaign into media buys
Pause campaign
Halt spend across all media buys
Campaign overview
The campaign object and lifecycle