{"name":"Jarvis API","version":"2.1","endpoints":{"GET /api/health":"liveness check (no auth required)","GET /api/health/detail":"latest doctor report: critical findings, warnings, summary","GET /api/status":"system status snapshot","GET /api/state":"full HI + AI state","GET /api/public-state":"public-safe profile, focus, tasks, and public memories","GET /api/session":"current Jarvis session","GET /api/history":"last 50 executed commands","GET /api/live":"combined status + state","GET /api/live-class":"public live classroom state","GET /api/events":"SSE stream — live state push every 4 s","GET /api/journal":"query event journal: ?hours=24&source=Jarvis&type=action_completed&limit=100","WS /api/ws/live":"authenticated WebSocket live status + state stream","WS /api/ws/public":"public WebSocket public-state stream","WS /api/ws/live-class":"public WebSocket live class push stream","GET /api/docs":"interactive OpenAPI documentation","POST /api/command":"execute a command: {\"command\": \"status\"}","POST /api/jarvis-chat":"public-safe website chat: {\"message\": \"hello\"}","POST /api/public-enquiry":"public enquiry form: {\"name\":\"...\",\"email\":\"...\",\"subject\":\"...\",\"message\":\"...\"}","POST /api/public-signup":"public access request: {\"name\":\"...\",\"email\":\"...\",\"handle\":\"...\",\"reason\":\"...\"}","GET /api/public-intake":"protected public enquiry/access request inbox","POST /api/local-admin-sync":"sync browser-local admin snapshot: {\"username\":\"...\",\"passwordHash\":\"...\"}","GET /api/local-admin-users":"protected synced local admin registry","GET /api/public-chat/config":"protected public Jarvis config snapshot","GET /api/public-chat/history":"protected recent public Jarvis questions","GET /api/public-chat/knowledge":"protected site knowledge source status"},"public_chat_enabled":true}