The A2A (Agent-to-Agent) protocol enables AI agents to discover, understand, and invoke each other’s capabilities through standardized communication.
External agents discover your capabilities by fetching the Agent Card:
The Agent Card describes your agent’s identity, skills, and how to invoke them. It is publicly accessible without authentication.
Once discovered, external agents invoke capabilities by sending JSON-RPC requests to the A2A endpoint:
The A2A endpoint supports these JSON-RPC methods:
message/send — Execute a task synchronouslymessage/stream — Execute a task with SSE streamingtasks/get — Get task statustasks/cancel — Cancel a running tasktasks/resubscribe — Resume SSE stream for a taskAuthentication uses either header:
Authorization: Bearer a2a_xxxX-API-Key: a2a_xxxWhen A2A Surfaces use managed mode, the external agent does not need to specify which skill to invoke. Instead:
This simplifies integration — external agents do not need to understand your internal capability structure.
Runtype’s A2A implementation follows the A2A Protocol v0.3.0 (https://a2a-protocol.org).
Key features:
A2A Surfaces support authentication and rate limiting:
a2a_ prefixBuild complex workflows by composing multiple specialized agents across different platforms.
Platforms like LangChain, CrewAI, or Vercel AI SDK can discover and call your Capabilities as part of larger workflows.
Partner organizations can integrate their agents with yours without custom integration work.