How Happy Uptime works

Happy Uptime is built on Cloudflare's edge — Workers, Workflows, D1, KV, R2, Durable Objects. Every check, every alert, every page render runs at a colo close to you or your customer. There's no central server to scale, no region to fail.

The pieces

Monitors

HTTP, TCP, DNS, ping, keyword, and heartbeat checks executed on a 1-minute cron from 6 regions.

Learn More
Incidents

Auto-created when a monitor's confirmed status flips to down or degraded. Severity inferred from how many regions fail.

Learn More
Status pages

Server-rendered, edge-cached, accept custom domains, ship with three templates.

Learn More
On-call

Multi-layer schedules with rotations, restrictions, fixed shifts, overrides, and escalation policies.

Learn More
Alerts

Slack, Discord, webhook, Telegram, email — with quiet hours, mute, and on-call routing.

Learn More
Dependencies

Track the third-party services you depend on (AWS, OpenAI, Stripe…) and surface vendor outages alongside yours.

Learn More

The flow of a check

1

Cron fires (every 60s)

A scheduled Worker queries the D1 database for monitors due for a check. Each gets dispatched to a CheckRunnerWorkflow instance.

2

Workflow executes per-region

The workflow runs the configured probe (HTTP request, DNS lookup, TCP connect…) from each region in parallel. Captures DNS / connect / TLS / TTFB / transfer timings.

3

State machine resolves status

Per-region results aggregate into a confirmed status: up / degraded / down. Configurable confirmation periods prevent flap.

4

Side effects run

On status changes: dispatch alerts, auto-create / resolve incidents, capture failure screenshots, update edge-cached status pages, broadcast to dashboard via WebSockets.

Where data lives

LayerUsed for
D1 (SQLite at the edge)All structured data: monitors, incidents, schedules, alerts, audit log
KVRate limit counters, mute keys, OAuth state, edge-cache invalidation
R2Screenshots (failure + baselines), assets
Durable ObjectsReal-time WebSocket dashboard updates
WorkflowsLong-running multi-region checks + dependency scanning

How you talk to it

REST API

Bearer-token auth (hu_…). Versioned at /api/v1.

Learn More
CLI

happy and happyuptime binaries. Mirrors every endpoint.

Learn More
Dashboard

React SPA at happyuptime.com.

Every feature in the dashboard is also in the REST API — the dashboard is an API client. If you can do it in the UI, you can script it.

Ask a question... ⌘I