update_monitor
Modify an existing uptime monitor by ID: change its name, target, schedule, alerts, or other settings while omitted fields stay unchanged; returns the updated monitor record.
Instructions
Patch an existing monitor and return its updated record. Read get_monitor first, then send id and at least one changed field; omitted fields stay unchanged and type cannot change. Lists and headers replace their previous values, while documented nulls clear optional settings. Prefer pause_monitor/resume_monitor for a pause-only change; use this for configuration changes or a combined edit. Resuming sets status to pending; heartbeat interval/grace changes recalculate its deadline. New settings affect later checks and alerts; hosted plan limits and target restrictions still apply.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"id": "<id>"
},
"name": "update_monitor"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Resource UUID returned by the matching list tool; not its name, incident number or status-page slug. | |
| name | No | Display name shown in the dashboard, alerts and status-page components. | |
| tags | No | Dashboard filter labels; a supplied list replaces the existing tags, and an empty list clears them. | |
| method | No | HTTP request method; ignored for other monitor types. | |
| paused | No | True pauses checks and alerts; false resumes checking with pending status. Prefer pause_monitor or resume_monitor for this change alone. | |
| target | No | HTTP: absolute http(s) URL. TCP: host:port. DNS: hostname. Database/Redis: connection URL for that protocol. Heartbeat: leave empty. Public targets only by default. | |
| headers | No | HTTP request headers; replaces the header map. An empty object removes all custom headers. Existing masked values preserve stored secrets. | |
| keyword | No | HTTP response-body text to test; null disables keyword matching. | |
| project | No | Project id (from list_workspaces). Omit to use the default project of the workspace. | |
| regions | No | Region ids from list_regions. auto uses this deployment; explicit regions work for HTTP/TCP only. A supplied list replaces the existing one. | |
| graceSec | No | Extra seconds allowed after a heartbeat deadline before it counts as missed; used only for heartbeat monitors. | |
| timeoutMs | No | Maximum duration of a check in milliseconds. | |
| workspace | No | Workspace id (from list_workspaces). Omit to use the default one. | |
| channelIds | No | Alert-channel UUIDs from list_channels. Replaces the selected channels; an empty list clears them. Newly created monitors also inherit auto-enabled channels. | |
| intervalSec | No | Seconds between checks, or the expected heartbeat period. Hosted plans may require a longer interval. | |
| keywordMode | No | Whether the HTTP response body must contain keyword or must not contain it. | |
| expectedStatus | No | HTTP response status that counts as healthy; an expected 3xx is checked without following the redirect. | |
| slowAlertAfter | No | Consecutive slow checks required for a slow-response alert; zero disables these alerts. | |
| slowThresholdMs | No | Latency in milliseconds above which a successful check counts as slow. | |
| expectedLocation | No | For an expected HTTP redirect (3xx), require this Location URL or path; null or empty string accepts any destination. | |
| failureThreshold | No | Consecutive failed checks required before opening an incident. | |
| minRegionsFailing | No | Failed regions needed to mark a multi-region monitor down; zero uses a majority of regions that answered. | |
| dependsOnMonitorId | No | Parent monitor UUID in the same project; suppresses new incidents and alerts while the parent is down. Null removes the dependency. |