POST
/api/monitors/subscribe
One-shot anonymous subscribe — create a monitor and attach a webhook or email channel in one call. Powers the Notify-me form on /check pages.
Request body
{
"type": "website",
"target": "discord.com",
"channelKind": "webhook",
"channelTarget": "https://your.app/hook"
}
Example
curl -s -X POST https://isitdown.io/api/monitors/subscribe \
-H 'Content-Type: application/json' \
-d '{"type": "website","target": "discord.com","channelKind": "webhook","channelTarget": "https://your.app/hook"}'
Response (excerpt)
{
"ok": true,
"monitorId": "mon_…",
"channelId": 1,
"ownerToken": "…",
"unsubscribeUrl": "/api/monitors/mon_…?owner=…"
}
Save the ownerToken — it's the only way to unsubscribe.
Create a saved monitor. Returns a fresh owner token if no X-Owner-Token header is provided.
Request body
{
"type": "website",
"target": "discord.com",
"intervalSeconds": 300,
"name": "Discord production"
}
Example
curl -s -X POST https://isitdown.io/api/monitors \
-H 'Content-Type: application/json' \
-d '{"type": "website","target": "discord.com","intervalSeconds": 300,"name": "Discord production"}'
PATCH
/api/monitors/mon_xxx
Partial update — name, interval, expectedStatus, expectedText.
Example
curl -s -X PATCH https://isitdown.io/api/monitors/mon_xxx
POST
/api/monitors/mon_xxx/pause
Freeze the state machine for a monitor.
Example
curl -s -X POST https://isitdown.io/api/monitors/mon_xxx/pause
POST
/api/monitors/mon_xxx/resume
Resume a paused monitor.
Example
curl -s -X POST https://isitdown.io/api/monitors/mon_xxx/resume
POST
/api/monitors/mon_xxx/channels
Attach an additional notification channel.
Example
curl -s -X POST https://isitdown.io/api/monitors/mon_xxx/channels