Skip to main content
GET /api/v2/buyer/storefronts/{storefrontId}/capabilities Returns source-level diagnostic rows for active sources behind a storefront the buyer can see. External AdCP sales-agent sources are capability-checkable and include cached-or-refreshed capability details. Managed ad-server-backed sources are included with probeable: false and probeStatus: "not_applicable"; do not treat those rows as unreachable agents. Capability lookups use the platform’s normal cache and refresh policy. A probeStatus: "reachable" row means non-synthetic capabilities are currently available for routing and diagnostics; it is not a guarantee that this request opened a fresh network connection to the agent.

Request

curl
curl https://api.interchange.io/api/v2/buyer/storefronts/42/capabilities \
  -H "Authorization: Bearer $SCOPE3_API_KEY"

Parameters

FieldInTypeRequiredNotes
storefrontIdpathintegerYesStorefront ID to inspect

Response

{
  "storefrontId": 42,
  "agents": [
    {
      "sourceId": "src_main",
      "sourceName": "Premium CTV Direct",
      "executionType": "AGENT",
      "agentName": "Premium CTV Sales Agent",
      "requiresCredentials": true,
      "probeable": true,
      "probeStatus": "reachable",
      "message": null,
      "capabilities": {
        "version": "3.1.0",
        "tools": ["get_products", "create_media_buy"],
        "protocols": ["mcp"],
        "sandboxSupported": true,
        "synthetic": false
      }
    },
    {
      "sourceId": "managed-ad-server",
      "sourceName": "Managed ad server",
      "executionType": "MANAGED_SALES_AGENT",
      "agentName": null,
      "requiresCredentials": null,
      "probeable": false,
      "probeStatus": "not_applicable",
      "message": "Managed ad-server-backed source; not probed via AdCP capabilities.",
      "capabilities": null
    }
  ]
}
FieldTypeNotes
storefrontIdintegerStorefront ID that was inspected
agentsarrayActive source rows behind the storefront. The field name is retained for compatibility
agents[].sourceIdstringSource identifier within the storefront
agents[].sourceNamestring | nullSource display name
agents[].executionTypestringSource execution type
agents[].agentNamestring | nullExternal sales-agent name when one exists
agents[].requiresCredentialsboolean | nullWhether buyer-provided credentials are required for this external AdCP source, using non-synthetic capabilities when available. null when not applicable or unavailable
agents[].probeablebooleanWhether this row is an external AdCP sales agent that this capability diagnostic can check
agents[].probeStatusstringreachable, unreachable, not_applicable, or unavailable. reachable means non-synthetic capabilities are available, possibly from cache
agents[].messagestring | nullExplanation when the row is not probeable
agents[].capabilitiesobject | nullCapability summary for external AdCP sources; null for managed sources or failed capability lookups
agents[].capabilities.requireOperatorAuthbooleanCapability-payload copy of the external source credential requirement when a capability payload is available. Prefer top-level requiresCredentials for credential workflow decisions

Errors

  • 401 UNAUTHORIZED — missing or invalid bearer token.
  • 404 NOT_FOUND — the storefront does not exist or is not visible to the caller.
See Errors for the full error contract.

Get storefront

Rolled-up connection state

List storefronts

Paginated summaries