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.
Overview
A storefront is the seller-side surface in the Scope3 marketplace. It represents your brand, the inventory sources you offer through agentic protocols, and the billing relationship that lets buyer agents transact with you. The seller journey has four user-visible steps, mirroring the in-app onboarding UI:- Verify your company — resolve your brand from the AAO registry, set your operator domain, and auto-verify (or fall back to manual KYC).
- Connect an agent — register an inventory source backed by an ADCP-compatible agent from the AAO registry. Storefronts are limited to one agent today.
- Set up billing (optional by default) — connect Stripe to let Scope3 clear payments. Becomes required once a connected agent advertises
agentbilling (accounts.supported_billingcontains"agent") — buyers can ask Scope3 to clear in that case, so Stripe Connect is needed. If you skip this step on an optional storefront, your sales agent operates on external agreements with buyers only — Scope3 will not clear payments and you must bill the buyer directly. - Go live — confirm readiness and flip the storefront to
ACTIVE.
POST /resolve-brand— looks up your brand in the AAO registry. Used inside Step 1 to pre-fill the form.GET /discover-agents— surfaces agents AAO knows about for your domain. Used inside Step 2.GET /readiness— a status query you can call any time to see what gates remain. Surfaced in Step 4 (and re-run server-side at activation).
Who this is for
- Publishers and sales houses connecting their inventory to agentic buyers
- Retail media networks exposing on-site or off-site inventory through ADCP-compatible agents
- Any seller who wants buyer agents (e.g. Scope3, Claude, custom buyers) to be able to discover and transact against their inventory
Prerequisites
Scope3 API key
scope3_ and authorize all storefront endpoints.A registered brand on AAO
brand.json published and resolvable through the AAO registry at agenticadvertising.org. If you don’t have one yet, the resolve-brand call returns a builderUrl that points you to the registry’s brand builder.At least one ADCP-compatible agent
Onboarding flow
Verify your company
1. Resolve your brand (helper)
Look up your brand in the AAO registry to grab the canonical brand name and logo URL. This call has no side effects — it’s only used to populate the storefront update payload.200 with { "resolved": false, "builderUrl": "https://agenticadvertising.org/brand" } — point the operator at the builder URL to publish a brand.json.domain field is validated against a strict FQDN regex. IP addresses and internal hostnames are rejected to prevent SSRF.2. Write the brand fields onto your storefront
If your customer doesn’t yet have a storefront record, create one first:POST /storefront is idempotent — if a storefront already exists for your customer, the existing record is returned instead of creating a duplicate.Then update it with the brand fields from resolve-brand plus your operator domain:PUT /storefront: name, publisherDomain, plan, status, operatorDomain, brandName, logoUrl. At least one field must be provided.Connect an agent (inventory source)
1. Discover agents (helper)
Optional but recommended: see what AAO already knows about your domain. This proxies AAO’s operator and publisher endpoints plus your.well-known/adagents.json.x-aao-api-key header is optional. Without it you only get the public registry view. Pass it to also surface storyboard compliance status for agents you operate.(domain, key fingerprint). Pass &refresh=true to force a re-fetch.2. Register an inventory source
executionType: "agent": type, endpointUrl, protocol, authenticationType. auth is required for API_KEY and JWT agents and must be omitted for OAUTH and NO_AUTH.- API_KEY
- OAUTH
- JWT
- NO_AUTH
bearer, apikey, and api_key are all accepted. The token is stored in Google Secret Manager and never echoed back. The source goes to pending and auto-activates once the agent is reachable with the credential.PUT /api/v2/storefront/inventory-sources/:sourceId accepts any subset of name, description, endpointUrl, protocol, authenticationType, auth, executionConfig, status. Updating auth rotates the stored credential; omitting it preserves the existing one.ACTIVE, PAUSED, PENDING_APPROVAL, or INPUT_REQUIRED). Cancel or terminate those first.Set up billing (conditional)
- Optional when no connected agent advertises
agentbilling. Your storefront can go live without Stripe Connect, but your sales agent is limited to external agreements with buyers (see warning below). - Required when at least one connected agent advertises
agentinaccounts.supported_billing. Buyers can ask Scope3 to clear payments through that agent, so Stripe Connect must be configured before activation. The readiness checkbilling_setupreturnsisBlocker: trueuntil onboarding completes.
1. Provision a Connect account
onboardingUrl to complete Stripe’s KYC flow.2. Re-fetch onboarding link
If the operator drops out mid-onboarding, get a fresh link:3. Check status + balance
Other billing endpoints
| Endpoint | Purpose |
|---|---|
GET /api/v2/storefront/billing | Current platform fee %, additional fees, currency, net days |
PUT /api/v2/storefront/billing | Admin-only — update fee config |
GET /api/v2/storefront/billing/transactions | Cursor-paginated balance transactions |
GET /api/v2/storefront/billing/payouts | Cursor-paginated payouts |
POST /api/v2/storefront/billing/account-session | Embedded Stripe Connect session for in-app onboarding UI |
GET /api/v2/storefront/billing/accounts | Parent customers — billing status across child accounts |
?targetCustomerId=<childId> on every /api/v2/storefront/billing/* endpoint to operate on a child’s billing. Access is validated against the parent/child relationship before each call.Go live
PENDING to ACTIVE. Buyer agents can only discover and transact against your inventory once you’re live.1. Confirm readiness
GET /api/v2/storefront/readiness runs every gate that activation will check server-side. Call it any time during onboarding to see what’s still missing.What each check means
What each check means
inventory_sources(blocker) — at least one source must exist.agent_status(blocker) — every agent backing a source must beACTIVEand have AAO compliance statuspassing. Sources connected with a non-passingagent will keep this check inpartialuntil compliance flips.agent_auth(blocker) — non-OAuth agents must have a stored credential. OAuth agents are excluded once their token is captured.agent_connectivity(blocker, only onGET /readiness/compliance) — runs the ADCPcomply()test suite against each agent in sandbox mode (60s timeout). Returns per-agent track results and observations.billing_setup(conditional blocker) — Stripe is optional when no connected agent advertisesagentbilling in its capabilities; the check returnsstatus: optional/partialwithisBlocker: falseand the external-agreements warning. Stripe becomes required once any connected agent declaresagentinaccounts.supported_billing; the check then returnsstatus: missing/partialwithisBlocker: trueuntil Stripe onboarding completes. In non-production environments the check short-circuits tooptionalregardless of Stripe state so dev/staging storefronts can go live without Stripe.
status is blocked if any check with isBlocker: true is not complete, otherwise ready. A check with status: optional is treated as not required.For a deeper agent connectivity test (full ADCP compliance scenarios in sandbox mode), hit:2. Activate
PENDING status that’s linked through a source is automatically promoted to ACTIVE so buyer traffic can route through it.Lifecycle states
| Status | Meaning |
|---|---|
PENDING | Created but not live. Buyer-side discovery does not surface it. |
ACTIVE | Live. Buyer agents can discover the storefront and transact. |
DISABLED | Temporarily off. Existing media buys remain bound but new ones can’t be placed. |
PENDING ↔ ACTIVE ↔ DISABLED (you can’t go straight from DISABLED to PENDING).Troubleshooting
`AAO compliance pending` — agent is in registry but tests are still running
`AAO compliance pending` — agent is in registry but tests are still running
not-passing.`Agent must pass AAO compliance testing` — endpoint returned `not-passing`
`Agent must pass AAO compliance testing` — endpoint returned `not-passing`
`Agent must be registered with AAO to connect`
`Agent must be registered with AAO to connect`
endpointUrl doesn’t appear in the AAO registry at all. Register it through the AAO operator dashboard before retrying.`Cannot activate storefront: All agents must be active to go live`
`Cannot activate storefront: All agents must be active to go live`
PENDING. Most often this means the auth credential hasn’t been verified yet. Re-submit the source with a fresh auth block, or for OAuth agents make sure the OAuth callback completed.`Cannot activate storefront: All agents must be authenticated to go live`
`Cannot activate storefront: All agents must be authenticated to go live`
PUT /api/v2/storefront/inventory-sources/:sourceId with an auth block to set one.`agent_connectivity` failed in compliance check
`agent_connectivity` failed in compliance check
compliance array on the failing check — each entry has per-track failureReason, summary, and observations. The most common causes are auth misconfiguration, schema drift between your agent and the ADCP spec, and agent-side timeouts beyond 60s.Storefront says `operatorDomainVerified: false` even though my domain matches
Storefront says `operatorDomainVerified: false` even though my domain matches
operatorDomain is being changed. If you set the domain before the customer’s customerDomain was registered, update operatorDomain to the same value again to trigger re-evaluation, or have a Scope3 admin verify manually.`Stripe is not configured`
`Stripe is not configured`
`Child customers cannot provision billing accounts directly`
`Child customers cannot provision billing accounts directly`
POST /api/v2/storefront/billing/connect?targetCustomerId=<your-id> on your behalf.Next steps
- Storefront API Reference — full endpoint reference for storefront, billing, and inventory source endpoints
- Authentication — API key and OAuth flows
- Storefront object guide — how buyer agents see your storefront once it’s live (discovery, credentials, sources)