curl --request GET \
--url https://api.interchange.io/api/v2/storefront/esa/{esaId}/advertiser-capabilities \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.interchange.io/api/v2/storefront/esa/{esaId}/advertiser-capabilities"
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/esa/{esaId}/advertiser-capabilities', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"available": true,
"descriptor": {
"descriptorVersion": 1,
"esaId": "<string>",
"tenantId": "<string>",
"adServerType": "google_ad_manager",
"nativeEntity": "advertiser",
"observedAt": "2023-11-07T05:31:56Z",
"operations": {
"listAdvertisers": {
"adapterSupport": {
"status": "implemented"
},
"authorization": {
"status": "verified",
"observedAt": "2023-11-07T05:31:56Z",
"evidenceMethod": "real_create"
}
},
"getAdvertiser": {
"adapterSupport": {
"status": "implemented"
},
"authorization": {
"status": "verified",
"observedAt": "2023-11-07T05:31:56Z",
"evidenceMethod": "real_create"
}
},
"ensureAdvertiser": {
"adapterSupport": {
"status": "implemented"
},
"authorization": {
"status": "verified",
"observedAt": "2023-11-07T05:31:56Z",
"evidenceMethod": "real_create"
}
},
"getDefaultAdvertiser": {
"adapterSupport": {
"status": "implemented"
},
"authorization": {
"status": "verified",
"observedAt": "2023-11-07T05:31:56Z",
"evidenceMethod": "real_create"
}
},
"setDefaultAdvertiser": {
"adapterSupport": {
"status": "implemented"
},
"authorization": {
"status": "verified",
"observedAt": "2023-11-07T05:31:56Z",
"evidenceMethod": "real_create"
}
},
"manualHandoff": {
"adapterSupport": {
"status": "implemented"
},
"authorization": {
"status": "verified",
"observedAt": "2023-11-07T05:31:56Z",
"evidenceMethod": "real_create"
}
}
},
"defaultDestination": {
"current": {
"nativeId": "<string>",
"readBackStatus": "confirmed",
"sellerPolicyVersion": "<string>",
"permittedExecutionScopes": [
"agent_billing"
]
}
},
"resolvedRoute": {
"winner": "buyer_specific_mapping",
"nativeId": "<string>",
"observedAt": "2023-11-07T05:31:56Z"
}
}
}{
"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": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}Get the advertiser-account capability descriptor
Read the live, per-tenant-credential descriptor of whether this embedded sales agent can list, read, and idempotently create an advertiser (or its provider-specific equivalent entity), and whether it has a healthy configured default destination. Static-ish and cacheable — never triggers a live probe or a real create the way POST …/gam/advertisers/ensure does. available: false means the upstream salesagent has not shipped this endpoint yet for this ESA; it is never an error and never a fabricated descriptor. Callable for every ad-server type, including ones with no advertiser entity (e.g. SpringServe reports nativeEntity: "demand_partner" and not_applicable operations) — that honest declaration is the point, not a reason to reject the call.
curl --request GET \
--url https://api.interchange.io/api/v2/storefront/esa/{esaId}/advertiser-capabilities \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.interchange.io/api/v2/storefront/esa/{esaId}/advertiser-capabilities"
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/esa/{esaId}/advertiser-capabilities', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"available": true,
"descriptor": {
"descriptorVersion": 1,
"esaId": "<string>",
"tenantId": "<string>",
"adServerType": "google_ad_manager",
"nativeEntity": "advertiser",
"observedAt": "2023-11-07T05:31:56Z",
"operations": {
"listAdvertisers": {
"adapterSupport": {
"status": "implemented"
},
"authorization": {
"status": "verified",
"observedAt": "2023-11-07T05:31:56Z",
"evidenceMethod": "real_create"
}
},
"getAdvertiser": {
"adapterSupport": {
"status": "implemented"
},
"authorization": {
"status": "verified",
"observedAt": "2023-11-07T05:31:56Z",
"evidenceMethod": "real_create"
}
},
"ensureAdvertiser": {
"adapterSupport": {
"status": "implemented"
},
"authorization": {
"status": "verified",
"observedAt": "2023-11-07T05:31:56Z",
"evidenceMethod": "real_create"
}
},
"getDefaultAdvertiser": {
"adapterSupport": {
"status": "implemented"
},
"authorization": {
"status": "verified",
"observedAt": "2023-11-07T05:31:56Z",
"evidenceMethod": "real_create"
}
},
"setDefaultAdvertiser": {
"adapterSupport": {
"status": "implemented"
},
"authorization": {
"status": "verified",
"observedAt": "2023-11-07T05:31:56Z",
"evidenceMethod": "real_create"
}
},
"manualHandoff": {
"adapterSupport": {
"status": "implemented"
},
"authorization": {
"status": "verified",
"observedAt": "2023-11-07T05:31:56Z",
"evidenceMethod": "real_create"
}
}
},
"defaultDestination": {
"current": {
"nativeId": "<string>",
"readBackStatus": "confirmed",
"sellerPolicyVersion": "<string>",
"permittedExecutionScopes": [
"agent_billing"
]
}
},
"resolvedRoute": {
"winner": "buyer_specific_mapping",
"nativeId": "<string>",
"observedAt": "2023-11-07T05:31:56Z"
}
}
}{
"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": {}
}
}{
"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
Path Parameters
Ad server source connection id. The wire field remains esaId for API compatibility.
1 <= x <= 9007199254740991123
Response
Get the advertiser-account capability descriptor
- Option 1
- Option 2
Response of GET /esa/{esaId}/advertiser-capabilities. available: false means the ESA has not shipped the descriptor endpoint yet — never an error, and never a fabricated descriptor.
true Runtime, per-tenant-credential report of whether an embedded sales agent can list, read, and idempotently create an advertiser (or its provider-specific equivalent entity), plus whether it has a healthy configured default destination. See docs/spec/sales-agents/account-setup-dispositions.md §8.
Show child attributes
Show child attributes