{
 "checked_at": "2026-09-28T03:39:00.423Z",
 "stale": false,
 "down_after_failed_checks": 2,
 "groups": [
  {
   "id": "kapable",
   "name": "Kapable",
   "services": [
    {
     "id": "website",
     "name": "Website",
     "url": "https://kapable.ai/health",
     "status": "up",
     "since": "2026-09-28T02:09:24.073Z",
     "last_check": {
      "at": "2026-09-28T03:39:00.423Z",
      "ok": true,
      "ms": 257,
      "http_status": 200,
      "error": null
     },
     "days": [
      {
       "day": "2026-09-28",
       "checks": 86,
       "down_minutes": 0
      }
     ]
    },
    {
     "id": "signin",
     "name": "Sign-in",
     "url": "https://auth.kapable.ai/health",
     "status": "up",
     "since": "2026-09-28T02:09:24.073Z",
     "last_check": {
      "at": "2026-09-28T03:39:00.423Z",
      "ok": true,
      "ms": 374,
      "http_status": 200,
      "error": null
     },
     "days": [
      {
       "day": "2026-09-28",
       "checks": 86,
       "down_minutes": 0
      }
     ]
    },
    {
     "id": "desktop",
     "name": "Desktop",
     "url": "https://kapable.kapable.ai/auth/login",
     "status": "up",
     "since": "2026-09-28T02:09:24.073Z",
     "last_check": {
      "at": "2026-09-28T03:39:00.423Z",
      "ok": true,
      "ms": 631,
      "http_status": 200,
      "error": null
     },
     "days": [
      {
       "day": "2026-09-28",
       "checks": 86,
       "down_minutes": 0
      }
     ]
    },
    {
     "id": "data",
     "name": "Data and storage",
     "url": "https://data.kapable.ai/health",
     "status": "up",
     "since": "2026-09-28T02:09:24.073Z",
     "last_check": {
      "at": "2026-09-28T03:39:00.423Z",
      "ok": true,
      "ms": 526,
      "http_status": 200,
      "error": null
     },
     "days": [
      {
       "day": "2026-09-28",
       "checks": 86,
       "down_minutes": 0
      }
     ]
    },
    {
     "id": "apps",
     "name": "Hosted apps",
     "url": "https://beta.kapable.run/",
     "status": "up",
     "since": "2026-09-28T02:09:24.073Z",
     "last_check": {
      "at": "2026-09-28T03:39:00.423Z",
      "ok": true,
      "ms": 527,
      "http_status": 200,
      "error": null
     },
     "days": [
      {
       "day": "2026-09-28",
       "checks": 86,
       "down_minutes": 0
      }
     ]
    },
    {
     "id": "git",
     "name": "Git and builds",
     "url": "https://git.kapable.dev/api/healthz",
     "status": "up",
     "since": "2026-09-28T02:09:24.073Z",
     "last_check": {
      "at": "2026-09-28T03:39:00.423Z",
      "ok": true,
      "ms": 390,
      "http_status": 200,
      "error": null
     },
     "days": [
      {
       "day": "2026-09-28",
       "checks": 86,
       "down_minutes": 0
      }
     ]
    },
    {
     "id": "runners",
     "name": "Runners",
     "url": "https://runner.kapable.ai/",
     "status": "up",
     "since": "2026-09-28T02:09:24.073Z",
     "last_check": {
      "at": "2026-09-28T03:39:00.423Z",
      "ok": true,
      "ms": 744,
      "http_status": 200,
      "error": null
     },
     "days": [
      {
       "day": "2026-09-28",
       "checks": 86,
       "down_minutes": 0
      }
     ]
    },
    {
     "id": "docs",
     "name": "Docs",
     "url": "https://docs.kapable.ai/health",
     "status": "up",
     "since": "2026-09-28T02:09:24.073Z",
     "last_check": {
      "at": "2026-09-28T03:39:00.423Z",
      "ok": true,
      "ms": 747,
      "http_status": 200,
      "error": null
     },
     "days": [
      {
       "day": "2026-09-28",
       "checks": 86,
       "down_minutes": 0
      }
     ]
    }
   ]
  },
  {
   "id": "signet",
   "name": "Signet",
   "services": [
    {
     "id": "signet-web",
     "name": "Website",
     "url": "https://signetauth.com/",
     "status": "up",
     "since": "2026-09-28T02:09:24.073Z",
     "last_check": {
      "at": "2026-09-28T03:39:00.423Z",
      "ok": true,
      "ms": 629,
      "http_status": 200,
      "error": null
     },
     "days": [
      {
       "day": "2026-09-28",
       "checks": 86,
       "down_minutes": 0
      }
     ]
    },
    {
     "id": "signet-dev",
     "name": "Developer docs",
     "url": "https://signetauth.dev/docs",
     "status": "up",
     "since": "2026-09-28T02:29:18.665Z",
     "last_check": {
      "at": "2026-09-28T03:39:00.423Z",
      "ok": true,
      "ms": 643,
      "http_status": 200,
      "error": null
     },
     "days": [
      {
       "day": "2026-09-28",
       "checks": 67,
       "down_minutes": 0
      }
     ]
    },
    {
     "id": "signet-cloud",
     "name": "Signet Cloud",
     "url": "https://signetauth.cloud/",
     "status": "up",
     "since": "2026-09-28T02:29:18.665Z",
     "last_check": {
      "at": "2026-09-28T03:39:00.423Z",
      "ok": true,
      "ms": 364,
      "http_status": 200,
      "error": null
     },
     "days": [
      {
       "day": "2026-09-28",
       "checks": 67,
       "down_minutes": 0
      }
     ]
    },
    {
     "id": "signet-console",
     "name": "Console",
     "url": "https://signetauth.app/login",
     "status": "up",
     "since": "2026-09-28T02:09:24.073Z",
     "last_check": {
      "at": "2026-09-28T03:39:00.423Z",
      "ok": true,
      "ms": 339,
      "http_status": 200,
      "error": null
     },
     "days": [
      {
       "day": "2026-09-28",
       "checks": 86,
       "down_minutes": 0
      }
     ]
    },
    {
     "id": "signet-hosted",
     "name": "Hosted sign-in",
     "url": "https://kapable-dev.signetauth.dev/api/auth/ok",
     "status": "up",
     "since": "2026-09-28T02:09:24.073Z",
     "last_check": {
      "at": "2026-09-28T03:39:00.423Z",
      "ok": true,
      "ms": 354,
      "http_status": 200,
      "error": null
     },
     "days": [
      {
       "day": "2026-09-28",
       "checks": 86,
       "down_minutes": 0
      }
     ]
    }
   ]
  }
 ],
 "incidents": [
  {
   "id": "2026-08-23-signet-503",
   "title": "Signet sign-in did not answer for about 10 minutes",
   "state": "resolved",
   "started": "2026-08-23T22:04:00Z",
   "resolved": "2026-08-23T22:14:00Z",
   "affects": [
    "signet-web",
    "signet-dev",
    "signet-cloud",
    "signet-console",
    "signet-hosted"
   ],
   "updates": [
    {
     "at": "2026-08-23T22:14:00Z",
     "state": "resolved",
     "text": "Signet's websites and hosted sign-in answered errors, then nothing, for about 10 minutes. A short load spike on the server that runs them caused it, and it recovered by itself."
    }
   ]
  },
  {
   "id": "2026-07-02-platform-slow",
   "title": "Kapable was unreachable for about 25 minutes",
   "state": "resolved",
   "started": "2026-07-02T00:00:00Z",
   "resolved": null,
   "affects": [
    "website",
    "signin",
    "desktop",
    "data",
    "apps",
    "docs"
   ],
   "updates": [
    {
     "at": "2026-07-02T00:00:00Z",
     "state": "resolved",
     "text": "The main Kapable server was overloaded for about 25 minutes and stopped answering web requests. It recovered by itself."
    }
   ]
  }
 ]
}