Skip to main content
POST /api/v2/buyer/campaigns/:id/pause Halts spend across all media buys and packages on the campaign. The pause is sent to every ACTIVE media buy on the campaign. The campaign transitions to PAUSED only when every one of those media buys confirms the pause. If any media buy does not pause, the call returns an error, the campaign keeps its current status, and the response tells you which buys may still be delivering. A pause never waits for seller approval. See pause media buy for what a confirmed pause means for a single buy.
To resume a paused campaign, use reactivate — execute does not resume a PAUSED campaign.

Request

No request body.

Parameters

Response

  • campaignId — the campaign that was paused.
  • campaignName — the campaign’s display name.
  • previousStatus / newStatus — campaign status before and after the call.
  • totalMediaBuys — number of media buys the cascade attempted.
  • successCount / failureCount — how many media buys paused, and how many did not. A 200 response always has failureCount: 0.
  • mediaBuyResults — per-media-buy outcome. Each entry includes mediaBuyId, name, previousStatus, and success.

When some media buys do not pause

If the seller of any media buy refuses, fails, or does not confirm the pause, the call returns 503 SERVICE_UNAVAILABLE:
  • The media buys that confirmed the pause are PAUSED and stay paused.
  • The media buys that did not are still ACTIVE and may still be delivering.
  • The campaign is not marked PAUSED. It keeps its current status (ACTIVE while any of its media buys are still delivering).
  • Apostra’s operations team is alerted.
The error’s details carry the same counts and per-buy results as a success response, plus the campaign status it kept:
reason is campaign_pause_partial when some buys paused and campaign_pause_failed when none did. Each failed entry in mediaBuyResults has an error string with the seller’s reason when one was given.

When a seller is still applying the pause

Some sellers accept a pause and apply it later. Those buys are not paused yet, so the call still returns 503 and the campaign stays ACTIVE, but no retry is needed for them:
  • Their entries in mediaBuyResults have success: false and a pauseRequestedAt timestamp.
  • details.pauseRequestedCount counts them, and details.pauseRequestedAt is when the campaign pause was first requested.
  • When they are the only buys outstanding, reason is campaign_pause_requested. The campaign becomes PAUSED on its own once every media buy confirms; Apostra’s operations team is alerted if a seller has not confirmed after two hours.
If any buy was refused or failed as well, reason is campaign_pause_partial, and those buys still need a retry or a call to their seller. Retrying the campaign pause is safe: it only sends the pause to media buys that are still ACTIVE. To stop one buy, use pause media buy. If a buy keeps failing to pause, contact its seller to stop delivery directly.

Errors

See Errors for the full error shape and recovery semantics.

Reactivate campaign

Resume a PAUSED campaign back to ACTIVE

Execute campaign

Launch a DRAFT or COMPLETED campaign

Media buy status

Poll live ADCP status

Campaign overview

The campaign object and lifecycle