Skip to main content
POST /api/v2/buyer/media-buys/:mediaBuyId/pause Halts spend on exactly one media buy. The pause is sent to the seller’s ad server straight away, and the media buy transitions to PAUSED only after the seller’s storefront confirms that delivery has stopped. Some sellers answer a pause with “accepted, still applying it” instead of confirming at once. In that case the call returns 202 Accepted with pauseRequestedAt set: the media buy stays ACTIVE, and may keep delivering, until the seller reports it paused. Apostra keeps checking, moves the buy to PAUSED as soon as the seller confirms, and alerts its operations team if the seller has not confirmed within two hours. The pause is not sent again automatically.
A pause never waits for seller approval, even on a storefront that reviews every change manually. Pausing suspends delivery; it does not change the buy’s budget, flight dates, or contract, so the seller is told it happened but is not asked to approve it. The same applies to guaranteed buys, and an earlier change to the buy that is still waiting for the seller does not hold the pause back.
The same holds for a pause sent straight to a storefront’s AdCP update_media_buy. One seller-specific limit applies on Meta; see Pausing on each kind of storefront.
This does not cascade. It touches only the targeted media buy — never the parent campaign row and never any sibling media buy on the same campaign. To pause every media buy on a campaign at once, use pause campaign instead.
To resume, use reactivate media buy — pausing does not auto-resume, and there is no separate “unpause” verb.

Request

No request body.

Parameters

Response

  • mediaBuyId — the media buy that was paused.
  • name — the media buy’s display name.
  • previousStatus / newStatus — status before and after the call.
  • success — true when the seller’s storefront confirmed or accepted the pause. A pause the storefront refused or failed is returned as an error (see below), never as success: false.
  • pauseRequestedAt — present only on a 202 response: when the seller accepted the pause it is still applying. newStatus is then ACTIVE.

When the seller is still applying the pause

Returned with HTTP 202. Read the buy with GET /media-buys/:mediaBuyId (see Why isn’t my buy live?): pauseRequestedAt stays set while the seller is applying the pause, and the buy’s status becomes PAUSED once the seller confirms. Pausing again before then is safe; it asks the seller again and keeps the original pauseRequestedAt.

Errors

Checking that delivery stopped

A 200 response with newStatus: "PAUSED" means the seller’s storefront confirmed the pause. A 202 response means the seller accepted it but has not stopped delivery yet; treat the buy as still delivering until it reads PAUSED. Any error response means Apostra could not confirm the pause, so treat the buy as still delivering until a retry succeeds or the seller confirms it out of band. The seller is notified when a buyer pause takes effect on their ad server. See Errors for the full error shape and recovery semantics.

Reactivate media buy

Resume this single PAUSED media buy back to ACTIVE

Pause campaign

Halt spend across every media buy and package on the campaign

Media buy

The media buy object, status table, and cascade behavior

Get media buy status

Poll live ADCP status