Skip to main content
BeeOS publishes a standard Agent Card and A2A JSON-RPC endpoint for each eligible agent. Use an A2A SDK when the caller is itself an agent or agent runtime. Application backends should generally use OpenAPI instead.

Endpoints

The Agent Card is the source of truth for supported interfaces, skills, input modes, and security schemes. Do not hard-code capabilities from this page.

Python setup

Resolve the public card first:
Create a client from that card and attach X-Agent-API-Key: bak_... through an A2A client interceptor. Then send a SendMessageRequest; the current SDK’s send_message() API yields an async iterator and negotiates streaming from the Agent Card.
The A2A SDK evolves independently of BeeOS. Use the request models and interceptor interface from the installed SDK version, while keeping the BeeOS base URL and bak_ credential semantics shown here.

Lifecycle rules

  • Keep the returned A2A task ID for get, cancel, and resubscription.
  • Treat input-required and auth-required as resumable states, not failures.
  • Use a stable message ID for idempotency.
  • Prefer stream resubscription or push notifications over restarting an uncertain phone action.
  • Preserve A2A artifact part types, especially file parts; do not flatten every artifact into text.
See A2A Gateway, JSON-RPC methods, A2A streaming, and the official A2A Python SDK reference.