CapyDB/ docs
Operations

Status page

What the public status page reports, how daily uptime is computed, and the unauthenticated endpoints behind it.

capydb.dev/status shows the current state of each region, its daily uptime over the last 90 days, and the incidents in that window. Everything on it comes from two public endpoints on the CapyDB API (https://api.capydb.dev) that need no credentials, so you can poll them from your own monitoring.

Current status

curl -s https://api.capydb.dev/status

Each region reports one status, taken from the health probes of its nodes (the worst node wins):

StatusMeaning
operationalEvery node answers its health probe
degradedThe region is serving, impaired (for example, elevated replication lag)
outageA node fails its probe, or lag is critical

Regions are identified by their region id, such as eu-north-1. Individual nodes are never listed.

Uptime history

curl -s "https://api.capydb.dev/status/history?days=30"

days is the window length in UTC days, today included: 1 to 90, default 90. Any other value is a 400.

The platform records every region's status - exactly what the current-status endpoint reports - about once a minute. From those samples:

  • A day's uptime is the share of that day's samples in which the region was up. degraded counts as up (the region was serving) and shows as that day's status; only outage counts as down.
  • A day's status is the worst status sampled that day.
  • A day without samples is null - no data, never 100%. History starts when sampling started (2026-09-30), so a new region, or the first weeks of the window, shows fewer sampled days than the window. A gap in sampling counts neither as up nor as down.
  • Today is a partial day, measured over the samples taken so far.
  • The region's overall uptime_percent is up samples over all samples in the window, and null when the window holds none.
{
  "days": 30,
  "from": "2026-09-01",
  "to": "2026-09-30",
  "regions": [
    {
      "region": "eu-north-1",
      "uptime_percent": 100,
      "days": [
        { "date": "2026-09-29", "status": null, "uptime_percent": null },
        { "date": "2026-09-30", "status": "operational", "uptime_percent": 100 }
      ]
    }
  ],
  "incidents": []
}

(days holds exactly one entry per day of the window, oldest first; shortened above.)

Incidents

Incidents are opened and updated by CapyDB's operators. Each carries a title, an impact (minor, major or critical), the affected region ids, a start time and a timeline of updates whose status moves through investigating → identified → monitoring → resolved. The history endpoint returns every incident that overlaps the window - still open, or resolved inside it - newest first.