Skip to main content
“Why isn’t my buy live?” should take one call to answer. Every media buy carries fields that say what it’s waiting on, whose side owns a failure, the seller’s own words when there are any, and a reference both sides can quote.

I’m a buyer: why isn’t my buy live?

One-call lookup

GET /api/v2/buyer/media-buys/{mediaBuyId} returns one media buy with every field below. Over MCP, call get with kind: "media_buy" and the id.
For every buy on a campaign at once, GET /api/v2/buyer/campaigns/{id}/media-buy-status returns pendingReason, pendingSince, errorCode, errorOwner and blockers per buy. The campaign workspace shows a short label for each buy, such as “Awaiting seller approval”.

pendingReason: what it’s waiting on

A buy that’s ACTIVE can still be waiting to start or for creatives: the campaign’s operational status (pending_start, pending_creatives) says which. See the campaign page.

errorCode: why it failed

When a launch partly fails, the launch result lists each failed buy with a recovery of transient, correctable or terminal and a retrySafe flag. Launching again re-sends only the buys that are still drafts or marked retrying.

What to quote

Quote buyerReference (and forwardedAt when it’s set) when you contact the seller or the Semicola team about a stuck buy. To reach the Semicola team, ask Semi to file an ask, or call save_ask with type: "support".
Push notifications for buy transitions aren’t available yet. Read the buy, or poll its task, to follow it.

I’m a seller: what needs my attention?

Buys that wait on you sit in your storefront’s approval queue.
  • Queued buys. open_approvals shows the review queue; decide_media_buy_approval approves or rejects one. See Approvals.
  • Every buy on the storefront. open_media_buys_page lists them, most urgent first.
  • A failed forward. When you approved a buy but sending it on to your inventory source failed, retry_forward re-sends it with the same idempotency key, so it can’t double-book.

Tasks

Poll a seller’s review task.

Media buy lifecycle

Every status, and how acceptance works.