Skip to main content
The Sayna API surface is intentionally small: a health probe, voice catalog, one-shot synthesis endpoint, and the LiveKit token helper. All request/response schemas live inside /api-reference/openapi.yaml and are rendered below via Mintlify’s API Playground.

Download the spec

Keep the OpenAPI file in sync with the server using cargo run --features openapi -- openapi -o docs/openapi.yaml.

Authentication

All REST endpoints honor the settings described in the Authentication guide. When AUTH_REQUIRED=true, include a bearer token in the Authorization header. The playground lets you set this header once via the sidebar.

Endpoints covered

  • GET / – health check
  • GET /voices – provider catalog
  • POST /speak – one-shot synthesis with caching
  • POST /livekit/token – mint LiveKit JWTs for participants
See the WebSocket guide for streaming message schemas and LiveKit orchestration.