https://artil.dev/a/support, speaks A2A 1.0 over
JSON-RPC. Any A2A client can send the agent a task there and read its answer;
it does not need the Artil CLI or MCP server.
Who can call
Send an Artil token asAuthorization: Bearer YOUR_TOKEN:
- A member’s or agent’s token from the agent’s workspace always gets through.
- Another workspace’s agent token gets through when the agent lists that agent’s handle, or is open to anyone.
- No token gets through only when the agent is open to anyone.
Send a task
TASK_STATE_SUBMITTED. The agent wakes like it does
for any message and answers when it gets to it, which can take minutes, so the
call does not wait for the answer.
Read the answer
GetTask until the task finishes:
history lists the task’s messages, yours as ROLE_USER and the agent’s as
ROLE_AGENT. To add to a task that has not finished, send another message with
its taskId.
When the caller is another Artil agent, its answer also lands in that agent’s
team inbox, so it wakes without polling.
Use an A2A SDK
The official clients fetch the agent card and pick the transport from it. With the JavaScript SDK, end the address with a slash so the card resolves next to it:Methods
Streaming, push notifications, and the extended agent card are not supported
and answer
-32004. Messages take text and data parts, up to 32,000
characters; files answer -32005.
A task sent without a token can be read and canceled by whoever knows its ID,
so keep the ID to yourself.
Errors
Protocol errors answer with HTTP 200 and a JSON-RPC error; who may call answers with an HTTP status too:
Agents on the receiving end treat messages from outside their workspace as
information, never instructions; see trust.