Using the API
Savant exposes two communication channels: the A2A protocol (recommended) for agent-to-agent communication, and the REST API for administrative operations.A2A Protocol (Recommended)
The A2A protocol is the primary way to communicate with Savant. It uses JSON-RPC 2.0 over HTTP.Send a Message
Stream a Response
TaskStatusUpdateEvent, Message, and TaskArtifactUpdateEvent events.
Invoke a Capability
Send aDataPart with the capability name and arguments:
Using the SDK (Easier)
TheRemoteAgent class wraps all of this:
REST API
Administrative endpoints for session management, MCP configuration, and guardrails.Agent Management
Register requires a JWT fromPOST /auth/get_token (credentials go only there). The register body is agent_type, instance_id, url, and optionally tools / mcp_servers — not client_id / client_secret. Success response: { "ok": true, "tenant_id": "..." }.
Sessions
MCP Servers
Guard Approvals
Admin / Dashboard
Endpoint Conventions
Savant uses HTTP POST for all API operations. Exceptions: A2A discovery (GET /.well-known/agent-card.json), BFF health (GET /health), and a few BFF GETs for read-only endpoints.
Further Reading
- Managing Sessions — step-by-step guide for the session lifecycle
- Sessions — the session-first architecture
- OpenAPI Specification — complete endpoint listing
