Tools

Once you've connected a client, these are the tools it can call. Every tool call is subject to the same 300-per-minute rate limit as REST — see Rate limits & errors.

Limitations

All 17 tools below are available to every valid personal access token today — there's no tier-based restriction on which tools you can call.

Monitors

list_monitors

List all monitors for the team, optionally filtered by status.

Parameters

  • status (string, optional) — filter by monitor status: up, down, paused, or pending.

Behavior: Returns every monitor on the team, filtered by status if provided.

Example prompt: "Show me all my monitors that are currently down."

get_monitor

Get details for a single monitor including its current status.

Parameters

  • id (string, uuid, required) — the monitor's ID.

Behavior: Returns the monitor, or a not-found error if the ID doesn't match a monitor on your team.

Example prompt: "What's the status of my checkout API monitor?"

get_monitor_runs

Get recent run history for a monitor.

Parameters

  • id (string, uuid, required) — the monitor's ID.
  • limit (integer, optional) — number of runs to return, up to 100. Defaults to 20.

Behavior: Returns recent check results for the monitor, newest first.

Example prompt: "Show me the last 10 runs for my checkout monitor."

create_monitor

Create a new HTTP or SSL monitor.

Roles: Member, Admin, or Owner

Parameters

  • type (string, required) — "http" or "ssl". Determines which fields below apply.
  • name (string, required) — 1–200 characters.
  • intervalSeconds (integer, required) — 60–3600.
  • timeoutSeconds (integer, required) — 1–120.
  • regions (array of strings, required) — one or more of us-east, eu-west, asia.
  • notificationPolicyId (string, uuid, optional, nullable) — which alert policy to notify on status change.
  • url (string, required for HTTP) — the endpoint to check.
  • method (string, required for HTTP) — one of GET, POST, PUT, DELETE, HEAD.
  • expectedStatus (integer, required for HTTP) — 100–599.
  • auth (object, optional, nullable, HTTP only) — type, secret, plus username or headerName depending on type.
  • host (string, required for SSL) — 1–253 characters.
  • port (integer, optional, SSL only) — 1–65535, defaults to 443.
  • warningDays (integer, optional, nullable, SSL only) — days before certificate expiry to warn.

Behavior: Creates the monitor and returns it.

Example prompt: "Create an HTTP monitor for https://example.com/health that checks every 5 minutes from US East and EU West."

update_monitor

Update a monitor's name, URL, interval, or other config fields.

Roles: Member, Admin, or Owner

Parameters

  • id (string, uuid, required) — the monitor's ID.
  • name (string, optional)
  • intervalSeconds (integer, optional)
  • timeoutSeconds (integer, optional)
  • regions (array of strings, optional)
  • notificationPolicyId (string, uuid, optional, nullable)
  • url (string, optional, HTTP only)
  • method (string, optional, HTTP only)
  • expectedStatus (integer, optional, HTTP only)
  • auth (object, optional, nullable, HTTP only)
  • host (string, optional, SSL only)
  • port (integer, optional, SSL only)
  • warningDays (integer, optional, nullable, SSL only)

Behavior: Updates only the fields you provide. For auth, notificationPolicyId, and warningDays, the same three-way rule applies as the REST API: omit to keep the current value, send null to clear it, or send a new value to replace it.

Example prompt: "Change my checkout monitor's check interval to every minute."

delete_monitor

Delete a monitor (admin or owner only).

Roles: Admin or Owner

Parameters

  • id (string, uuid, required) — the monitor's ID.

Behavior: Soft-deletes the monitor — it stops being checked and no longer appears in listings.

Example prompt: "Delete the old staging monitor, I don't need it anymore."

pause_monitor

Pause a monitor (stops check execution).

Roles: Member, Admin, or Owner

Parameters

  • id (string, uuid, required) — the monitor's ID.

Behavior: Stops check execution for the monitor without deleting it.

Example prompt: "Pause my staging environment monitor while I do maintenance."

resume_monitor

Resume a paused monitor.

Roles: Member, Admin, or Owner

Parameters

  • id (string, uuid, required) — the monitor's ID.

Behavior: Resumes checks for a paused monitor.

Example prompt: "Resume the staging monitor, maintenance is done."

trigger_check

Immediately trigger a check run for a monitor. Rate-limited to once per monitor per 60 seconds.

Roles: Member, Admin, or Owner

Parameters

  • id (string, uuid, required) — the monitor's ID.

Behavior: Enqueues an immediate check outside the monitor's normal schedule. Shares the same 60-second per-monitor lock as the REST /check endpoint.

Example prompt: "Run a check on my API monitor right now."

Incidents

list_incidents

List incidents for the team, optionally filtered by status.

Parameters

  • status (string, optional) — open or resolved.

Behavior: Returns incidents for the team, filtered by status if provided.

Example prompt: "What incidents are currently open?"

get_incident

Get a single incident with its timeline updates.

Parameters

  • id (string, uuid, required) — the incident's ID.

Behavior: Returns the incident along with every update posted to its timeline.

Example prompt: "Give me the full timeline for that database incident."

create_incident

Create a manual incident.

Roles: Member, Admin, or Owner

Parameters

  • title (string, required) — 1–200 characters.
  • monitorId (string, uuid, optional) — links the incident to an existing monitor on your team.
  • message (string, optional) — up to 4000 characters, posted as the incident's first timeline update.
  • severity (string, optional) — minor, major, or critical. Defaults to major.

Behavior: Creates the incident and returns it.

Example prompt: "Open an incident for elevated error rates on the checkout API, severity major."

post_incident_update

Post a status update to an open incident.

Roles: Member, Admin, or Owner

Parameters

  • id (string, uuid, required) — the incident's ID.
  • message (string, required) — 1–4000 characters.
  • status (string, optional) — investigating, identified, or monitoring. If omitted, the incident's current status is left unchanged.
  • postedToStatusPage (boolean, optional) — whether this update appears on the public status page. Defaults to true.

Behavior: Posts the update and, if status is provided, changes the incident's status. Unlike the REST endpoint, this does not send a notification email to status page subscribers.

Example prompt: "Post an update on the checkout incident saying we've identified the cause."

resolve_incident

Resolve an open incident.

Roles: Admin or Owner

Parameters

  • id (string, uuid, required) — the incident's ID.
  • message (string, optional) — closing note. Defaults to "Incident resolved." if omitted.

Behavior: Marks the incident resolved and posts a closing update. Like post_incident_update, this does not send a notification email to status page subscribers.

Example prompt: "Resolve the checkout incident, the fix is deployed and verified."

Status Page

get_status_page

Get the team's status page (at most one per team).

Parameters: none

Behavior: Returns your team's status page, or a not-found error if you haven't created one yet.

Example prompt: "What does my public status page look like right now?"

Team

get_current_team

Get the current team's name, slug, and creation date.

Parameters: none

Behavior: Returns your team's basic details.

Example prompt: "What team am I connected to?"

list_team_members

List all members of the current team with their roles.

Parameters: none

Behavior: Returns every member of your team along with their role.

Example prompt: "Who's on my team and what are their roles?"