Checks API: Manage Your Uptime Monitors

A “check” is a single monitoring task attached to a website (monitor). Every monitor has two checks: an uptime check and a certificate health check. You can independently control the interval and notification threshold of each, and enable or disable them without removing the monitor itself.

To find a check’s id, fetch the parent monitor via the Websites API - the response embeds checks.uptime.id and checks.certificate_health.id.

Update a check

PUT https://pingping.io/webapi/checks/{id}

Change the interval or the notification threshold of an existing check.

Path parameters

NameTypeDescription
idnumberThe check id (not the monitor id).

Request body

NameTypeDescription
intervalnumberSeconds between checks. Valid values depend on your plan: 30, 60, 120, 300, 900, 1800, 3600, 7200, 14400, 28800, 86400.
notification_thresholdnumberUptime checks only. Seconds of confirmed downtime to wait before alerting. Valid values: 0, 15, 30, 60, 120, 300, 600, 900, 1800. Defaults to 0.
Request
curl -X PUT https://pingping.io/webapi/checks/5 \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
  "interval": 30,
  "notification_threshold": 60
}'

Response 200

200 OK
{
"id": 5,
"status": "ok",
"interval": 30,
"is_enabled": true,
"notification_threshold": 60,
"last_check_at": "2026-05-31 14:56:03"
}

Response 422

Returned when the interval is not in the allowed list, or notification_threshold is set on a certificate health check.

422 Unprocessable Entity
{
"message": "The given data was invalid.",
"errors": {
  "interval": ["The selected interval is invalid for your current plan."]
}
}

Disable a check

POST https://pingping.io/webapi/checks/{id}/disable

Pauses the check. No further requests are sent and no alerts will fire. Historical data is retained.

Path parameters

NameTypeDescription
idnumberThe check id.

Response 200

200 OK
{
"id": 5,
"is_enabled": false,
"status": "paused"
}

Enable a check

POST https://pingping.io/webapi/checks/{id}/enable

Resumes a previously disabled check. The first request fires within the next interval window.

Path parameters

NameTypeDescription
idnumberThe check id.

Response 200

200 OK
{
"id": 5,
"is_enabled": true,
"status": "pending"
}

Check status values

StatusMeaning
okLast check succeeded.
degradedUptime check returned a response, but with slow latency or non-success status.
failingAt least one check failed; PingPing is verifying from a second region before alerting.
downConfirmed downtime. Notifications have fired.
pendingCheck is enabled but has not run yet.
pausedCheck is disabled.