These workflows require an enrolled Seller account. In v3, “Seller Account”
is the operator workspace; a Storefront is the buyer-facing selling surface
it operates.
Begin with readiness
Callget_status before changing configuration. Its blockers explain why work
is stopped before a buyer request reaches an inventory source and provide a
typed tool or Page for the next action.
Do not infer demand from source traffic alone. A Seller Account that is not
ready may correctly have no source calls because work stops earlier.
Read and configure Seller identity
The Seller Account is a singleton, so read it without an ID:configuredCapabilities— the declaration you saved; andcapabilities— what buyers can use after source topology and approval policy are applied.
capabilitiesLocked and capabilityDerivation
explain why. Send capability patches rather than replacing the whole set:
setupIntent describes how the Seller Account is intended to connect. It does
not apply a capability preset or change the capability flags. Declare each
supported capability explicitly through capabilities; then read the Seller
again to see the effective values derived from source topology and policy.
Changing operatorDomain may invalidate profile fields curated for the old
identity. If populated fields would be cleared, the tool refuses the write and
requires confirmOperatorDomainProfileReset: true after you review the impact.
Add and diagnose inventory
Usesave_inventory_source for typed source configuration. Credentials and
OAuth grants stay in the relevant Page rather than model-visible arguments.
Read a source with connection and diagnostic evidence:
connect_ad_serverfor credentials and OAuth;ad_server_sourcefor connection management;ad_server_diagnosticsfor sync and refresh history; andsource_diagnosticsfor call-level investigation.
Manage publisher coverage
Coverage separates declarations from evidence:- declared domains and properties are operator claims;
- discovered properties remain evidence from publisher sources; and
- authorization is a verdict derived from the current roster and proof.
save_coverage to add or remove one domain or property without rebuilding
the entire roster. Domain declarations in one call are applied before property
claims beneath them, so a new domain and property may be declared together.
Removing publisher-origin evidence is refused; retract only claims you own.
Operate work items and approvals
search({ "kind": "work_item" }) is the unified queue for work waiting on the
Seller Account. The returned workItemKind determines its state vocabulary and
the fields required by save_work_item.
Saving the same completed result again returns
unchanged. A conflicting
correction is refused rather than overwriting authoritative evidence.
AI evaluation, reassignment, and forwarding retry remain Page actions. They
cost money, move accountability, or repeat an external side effect, so they are
not fields on a declarative save.
Read seller-side media buys
List every buy that landed in the Seller Account:sourceId, seller status, buyer customer ID, or ISO 8601 flight-start
instants. Pass the opaque nextCursor back unchanged while hasMore is true.
Partial source coverage and stale status are reported explicitly.
Read one media buy to receive its Seller-scoped exchange timeline, approval,
source legs, identifiers, and newest failure. Recovery classes distinguish a
transient failure from a correctable or structural one. Add
include: ["diagnostics"] for the supporting observation trail.
Query delivery and margin
get_delivery supports two reports:
delivery— seller-reported delivery over an inclusive range of at most 90 days; andmargin— the cumulative seller spread ledger.