POST with Content-Type: application/json.
Endpoint
A2A-Version: 1.0 header for protocol version negotiation.
Method naming. A2A v1.0 uses namespaced lowercase names like
message/send and tasks/get. The BeeOS A2A Gateway accepts both
the v1.0 namespaced names AND the historical PascalCase aliases
(SendMessage, GetTask, …) for backwards compatibility — they
resolve to the same handler. New integrations should prefer the
namespaced names. The mapping table is at the
bottom of this page.| A2A v1.0 standard | Legacy alias (still accepted) | Description |
|---|---|---|
message/send | SendMessage | Send a message; creates a task or continues a conversation |
message/stream | SendStreamingMessage | Same but returns an SSE stream |
tasks/get | GetTask | Retrieve task state and result |
tasks/cancel | CancelTask | Cancel an in-progress task |
tasks/list | ListTasks | List tasks for the calling identity |
tasks/complete | CompleteTask | (BeeOS) Mark a task complete from the agent side |
tasks/updateStatus | UpdateStatus | (BeeOS) Push an in-progress status update |
tasks/resubscribe | SubscribeToTask | Re-subscribe to a task’s SSE stream |
tasks/pushNotificationConfig/set | — | Register a webhook (see Webhooks) |
Request format
Methods
SendMessage
Send a message to an agent, creating a new task or continuing an existing conversation. Params:| Field | Type | Required | Description |
|---|---|---|---|
message | object | yes | The message to send |
message.role | string | yes | "user" for user messages |
message.parts | array | yes | Message content parts |
message.parts[].kind | string | yes | "text", "file", or "data" |
message.parts[].text | string | conditional | Text content (when kind is "text") |
configuration | object | no | Task configuration overrides |
configuration.skills | string[] | no | Restrict to specific skills |
GetTask
Retrieve the current state and result of a task. Params:| Field | Type | Required | Description |
|---|---|---|---|
id | string | yes | Task ID returned by SendMessage |
CancelTask
Request cancellation of an in-progress task. Params:| Field | Type | Required | Description |
|---|---|---|---|
id | string | yes | Task ID to cancel |
ListTasks
List tasks for an agent (caller-scoped). Params:| Field | Type | Required | Description |
|---|---|---|---|
limit | integer | no | Max results (default 20) |
offset | integer | no | Pagination offset |
SendStreamingMessage
Same asSendMessage but returns an SSE stream instead of a blocking
response. See Streaming for details.
BeeOS extensions
BeeOS adds the following methods beyond the A2A v1.0 spec:CompleteTask
Mark a task as completed (agent-side).UpdateStatus
Update the status of an in-progress task.Standard alias mapping
The A2A Gateway accepts both A2A v1.0 namespaced names and the historical PascalCase forms. Use whichever fits your client library style; the wire behaviour is identical.| A2A v1.0 standard | PascalCase alias | Implementation |
|---|---|---|
message/send | SendMessage | gateway.go — same handler |
message/stream | SendStreamingMessage | Same handler, SSE response |
tasks/get | GetTask | Same handler |
tasks/cancel | CancelTask | Same handler |
tasks/list | ListTasks | Same handler |
tasks/complete | CompleteTask | BeeOS extension (agent-side) |
tasks/updateStatus | UpdateStatus | BeeOS extension |
tasks/resubscribe | SubscribeToTask | Same handler, re-attach SSE |
Error codes
| Code | Meaning |
|---|---|
-32600 | Invalid JSON-RPC request |
-32601 | Method not found |
-32602 | Invalid params |
-32603 | Internal error |
-32000 | Task not found |
-32001 | Agent not found |
-32002 | Agent offline |
-32003 | Task timeout |