Skip to main content

Using the API

Savant exposes two communication channels: the A2A protocol (recommended) for agent-to-agent communication, and the REST API for administrative operations.
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

Returns an SSE stream with TaskStatusUpdateEvent, Message, and TaskArtifactUpdateEvent events.

Invoke a Capability

Send a DataPart with the capability name and arguments:

Using the SDK (Easier)

The RemoteAgent class wraps all of this:

REST API

Administrative endpoints for session management, MCP configuration, and guardrails.

Agent Management

Register requires a JWT from POST /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