Skip to main content

Overview

The health check endpoint allows you to verify that all required Unmute backend services are operational. This endpoint checks the status of the TTS (Text-to-Speech), STT (Speech-to-Text), LLM (Language Model), and Voice Cloning services.

Endpoint

curl https://api.unmute.example/v1/health

Response

The endpoint returns a JSON object with the status of each service:
tts_up
boolean
required
Indicates whether the Text-to-Speech service is operational
stt_up
boolean
required
Indicates whether the Speech-to-Text service is operational
llm_up
boolean
required
Indicates whether the Language Model service is operational
voice_cloning_up
boolean
required
Indicates whether the Voice Cloning service is operational
ok
boolean
required
Overall health status. Returns true if TTS, STT, and LLM services are all operational. Note that voice cloning is not required for the server to be considered healthy.

Response Example

{
  "tts_up": true,
  "stt_up": true,
  "llm_up": true,
  "voice_cloning_up": true,
  "ok": true
}

Error Response

If any critical service is down, the response will indicate which services are unavailable:
{
  "tts_up": true,
  "stt_up": false,
  "llm_up": true,
  "voice_cloning_up": false,
  "ok": false
}

Status Codes

200
status code
Successfully retrieved health status (returned regardless of whether services are healthy or not)

Caching

This endpoint implements a 0.5-second TTL cache to prevent excessive health checks from overwhelming the backend services.

Usage Notes

  • The ok field only considers TTS, STT, and LLM services as critical
  • Voice cloning service status is informational but does not affect the overall ok status
  • Health checks are performed asynchronously in parallel for optimal performance
  • This endpoint should be called before initiating a WebSocket connection to /v1/realtime

Build docs developers (and LLMs) love