Sentinel exposes two health endpoints: a lightweight liveness probe atDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/nicolas344/Sentinel-SoftServe/llms.txt
Use this file to discover all available pages before exploring further.
GET /health (root level) and a full integration health check at GET /api/health. The integration check pings all six external service dependencies with a 3-second timeout and returns an aggregate status that reflects the overall health of the system. Both endpoints require no authentication, making them suitable for use with uptime monitors, container health checks, and load balancer probes.
GET /health
Simple liveness probe. Returns immediately with a statichealthy response. Use this endpoint for container HEALTHCHECK directives and load balancer health probes.
Auth required: No
| Always returns | 200 OK |
|---|---|
| Response body | {"status": "healthy"} |
GET /api/health
Full integration health check. Pings all six service dependencies sequentially, measures latency, and returns an aggregate status. Use this endpoint for dashboards, alerting, and diagnosing connectivity issues. Auth required: NoServices Checked
| Service key | Environment variable | Default URL |
|---|---|---|
prometheus | PROMETHEUS_URL | http://localhost:9090 |
loki | LOKI_URL | http://localhost:3100 |
chromadb | CHROMA_HOST | http://localhost:8001 |
alertmanager | ALERTMANAGER_URL | http://localhost:9093 |
langfuse | LANGFUSE_HOST | http://localhost:3001 |
supabase | SUPABASE_URL (via client) | Tested with SELECT id FROM incidents LIMIT 1 |
HTTP services are considered reachable if any response is received — even
401 Unauthorized or 404 Not Found. Only connection errors and timeouts are treated as failures. The Supabase check uses the Supabase PostgREST client directly rather than an HTTP ping.Aggregate Status Logic
The top-levelstatus field in the response is derived from the number of failed service checks:
| Error count | Aggregate status |
|---|---|
| 0 | healthy |
| 1–2 | degraded |
| 3 or more | critical |
Response Schema
Aggregate health status:
healthy, degraded, or critical.Map of service names to their individual health results.
ok if reachable, error if the connection failed or timed out.The URL that was pinged. Omitted for
supabase.Round-trip latency in milliseconds. Present only when
status is ok. Omitted for supabase.Error description. Present only when
status is error. One of "Connection refused", "Timeout (3s)", or a generic exception message.Example Responses
- All healthy
- Degraded (1 error)
- Critical (3+ errors)
Usage Examples
- cURL
- Docker HEALTHCHECK
- Python (requests)
Configuring Service URLs
Override the default service URLs via environment variables on the backend container:http://prometheus:9090) rather than localhost.