curl --request GET \
--url https://api.interchange.io/api/v2/storefront/property-roster \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.interchange.io/api/v2/storefront/property-roster"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.interchange.io/api/v2/storefront/property-roster', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"publishers": [
{
"domain": "<string>",
"provenance": "declared",
"adagentsStatus": "resolved",
"authorizationStatus": "authorized",
"authorizationReason": "no_file",
"lastSyncedAt": "<string>",
"formatCatalogSyncedAt": "<string>",
"identityCatalogStatus": "pending",
"formatCatalogStatus": "pending",
"properties": [
{
"propertyKey": "<string>",
"propertyId": "<string>",
"propertyType": "<string>",
"name": "<string>",
"identifiers": [
{
"type": "<string>",
"value": "<string>"
}
],
"tags": [
"<string>"
],
"provenance": "publisher_adagents",
"authorization": {
"status": "authorized",
"grain": "domain",
"reason": "no_file"
},
"declaredBySellerAt": "<string>",
"firstSeenAt": "<string>",
"lastSeenAt": "<string>"
}
],
"collections": [
{
"collectionId": "<string>",
"name": "<string>",
"tags": [
"<string>"
],
"provenance": "publisher_adagents",
"firstSeenAt": "<string>",
"lastSeenAt": "<string>"
}
],
"formats": [
{
"formatKey": "<string>",
"formatOptionId": "<string>",
"displayName": "<string>",
"formatKind": "image",
"params": {},
"appliesToPropertyIds": [
"<string>"
],
"appliesToPropertyTags": [
"<string>"
],
"applicablePropertyKeys": [
"<string>"
],
"applicablePropertyKeysTruncated": true,
"appliesToAllProperties": true,
"sellerPreference": "<string>",
"experimental": true,
"provenance": "publisher_adagents",
"firstSeenAt": "<string>",
"lastSeenAt": "<string>"
}
],
"propertyCount": 4503599627370495,
"collectionCount": 4503599627370495,
"formatCount": 4503599627370495
}
],
"totals": {
"publishers": 4503599627370495,
"authorizedPublishers": 4503599627370495,
"properties": 4503599627370495,
"collections": 4503599627370495,
"formats": 4503599627370495
},
"truncated": {
"publishers": true,
"properties": true,
"collections": true,
"formats": true
},
"coverageApplies": true
}{
"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": {}
}
}Get the property roster
The canonical property roster: every declared publisher domain with the properties and collections resolved from that publisher’s adagents.json, plus the persisted authorization outcome (authorizationStatus and, when resolved under the reason contract, authorizationReason).
curl --request GET \
--url https://api.interchange.io/api/v2/storefront/property-roster \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.interchange.io/api/v2/storefront/property-roster"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.interchange.io/api/v2/storefront/property-roster', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"publishers": [
{
"domain": "<string>",
"provenance": "declared",
"adagentsStatus": "resolved",
"authorizationStatus": "authorized",
"authorizationReason": "no_file",
"lastSyncedAt": "<string>",
"formatCatalogSyncedAt": "<string>",
"identityCatalogStatus": "pending",
"formatCatalogStatus": "pending",
"properties": [
{
"propertyKey": "<string>",
"propertyId": "<string>",
"propertyType": "<string>",
"name": "<string>",
"identifiers": [
{
"type": "<string>",
"value": "<string>"
}
],
"tags": [
"<string>"
],
"provenance": "publisher_adagents",
"authorization": {
"status": "authorized",
"grain": "domain",
"reason": "no_file"
},
"declaredBySellerAt": "<string>",
"firstSeenAt": "<string>",
"lastSeenAt": "<string>"
}
],
"collections": [
{
"collectionId": "<string>",
"name": "<string>",
"tags": [
"<string>"
],
"provenance": "publisher_adagents",
"firstSeenAt": "<string>",
"lastSeenAt": "<string>"
}
],
"formats": [
{
"formatKey": "<string>",
"formatOptionId": "<string>",
"displayName": "<string>",
"formatKind": "image",
"params": {},
"appliesToPropertyIds": [
"<string>"
],
"appliesToPropertyTags": [
"<string>"
],
"applicablePropertyKeys": [
"<string>"
],
"applicablePropertyKeysTruncated": true,
"appliesToAllProperties": true,
"sellerPreference": "<string>",
"experimental": true,
"provenance": "publisher_adagents",
"firstSeenAt": "<string>",
"lastSeenAt": "<string>"
}
],
"propertyCount": 4503599627370495,
"collectionCount": 4503599627370495,
"formatCount": 4503599627370495
}
],
"totals": {
"publishers": 4503599627370495,
"authorizedPublishers": 4503599627370495,
"properties": 4503599627370495,
"collections": 4503599627370495,
"formats": 4503599627370495
},
"truncated": {
"publishers": true,
"properties": true,
"collections": true,
"formats": true
},
"coverageApplies": true
}{
"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
Response
Get the property roster
The storefront property roster: every declared publisher domain with its resolved properties, canonical AdCP Collections, canonical creative formats, and authorization state. AAO publisher lookup supplies publisher and community formats while authorization remains a separate live-origin decision. totals describe the storefront; the returned arrays are response-bounded and truncated says where.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
True where the response omitted rows the storefront actually has. Compare the per-publisher counts against the returned arrays to see where.
Show child attributes
Show child attributes
False when selling rights come from a platform account connection rather than adagents.json. Do not report an authorization verdict as a problem when this is false.