supportedInterfaces
The required Agent Card field that lists, in preference order, each URL where an A2A agent listens, with its protocol binding and version.
supportedInterfaces is the required Agent Card field that lists every endpoint where an A2A agent can be reached, each paired with the protocol binding and the A2A protocol version served there. It is how a client learns where to send requests and in what format.
Structure. Each entry is an AgentInterface (a2a.proto) with three required fields and one optional field:
| Field | Meaning |
|---|---|
url |
Where the interface lives. For HTTP-based bindings, an absolute HTTPS URL in production. |
protocolBinding |
An open string. The core values are JSONRPC, GRPC and HTTP+JSON. |
protocolVersion |
The A2A version served there, as Major.Minor, for example "1.0" or "0.3". |
tenant |
Optional routing value for servers that host several agents behind one endpoint. |
Illustrative:
{
"supportedInterfaces": [
{"url": "https://agent.example.com/a2a/v1", "protocolBinding": "JSONRPC", "protocolVersion": "1.0"},
{"url": "https://agent.example.com/a2a/rest", "protocolBinding": "HTTP+JSON", "protocolVersion": "1.0"},
{"url": "https://agent.example.com/a2a/v03", "protocolBinding": "JSONRPC", "protocolVersion": "0.3"}
]
}
Client selection. Order matters: the first entry is the agent’s preferred interface. Section 8.3.2 requires clients to pick the earliest entry whose binding they support, use that entry’s URL, and, when the entry sets tenant, send exactly that value in the tenant field of every request. An agent may expose the same binding at more than one protocol version, on the same URL or different ones (section 3.6.2). That is how one server can serve v1.0 and v0.3 clients side by side.
Custom bindings. A binding outside the core three should be named by a URI, such as https://example.com/bindings/websocket/v1. A breaking change to that binding must get a new URI (section 5.8).
Earlier versions. In v0.3 the card carried a top-level url with preferredTransport, an optional additionalInterfaces list, and a single card-level protocolVersion. Version 1.0 replaced those fields with this list and moved the version onto each interface.
Sources
- A2A Protocol Specification, section 8.3: Protocol Declaration Requirements (accessed )
- A2A protocol definition (a2a.proto): AgentInterface, AgentCard (accessed )
- A2A Protocol Specification, section 3.6: Versioning (accessed )
- A2A Protocol Specification, section 5.8: Custom Binding Identification (accessed )
- A2A Protocol Specification v0.3.0, transport declaration (accessed )