discoveryCard object returned by the
buyer storefront APIs. It is not a separate inventory or policy object.
Use the card to answer three questions before sending a brief:
- Who operates this storefront?
- Does it accept briefs for this channel and country?
- Has the seller chosen to disclose any Advertising Policies?
Coverage declarations
coverageDeclarations contains the source-specific coverage claims. Each entry keeps
the channels and countries declared by one source together. A managed
storefront normally has one declaration; a pass-through storefront can have
one declaration per active upstream inventory source. Never combine channels
from one declaration with countries from another.
The top-level channels and countries arrays are aggregate search and display
facets. They are the union of known values, not a promise that every listed
channel is available in every listed country. Country values are ISO 3166-1
alpha-2 codes such as FR, US, and JP. The legacy channel alias audio is
normalized to the AdCP channel streaming_audio.
Use GET /api/v2/buyer/storefronts?region=FR&channel=ctv to find storefronts
that accept CTV briefs in France. Legacy market-group filters such as EMEA
remain available for older region declarations, but new Discovery Cards use
country codes. A combined channel-and-country filter matches only when one
declaration satisfies both known dimensions. During the compatibility rollout,
missing country coverage remains eligible for country-filtered discovery so
existing storefronts do not disappear. Known country restrictions still apply,
and an explicitly empty authoritative pass-through declaration remains
ineligible.
The coverage object makes completeness explicit:
acceptsAllCountries: true remains the only explicit worldwide declaration.
For managed storefronts that still have legacy unknown country coverage, Seller
Setup starts the editor with every country selected. Saving records that
worldwide behavior explicitly; leaving the old record untouched preserves the
temporary compatibility behavior above.
Where card fields come from
The card carriesprovenance so buyers and agents can distinguish operator,
registry, and upstream facts.
- Managed storefronts author their accepted channels and countries in Seller Setup. Their identity is resolved from the verified operator domain and its brand profile, with an operator-authored Marketplace description.
- External pass-through storefronts project coverage from each source’s
standard AdCP
media_buy.portfolio.primary_channelsandprimary_countries. Those values are read-only in Interchange because the upstream sales agent is authoritative. The card turns each source’s two arrays into one correlatedcoverageDeclarationsentry; accepted countries equal primary countries, and separate sources are never combined.
brand.json is hosted. Seller Setup
opens the specific AAO brand Page for an AAO-hosted identity. For a self-hosted
identity, it instead tells the seller to update /.well-known/brand.json on the
verified operator domain.
All Marketplace cards and buyer storefront responses use this same projection;
clients do not need to resolve a second profile to reproduce the card.
Advertising Policies
advertisingPolicies is an optional buyer-facing disclosure. A managed seller
chooses whether to publish its Brief Acceptance rules, Creative Policy, or
both. Approval routing, approver identities, revision notes, and per-buyer
overrides are never included. A pass-through storefront can expose the
upstream AdCP media_buy.portfolio.advertising_policies value read-only.
The complete disclosure is bounded to 10,000 characters. Storefront list
responses use hasAdvertisingPolicies plus a bounded
advertisingPoliciesExcerpt; retrieve storefront detail when you need the
complete disclosed text.
Advertising Policies help evaluate fit, but absence is not permission. The
seller or upstream agent still decides whether to accept a brief.
Response fields
V3 compatibility
For new V3 integrations, read the card withget({ kind: "storefront", include: ["discoveryCard"] }) or open the
discovery_card Page. The older media_kit, save_media_kit, and
open_page({ page: "media_kit" }) contracts remain available as deprecated V3
compatibility surfaces; they do not define the canonical Discovery Card model.
List storefronts
Filter Marketplace storefronts by country and channel.
Storefront object guide
See how storefronts, inventory sources, and pass-through routing relate.