Push Monitors
Push (heartbeat) monitors flip the model: instead of UptimeGrid polling your service, your service pings UptimeGrid. If the expected ping doesn't arrive in time, the monitor goes DOWN — perfect for cron jobs, backups, queue workers, and other background tasks.
How It Works
Each push monitor has a unique, secret Push URL containing a random token. Your job sends a request to that URL every time it runs successfully. UptimeGrid records a heartbeat and keeps the monitor UP. If no ping arrives within the expected period plus a grace window, UptimeGrid marks it DOWN and triggers your alerts.
- Expected period — how often you promise to ping (e.g. every 60s).
- Grace — extra slack before a missed ping counts as down (e.g. 300s).
- The monitor goes DOWN after
period + graceseconds without a ping.
Finding Your Push URL
Create a monitor with type Push, then open the monitor's detail page. The Push URL panel shows the full URL with Copy and Regenerate buttons. It looks like this:
https://ingest.uptimegrid.net/api/v1/push/<your-token>
Reporting a Heartbeat
Send a GET, POST, or HEAD request to the Push URL — no headers or authentication needed, the token in the URL is the credential.
curl
curl -fsS https://ingest.uptimegrid.net/api/v1/push/<your-token>
In a cron job
# Run the backup, then ping only if it succeeded 0 2 * * * /usr/local/bin/backup.sh && curl -fsS https://ingest.uptimegrid.net/api/v1/push/<your-token>
Attaching a message
Add an optional msg query parameter (or JSON body field) to record context with the heartbeat. It's truncated to 255 characters.
curl -fsS "https://ingest.uptimegrid.net/api/v1/push/<your-token>?msg=backup%20ok"
Python
import urllib.request
urllib.request.urlopen("https://ingest.uptimegrid.net/api/v1/push/<your-token>", timeout=10)Node.js
await fetch("https://ingest.uptimegrid.net/api/v1/push/<your-token>");Security Best Practices
- Treat the Push URL as a secret. Anyone with the token can send heartbeats and keep the monitor falsely UP. Don't commit it to source control or paste it in public chats.
- Prefer POST when sharing matters. Link unfurlers, email scanners, and browser prefetch may automatically
GETa URL pasted into chat or email, creating a spurious heartbeat.POSTisn't auto-fetched, so use it where accidental GETs are a concern. - Always use HTTPS so the token isn't exposed in transit.
- Regenerate if leaked. Use the Regenerate button on the monitor detail page to issue a new token; the old URL stops working immediately, so update your job too.
- Rate limits. Pings are limited per token and per source IP. A normal heartbeat cadence is well within these limits — they exist to absorb misconfigured loops and abuse.
Notes
- Pings only register an UP heartbeat; DOWN is inferred from missed pings.
- Pinging a paused monitor is ignored.
- Uptime for push monitors is measured as the fraction of expected ping windows that received a heartbeat.