> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sayna.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# API reference

> Interactive REST docs powered by the Sayna OpenAPI specification.

The Sayna API surface is intentionally focused: health checks, voice discovery, one-shot synthesis, LiveKit token + room management helpers, recording downloads, and SIP runtime controls. All request/response schemas live inside [`/api-reference/openapi.yaml`](/api-reference/openapi.yaml) and are rendered below via Mintlify's API Playground.

<Card title="Download the spec" icon="file" href="/api-reference/openapi.yaml">
  Keep the OpenAPI file in sync with the server using `cargo run --features openapi -- openapi -o docs/openapi.yaml`.
</Card>

## Authentication

All REST endpoints honor the settings described in the [Authentication guide](/guides/authentication). When `AUTH_REQUIRED=true`, include a token via the `Authorization: Bearer <token>` header or the `api_key` query parameter. The header is recommended by default; use the query parameter in environments where custom headers are difficult to set. The playground lets you set the 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
* `GET /livekit/rooms` – list rooms scoped to the authenticated tenant
* `GET /livekit/rooms/{room_name}` – fetch room details + participants
* `DELETE /livekit/participant` – remove a participant from a room
* `POST /livekit/participant/mute` – mute/unmute a participant track
* `GET /recording/{stream_id}` – download a completed session recording
* `POST /sip/call` – initiate an outbound SIP call
* `GET /sip/hooks` – read the SIP webhook forwarding table
* `POST /sip/hooks` – upsert SIP webhook forwarding entries
* `DELETE /sip/hooks` – remove SIP webhook forwarding entries
* `POST /sip/transfer` – transfer a SIP participant to a new destination

See the [WebSocket guide](/guides/websocket) for streaming message schemas and LiveKit orchestration.
