Docs

Learn how to use Doyouok to monitor your scheduled jobs, event-triggered processes, and background tasks.

Quick Start

  1. After signing in, click "New Check" on the dashboard, name your task, and set the check-in interval.
  2. Copy the Check's Ping URL.
  3. Have your task request this URL every time it runs successfully.
  4. 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.