Skip to content
Browse docs
Docs / Uptime monitoring / Uptime monitoring with Monity AI, the API and MCP

Uptime monitoring with Monity AI, the API and MCP

You don’t have to use the Uptime page to manage uptime monitors. Ask Monity AI in plain words, create and read monitors from your own code with the REST API, or let an MCP client such as Cursor or Claude Desktop do it with an API key.

Ask Monity AI

Open Ask Monity and say what you want to know about, for example:

  • “Tell me when example.com goes down.”
  • “Check that our shop’s homepage still says Add to cart.”
  • “Watch port 5432 on db.example.com every minute.”
  • “Our backup runs every night at 2. Alert me if it doesn’t.”

Monity AI picks the kind of monitor and shows a card with what it will check, how often, the credits a month and where alerts go. Nothing is created until you click Create monitor. For a heartbeat it then gives you the link your job should call.

The Monity AI panel after asking to be told when wikipedia.org goes down: a Create uptime monitor card with the address, every 5 minutes at about 9 credits a month, when it counts as down and where alerts go, with Cancel and Create monitor

It also answers questions about your monitors, such as “Is my site up?”, “Which sites were down this week?” or “How is the API doing?”, and can change a monitor’s interval or alert rules, pause, resume or check one now. Changes to a monitor you already have wait for you to confirm them.

REST API

Create a key in Integrations as described in the REST API guide; creating or changing monitors needs Allow write access. Uptime monitors have their own endpoints under https://api.monity.ai/api/v1/uptime:

Request Does
GET /uptime/plan The intervals your plan allows and the credits each uses a month.
GET /uptime/monitors Every uptime monitor with its status, 24-hour and 30-day uptime and response time, plus open and recent incidents. Add ?workspaceId= for one workspace.
GET /uptime/monitors/{uuid} One monitor: its settings, uptime over 24 hours, 7, 30 and 90 days, response times and incidents.
GET /uptime/monitors/{uuid}/incidents Its incidents, newest first, with cause and duration.
POST /uptime/monitors Creates a monitor (write key).
PATCH /uptime/monitors/{uuid} Changes it; fields you leave out stay as they are (write key).
POST /uptime/monitors/{uuid}/pause, /resume, /check Pauses, resumes or checks it now (write key).

Create a website monitor that checks every minute:

curl -X POST https://api.monity.ai/api/v1/uptime/monitors \
  -H "Authorization: Bearer mk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://example.com", "kind": "http", "intervalSeconds": 60 }'

And a heartbeat for a nightly job, which returns the heartbeatUrl to call:

curl -X POST https://api.monity.ai/api/v1/uptime/monitors \
  -H "Authorization: Bearer mk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "kind": "heartbeat", "name": "Nightly backup", "intervalSeconds": 86400, "graceSeconds": 900 }'
Field Notes
kind http (the default), keyword, port, dns or heartbeat.
url Required except for heartbeats. A bare host name for port and dns.
intervalSeconds 30, 60, 120, 300, 600, 900, 1800 or 3600; heartbeats also 21600, 43200 and 86400. Not faster than your plan allows.
keyword, keywordMode Keyword monitors: the text, and contains or absent.
port; dnsRecordType, dnsExpected Port and DNS monitors.
expectedStatus, assertions Good status codes ("200-399" by default) and up to 10 checks on the answer, such as { "source": "json", "path": "$.status", "op": "equals", "value": "ok" }.
alertAfterSeconds, remindEverySeconds, alertOnRecovery When to alert, how often to remind, and whether to say when it is back.
graceSeconds, slowThresholdMs, sslExpiryDays, domainExpiryDays Heartbeat grace period, slow alerts, and certificate and domain warnings.

A request your plan does not allow answers 400 with the reason per field. If a monitor in the workspace already checks the address, the answer is 409 with that monitor’s existingUuid. Maintenance windows, incident notes, status pages and reports are managed in the app.

MCP clients

Connect Cursor, Claude Desktop or another MCP client to https://api.monity.ai/mcp with an API key from the MCP clients card in Integrations. Three tools cover uptime: get_uptime_status reads monitors and incidents, and, with a write key, create_uptime_monitor and update_uptime_monitor create and change them. The monity.ai apps in ChatGPT and Claude (see Use monity.ai in ChatGPT and Claude) do not include the uptime tools yet.

Kamil, Alex and Martyna Median reply under 6 hours

Have a question?

Pricing, security, or scoping - pick a route and you will land in a real person's inbox.