Skip to content

Uptime monitoring

The Uptime app probes URLs you register as monitors from four regions (North America na, Europe eu, Asia as, Oceania oc) and reports incident-based uptime. Enable it per site (uptimeEnabled, on by default), then register monitors via POST /v1/sites/{id}/uptime/monitors.

A monitor probes one http(s) URL:

  • cadenceSeconds — one of 60, 300, 900, 1800, 3600 (default: every minute, from each region).
  • timeoutSeconds — 1–30 (default 10); a slower response counts as a failed probe.
  • enabled: false pauses probing without losing the monitor or its history.

A first probe fires from every region immediately on creation, so status fills within seconds. Monitors count against a pooled allowance (2 included per site) — see Quotas & usage.

Each monitor row carries its current statusup, degraded, down, or unknown (before the first probes) — and status_since. List them per site (GET /v1/sites/{id}/uptime/monitors) or org-wide (GET /v1/uptime/monitors).

A single region failing to reach your origin is not an outage. A downtime incident is confirmed only when at least 3 of the 4 regions agree the monitor is failing; recovery is confirmed the same way. Failures below quorum (“only Asia can’t reach you”) mark the monitor degraded — visible, but never an incident and never an alert.

Confirmed incidents and recoveries trigger alerts: to the monitor’s own alertEmails/alertWebhooks, plus the receivers configured in notification settings. Each incident records its classified causedns, tls, timeout, http_5xx, http_4xx, redirect, or network.

Three read endpoints, from coarse to live:

  • …/report?days=90 — the day-bar report: one segment per day — down (a confirmed incident overlapped the day), degraded (sub-quorum failures past a noise floor, so one stray timeout doesn’t paint a healthy day), or ok — with per-region stats, the incident list, and overallUptimePct.
  • …/metrics?hours=24hourly per-region buckets (totals, failures, p50/p95 latency) for charts. Closed hours only.
  • …/livenot-yet-flushed samples straight from the regional probers, covering the open hour — so a fresh monitor has metrics before its first rollup.

All uptime percentages count confirmed incident downtime only — degraded time doesn’t reduce them — and windows are clamped to the monitor’s creation, so a young monitor isn’t diluted by empty days.