The request envelope

POST /a2a HTTP/1.1
Host: weather.example.com
Content-Type: application/json
Authorization: Bearer eyJ...

{
  "jsonrpc": "2.0",
  "id": "req-af3",
  "method": "tasks/send",
  "params": {
    "id": "task-9c1",
    "sessionId": "sess-42",
    "message": {
      "role": "user",
      "parts": [{"type": "text", "text": "Weather in Bangalore"}]
    }
  }
}
Advertisement

The success response

HTTP/1.1 200 OK
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": "req-af3",
  "result": {
    "id": "task-9c1",
    "status": {"state": "completed"},
    "artifacts": [{
      "name": "weather",
      "parts": [{"type": "data", "data": {"temp_c": 28, "condition": "partly_cloudy"}}]
    }]
  }
}
Advertisement

Correlation via id

The request id echoes in the response. Clients match. Servers must preserve exactly (string equality).