Update Monitor
updateMonitorUpdate an existing Uptime Kuma monitor's configuration by ID. Only supplied fields change; all other settings stay intact.
Instructions
Updates an existing monitor configuration. You must include the monitorID. Only the fields you provide will be changed (the server merges your changes with the existing config). Use getMonitor first to get the current config.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URL to monitor | |
| body | No | HTTP request body | |
| name | No | Display name | |
| port | No | Port number | |
| tags | No | Tags to assign | |
| active | No | Whether the monitor is active | |
| method | No | HTTP method | |
| parent | No | Parent group monitor ID — re-parents this monitor into that group. Pass null to move it to the top level. | |
| headers | No | HTTP headers as JSON string | |
| keyword | No | Keyword to search for | |
| timeout | No | Request timeout in SECONDS. Avoid 0 — Uptime Kuma's runtime fallback for a stored 0 yields a ~13 hour timeout, so the monitor can never report DOWN against a black-holed endpoint. | |
| hostname | No | Hostname | |
| interval | No | Check interval in seconds | |
| jsonPath | No | JSONata expression for json-query monitors. Must resolve to a primitive. | |
| parentID | No | Alias for parent. Prefer parent. | |
| ignoreTls | No | Ignore TLS/SSL errors | |
| json_path | No | Alias for jsonPath (the database column name). Prefer jsonPath. | |
| monitorID | Yes | The ID of the monitor to update | |
| parent_id | No | Alias for parent. Prefer parent. | |
| pushToken | No | Push token — the secret in the ping URL. Changing it invalidates the existing URL and any sender still using it stops beating. | |
| maxretries | No | Max retries before marking as down | |
| push_token | No | Alias for pushToken (the database column name). Prefer pushToken. | |
| upsideDown | No | Invert status | |
| description | No | Free-text description shown on the monitor page | |
| docker_host | No | Docker host ID (required for docker type). Use listDockerHosts to find available IDs. | |
| maxredirects | No | Max HTTP redirects | |
| databaseQuery | No | Query for database monitors. SQL for mysql, postgres and sqlserver; a JSON command object for mongodb. | |
| expectedValue | No | Threshold the json-query result is compared against, stored as a string. | |
| invertKeyword | No | Invert keyword match | |
| retryInterval | No | Retry interval in seconds | |
| database_query | No | Alias for databaseQuery (the database column name). Prefer databaseQuery. | |
| expected_value | No | Alias for expectedValue. Prefer expectedValue. | |
| radiusPassword | No | The column databasePassword is stored in; also the RADIUS password. Prefer databasePassword for mysql. | |
| resendInterval | No | Resend notification every N checks while down (0 = disabled) | |
| databasePassword | No | Password for mysql monitors, stored by Uptime Kuma as radiusPassword. Sending "***" back keeps the stored value. | |
| dns_resolve_type | No | DNS record type to query (for dns type) | |
| docker_container | No | Docker container name (required for docker type) | |
| jsonPathOperator | No | Comparison operator for json-query monitors. | |
| dns_resolve_server | No | DNS server to use for resolution (for dns type) | |
| json_path_operator | No | Alias for jsonPathOperator. Prefer jsonPathOperator. | |
| notificationIDList | No | Notification ID map | |
| accepted_statuscodes | No | Accepted HTTP status codes | |
| databaseConnectionString | No | Connection string for mysql, postgres, mongodb, redis and sqlserver monitors. A credential: read tools return "***", and sending "***" back keeps the stored value. | |
| database_connection_string | No | Alias for databaseConnectionString (the database column name). Prefer databaseConnectionString. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | ||
| msg | No | ||
| monitorID | No |