Skip to main content
GET
List every media buy on the storefront

Authorizations

Authorization
string
header
required

API key or access token

Query Parameters

status
enum<string>

Filter to one seller lifecycle state.

Available options:
pending_approval,
forwarding,
forward_failed,
awaiting_source,
rejected,
canceled,
booked,
delivering,
paused,
completed
buyerCustomerId
integer

Filter to one buyer (customer id).

Required range: 0 < x <= 9007199254740991
accountRelationshipId
string

Filter to one seller-owned account relationship. This is the authoritative transaction boundary for an External advertiser, never a buyer-id heuristic.

Pattern: ^[1-9][0-9]*$
sourceId
string

Filter to buys with a leg on this inventory source (routed buys) or managed by this ad server source.

Minimum string length: 1
flightStartFrom
string<date-time>

Only buys whose flight starts at/after this instant.

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
flightStartTo
string<date-time>

Only buys whose flight starts at/before this instant.

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
activeOnly
boolean
default:false

Exclude buys that are finished and cannot need anyone: completed, canceled and rejected. The default list is the complete inventory, but a surface asking "what needs me now" wants only live work — and because the list is newest-first, a buy that settled yesterday otherwise outranks an older buy that is still running.

sort
enum<string>
default:urgency

urgency (default) is the stable list order: buys still waiting on someone whose flight starts within 48h first, then by flight start, then newest. attention re-orders THIS PAGE by what needs the seller — money the flight will not deliver, then work waiting on the seller, then a goal being missed. Because that ranking needs delivery and goal verdicts that exist only after the page is hydrated, it ranks a page and never the storefront, so it is REJECTED with skip above 0 rather than quietly served in urgency order. The response echoes attentionRanked.

Available options:
urgency,
attention
take
integer
default:50

Page size (max 200).

Required range: 0 < x <= 200
skip
integer
default:0

Rows to skip (offset pagination over the sorted list).

Required range: 0 <= x <= 9007199254740991

Response

List every media buy on the storefront

Every buy on the storefront — the union of routed and source-managed buys — urgency-sorted by default.

items
object[]
required
total
integer
required

Total rows matching the filters (before pagination).

Required range: 0 <= x <= 9007199254740991
warnings
string[]
required

Non-fatal data-source problems (e.g. an upstream source that could not be reached). Empty when every source answered.

attentionRanked
boolean
required

True when items was re-ordered by what needs the seller. The ranking covers THIS PAGE only — the tiers depend on delivery and goal verdicts that exist only after hydration — so a page is never evidence of the storefront's worst buys. False on the default urgency order, which is a stable server-side sort over the whole population.

statusFreshness
object | null
required

Non-null when this storefront routes buys through an ad-platform connection whose status sync has been failing long enough that displayed statuses may be out of date. Null when statuses are current (or the storefront has no such connection).

delivery
object | null
required

Relationship delivery rollup. Null means none of the matching buys has a delivery record, never a zero-valued delivery total.