Skip to main content
Switchbord exposes two lightweight probes that your load balancer, container orchestrator, or deployment pipeline can poll to verify the API process is up and correctly configured. Both endpoints require no authentication and return JSON.

GET /health

Returns the build version, environment, and service identity. Use this as your primary liveness probe — if this endpoint responds with 200, the API process is running.
curl https://api.your-switchbord.example.com/health
Response:
{
  "ok": true,
  "service": "api",
  "buildVersion": "0.0.1",
  "environment": "production",
  "timestamp": "2025-01-15T10:30:00.000Z"
}
ok
boolean
Always true when the service is healthy.
service
string
Always "api" — identifies this as the Switchbord API process.
buildVersion
string
The deployed build version string (e.g., "0.0.1").
environment
string
The runtime environment (e.g., "production", "staging", "development").
timestamp
string
ISO 8601 timestamp of when the health check was evaluated.
StatusCondition
200Service is running and healthy
Configure your load balancer or Kubernetes readiness probe to poll GET /health. This is the fastest check and has no dependency on the database layer.

GET /ready

Returns the full runtime status payload, including provider configuration and queue state. Use this as your readiness probe — it confirms not just that the process is running, but that the backing store and runtime are configured and operational.
curl https://api.your-switchbord.example.com/ready
Response:
{
  "buildVersion": "0.0.1",
  "environment": "production",
  "providerConfigured": true,
  "wabaId": "1234567890",
  "queueDepth": 0,
  "workerStatus": "idle"
}
The /ready response shape may expand in future releases as additional runtime state is surfaced. In development mode, fields like providerConfigured and workerStatus reflect the configured test store.
StatusCondition
200Runtime is ready to accept traffic

Using the probes together

ProbeUse forChecks
GET /healthLiveness — is the process alive?Process running, runtime identity
GET /readyReadiness — is the service ready for traffic?Backing store, provider configuration, runtime status
During a rolling deployment, configure your orchestrator to wait for GET /ready to return 200 before routing traffic to new instances. Use GET /health for ongoing liveness monitoring.