CoreDash Uptime API and MCP Tools: Monitors and Checks
List, add, change and delete uptime monitors with your CoreDash API key, read their checks, or let an AI agent do it over MCP.
Arjen Karel - linkedin
Last update: 2026-10-19
Authentication
The uptime endpoints take the same Bearer tokens as the rest of the CoreDash API:
- Project API key (
cdk_...): sees the monitors linked to that RUM project. A monitor you create with it is linked to that project. - Master key (
cdk_master_..., Agency API): every monitor on the account, plus the monitors linked to projects the account can open. - MCP OAuth token: the same scope as a project key.
Endpoints
| Method and path | What it does |
|---|---|
GET /api/uptime/monitors | Every monitor with its state, last check, uptime over 7 days and the outcome of the last 48 checks. |
POST /api/uptime/monitors | Adds a monitor. Returns 201 and the monitor. The first check runs within a minute. |
GET /api/uptime/monitors/:id | One monitor with its recent checks, newest first. ?limit= up to 2100 (7 days with an origin check). |
PATCH /api/uptime/monitors/:id | Changes the fields you send. paused: true stops the checks. |
DELETE /api/uptime/monitors/:id | Deletes the monitor and its check history. |
POST /api/uptime/monitors/:id/check | Asks for a check right away. Returns 202; the result lands within about a minute. |
Add a monitor
| Field | Meaning |
|---|---|
url | Required. A full http or https URL. |
name | Display name. Default: the host of the URL. |
project_id | Master key only: link the monitor to a RUM project, for the TTFB comparison. |
origin_ip | Public IP of your server. Adds the origin check, which goes around DNS and the CDN. Empty string removes it. |
headers | Up to 5 request headers, [{ "name", "value" }], for a firewall rule that lets the checker through. |
expect_status | The status that counts as up. Default 200. |
paused | PATCH only. true stops the checks, false starts them again. |
What a monitor looks like
state is one of:
up: the last check passed.failing: the last check failed, the one before passed.down: two failed checks in a row, so both servers saw it fail.blocked: a 403, a 429 or a Cloudflare challenge. See letting the checker through.warn: any other status than the one that counts as up.pendingorpaused.
A failed check has an error: dns, connect, connect_timeout, timeout (30 seconds), tls, redirects or network. The origin IP and header values only come back from GET /api/uptime/monitors/:id. Lists and MCP answers mask them.
MCP tools
The CoreDash MCP server has six uptime tools next to the RUM tools. With a master key they don't need a project_id.
| Tool | Use it for |
|---|---|
list_uptime_monitors | "Is everything up?" |
get_uptime_monitor | "Was the checkout down this week, and since when?" Returns the recent checks and the uptime over them. |
create_uptime_monitor | "Monitor our login page too." |
update_uptime_monitor | Change the URL, the origin IP or headers, or pause a monitor. |
delete_uptime_monitor | Remove a monitor and its history. |
check_uptime_now | "Check it again now." |