requiresCredentials, and the buyer registers credentials (API key, JWT, or OAuth) once per source. Once a source reports connected: true, discovery and media buys flow through it normally. List endpoints return compact summaries with scalar source counts; fetch a single storefront to see the embedded sources[] array with per-source connection state.
Adapter storefronts can have more than one connected provider account for the same buyer. For example, an agency can connect separate Snap business accounts for different brands, or a single advertiser can connect separate provider accounts for separate product lines. Use the storefront connection OAuth flow again to add another provider account; already-connected storefronts show this as adding an account rather than replacing the existing one.
When listing or linking advertiser accounts from an adapter storefront, use the returned credentialId to distinguish which connected provider credential owns the account. This is required when more than one connected credential can expose the same upstream accountId.
Key concepts
| Concept | Description |
|---|---|
| Storefront | A publisher’s buyer-facing presence aggregating inventory sources behind one id |
| Inventory source | An AdCP agent within a storefront that serves products and accepts media buys |
requiresCredentials | Whether the buyer must register credentials to use a source |
connected | Whether the buyer already has working credentials for a source |
| Credential | A buyer’s registered account at a source — covers one or more (storefrontId, sourceId) pairs |
credentialId | Connected provider credential identifier used to disambiguate duplicate upstream account IDs |
displayStatus | configuring, transacting, or archived |
sourceCount / connectedSourceCount | Total sources vs. those the buyer has wired up |
Task reference
List storefronts
GET /storefronts — paginated summariesGet storefront
GET /storefronts/:storefrontId — sources + connection stateList credentials
GET /storefronts/credentials — all your registered credentialsRegister source credentials
POST /storefronts/:storefrontId/sources/:sourceId/credentials — connect a sourceRelated
Storefront object guide
Full model: sources, OAuth, seller side
Discovery
Once connected, run discovery to find products