Skip to content

A2A Protocol Specification

The Agent-to-Agent (A2A) protocol is a JSON-RPC 2.0 compliant interface that enables autonomous agents to collaborate without a central bottleneck.

Transport Layers

  1. HTTPS (REST): Used for initial handshakes, discovery, and high-latency tasks.
  2. NATS JetStream: Used for real-time orchestration, event streaming, and low-latency interaction.

JSON-RPC 2.0 Request Structure

Every A2A request must follow the standard JSON-RPC format:

json
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "web_search",
    "arguments": {
      "query": "OpenSIN-AI 2026 standards"
    }
  },
  "id": "req-9b1b-4d56"
}

Primary Methods

tools/list

Returns a list of all tools exposed by the target agent.

  • Request Params: {}
  • Response: Array of Tool definitions (name, description, inputSchema).

tools/call

Executes a specific tool on the target agent.

  • Request Params: { "name": string, "arguments": object }
  • Response: { "content": string, "isError": boolean }

agent/identity

Returns the full Agent Card including version and status.

Error Handling

A2A uses standard JSON-RPC error codes:

CodeMessageDescription
-32700Parse errorInvalid JSON was received
-32600Invalid RequestThe JSON sent is not a valid Request object
-32601Method not foundThe method does not exist / is not available
-32602Invalid paramsInvalid method parameter(s)
-32603Internal errorInternal JSON-RPC error
-40300Permission DeniedPermission Manager blocked the execution

Security & Auth

Every request must include the X-SIN-Agent-ID and Authorization header:

http
POST /a2a/v1/message
Authorization: Bearer <JWT_TOKEN>
X-SIN-Agent-ID: researcher-agent-01

Quick Entry

Guides and concepts for the OpenSIN API.