{
  "status": "degraded",
  "timestamp": "2026-05-21T02:57:19.942351",
  "groups": [
    {
      "name": "Platform Core",
      "status": "healthy",
      "healthy_count": 3,
      "total": 3,
      "services": [
        {
          "name": "Website Core",
          "status": "healthy",
          "response_time_ms": 4,
          "last_check": "2026-05-21T02:54:26",
          "error": false,
          "critical": true
        },
        {
          "name": "Home Screen",
          "status": "healthy",
          "response_time_ms": 2,
          "last_check": "2026-05-21T02:54:26",
          "error": false,
          "critical": false
        },
        {
          "name": "Database (PostgreSQL)",
          "status": "healthy",
          "response_time_ms": 1,
          "last_check": "2026-05-21T02:54:31",
          "error": false,
          "critical": true
        }
      ]
    },
    {
      "name": "Community Dashboard",
      "status": "healthy",
      "healthy_count": 4,
      "total": 4,
      "services": [
        {
          "name": "Community Dashboard - Home",
          "status": "healthy",
          "response_time_ms": 153,
          "last_check": "2026-05-21T02:54:26",
          "error": false,
          "critical": true
        },
        {
          "name": "Community Dashboard - Map",
          "status": "healthy",
          "response_time_ms": 118,
          "last_check": "2026-05-21T02:54:26",
          "error": false,
          "critical": true
        },
        {
          "name": "Community Dashboard - Search",
          "status": "healthy",
          "response_time_ms": 125,
          "last_check": "2026-05-21T02:54:26",
          "error": false,
          "critical": false
        },
        {
          "name": "Community Dashboard - Insights",
          "status": "healthy",
          "response_time_ms": 107,
          "last_check": "2026-05-21T02:54:26",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "Dashboard",
      "status": "healthy",
      "healthy_count": 4,
      "total": 4,
      "services": [
        {
          "name": "Dashboard Check 1",
          "status": "healthy",
          "response_time_ms": 1,
          "last_check": "2026-05-21T02:54:26",
          "error": false,
          "critical": true
        },
        {
          "name": "Dashboard Check 2",
          "status": "healthy",
          "response_time_ms": 1,
          "last_check": "2026-05-21T02:54:26",
          "error": false,
          "critical": true
        },
        {
          "name": "Dashboard Check 3",
          "status": "healthy",
          "response_time_ms": 1,
          "last_check": "2026-05-21T02:54:26",
          "error": false,
          "critical": true
        },
        {
          "name": "Dashboard Check 4",
          "status": "healthy",
          "response_time_ms": 1,
          "last_check": "2026-05-21T02:54:26",
          "error": false,
          "critical": true
        }
      ]
    },
    {
      "name": "Learning Academy",
      "status": "healthy",
      "healthy_count": 2,
      "total": 2,
      "services": [
        {
          "name": "Learning Academy - Home",
          "status": "healthy",
          "response_time_ms": 152,
          "last_check": "2026-05-21T02:54:26",
          "error": false,
          "critical": true
        },
        {
          "name": "Learning Academy - All Courses",
          "status": "healthy",
          "response_time_ms": 178,
          "last_check": "2026-05-21T02:54:27",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "Mizan Compass",
      "status": "healthy",
      "healthy_count": 3,
      "total": 3,
      "services": [
        {
          "name": "Mizan Compass - Home",
          "status": "healthy",
          "response_time_ms": 113,
          "last_check": "2026-05-21T02:54:27",
          "error": false,
          "critical": true
        },
        {
          "name": "Mizan Compass - Rankings",
          "status": "healthy",
          "response_time_ms": 102,
          "last_check": "2026-05-21T02:54:27",
          "error": false,
          "critical": false
        },
        {
          "name": "Mizan Compass - Criteria",
          "status": "healthy",
          "response_time_ms": 335,
          "last_check": "2026-05-21T02:54:27",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "WriteToPower",
      "status": "healthy",
      "healthy_count": 2,
      "total": 2,
      "services": [
        {
          "name": "WriteToPower - Home",
          "status": "healthy",
          "response_time_ms": 134,
          "last_check": "2026-05-21T02:54:27",
          "error": false,
          "critical": true
        },
        {
          "name": "WriteToPower - Compose",
          "status": "healthy",
          "response_time_ms": 111,
          "last_check": "2026-05-21T02:54:27",
          "error": false,
          "critical": true
        }
      ]
    },
    {
      "name": "YourVoice",
      "status": "healthy",
      "healthy_count": 2,
      "total": 2,
      "services": [
        {
          "name": "YourVoice - Home",
          "status": "healthy",
          "response_time_ms": 135,
          "last_check": "2026-05-21T02:54:28",
          "error": false,
          "critical": true
        },
        {
          "name": "YourVoice - Ideas",
          "status": "healthy",
          "response_time_ms": 150,
          "last_check": "2026-05-21T02:54:28",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "Org Finder",
      "status": "healthy",
      "healthy_count": 5,
      "total": 5,
      "services": [
        {
          "name": "Org Finder - Home",
          "status": "healthy",
          "response_time_ms": 501,
          "last_check": "2026-05-21T02:54:28",
          "error": false,
          "critical": true
        },
        {
          "name": "Org Finder - Map",
          "status": "healthy",
          "response_time_ms": 138,
          "last_check": "2026-05-21T02:54:28",
          "error": false,
          "critical": true
        },
        {
          "name": "Org Finder - Search",
          "status": "healthy",
          "response_time_ms": 720,
          "last_check": "2026-05-21T02:54:29",
          "error": false,
          "critical": false
        },
        {
          "name": "Org Finder - Services",
          "status": "healthy",
          "response_time_ms": 181,
          "last_check": "2026-05-21T02:54:29",
          "error": false,
          "critical": false
        },
        {
          "name": "Org Finder - Submit Org",
          "status": "healthy",
          "response_time_ms": 170,
          "last_check": "2026-05-21T02:54:29",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "Events",
      "status": "healthy",
      "healthy_count": 3,
      "total": 3,
      "services": [
        {
          "name": "Events - Home",
          "status": "healthy",
          "response_time_ms": 149,
          "last_check": "2026-05-21T02:54:30",
          "error": false,
          "critical": true
        },
        {
          "name": "Events - Browse",
          "status": "healthy",
          "response_time_ms": 134,
          "last_check": "2026-05-21T02:54:30",
          "error": false,
          "critical": false
        },
        {
          "name": "Events - Calendar",
          "status": "healthy",
          "response_time_ms": 117,
          "last_check": "2026-05-21T02:54:30",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "People Hub",
      "status": "healthy",
      "healthy_count": 1,
      "total": 1,
      "services": [
        {
          "name": "People Hub - Home",
          "status": "healthy",
          "response_time_ms": 141,
          "last_check": "2026-05-21T02:54:30",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "AI Services",
      "status": "healthy",
      "healthy_count": 1,
      "total": 1,
      "services": [
        {
          "name": "askMCB",
          "status": "healthy",
          "response_time_ms": 3,
          "last_check": "2026-05-21T02:54:30",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "Prayer Times",
      "status": "healthy",
      "healthy_count": 2,
      "total": 2,
      "services": [
        {
          "name": "Prayer Times - Home",
          "status": "healthy",
          "response_time_ms": 106,
          "last_check": "2026-05-21T02:54:30",
          "error": false,
          "critical": false
        },
        {
          "name": "Prayer Times - Search",
          "status": "healthy",
          "response_time_ms": 103,
          "last_check": "2026-05-21T02:54:30",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "Jobs",
      "status": "healthy",
      "healthy_count": 1,
      "total": 1,
      "services": [
        {
          "name": "Jobs - Home",
          "status": "healthy",
          "response_time_ms": 137,
          "last_check": "2026-05-21T02:54:30",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "Communications",
      "status": "healthy",
      "healthy_count": 2,
      "total": 2,
      "services": [
        {
          "name": "Messaging",
          "status": "healthy",
          "response_time_ms": 2,
          "last_check": "2026-05-21T02:54:30",
          "error": false,
          "critical": false
        },
        {
          "name": "Social Marketing",
          "status": "healthy",
          "response_time_ms": 2,
          "last_check": "2026-05-21T02:54:30",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "Outreach",
      "status": "healthy",
      "healthy_count": 1,
      "total": 1,
      "services": [
        {
          "name": "Outreach Engine",
          "status": "healthy",
          "response_time_ms": 2,
          "last_check": "2026-05-21T02:54:30",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "askMCB Chatbot",
      "status": "down",
      "healthy_count": 5,
      "total": 6,
      "services": [
        {
          "name": "askMCB - Error Rate (60min)",
          "status": "healthy",
          "response_time_ms": 57,
          "last_check": "2026-05-21T02:54:31",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB - p95 Latency",
          "status": "down",
          "response_time_ms": 43,
          "last_check": "2026-05-21T02:54:31",
          "error": "response_times.p95=21783.4 gt threshold 15000",
          "critical": false
        },
        {
          "name": "askMCB - Cost Budget (process-lifetime)",
          "status": "healthy",
          "response_time_ms": 43,
          "last_check": "2026-05-21T02:54:31",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB - WhatsApp Error Rate",
          "status": "healthy",
          "response_time_ms": 44,
          "last_check": "2026-05-21T02:54:31",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB - SMS Error Rate",
          "status": "healthy",
          "response_time_ms": 44,
          "last_check": "2026-05-21T02:54:31",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB - Telegram Error Rate",
          "status": "healthy",
          "response_time_ms": 48,
          "last_check": "2026-05-21T02:54:31",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "askMCB Heartbeats",
      "status": "degraded",
      "healthy_count": 9,
      "total": 10,
      "services": [
        {
          "name": "askMCB L1 - Organization Finder",
          "status": "degraded",
          "response_time_ms": 4955,
          "last_check": "2026-05-21T02:24:28",
          "error": "reply missing expected pattern /(mosque|masjid|centre|trust).*(mile|km|UK|profile)/i \u2014 reply preview: 'I have found several mosques in Walsall. Here are the three most prominent ones:\\n\\n1.  **Aisha Mosque and Islamic Centre**\\n    *   **Address:** 4 Rutter St, Wals'",
          "critical": true
        },
        {
          "name": "askMCB L1 - Prayer Times",
          "status": "healthy",
          "response_time_ms": 2550,
          "last_check": "2026-05-21T02:24:31",
          "error": false,
          "critical": true
        },
        {
          "name": "askMCB L1 - Halal Restaurants",
          "status": "healthy",
          "response_time_ms": 4826,
          "last_check": "2026-05-21T02:24:36",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB L1 - Learning Academy Courses",
          "status": "healthy",
          "response_time_ms": 10990,
          "last_check": "2026-05-21T02:24:47",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB L1 - Events",
          "status": "healthy",
          "response_time_ms": 4520,
          "last_check": "2026-05-21T02:24:51",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB L1 - Legal Guidance (Ad'l)",
          "status": "healthy",
          "response_time_ms": 6242,
          "last_check": "2026-05-21T02:24:57",
          "error": false,
          "critical": true
        },
        {
          "name": "askMCB L1 - Blog Search",
          "status": "healthy",
          "response_time_ms": 5503,
          "last_check": "2026-05-21T02:25:03",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB L1 - Website Page Search",
          "status": "healthy",
          "response_time_ms": 4213,
          "last_check": "2026-05-21T02:25:07",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB L1 - YourVoice / WriteToPower",
          "status": "healthy",
          "response_time_ms": 21826,
          "last_check": "2026-05-21T02:25:29",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB L1 - Jobs / Recruitment",
          "status": "healthy",
          "response_time_ms": 3025,
          "last_check": "2026-05-21T02:25:32",
          "error": false,
          "critical": false
        }
      ]
    }
  ],
  "services": [
    {
      "name": "Community Dashboard",
      "status": "healthy",
      "response_time_ms": 0,
      "last_check": "2026-05-21T02:54:26",
      "error": false,
      "critical": true
    },
    {
      "name": "User DB Check",
      "status": "healthy",
      "response_time_ms": 1,
      "last_check": "2026-05-21T02:54:26",
      "error": false,
      "critical": true
    }
  ],
  "external_services": {
    "railway_microservices": [
      {
        "name": "Chatbot Service",
        "status": "healthy",
        "response_time_ms": 89,
        "url": "https://chatbot-service-production-07e3.up.railway.app/health",
        "last_check": "2026-05-21T02:54:31",
        "error": false,
        "critical": true,
        "description": "AI Chatbot for VMM (LangChain + OpenAI)"
      },
      {
        "name": "CV Parser Service",
        "status": "healthy",
        "response_time_ms": 122,
        "url": "https://cv-parser-production-3522.up.railway.app/health",
        "last_check": "2026-05-21T02:54:31",
        "error": false,
        "critical": false,
        "description": "CV/Resume parsing with ESCO taxonomy"
      },
      {
        "name": "Matching Service",
        "status": "healthy",
        "response_time_ms": 104,
        "url": "https://matching-service-production-c5a3.up.railway.app/health",
        "last_check": "2026-05-21T02:54:32",
        "error": false,
        "critical": false,
        "description": "AI job/candidate matching"
      },
      {
        "name": "Jobs API",
        "status": "healthy",
        "response_time_ms": 137,
        "url": "https://jobs-api-production-c07d.up.railway.app/health",
        "last_check": "2026-05-21T02:54:32",
        "error": false,
        "critical": false,
        "description": "Jobs aggregation API"
      },
      {
        "name": "Course Finder",
        "status": "healthy",
        "response_time_ms": 118,
        "url": "https://coursefinder-production.up.railway.app/health",
        "last_check": "2026-05-21T02:54:32",
        "error": false,
        "critical": false,
        "description": "Course search and discovery"
      },
      {
        "name": "MCB API Gateway",
        "status": "healthy",
        "response_time_ms": 83,
        "url": "https://mcb-api-gateway-production.up.railway.app/api/v1/health",
        "last_check": "2026-05-21T02:54:32",
        "error": false,
        "critical": true,
        "description": "FastAPI gateway exposing 99 endpoints + MCP server for external integrations"
      },
      {
        "name": "OSRM Routing",
        "status": "healthy",
        "response_time_ms": 51,
        "url": "https://osrmproj-production.up.railway.app/route/v1/driving/0,51?overview=false",
        "last_check": "2026-05-21T02:54:32",
        "error": false,
        "critical": false,
        "description": "Routing and directions service"
      },
      {
        "name": "Document Processor",
        "status": "healthy",
        "response_time_ms": 91,
        "url": "https://document-processor-production-6888.up.railway.app/health",
        "last_check": "2026-05-21T02:54:32",
        "error": false,
        "critical": false,
        "description": "AI-powered document extraction for prayer timetables and events"
      },
      {
        "name": "Document Processor",
        "status": "healthy",
        "response_time_ms": 94,
        "url": "https://document-processor-production-6888.up.railway.app/health",
        "last_check": "2026-05-21T02:54:32",
        "error": false,
        "critical": false,
        "description": "AI-powered document extraction for prayer timetables and events"
      }
    ],
    "thirdparty_apis": [
      {
        "name": "Mapbox",
        "status": "healthy",
        "response_time_ms": 51,
        "url": "https://api.mapbox.com/",
        "last_check": "2026-05-21T02:54:33",
        "error": false,
        "critical": true,
        "description": "Maps, geocoding, and address search"
      },
      {
        "name": "OpenAI",
        "status": "healthy",
        "response_time_ms": 169,
        "url": "https://api.openai.com/v1/models",
        "last_check": "2026-05-21T02:54:34",
        "error": false,
        "critical": true,
        "description": "AI email generation and chatbot"
      },
      {
        "name": "Google Gemini",
        "status": "healthy",
        "response_time_ms": 52,
        "url": "https://generativelanguage.googleapis.com/",
        "last_check": "2026-05-21T02:54:34",
        "error": false,
        "critical": false,
        "description": "AI enrichment for organizations"
      },
      {
        "name": "Google Places",
        "status": "healthy",
        "response_time_ms": 45,
        "url": "https://maps.googleapis.com/maps/api/place/nearbysearch/json",
        "last_check": "2026-05-21T02:54:34",
        "error": false,
        "critical": false,
        "description": "Mosque and venue verification"
      },
      {
        "name": "Twilio",
        "status": "healthy",
        "response_time_ms": 54,
        "url": "https://api.twilio.com/",
        "last_check": "2026-05-21T02:54:34",
        "error": false,
        "critical": true,
        "description": "SMS and WhatsApp messaging"
      },
      {
        "name": "Companies House",
        "status": "healthy",
        "response_time_ms": 71,
        "url": "https://api.company-information.service.gov.uk/",
        "last_check": "2026-05-21T02:54:34",
        "error": false,
        "critical": false,
        "description": "UK company information lookup"
      },
      {
        "name": "Charity Commission",
        "status": "healthy",
        "response_time_ms": 104,
        "url": "https://api.charitycommission.gov.uk/register/api/allcharitydetailsV2/0/1",
        "last_check": "2026-05-21T02:54:34",
        "error": false,
        "critical": false,
        "description": "UK charity data and verification"
      },
      {
        "name": "ONS Nomis",
        "status": "healthy",
        "response_time_ms": 5171,
        "url": "https://www.nomisweb.co.uk/api/v01/dataset/def.sdmx.json",
        "last_check": "2026-05-21T02:54:39",
        "error": false,
        "critical": false,
        "description": "Census 2021 demographic data"
      },
      {
        "name": "Serper",
        "status": "healthy",
        "response_time_ms": 175,
        "url": "https://google.serper.dev/",
        "last_check": "2026-05-21T02:54:39",
        "error": false,
        "critical": false,
        "description": "Web search and website discovery"
      },
      {
        "name": "AlAdhan",
        "status": "healthy",
        "response_time_ms": 113,
        "url": "https://api.aladhan.com/v1/currentTime?zone=Europe/London",
        "last_check": "2026-05-21T02:54:39",
        "error": false,
        "critical": false,
        "description": "Prayer times calculation API"
      }
    ],
    "railway_deployments": [
      {
        "name": "Railway Build: mcbplatform (production)",
        "status": "healthy",
        "response_time_ms": 258,
        "last_check": "2026-05-21T02:54:32",
        "error": false,
        "critical": true,
        "description": "Latest production deployment of the Odoo platform. Alerts on FAILED/CRASHED.",
        "environment_id": "c7f9d990-1f39-4c1a-9030-4c1b881df8fd",
        "service_id": "c57f1ce4-b6bc-4335-b915-00b7431ac539"
      },
      {
        "name": "Railway Build: chatbot-service (production)",
        "status": "healthy",
        "response_time_ms": 360,
        "last_check": "2026-05-21T02:54:33",
        "error": false,
        "critical": true,
        "description": "Latest production deployment of the chatbot sidecar.",
        "environment_id": "c7f9d990-1f39-4c1a-9030-4c1b881df8fd",
        "service_id": "5e6ef111-8b1b-458e-afb3-542c715c66ca"
      },
      {
        "name": "Railway Build: mcb-api-gateway (production)",
        "status": "healthy",
        "response_time_ms": 261,
        "last_check": "2026-05-21T02:54:33",
        "error": false,
        "critical": true,
        "description": "Latest production deployment of the FastAPI gateway sidecar.",
        "environment_id": "c7f9d990-1f39-4c1a-9030-4c1b881df8fd",
        "service_id": "b17722b3-ae71-48a1-af7f-94c20ed81544"
      },
      {
        "name": "Railway Build: document-processor (production)",
        "status": "healthy",
        "response_time_ms": 222,
        "last_check": "2026-05-21T02:54:33",
        "error": false,
        "critical": false,
        "description": "Latest production deployment of the document-processor sidecar.",
        "environment_id": "c7f9d990-1f39-4c1a-9030-4c1b881df8fd",
        "service_id": "da677cc0-1cd3-4e6d-bcd8-4fab12449f09"
      }
    ]
  },
  "active_incidents": [
    {
      "title": "askMCB - p95 Latency - Service Disruption",
      "status": "investigating",
      "started_at": "2026-05-21T02:29:52",
      "service": "askMCB - p95 Latency"
    }
  ]
}