Quickstart
First monitor, status page, and on-call rotation in under 5 minutes.
Quickstart
Five minutes from sign-up to a paged on-call person.
Sign up + install the CLI
bashnpm i -g happyuptime-clihappy login
Opens your browser to sign in (or create an account). Stores an API key in ~/.happyuptime/config.json.
Prefer cURL? Create an API key from Dashboard → Settings → API Keys and use Authorization: Bearer hu_... on every request.
Create your first monitor
bashhappy monitors create \ --name "My App" \ --url https://myapp.com \ --interval 60
bashcurl -X POST https://happyuptime.com/api/v1/monitors \ -H "Authorization: Bearer hu_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "name": "My App", "url": "https://myapp.com", "type": "http", "interval_seconds": 60 }'
javascriptawait fetch("https://happyuptime.com/api/v1/monitors", { method: "POST", headers: { "Authorization": "Bearer " + process.env.HAPPYUPTIME_API_KEY, "Content-Type": "application/json", }, body: JSON.stringify({ name: "My App", url: "https://myapp.com", type: "http", interval_seconds: 60, }),});
Now checked every 60s from us-east, us-west, eu-west, eu-central, ap-southeast, ap-northeast. See live status with happy status.
Wire Slack for alerts
Dashboard → Integrations → Slack → Connect, pick your alert channel, approve.
A slack_app alert channel is created automatically. New monitors are routed to it by default.
Detail walkthrough: Slack integration.
Build a status page
bashcurl -X POST https://happyuptime.com/api/v1/status-pages \ -H "Authorization: Bearer hu_your_api_key" \ -H "Content-Type: application/json" \ -d '{"name":"Acme Status","slug":"acme","template":"minimal","brand_color":"#34d399"}'
Add components in Dashboard → Status Pages, or via the status page components API. Now live at https://happyuptime.com/status/acme. Custom domain via Custom domain guide.
Set up on-call paging
Create the schedule in Dashboard → On-call, or use the on-call schedules API.
Then add an alert rule that pages the schedule:
bashcurl -X POST https://happyuptime.com/api/v1/alerts/rules \ -H "Authorization: Bearer hu_your_api_key" \ -H "Content-Type: application/json" \ -d '{"name":"Page on-call on critical","severity":"critical","notify_oncall":true}'
Detail walkthrough: First on-call rotation.
You're done
- Site checked every minute from 6 regions
- Slack channel + DM page when something breaks
- Public status page customers can subscribe to
- On-call rotation that hands off automatically every Monday