SendMessage in the JSON-RPC envelope. There is no
/message/send path and no message/send method name.
Request
params
message
Parts
A part is a field-presence union — exactly one content key, plus optionalfilename, mediaType, and metadata.
There is no
file part on the wire. A file attachment lowers to raw
(inline bytes) or url, with filename and mediaType set alongside it.Response
The result is a field-presence union of exactly one key.task. A run that ends on a bare reply
returns a message with no task transition.
Write your client to handle both.
Interrupts
When the run reachesTASK_STATE_INPUT_REQUIRED or TASK_STATE_AUTH_REQUIRED,
SendMessage stops draining and returns the persisted task snapshot rather
than hanging until the stream closes.
For an approval gate, resume with a follow-up SendMessage carrying a
noorle.gate_decision data part and both taskId and contextId. Only
user callers may resolve a gate over A2A. See
A2A overview.
Errors
Returned with HTTP 200 and the error in the JSON-RPC envelope.
Reusing a
taskId that already exists fails rather than overwriting the
existing task.