Health Checks
Health Checks
Health check endpoints are not consistent across services — different services use different paths and protocols. Use exactly the commands listed here.
Native Services (HTTPS — use -sk to skip certificate verification)
| Service | Command |
|---|---|
| Mothership API | curl -sk https://localhost:10000/api/v1/system/health |
| QUI Core API | curl -sk https://localhost:10008/api/v1/health |
Native Services (HTTP)
| Service | Command |
|---|---|
| Terminal Service | curl -s http://localhost:3001/health |
| MCP Gateway | curl -s http://localhost:8890/health |
Docker Services (HTTP)
| Service | Command | Path |
|---|---|---|
| Qui Anima | curl -s http://localhost:10030/api/v1/health |
/api/v1/health |
| M2M | curl -s http://localhost:10020/health |
/health |
| Memory | curl -s http://localhost:8001/health |
/health |
| Cortex | curl -s http://localhost:10040/health |
/health |
| Autothink | curl -s http://localhost:10050/health |
/health |
| Thalamus | curl -s http://localhost:10060/health |
/health |
| ThinkThing | curl -s http://localhost:10070/health |
/health |
| Qonscious | curl -s http://localhost:10180/health |
/health |
| FractalMind | curl -s http://localhost:10092/health |
/health |
| Qleph | curl -s http://localhost:10082/health |
/health |
| Voice | curl -s http://localhost:3002/health |
/health |
| Strings (nginx) | curl -s http://localhost:10085/ -o /dev/null -w "%{http_code}" |
Returns 200 if running |
Key Differences to Note
- Mothership uses
/api/v1/system/health(not/healthor/api/v1/health) - QUI Core uses
/api/v1/health - Anima uses
/api/v1/health(same as QUI Core) - All other Docker services use
/health(no/api/v1/prefix) - Mothership and QUI Core require HTTPS (
-skflag for self-signed certs) - Strings has no health endpoint — check if nginx responds with HTTP 200
Quick Check All Services
Run all health checks at once. Uses ; separators so all checks run even if some services are down:
echo "=== Native (HTTPS) ==="; \
curl -sk --max-time 3 https://localhost:10000/api/v1/system/health -o /dev/null -w "Mothership: %{http_code}\n"; \
curl -sk --max-time 3 https://localhost:10008/api/v1/health -o /dev/null -w "QUI Core: %{http_code}\n"; \
echo "=== Native (HTTP) ==="; \
curl -s --max-time 3 http://localhost:3001/health -o /dev/null -w "Terminal: %{http_code}\n"; \
echo "=== Docker ==="; \
curl -s --max-time 3 http://localhost:10030/api/v1/health -o /dev/null -w "Anima: %{http_code}\n"; \
curl -s --max-time 3 http://localhost:10020/health -o /dev/null -w "M2M: %{http_code}\n"; \
curl -s --max-time 3 http://localhost:8001/health -o /dev/null -w "Memory: %{http_code}\n"; \
curl -s --max-time 3 http://localhost:10040/health -o /dev/null -w "Cortex: %{http_code}\n"; \
curl -s --max-time 3 http://localhost:10050/health -o /dev/null -w "Autothink: %{http_code}\n"; \
curl -s --max-time 3 http://localhost:10060/health -o /dev/null -w "Thalamus: %{http_code}\n"; \
curl -s --max-time 3 http://localhost:10070/health -o /dev/null -w "ThinkThing: %{http_code}\n"; \
curl -s --max-time 3 http://localhost:10180/health -o /dev/null -w "Qonscious: %{http_code}\n"; \
curl -s --max-time 3 http://localhost:10092/health -o /dev/null -w "FractalMind: %{http_code}\n"; \
curl -s --max-time 3 http://localhost:10082/health -o /dev/null -w "Qleph: %{http_code}\n"; \
curl -s --max-time 3 http://localhost:3002/health -o /dev/null -w "Voice: %{http_code}\n"; \
curl -s --max-time 3 http://localhost:10085/ -o /dev/null -w "Strings: %{http_code}\n"
Any response other than 200 means that service is down or unreachable. A 000 response means the connection was refused (service not running).
Anima Downstream Health (Shortcut)
Anima has a special endpoint that checks 7 downstream services in one call:
curl -s http://localhost:10030/api/v1/services/health | python3 -m json.tool
Returns "connected": true/false for: Memory, M2M, Cortex, Thalamus, Autothink, Qonscious, and MCP Gateway. If Anima itself is down, this call fails — check Anima's own health first.
Updated on Mar 21, 2026