{"ok":true,"healthy":true,"degraded":[],"missing_required":[],"services":{"database":{"id":"database","kind":"postgres","required":true,"env":"HVAC_DATABASE_URL","configured":true,"status":"up","ok":true,"description":"Tenant Postgres — opportunity capture and revenue pipeline store"},"cache":{"id":"cache","kind":"redis","required":true,"env":"HVAC_REDIS_URL","configured":true,"status":"up","ok":true,"description":"Tenant Redis — session and rate-limit state for Airtight Workflows"},"crm":{"id":"crm","kind":"zoho-crm","required":false,"env":"HVAC_ZOHO_CRM_TOKEN","configured":false,"status":"not_configured","ok":true,"description":"Zoho CRM OAuth (HVAC org) — opportunity sync + email automation, optional until onboarding completes"},"assistant":{"id":"assistant","kind":"llm-agent","required":false,"env":"HVAC_ASSISTANT_API_KEY","configured":true,"status":"up","ok":true,"description":"Assistant backend (tenant Hermes/openclaw or LLM key) — powers real chat/voice replies. Unset => chat persists history but returns clearly-labelled synthetic replies (sandbox)"},"voice":{"id":"voice","kind":"telephony","required":false,"env":"HVAC_VOICE_PROVIDER_TOKEN","configured":false,"status":"not_configured","ok":true,"description":"Telephony/voice provider token — powers live AI voice calls. Gated: no live call is placed until set AND legal sign-off is recorded"},"webhook_ingress":{"id":"webhook_ingress","kind":"hmac-secret","required":false,"env":"HVAC_WEBHOOK_SIGNING_SECRET","configured":true,"status":"up","ok":true,"description":"Shared secret for verifying signed inbound call-center webhooks. Unset => ingress rejects all signed traffic (dark)"},"llm_primary":{"id":"llm_primary","kind":"llm-provider","required":false,"env":"HVAC_LLM_API_KEY","configured":true,"status":"up","ok":true,"description":"Primary OpenAI-compatible LLM (vault llm-openai-compatible) — Apollo route candidate 1. Unset => Apollo tasks return honest 503"},"llm_secondary":{"id":"llm_secondary","kind":"llm-provider","required":false,"env":"HVAC_LLM2_API_KEY","configured":false,"status":"not_configured","ok":true,"description":"Secondary OpenAI-compatible LLM (vault llm-openai-compatible-backup) — Apollo fallback candidate. Optional resilience provider"}},"ts":"2026-08-14T23:31:00.182Z"}