Skip to main content
The Interchange has two object hierarchies that meet at the AdCP wire. Buyers plan and execute media; storefronts expose inventory. Both sides share one platform and one auth model, but their objects are disjoint — an agent only ever works inside the hierarchy that matches its job. This page is the canonical map. Each side gets an ASCII tree, then a table per object: what it is, its parent, its key children, and the guide that covers it.
Media Buys and Packages are not directly creatable. They are spawned by the platform when a Campaign executes — one media buy per sales agent, one package per product per pacing period. You read their status and tune them through the campaign update endpoint, never by POSTing them directly.

Buyer side

A buyer’s world is rooted at the Advertiser and flows down to the Delivery metrics that roll back up. Discovery, creatives, signals, and audiences attach to the Campaign — the focal object.
Advertiser                                  (top-level container, owns a Brand)
  └── Campaign                              (the media plan: flight, budget, goals)
        ├── Discovery Session               (product search; produces Proposals)
        ├── Creative                        (manifest, attached at the campaign)
        └── Media Buy                       (one per sales agent — spawned at execute)
              └── Package                    (one per product per pacing period)
                    └── Delivery             (impressions, spend, clicks)
ObjectWhat it isParentKey childrenGuide
AdvertiserTop-level container for a buyer’s media. Owns a brand, default optimization mode, and linked sales-agent accounts.Campaign, BrandAdvertiser
CampaignA single coherent media plan: flight dates, budget, optimization goals, audiences, creative requirements. DECISIONED or ROUTED.AdvertiserDiscovery Session, Creative, Media Buy, Audience, Frequency CapCampaign
Media BuyOne AdCP transaction with one sales agent. Spawned at execute — not directly creatable.CampaignPackageMedia Buys
PackageOne product for one pacing period, with its own budget, pacing, bid, and goals. Spawned at execute.Media BuyDeliveryPackages
DeliveryReported metrics that roll up per package: impressions, spend, clicks. Follows the AdCP get_media_buy_delivery shape.PackagePackages
Discovery SessionA product-search conversation against sales agents. Refinable; produces ranked Proposals the campaign selects from.CampaignProposalDiscovery
CreativeA manifest-based asset uploaded under the campaign, auto-synced to media buys by accepted format.CampaignCreative
SignalA targeting or optimization input (audience, contextual, outcome) discovered from signal agents via AdCP.Campaign / AdvertiserSignal
AudienceA target or suppress list attached to a campaign.CampaignSignal
Property ListA named include/exclude set of domains, apps, or deals applied to packages without a full re-execute.CampaignCampaign
Event SourceA conversion-tracking source (pixel, server event) referenced by event-based optimization goals.AdvertiserCampaign
BrandThe brand identity and manifest behind an advertiser — name, assets, safety, and story.AdvertiserBrand Story

Storefront side

A storefront’s world is rooted at the Storefront and wraps one or more AdCP-compatible Inventory Sources. Buyers register Credentials per source where the source requires them; those credentials gate the customer accounts that transact through the storefront.
Storefront                                  (the sales-agent surface buyers see)
  ├── Business Profile                       (identity, terms, positioning)
  ├── Operating Instructions                 (versioned; exactly one active)
  └── Inventory Source(s)                    (AdCP agent — discovery + execution)
        └── Buyer Credentials                (per source, where required)
              └── Customer accounts          (the buyer accounts that transact)
ObjectWhat it isParentKey childrenGuide
StorefrontThe sales-agent surface a buyer connects to. Wraps inventory sources, a business profile, and operating instructions.Inventory Source, Business Profile, Operating InstructionsStorefront
Inventory SourceAn AdCP-compatible agent that handles product discovery (get_products) and media-buy execution (create_media_buy) for the storefront.StorefrontBuyer CredentialsStorefront
Buyer CredentialsA buyer’s registered account for one inventory source, where the source requires per-buyer credentials.Inventory SourceCustomer accountsStorefront
Customer accountsThe buyer-side accounts linked through credentials that actually transact against the source.Buyer CredentialsStorefront
Operating InstructionsVersioned guidance that steers how the storefront responds to demand. Exactly one version is active at a time.StorefrontStorefront
Business ProfileThe storefront’s identity and positioning — name, terms, and how it presents to buyers.StorefrontStorefront
Demand SignalAn inbound expression of buyer interest the storefront can shape inventory and pricing around.StorefrontStorefront
ProposalAn offer a storefront returns in response to discovery — products, pricing, and terms a buyer can select.Inventory SourceDiscovery
Creative ReviewA storefront’s approval or rejection of a buyer’s creative, with reviewer attribution.StorefrontCreative
Media-Buy ApprovalA storefront’s sign-off on an incoming media buy before it goes live.StorefrontStorefront
The two hierarchies meet at the AdCP wire: a buyer’s Media Buy is the same transaction a storefront approves through Media-Buy Approval, and a buyer’s Discovery Session is answered by a storefront’s Proposals. Read the Philosophy primer for why the surfaces are split.

Where to go next

Philosophy

Why v2 splits buyer and storefront, uses SESOFI, and defaults to AdCP.

Glossary

Every term in the docs, alphabetized with links to the deep guides.

Campaign

The focal buyer object — how a plan becomes media buys and packages.

Storefront

Wrap inventory sources, manage credentials, and connect buyer accounts.