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/statusEach region reports one status, taken from the health probes of its nodes (the worst node wins):
| Status | Meaning |
|---|---|
operational | Every node answers its health probe |
degraded | The region is serving, impaired (for example, elevated replication lag) |
outage | A 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.
degradedcounts as up (the region was serving) and shows as that day'sstatus; onlyoutagecounts as down. - A day's
statusis 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_percentis up samples over all samples in the window, andnullwhen 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.
Disaster recovery
The actual recovery layers - continuous archiving, storage checkpoints, scheduled logical backups - and the honest limits of a single-region product.
Billing and suspension
What happens when a payment fails, the timeline from a missed payment to an offline workspace, how to restore access, and why your data is never deleted automatically.