UpdateMonitorRequest data model
The UpdateMonitorRequest shape in the Visual Sentinel REST API.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
domainExpiryEnabled | boolean | No | Domain registration expiry monitoring for this monitor's registrable domain. Available on every plan. Defaults to true on create. |
domainAlertDays | array of integer | No | Days-before-expiry reminder tiers. An empty list keeps the domain watched without reminder emails. Items are one of: 50, 30, 20, 13, 6, 3, 1. |
domainReminderSnoozedUntil | string (date-time) or null (date-time) | No | Snooze domain expiry reminders until this time (at most 35 days ahead). Null clears the snooze. |
name | string | No | Display name. Min length 1, max length 200. |
description | string | No | Free-text notes. Max length 500. |
url | string (uri) | No | Address to check. HTTP, HTTPS, KEYWORD, API and GRAPHQL monitors take a full http:// or https:// address. TCP and PORT take host:port, UDP takes udp://host:port, WEBSOCKET takes ws:// or wss://, and PING, DNS and SSL take a host name. Spaces are not allowed. Max length 2048. |
type | string | No | Change the monitor type. Only these types can be set on update. One of: HTTP, HTTPS, TCP, PING, DNS, SSL, WEBSOCKET, GRAPHQL. |
enabled | boolean | No | Whether the monitor is checked. Send false to pause it and true to resume it. |
method | HTTPMethod | No | HTTP method for HTTP-family monitors. |
headers | map of string | No | Request headers as name and value pairs (up to 16 KB). A JSON string is also accepted. |
body | string or null | No | Request body for POST, PUT, PATCH and QUERY checks. |
timeout | integer | No | Request timeout in milliseconds. Minimum 1000, maximum 120000. |
checkInterval | integer | No | Seconds between uptime checks. On create, a value below your plan minimum is raised to the minimum. Minimum 30, maximum 86400. |
expectedStatus | array of integer | No | Status codes that count as up. |
expectedBody | string or null | No | Text the response must contain. |
maxResponseTime | integer | No | Responses slower than this many milliseconds count as slow. Minimum 100, maximum 30000. |
sslCheck | boolean | No | Certificate expiry and validity monitoring. Needs a plan with SSL monitoring. |
checkOtherAddress | boolean | No | Check the website's www or bare-domain twin every 15 minutes without using a site slot. Ignored for other monitor types. |
sslWarningDays | integer | No | Days before certificate expiry when the certificate is reported as expiring. Minimum 1, maximum 90. |
ignoreSslErrors | boolean | No | Treat certificate errors on the checked address as up. |
authType | string or null | No | Authentication for the checked address: none, basic, bearer or apikey. One of: none, basic, bearer, api-key, apikey, null. |
authConfig | map of string or boolean or null | No | Credentials for authType, for example { "username": "...", "password": "..." } or { "token": "..." } (up to 8 KB). |
locations | array of string | No | Uptime check regions: EU, US and ASIA. Only HTTP, HTTPS, KEYWORD, API and GRAPHQL monitors can use US or ASIA; other types run from EU and another region returns 400 LOCATION_UNSUPPORTED_FOR_TYPE. Unknown regions return 400 INVALID_LOCATION; a region outside your plan returns 403 LOCATION_RESTRICTED. Asia Pacific is enabled per workspace during its rollout; call GET /api/monitoring/regions first. When this workspace cannot use ASIA the request fails with 400 REGION_UNAVAILABLE. Older spellings such as eu-west-1 are accepted and stored as the region code. Items are one of: EU, US, ASIA. |
followRedirects | boolean | No | Follow redirects. |
maxRedirects | integer | No | Minimum 0, maximum 10. |
tags | array of string | No | Tags for grouping and filtering. Status page groups can follow tags. |
visualRegion | string or null | No | Where screenshots for visual checks are taken: EU (the default, stored as null) or ASIA. Asia Pacific is enabled per workspace during its rollout; call GET /api/monitoring/regions first. When this workspace cannot use ASIA the request fails with 400 REGION_UNAVAILABLE. Changing the region starts a fresh baseline. One of: EU, ASIA, null. |
visualEnabled | boolean | No | Visual change detection (screenshots). On create, when omitted, it is turned on for HTTP and HTTPS monitors on plans that include visual monitoring. Needs a plan with visual monitoring (403 FEATURE_RESTRICTED) and a free visual slot (403 LIMIT_EXCEEDED). |
performanceEnabled | boolean | No | Daily phone speed test. Needs a plan with performance monitoring. |
visualConfig | object | No | Visual check settings: threshold (percent of changed pixels that counts as a change), checkInterval (seconds, at least 900), viewport { width, height }, fullPage, excludeSelectors, video and GIF handling, and auth for pages behind a login. |
visualConfig.threshold | number | No | Percent of changed pixels that counts as a change, 0 to 100. A monitor whose visual settings have no threshold uses 5 percent. The Add monitor form in the app saves 10. Minimum 0, maximum 100. |
visualConfig.checkInterval | integer | No | Minimum 900, maximum 86400. |
visualConfig.viewport | object | No | |
visualConfig.viewport.width | integer | No | Minimum 320, maximum 3840. |
visualConfig.viewport.height | integer | No | Minimum 240, maximum 2160. |
visualConfig.fullPage | boolean | No | |
visualConfig.pauseVideos | boolean | No | |
visualConfig.hideVideoEmbeds | boolean | No | |
visualConfig.hideGifs | boolean | No | |
visualConfig.hashMismatchThreshold | integer | No | Minimum 0, maximum 10. |
visualConfig.duplicateTolerance | number | No | Minimum 0, maximum 100. |
visualConfig.excludeSelectors | array of string | No | |
visualConfig.alertEmailImage | boolean | No | Whether this monitor's visual change alert email includes a before and after picture of the page. On unless set to false. Never included for a monitor with saved sign-in settings, sign-in headers or credentials in its address. |
visualConfig.auth | object | No | |
visualConfig.auth.type | string | No | One of: none, basic, bearer, cookie, form. Default: none. |
visualConfig.auth.username | string | No | |
visualConfig.auth.password | string | No | |
visualConfig.auth.token | string | No | |
visualConfig.auth.headerName | string | No | Default: Authorization. |
visualConfig.auth.headerPrefix | string | No | Default: Bearer. |
visualConfig.auth.cookies | array of object | No | |
visualConfig.auth.cookies[].name | string | Yes | |
visualConfig.auth.cookies[].value | string | Yes | |
visualConfig.auth.cookies[].domain | string | Yes | |
visualConfig.auth.cookies[].path | string | No | Default: /. |
visualConfig.auth.formLogin | object | No | |
visualConfig.auth.formLogin.loginUrl | string | Yes | Max length 2048. |
visualConfig.auth.formLogin.usernameSelector | string | Yes | |
visualConfig.auth.formLogin.usernameValue | string | Yes | |
visualConfig.auth.formLogin.passwordSelector | string | Yes | |
visualConfig.auth.formLogin.passwordValue | string | No | |
visualConfig.auth.formLogin.submitSelector | string | Yes | |
visualConfig.auth.formLogin.waitForNavigation | boolean | No | Default: true. |
visualConfig.auth.formLogin.waitForSelector | string | No | |
visualConfig.auth.formLogin.waitForUrl | string | No | |
keywordConfig | object | No | Keyword checks on the response: mustContain and mustNotContain lists, caseSensitive, and enabled. Fields left out keep their saved value (left out, enabled keeps the check on or off). enabled: false switches the check off and keeps its words; enabled: true switches it back on with them. Unknown fields are refused. |
keywordConfig.enabled | boolean | No | |
keywordConfig.mustContain | array of string | No | Max items 100. |
keywordConfig.mustNotContain | array of string | No | Max items 100. |
keywordConfig.caseSensitive | boolean | No | |
apiConfig | ApiMonitorConfig or null | No | API and GRAPHQL monitors: response checks (assertions), responseSlo, responseFormat, response body storage and, for GRAPHQL, the graphql query. Replaces the stored value. On other monitor types it is refused (INVALID_API_CONFIG) unless it is null, empty or equal to the saved value. |
contentConfig | object or null | No | Content change detection: selectors (CSS selectors to include or exclude), jsRendering, and optional conditions. Needs a plan with content monitoring. |
contentConfig.selectors | array of object | No | Max items 100. |
contentConfig.selectors[].css | string | Yes | Max length 2000. |
contentConfig.selectors[].label | string | Yes | Max length 200. |
contentConfig.selectors[].type | string | Yes | One of: include, exclude. |
contentConfig.jsRendering | boolean | No | |
contentConfig.conditions | object | No | |
contentConfig.conditions.matchMode | string | No | One of: all, any. |
contentConfig.conditions.rules | array of object | No | Max items 100. |
contentConfig.conditions.rules[].type | string | Yes | One of: text, numeric, length. |
contentConfig.conditions.rules[].op | string | Yes | Max length 50. |
contentConfig.conditions.rules[].value | number or string | No | |
contentConfig.conditions.rules[].extract | string | No | Max length 500. |
contentConfig.conditions.rules[].flags | string | No | Max length 20. |
freshnessConfig | object or null | No | Content freshness check: alert when a date on the page is older than maxAgeHours. |
freshnessConfig.enabled | boolean | No | |
freshnessConfig.maxAgeHours | number | No | Minimum 0, maximum 8760. |
freshnessConfig.selector | string or null | No | |
freshnessConfig.dateFormat | string | No | Max length 50. |
freshnessConfig.customPattern | string or null | No | |
freshnessConfig.timezone | string or null | No | |
notificationChannelIds | array of string | No | Alert channels for this monitor. Replaces the current list. Max items 100. |
dnsEnabled | boolean | No | DNS record change monitoring. Needs a plan with DNS monitoring. |
dnsRecords | map of boolean | No | DNS record types to watch, as { "A": true, "MX": true }. While DNS checks are on, types left out keep their setting. When the same request turns DNS checks on (dnsEnabled: true), or no types were saved yet, the types set to true are the whole selection. |
performanceThresholds | object or null | No | Performance budgets in milliseconds (responseTime, ttfb, fcp, lcp) and cls. |
performanceThresholds.responseTime | integer | No | Minimum 100, maximum 120000. |
performanceThresholds.ttfb | integer | No | Minimum 0, maximum 120000. |
performanceThresholds.fcp | integer | No | Minimum 0, maximum 120000. |
performanceThresholds.lcp | integer | No | Minimum 0, maximum 120000. |
performanceThresholds.cls | number | No | Minimum 0, maximum 10. |
sslAlertDays | array of integer | No | Days before certificate expiry to send reminders. Max items 10. |
reportEnabled | boolean | No | Scheduled client report email for this monitor. Needs the Business plan or higher (403). |
reportEmail | string (email) or null (email) | No | Report recipient. An empty string or null clears it. |
reportFrequency | string | No | Report schedule. One of: weekly, biweekly, monthly, both, all. |
reportIncludeCharts | boolean | No | Include charts in the report. |
reportIncludeIncidents | boolean | No | Include incidents in the report. |
alertThreshold | integer | No | Consecutive failed checks before an alert is sent. Minimum 1. |
alertDelay | integer | No | Seconds to wait after the threshold is met before alerting. Minimum 0. |
slowAlertThreshold | integer | No | Consecutive slow responses before a slow-response alert. Minimum 1, maximum 10. |
notificationRepeatInterval | integer | No | Minutes until a reminder while a problem continues, then one reminder a day. 0 sends no reminders. Minimum 0, maximum 1440. |
expectedAssertions | array of object | No | Optional, sent with apiConfig: the response checks your change was based on, exactly as you read them from this monitor. If the stored checks have changed since, nothing is saved and the request answers 409 with code ASSERTIONS_CHANGED. It cannot be combined with enabled, visualEnabled or keywordConfig (400); send those separately. |
Used by
- Update monitor:
PUT /api/monitors/{id}
Generated from the OpenAPI 3.1 specification at https://docs.visualsentinel.com/openapi.json.