Docs
Learn how to use Doyouok to monitor your scheduled jobs, event-triggered processes, and background tasks.
Quick Start
- After signing in, click "New Check" on the dashboard, name your task, and set the check-in interval.
- Copy the Check's Ping URL.
- Have your task request this URL every time it runs successfully.
- If no check-in arrives within the interval you set, we'll alert you immediately.
Ping URL
Every Check has a dedicated Ping URL in the format below (api_key is a rotatable secret, unrelated to the Check's identity):
https://ping.doyouok.com/ping/{api_key}
Supports GET or POST requests and always returns a fixed 200 status — whether or not api_key is valid, the response never reveals anything, to prevent enumeration attacks.
| Path | Purpose |
|---|---|
/ping/{api_key} |
Send a check-in (heartbeat) |
/ping/{api_key}/start |
Mark the task as started; used in task mode only, to compute this run's duration |
If a Ping URL is leaked, you can rotate it at any time from the dashboard: the old URL is invalidated immediately, and there's no need to recreate the Check.
Two Monitoring Modes
Heartbeat Mode (LifeMonitor)
Best for a process that should keep happening but doesn't need to run on a fixed schedule — either a scheduled job (e.g. "back up every night") or an event-triggered process (e.g. send a check-in every time a webhook arrives or an order is processed). As long as at least one Ping arrives within your configured interval, the Check stays Up; if the interval passes with no Ping, the Check goes Down and triggers an alert.
Task Mode (TaskMonitor)
Best for tasks where you want a run log and duration recorded. Combine /start with the finishing check-in to record the run's duration; if you only send the finishing check-in, a run log without a duration is recorded.
Check Status
- New —— Just created, hasn't received a check-in yet.
- Up —— Checking in normally — everything is fine.
- Down —— No check-in received within the configured interval; an alert has been sent.
Alerting
Once a Check times out, we send an escalating reminder alert periodically — a first reminder, then a last reminder, at most 2 per incident. As soon as a check-in is received, the count resets.