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
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—truewhen the seller’s storefront confirmed or accepted the pause. A pause the storefront refused or failed is returned as an error (see below), never assuccess: false.pauseRequestedAt— present only on a202response: when the seller accepted the pause it is still applying.newStatusis thenACTIVE.
When the seller is still applying the pause
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
A200 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.
Related
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