Documentation
Getting started
- Create an account and confirm your email. Monitoring starts only after confirmation.
- Add your first site. We check it immediately so you see a real result straight away.
- Connect Telegram if you can - it is instant, free and cannot land in a spam folder.
- Allow our checker in any firewall in front of your sites. See About our bot.
Monitor types
All eight types are described on the Features page. A few notes that matter in practice:
- Keyword — pick a word that only appears when the page is genuinely working, such as a product name or a button label. "Home" appears on error pages too.
- Domain expiry — registries publish the registration expiry date, not whether an invoice was paid. After you renew, the date moves forward within a day and the warning clears by itself.
- Heartbeat — add a curl call to the end of your cron job. If the call stops arriving, we alert you.
# at the end of your backup script
curl -fsS --retry 3 https://acmepulse.com/hb/YOUR-TOKEN
Alerts
A failure is confirmed by a second check 30 seconds later before anything is sent. You can require up to four consecutive failures on noisy targets.
Quiet hours hold back certificate and domain reminders only. An outage always goes out immediately, at any hour - that is deliberate and cannot be turned off per hour, only per monitor.
Status pages
Rename each service for the audience: your client should read "Checkout", not "prod-lb-03". Failure causes are shown to the public in general terms, never with your internal host names.
Each page also publishes an RSS feed and an SVG badge you can embed anywhere:
https://acmepulse.com/status/YOUR-PAGE/feedhttps://acmepulse.com/status/YOUR-PAGE/badge
REST API
Available on Pro and above. Create a token in Settings, then authenticate with a bearer header. The limit is 60 requests a minute per token.
curl -H "Authorization: Bearer sk_live_..." \
https://acmepulse.com/wp-json/um/v1/monitors
# create a monitor
curl -X POST -H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{"type":"http","target":"https://client.com","interval_sec":60}' \
https://acmepulse.com/wp-json/um/v1/monitors
| Endpoint | Does |
|---|---|
| GET /monitors | List monitors, with status and type filters |
| POST /monitors | Create a monitor |
| GET /monitors/{id} | One monitor with uptime for 24h, 7d and 30d |
| PATCH /monitors/{id} | Update fields you send, leave the rest alone |
| DELETE /monitors/{id} | Delete a monitor and its history |
| POST /monitors/{id}/pause | Pause, and /resume to start again |
| GET /monitors/{id}/uptime | Uptime, average response and incident counts |
| GET /monitors/{id}/checks | Raw check results, newest first |
| GET /incidents | Incidents across all monitors |
| GET /account | Plan and current usage |
Troubleshooting
The site works but we report it down
Almost always a firewall answering our request with 403 or a captcha. Allow our checker: About our bot.
Alerts are not arriving
Check the channel is verified in Notifications and press "Send test". If email is slow or missing, connect Telegram as a second channel - email delivery is the part of alerting nobody fully controls.
A private address is rejected
Addresses on private or reserved networks cannot be monitored from outside, and we block them deliberately. Use a heartbeat monitor for anything with no public address.