curl --request GET \
--url https://api.apostra.com/api/v2/buyer/storefronts \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.apostra.com/api/v2/buyer/storefronts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.apostra.com/api/v2/buyer/storefronts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"items": [
{
"id": 0,
"platformId": "<string>",
"name": "<string>",
"publisherDomain": "<string>",
"brandName": "<string>",
"logoUrl": "<string>",
"logoBackground": "<string>",
"description": "<string>",
"website": "<string>",
"brandColors": {},
"displayStatus": "configuring",
"readiness": {
"canTransact": true,
"effectiveStatus": "archived",
"blockerIds": [
"<string>"
]
},
"adapterProviderType": "<string>",
"adapterSourceKind": "sales",
"creativeCapabilities": {
"kind": "creative_generation",
"modalities": [
"image"
],
"transformerIds": [
"<string>"
],
"supportedFormatIds": [
"<string>"
],
"supportedFormatCount": 4503599627370495,
"supportsBuildCreative": true,
"supportsPreviewCreative": true,
"formatDiscovery": "canonical"
},
"adapterConnection": {
"status": "not_connected",
"authModes": [
"oauth"
],
"accountCount": 4503599627370495,
"mappedAdvertiserCount": 0,
"selectedAccountName": "<string>"
},
"supportedRoutingTypes": [
"DECISIONED"
],
"supportedBilling": [
"operator"
],
"discoveryPerformance": {
"sampleCount": 4503599627370495,
"successCount": 4503599627370495,
"timeoutCount": 4503599627370495,
"avgResponseTimeMs": 4503599627370495,
"maxResponseTimeMs": 4503599627370495,
"lastResponseTimeMs": 4503599627370495,
"lastDiscoveryAt": "2023-11-07T05:31:56Z"
},
"discoveryCard": {
"storefrontId": "<string>",
"platformId": "<string>",
"storefrontKind": "managed",
"displayName": "<string>",
"logoUrl": "<string>",
"logoBackground": "dark-bg",
"description": "<string>",
"website": "<string>",
"brandColors": {},
"channels": [
"<string>"
],
"countries": [
"<string>"
],
"acceptsAllCountries": true,
"coverageDeclarations": [
{
"channels": [
"<string>"
],
"countries": [
"<string>"
],
"acceptsAllCountries": true
}
],
"coverage": {
"channels": "declared",
"countries": "declared"
},
"provenance": {
"identity": {
"displayName": "operator",
"logoUrl": "operator",
"description": "operator",
"website": "operator",
"brandColors": "operator"
},
"coverage": {
"channels": "operator",
"countries": "operator"
},
"advertisingPolicies": "operator"
},
"hasAdvertisingPolicies": true,
"advertisingPoliciesExcerpt": "<string>"
},
"channels": [
"CTV",
"display"
],
"regions": [
"GB",
"US"
],
"sourceCount": 5,
"connectedSourceCount": 3
}
],
"total": 4503599627370495,
"hasMore": true,
"nextOffset": 4503599627370495
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}List storefronts
List all enabled storefronts visible to the buyer. Each storefront contains inventory sources backed by agents.
curl --request GET \
--url https://api.apostra.com/api/v2/buyer/storefronts \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.apostra.com/api/v2/buyer/storefronts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.apostra.com/api/v2/buyer/storefronts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"items": [
{
"id": 0,
"platformId": "<string>",
"name": "<string>",
"publisherDomain": "<string>",
"brandName": "<string>",
"logoUrl": "<string>",
"logoBackground": "<string>",
"description": "<string>",
"website": "<string>",
"brandColors": {},
"displayStatus": "configuring",
"readiness": {
"canTransact": true,
"effectiveStatus": "archived",
"blockerIds": [
"<string>"
]
},
"adapterProviderType": "<string>",
"adapterSourceKind": "sales",
"creativeCapabilities": {
"kind": "creative_generation",
"modalities": [
"image"
],
"transformerIds": [
"<string>"
],
"supportedFormatIds": [
"<string>"
],
"supportedFormatCount": 4503599627370495,
"supportsBuildCreative": true,
"supportsPreviewCreative": true,
"formatDiscovery": "canonical"
},
"adapterConnection": {
"status": "not_connected",
"authModes": [
"oauth"
],
"accountCount": 4503599627370495,
"mappedAdvertiserCount": 0,
"selectedAccountName": "<string>"
},
"supportedRoutingTypes": [
"DECISIONED"
],
"supportedBilling": [
"operator"
],
"discoveryPerformance": {
"sampleCount": 4503599627370495,
"successCount": 4503599627370495,
"timeoutCount": 4503599627370495,
"avgResponseTimeMs": 4503599627370495,
"maxResponseTimeMs": 4503599627370495,
"lastResponseTimeMs": 4503599627370495,
"lastDiscoveryAt": "2023-11-07T05:31:56Z"
},
"discoveryCard": {
"storefrontId": "<string>",
"platformId": "<string>",
"storefrontKind": "managed",
"displayName": "<string>",
"logoUrl": "<string>",
"logoBackground": "dark-bg",
"description": "<string>",
"website": "<string>",
"brandColors": {},
"channels": [
"<string>"
],
"countries": [
"<string>"
],
"acceptsAllCountries": true,
"coverageDeclarations": [
{
"channels": [
"<string>"
],
"countries": [
"<string>"
],
"acceptsAllCountries": true
}
],
"coverage": {
"channels": "declared",
"countries": "declared"
},
"provenance": {
"identity": {
"displayName": "operator",
"logoUrl": "operator",
"description": "operator",
"website": "operator",
"brandColors": "operator"
},
"coverage": {
"channels": "operator",
"countries": "operator"
},
"advertisingPolicies": "operator"
},
"hasAdvertisingPolicies": true,
"advertisingPoliciesExcerpt": "<string>"
},
"channels": [
"CTV",
"display"
],
"regions": [
"GB",
"US"
],
"sourceCount": 5,
"connectedSourceCount": 3
}
],
"total": 4503599627370495,
"hasMore": true,
"nextOffset": 4503599627370495
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}Authorizations
API key or access token
Query Parameters
Filter by storefront name (partial match, case-insensitive)
Alias of name (same partial, case-insensitive match). When both are sent, name wins.
Filter by stored-control labels. neutral and paused match isPaused; legacy configuring and transacting match the compatibility field; archived matches archived storefronts. This is not transaction readiness.
configuring, transacting, archived, neutral, paused Filter to storefronts that carry this channel. Canonical AdCP values such as display, olv, and ctv are recommended; legacy/custom strings remain accepted for compatibility.
1Filter to storefronts that sell in this country. Accepts an ISO 3166-1 alpha-2 country code (e.g. FR, US, JP), a country group (NAM, LATAM, EMEA, EUROPE, EU, APAC), or WORLDWIDE (every storefront matches). A storefront matches when it sells in the country or any country of the group, accepts every country, or names no country (so is in every country). Legacy aliases such as GLOBAL, NORAM, NA and UK are still read; any other value matches only storefronts that are in every country.
1Which storefronts to list. public (default) returns human-reviewed storefronts listed in the buyer marketplace. private returns ALL storefronts (configuring, transacting, archived, hidden, or pending review) owned by customers in the caller's parent organization.
public, private Find sellers that represent this publisher. Returns storefronts whose declared publisher coverage includes this domain or any of its subdomains. Use this for vendor selection — identifying which sellers cover a publisher you care about. This is a coverage filter, not an inventory query; for domain-level product availability use product discovery.
Maximum storefronts per page (default: 20, max: 100)
0 < x <= 100Number of storefronts to skip for pagination (default: 0)
0 <= x <= 9007199254740991