1. Create an account
Go to monitor.whatping.com and sign up with an email address and a password. Passwords need at least 8 characters including upper case, lower case and a digit.
You will get a verification code by email — verification is required, not optional. You can also sign in with a one-time code instead of a password if you prefer.
A workspace is created for you. Everything — monitors, channels, members — belongs to a workspace.
2. Add your first monitor
Start with a domain expiry monitor, not an HTTP one. It takes thirty seconds and it covers the failure with no other warning signal.
- Add monitor
- Type: Domain registration expiry
- Domain: your apex domain, e.g.
example.com— nohttps://, no path - Warn below:
30days - Create
The first check runs within about fifteen minutes. When it does, the monitor shows your registrar, the expiry date and days remaining.
3. Add an HTTP monitor
- Add monitor → HTTP
- URL:
https://your-site.example.com/ - Interval:
60seconds - Accepted status:
200-299— a range rather than a single code, so a204or206is not a false alarm - Create
The monitor starts in pending and moves to up after its first successful check.
To catch the “200 but broken” case, add a keyword assertion: a string that appears on a working page and would be missing on a broken one — a nav item, a heading, or an element you know renders after the database call.
4. Attach an alert channel
A monitor with no channel changes state silently. Pick the fastest one to prove:
ntfy — no account, no token.
- Install the ntfy app, or open ntfy.sh in a browser
- Subscribe to an unguessable topic, e.g.
whatping-a7f3c9d2e1 - In WhatPing: Channels → Add → ntfy →
https://ntfy.sh/whatping-a7f3c9d2e1 - Attach it to your monitor
Email, webhook and Telegram setup are in alert channels.
5. Prove it fires
Do not wait for a real outage to discover the channel was misconfigured.
Create a throwaway HTTP monitor pointing at a URL that fails — a hostname that does not exist works well:
- Add monitor → HTTP →
https://this-host-does-not-exist.example.com/ - Interval:
20seconds, Failures before down:1 - Attach your channel
- Create
Within about a minute the monitor goes down and you get an alert reading something like:
🔴 DOWN — test (https://this-host-does-not-exist.example.com/): dns error: failed to lookup address
Delete the monitor once you have seen the alert arrive.
6. Turn on reminders where it matters
For your genuinely important monitors, set Re-alert every to 30 minutes. One alert is a
single point of failure; if it fails to deliver, an ongoing outage looks identical to
everything being fine.
Leave it off for anything flaky. A repeating alert on a noisy monitor teaches you to ignore alerts.
7. Or skip all of that and use the API
Everything above is available over HTTP, and it is the same code path — both the dashboard and the API run the identical validator, so anything the interface accepts the API accepts, and anything it refuses the API refuses with the offending field named.
curl -X POST https://api.whatping.com/v1/monitors \
-H "Authorization: Bearer $KEY" \
-H "content-type: application/json" \
-d '{"name":"api","type":"http","url":"https://api.example.com/health"}'
Create the key in workspace settings. Send Idempotency-Key on creates and a pipeline that
reruns will not accumulate duplicate monitors.
What next
- API reference — every endpoint, with curl for each
- Concepts — how thresholds and incidents actually behave
- Heartbeat monitors — for your backups and cron jobs
- Email auth monitoring — five seconds to set up, protects your alert path
- Limits