curl --request GET \
--url https://api.interchange.io/api/v2/buyer/readiness \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.interchange.io/api/v2/buyer/readiness"
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/buyer/readiness', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"version": 1,
"customer": {
"id": 4503599627370495,
"name": "<string>",
"company": "<string>"
},
"status": "setup",
"platformReady": true,
"canBuyAnywhere": true,
"identity": {
"canManage": true,
"operatorDomain": "<string>",
"operatorDomainSource": "user_confirmed",
"operatorScope": "whole_operator",
"operatorUnit": {
"id": "<string>",
"name": "<string>"
},
"scopeStatus": "unclassified",
"locked": true,
"lockedAt": "2023-11-07T05:31:56Z",
"lockReason": "advertiser_binding",
"hierarchyAccountCount": 4503599627370495,
"reconciliation": {
"status": "needs_confirmation",
"issues": [
"legacy_domain_only"
]
},
"claimedIdentities": [
{
"customerId": 4503599627370495,
"accountName": "<string>",
"operatorDomain": "<string>",
"operatorScope": "whole_operator",
"operatorUnitId": "<string>",
"locked": true
}
],
"status": "missing",
"organization": {
"domain": "<string>",
"relationship": "same_organization",
"verificationSource": "member_or_admin"
},
"aao": {
"status": "matched",
"canonicalDomain": "<string>",
"name": "<string>",
"source": "<string>"
}
},
"commercial": {
"tosAccepted": true,
"suspended": true,
"interchangeClearingReady": true,
"mediaRateCard": {
"status": "ACTIVE",
"billingCustomerId": 4503599627370495,
"inheritedFromOrganization": true,
"pricingSource": "standard",
"billingType": "DECISIONED",
"pricingType": "MARGIN",
"feeRatePercent": 123,
"clearingSupported": true,
"clearingUnsupportedReason": "RATE_CARD_MISSING"
},
"missing": [
"TOS"
]
},
"capabilities": {
"demoOperations": {
"allowed": true,
"blockers": [
"account_type"
]
},
"realOperations": {
"allowed": true,
"blockers": [
"account_type"
]
},
"directSpend": {
"allowed": true,
"blockers": [
"account_type"
]
},
"interchangeSpend": {
"allowed": true,
"blockers": [
"account_type"
]
}
},
"checks": [
{
"id": "operator_identity",
"name": "<string>",
"description": "<string>",
"status": "complete",
"isBlocker": true,
"action": {
"label": "<string>",
"operation": "<string>",
"pathParams": {},
"page": "<string>"
}
}
],
"destinations": {
"total": 4503599627370495,
"ready": 4503599627370495,
"needsConnection": 4503599627370495,
"blocked": 4503599627370495,
"limit": 4503599627370495,
"offset": 4503599627370495,
"hasMore": true,
"nextOffset": 4503599627370495,
"truncated": true,
"items": [
{
"storefrontId": "<string>",
"platformId": "<string>",
"name": "<string>",
"kind": "adcp",
"provider": "<string>",
"billingRoute": "direct",
"status": "ready",
"canBuy": true,
"reason": "<string>",
"action": {
"label": "<string>",
"operation": "<string>",
"pathParams": {},
"page": "<string>"
}
}
]
}
}{
"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 buyer readiness
Get platform-level activation criteria and per-destination buying readiness for the authenticated buyer account.
curl --request GET \
--url https://api.interchange.io/api/v2/buyer/readiness \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.interchange.io/api/v2/buyer/readiness"
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/buyer/readiness', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"version": 1,
"customer": {
"id": 4503599627370495,
"name": "<string>",
"company": "<string>"
},
"status": "setup",
"platformReady": true,
"canBuyAnywhere": true,
"identity": {
"canManage": true,
"operatorDomain": "<string>",
"operatorDomainSource": "user_confirmed",
"operatorScope": "whole_operator",
"operatorUnit": {
"id": "<string>",
"name": "<string>"
},
"scopeStatus": "unclassified",
"locked": true,
"lockedAt": "2023-11-07T05:31:56Z",
"lockReason": "advertiser_binding",
"hierarchyAccountCount": 4503599627370495,
"reconciliation": {
"status": "needs_confirmation",
"issues": [
"legacy_domain_only"
]
},
"claimedIdentities": [
{
"customerId": 4503599627370495,
"accountName": "<string>",
"operatorDomain": "<string>",
"operatorScope": "whole_operator",
"operatorUnitId": "<string>",
"locked": true
}
],
"status": "missing",
"organization": {
"domain": "<string>",
"relationship": "same_organization",
"verificationSource": "member_or_admin"
},
"aao": {
"status": "matched",
"canonicalDomain": "<string>",
"name": "<string>",
"source": "<string>"
}
},
"commercial": {
"tosAccepted": true,
"suspended": true,
"interchangeClearingReady": true,
"mediaRateCard": {
"status": "ACTIVE",
"billingCustomerId": 4503599627370495,
"inheritedFromOrganization": true,
"pricingSource": "standard",
"billingType": "DECISIONED",
"pricingType": "MARGIN",
"feeRatePercent": 123,
"clearingSupported": true,
"clearingUnsupportedReason": "RATE_CARD_MISSING"
},
"missing": [
"TOS"
]
},
"capabilities": {
"demoOperations": {
"allowed": true,
"blockers": [
"account_type"
]
},
"realOperations": {
"allowed": true,
"blockers": [
"account_type"
]
},
"directSpend": {
"allowed": true,
"blockers": [
"account_type"
]
},
"interchangeSpend": {
"allowed": true,
"blockers": [
"account_type"
]
}
},
"checks": [
{
"id": "operator_identity",
"name": "<string>",
"description": "<string>",
"status": "complete",
"isBlocker": true,
"action": {
"label": "<string>",
"operation": "<string>",
"pathParams": {},
"page": "<string>"
}
}
],
"destinations": {
"total": 4503599627370495,
"ready": 4503599627370495,
"needsConnection": 4503599627370495,
"blocked": 4503599627370495,
"limit": 4503599627370495,
"offset": 4503599627370495,
"hasMore": true,
"nextOffset": 4503599627370495,
"truncated": true,
"items": [
{
"storefrontId": "<string>",
"platformId": "<string>",
"name": "<string>",
"kind": "adcp",
"provider": "<string>",
"billingRoute": "direct",
"status": "ready",
"canBuy": true,
"reason": "<string>",
"action": {
"label": "<string>",
"operation": "<string>",
"pathParams": {},
"page": "<string>"
}
}
]
}
}{
"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
Maximum number of destination rows to return.
1 <= x <= 10050
Zero-based destination offset.
0 <= x <= 90071992547409910
Response
Get buyer readiness
Canonical buyer setup projection. Capability verdicts are derived from narrow source facts and are never writable Account lifecycle state. mediaRateCard is the configured legacy media-pricing contract and is distinct from the feature-gated IU plan. Destination rows add seller availability, connection or mapping, and route-specific commercial requirements.
1 Show child attributes
Show child attributes
setup, ready, blocked Show child attributes
Show child attributes
Show child attributes
Show child attributes
Derived operation verdicts. These are explanations computed from identity, Terms, standing, and route-specific payment facts; they are not a writable Account lifecycle.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes