Skip to main content
GET
Get one buy's exchange timeline

Authorizations

Authorization
string
header
required

API key or access token

Path Parameters

mediaBuyId
string
required

Media buy id at the storefront grain (sf_mb_…).

Minimum string length: 1

Query Parameters

buyerCustomerId
integer

Buyer customer id that owns this buyer-scoped media-buy id. Omit only for compatibility with callers whose ids are globally unambiguous.

Required range: 0 < x <= 9007199254740991

Response

Get one buy's exchange timeline

The seller-scoped projection of a buy's exchange timeline: only this storefront's legs; forwarded/response payloads minus platform-internal fields; no admin-only material (resolution cache internals, worker poll internals, cross-tenant audit rows).

mediaBuyId
string
required
buyer
object
required
approval
object | null
required

The approval-queue row, when the buy rode the review flow.

stages
object[]
required

Buy-level stages (pre-fan-out): received, screened, decided, and any pre-dispatch failure.

legs
object[]
required
goal
object | null
required

The buyer's goal for this buy and how delivery compares — the same block the media-buy list carries, and the same verdict the buyer sees. Null when this seller holds no goal for the buy, and also on the rare read failure: the block is assembled from a commitment read and a delivery read, and either one failing leaves it absent rather than showing a half-assembled goal. Those failures are captured to Sentry, so an outage has an operational signal even though this field cannot distinguish it from genuine absence.

eventsTruncated
boolean
required

True when more ledger events exist than were hydrated into this timeline.