Skip to content

Send JSON-RPC Request
BETA

Request

Single A2A JSON-RPC 2.0 transport endpoint. The body is a JSON-RPC envelope whose method field selects the operation. Choose a request example (SendMessage, GetTask, CancelTask) to see the payload for each method. On success the response result holds a Task or a Message. All failures — including request-validation errors such as an invalid enum value — are returned as a JSON-RPC error object with HTTP status 200, per the A2A JSON-RPC binding; the endpoint does not use HTTP 4xx status codes to signal application or validation errors.

Security
apiKey
Headers
A2A-Versionstring

A2A protocol version the client targets.

Example:1.0
Bodyapplication/jsonrequired
jsonrpcstringrequired

JSON-RPC protocol version. Always "2.0".

Example:"2.0"
Value:"2.0"
idstring or integerrequired
Example:1
One of:

Client-chosen request identifier, echoed back in the response.

string
methodstringrequired

The A2A method to invoke. Supported values: SendMessage, GetTask, CancelTask. Confirm the exact literals against the Agent Card before use, as additional methods may be added over time.

Example:"SendMessage"
paramsobjectrequired

Method-specific parameters. The shape depends on method — see the request examples on the POST operation for each supported method.

Example:
{ "message": { "messageId": "9229e770-767c-417b-a0b0-f0741243c581", "role": "ROLE_USER", "parts": [ … ] }, "metadata": {} }
Payload
{ "jsonrpc": "2.0", "id": 1, "method": "SendMessage", "params": { "message": { … }, "metadata": {} } }

Responses

JSON-RPC 2.0 response. On success result is a Task or a Message; on any failure — including validation errors — error is populated (see JSONRPCError). This endpoint always responds with HTTP 200; it does not return HTTP 4xx codes for application or validation errors.

Bodyapplication/json
One of:

JSON-RPC 2.0 success response envelope.

jsonrpcstringrequired

JSON-RPC protocol version. Always "2.0".

Example:"2.0"
Value:"2.0"
idstring or integerrequired
Example:1
One of:

The request identifier echoed back from the request.

string
resultTask (object) or Message (object)required
One of:

A unit of work processed by the agent, tracked through its lifecycle.

Response
{ "jsonrpc": "2.0", "id": 1, "result": { "id": "task-abc123", "contextId": "ctx-xyz789", "status": { … }, "artifacts": [ … ] } }