Updated overall system health: healthy, degraded, or unhealthy.
/api/health/checkRun Health Check
Trigger a full health check run (startup + connectivity checks) and return the updated status summary. Broadcasts results to all connected WebSocket clients.
Overview
Triggers a full health check run including both startup checks (config, storage) and connectivity checks (LLM reachability). Returns the updated health summary.
Unlike GET /api/health which returns cached results, this endpoint actively runs all 11 checks and updates the health engine state. After completion, it broadcasts the updated health status to all connected WebSocket clients as a health_update message.
Connectivity checks make network calls with a 5-second timeout (e.g. testing the Anthropic API). The response may take a few seconds.
Request Body
No request body is required.
Response
status stringcheck_count integerTotal number of health checks that were run.
issues arrayList of check results that are not ok. Same format as GET /api/health.
last_check stringISO 8601 timestamp of this check run.
curl -X POST "http://localhost:8888/api/health/check"const response = await fetch("http://localhost:8888/api/health/check", { method: "POST"});const data = await response.json();console.log(data.status);import requests
response = requests.post("http://localhost:8888/api/health/check")data = response.json()print(f"Status: {data['status']}, Issues: {len(data['issues'])}"){ "status": "healthy", "check_count": 11, "issues": [], "last_check": "2025-03-15T10:35:00+00:00"}curl -X POST "http://localhost:8888/api/health/check" \
-H "Content-Type: application/json"const response = await fetch("http://localhost:8888/api/health/check", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
});
const data = await response.json();
console.log(data);import requests
response = requests.post(
"http://localhost:8888/api/health/check",
headers={'Content-Type':'application/json'},
)
print(response.json())package main
import (
"fmt"
"net/http"
"io"
)
func main() {
req, _ := http.NewRequest("POST", "http://localhost:8888/api/health/check", nil)
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}