> ## Documentation Index
> Fetch the complete documentation index at: https://docs.interchange.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Storefront

> What a storefront is for an operator — inventory sources, business profile, operating instructions, readiness, and marketplace listing.

## Overview

Your **storefront** is your buyer-facing home on Scope3 Interchange: the
business presence, name, and discovery surface buyers use to understand who
they are buying from. Behind it, the Merchandising Agent answers
buyer briefs, composes products, and runs the AdCP media-buy workflow on your
behalf, drawing from one or more **inventory sources** you connect.

This page is the operator's map of the storefront object. Each domain below has
its own task pages; this overview explains what the pieces are and how they fit
together.

```
Storefront                                  (your buyer-facing surface)
  ├── Business Profile                       (identity, positioning, authorized domains)
  ├── Operating Instructions                 (versioned guidance; exactly one active)
  └── Inventory Source(s)                    (AdCP agent — discovery + execution)
        └── Buyer accounts                   (the buyers that transact through the source)
```

All examples use the storefront base URL and a bearer token:

```
https://api.interchange.io/api/v2/storefront
```

```bash theme={null}
curl https://api.interchange.io/api/v2/storefront/readiness \
  -H "Authorization: Bearer $SCOPE3_API_KEY"
```

## Inventory sources

An **inventory source** is private upstream supply behind your storefront. It
can be an AdCP-compatible agent, an ad-server connection, a runtime link to
another storefront, or a modular lifecycle. Each path supports the product
discovery (`get_products`) and media-buy execution (`create_media_buy`) stages
it advertises. A storefront can use multiple sources, and the products buyers
see are assembled from the supply they provide.

Sources come in a few shapes:

* **External sales agents** you already run, connected by endpoint and auth.
* **Managed ad servers** — Google Ad Manager, FreeWheel, or SpringServe —
  where Scope3 runs the sales-agent plumbing in front of your ad server.
* **Other storefronts** that have authorized passthrough or federation.
* **Modular sources** assembled from catalog/avails, booking, creative,
  execution, reporting, and human-work modules.

Use [Choose how your storefront gets supply](/v2/storefront/inventory-sources/choosing-a-source)
before connecting anything. It also explains the separate storefront-adapter
path, which configures the storefront dispatcher rather than adding an
inventory source.

Each source declares its capabilities (`products`, `createMediaBuy`,
`updateMediaBuy`, `signals`, `wholesaleProducts`) and whether it requires
authentication. A composition storefront assembles products across active
sources; a passthrough storefront proxies `get_products` to one upstream
source and overlays your storefront identity and buyer instructions on the
response.

## Business profile

Your **business profile** is captured during storefront setup and helps the
Merchandising Agent describe your business, follow the right merchandising
guidance, and understand which publisher domains it is authorized to sell
through the storefront.

| Field              | Type      | Description                                                                                                                                                                  |
| ------------------ | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `summary`          | string    | Concise explanation of what the storefront sells. Maximum 2000 characters.                                                                                                   |
| `agentName`        | string    | Deprecated agent-name field, kept for legacy compatibility only. Prefer the storefront display name for buyer-facing naming. Maximum 80 characters.                          |
| `agentPersonality` | string    | Voice and merchandising guidance for buyer-facing interactions and reports. Maximum 1000 characters.                                                                         |
| `propertyCount`    | integer   | Approximate number of owned publisher properties, from 0 to 10,000.                                                                                                          |
| `channels`         | string\[] | AdCP channels the storefront offers: `display`, `olv`, `ctv`, `social`, `audio`, or `dooh`.                                                                                  |
| `regions`          | string\[] | Up to 64 ISO alpha-2 country codes or region groups such as `EMEA` and `WORLDWIDE`.                                                                                          |
| `verticals`        | string\[] | Up to 32 audience or content focus areas, each no more than 80 characters.                                                                                                   |
| `publisherDomains` | string\[] | Publisher domains or properties the storefront is authorized to sell. Up to 128 valid domains; each is normalized to lowercase, deduplicated, and limited to 253 characters. |
| `evidenceUrls`     | string\[] | Up to 16 media-kit, about-page, or other source URLs.                                                                                                                        |
| `notes`            | string    | Confirmed context that does not fit the structured fields. Maximum 4000 characters.                                                                                          |
| `updatedBy`        | string    | Audit marker for the last writer. The Business Profile page manages this automatically.                                                                                      |

`businessProfile.regions` is the canonical market configuration used by storefront qualification and cards. The legacy top-level `regions` field remains a compatibility alias: writing it updates the Business Profile, and reads project the Business Profile value so the two surfaces cannot disagree.

```json Example theme={null}
{
  "businessProfile": {
    "summary": "Premium sports inventory across web, mobile, and CTV.",
    "channels": ["display", "ctv"],
    "regions": ["GB", "EMEA"],
    "agentPersonality": "Confident, concise, and commercially sharp.",
    "publisherDomains": ["touchline.example", "football.touchline.example"]
  }
}
```

<Note>
  Omitting `publisherDomains` means the authorized domains are unknown or have
  not been captured yet. It does not mean the storefront is authorized to sell
  every domain.
</Note>

In an MCP-compatible assistant, call `get_business_profile` to open the
portable Business Profile page. Operators can review, create, and edit the
profile in the page. An assistant can also call `update_business_profile` for
an exact change confirmed in conversation. That tool applies a patch: omitted
fields from the profile state read for that call stay unchanged, while an
explicit `null` clears a field. Overlapping patch calls use last-writer-wins
behavior, so clients should serialize concurrent edits.

For managed sales-agent storefronts, this field is the authoritative
publisher-domain set Interchange syncs to the managed sales agent. See
[Publisher domains](/v2/storefront/publisher-domains) for replacement and
removal behavior.

## Operating instructions

**Operating instructions** are versioned guidance that steers how your
storefront responds to demand — what to package, how to position, and how to
negotiate. Exactly one version is active at a time; publishing a new version
supersedes the prior one without losing history.

Operating instructions are authoritative over historical analytics signals.
When the Merchandising Agent composes products, your written instructions and
[buyer instructions](/v2/storefront/buyer-instructions/overview) win over any
directional signal derived from recent outcomes.

## Readiness diagnostics

`GET /readiness` tells you whether your storefront can transact now. It returns
blocking checks for inventory sources, agent status, and agent auth, plus a
per-source `sourceDiagnostics[]` array used by setup surfaces. The overall
`status` is `ready` or `blocked`; each check reports `complete`, `partial`,
`missing`, or `optional`, and carries an `isBlocker` flag.

Storefront lifecycle is not stored as a state. The seller-owned control is
`isPaused`, which defaults to `false`: Pause sets it to `true`, and Go live
clears it. Effective status is then derived as `archived`, `paused`, `blocked`,
or `live`. A non-paused storefront becomes live automatically when every
current requirement passes, and becomes blocked automatically when any new or
existing requirement fails. The deprecated `transacting` field is only the
inverse compatibility alias for `isPaused`; it is not proof of readiness.

See [Get readiness](/v2/storefront/tasks/get-readiness) for the full field
reference.

## Marketplace review and AAO signals

New storefronts start in a pending-review marketplace state. You can configure
and use your storefront, and open it for known transactions, but public buyer
discovery only includes storefronts that Scope3 has reviewed and listed.

Marketplace listing uses signals from the
[Agentic Advertising Organization](https://agenticadvertising.org) (AAO)
registry. Source registration, storyboard compliance, and publisher
authorization are different checks: registration blocks connecting an external
agent source; compliance is advisory for activation; publisher `adagents.json`
authorization is surfaced as an advisory setup/product signal today. Scope3's
marketplace review decides when a live storefront is listed in public buyer discovery. Use
[Discover agents](/v2/storefront/tasks/discover-agents) and
[Resolve brand](/v2/storefront/tasks/resolve-brand) to inspect what the registry
knows about your operator domain and the brands you transact with.

<Note title="Hiding a storefront">
  An admin can hide a listed storefront, which removes it from public buyer
  discovery without deleting the storefront or its inventory sources.
</Note>

## Storefront domains

<CardGroup cols={2}>
  <Card title="Inventory sources" href="/v2/storefront/inventory-sources/overview" icon="plug">
    Connect and manage the AdCP agents and ad servers behind your storefront.
  </Card>

  <Card title="Operating instructions" href="/v2/storefront/operating-instructions/overview" icon="list-check">
    Versioned merchandising and negotiation guidance.
  </Card>

  <Card title="Signals" href="/v2/storefront/signals/overview" icon="signal">
    The targeting and optimization inputs your sources expose.
  </Card>

  <Card title="Media-Buy Approvals" href="/v2/storefront/media-buy-approvals/overview" icon="circle-check">
    Review and decide on incoming media buys before they go live.
  </Card>

  <Card title="Billing" href="/v2/storefront/billing/overview" icon="credit-card">
    Payout bank details and fees so Scope3 can pay you.
  </Card>

  <Card title="Analytics" href="/v2/storefront/analytics" icon="chart-line">
    Win rate, buyer asks, top products, and negotiation posture.
  </Card>

  <Card title="Buyer instructions" href="/v2/storefront/buyer-instructions/overview" icon="user-gear">
    Per-buyer discounts, notes, and country scoping.
  </Card>
</CardGroup>
