Skip to main content

Documentation index for AI agents: llms.txt. Every page here is also served as markdown: add .md to its address, or request it with Accept: text/markdown.

UpdateMonitorRequest data model

The UpdateMonitorRequest shape in the Visual Sentinel REST API.

Fields

FieldTypeRequiredDescription
domainExpiryEnabledbooleanNoDomain registration expiry monitoring for this monitor's registrable domain. Available on every plan. Defaults to true on create.
domainAlertDaysarray of integerNoDays-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.
domainReminderSnoozedUntilstring (date-time) or null (date-time)NoSnooze domain expiry reminders until this time (at most 35 days ahead). Null clears the snooze.
namestringNoDisplay name. Min length 1, max length 200.
descriptionstringNoFree-text notes. Max length 500.
urlstring (uri)NoAddress 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.
typestringNoChange the monitor type. Only these types can be set on update. One of: HTTP, HTTPS, TCP, PING, DNS, SSL, WEBSOCKET, GRAPHQL.
enabledbooleanNoWhether the monitor is checked. Send false to pause it and true to resume it.
methodHTTPMethodNoHTTP method for HTTP-family monitors.
headersmap of stringNoRequest headers as name and value pairs (up to 16 KB). A JSON string is also accepted.
bodystring or nullNoRequest body for POST, PUT, PATCH and QUERY checks.
timeoutintegerNoRequest timeout in milliseconds. Minimum 1000, maximum 120000.
checkIntervalintegerNoSeconds between uptime checks. On create, a value below your plan minimum is raised to the minimum. Minimum 30, maximum 86400.
expectedStatusarray of integerNoStatus codes that count as up.
expectedBodystring or nullNoText the response must contain.
maxResponseTimeintegerNoResponses slower than this many milliseconds count as slow. Minimum 100, maximum 30000.
sslCheckbooleanNoCertificate expiry and validity monitoring. Needs a plan with SSL monitoring.
checkOtherAddressbooleanNoCheck the website's www or bare-domain twin every 15 minutes without using a site slot. Ignored for other monitor types.
sslWarningDaysintegerNoDays before certificate expiry when the certificate is reported as expiring. Minimum 1, maximum 90.
ignoreSslErrorsbooleanNoTreat certificate errors on the checked address as up.
authTypestring or nullNoAuthentication for the checked address: none, basic, bearer or apikey. One of: none, basic, bearer, api-key, apikey, null.
authConfigmap of string or boolean or nullNoCredentials for authType, for example { "username": "...", "password": "..." } or { "token": "..." } (up to 8 KB).
locationsarray of stringNoUptime 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.
followRedirectsbooleanNoFollow redirects.
maxRedirectsintegerNoMinimum 0, maximum 10.
tagsarray of stringNoTags for grouping and filtering. Status page groups can follow tags.
visualRegionstring or nullNoWhere 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.
visualEnabledbooleanNoVisual 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).
performanceEnabledbooleanNoDaily phone speed test. Needs a plan with performance monitoring.
visualConfigobjectNoVisual 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.thresholdnumberNoPercent 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.checkIntervalintegerNoMinimum 900, maximum 86400.
visualConfig.viewportobjectNo
visualConfig.viewport.widthintegerNoMinimum 320, maximum 3840.
visualConfig.viewport.heightintegerNoMinimum 240, maximum 2160.
visualConfig.fullPagebooleanNo
visualConfig.pauseVideosbooleanNo
visualConfig.hideVideoEmbedsbooleanNo
visualConfig.hideGifsbooleanNo
visualConfig.hashMismatchThresholdintegerNoMinimum 0, maximum 10.
visualConfig.duplicateTolerancenumberNoMinimum 0, maximum 100.
visualConfig.excludeSelectorsarray of stringNo
visualConfig.alertEmailImagebooleanNoWhether 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.authobjectNo
visualConfig.auth.typestringNoOne of: none, basic, bearer, cookie, form. Default: none.
visualConfig.auth.usernamestringNo
visualConfig.auth.passwordstringNo
visualConfig.auth.tokenstringNo
visualConfig.auth.headerNamestringNoDefault: Authorization.
visualConfig.auth.headerPrefixstringNoDefault: Bearer.
visualConfig.auth.cookiesarray of objectNo
visualConfig.auth.cookies[].namestringYes
visualConfig.auth.cookies[].valuestringYes
visualConfig.auth.cookies[].domainstringYes
visualConfig.auth.cookies[].pathstringNoDefault: /.
visualConfig.auth.formLoginobjectNo
visualConfig.auth.formLogin.loginUrlstringYesMax length 2048.
visualConfig.auth.formLogin.usernameSelectorstringYes
visualConfig.auth.formLogin.usernameValuestringYes
visualConfig.auth.formLogin.passwordSelectorstringYes
visualConfig.auth.formLogin.passwordValuestringNo
visualConfig.auth.formLogin.submitSelectorstringYes
visualConfig.auth.formLogin.waitForNavigationbooleanNoDefault: true.
visualConfig.auth.formLogin.waitForSelectorstringNo
visualConfig.auth.formLogin.waitForUrlstringNo
keywordConfigobjectNoKeyword 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.enabledbooleanNo
keywordConfig.mustContainarray of stringNoMax items 100.
keywordConfig.mustNotContainarray of stringNoMax items 100.
keywordConfig.caseSensitivebooleanNo
apiConfigApiMonitorConfig or nullNoAPI 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.
contentConfigobject or nullNoContent change detection: selectors (CSS selectors to include or exclude), jsRendering, and optional conditions. Needs a plan with content monitoring.
contentConfig.selectorsarray of objectNoMax items 100.
contentConfig.selectors[].cssstringYesMax length 2000.
contentConfig.selectors[].labelstringYesMax length 200.
contentConfig.selectors[].typestringYesOne of: include, exclude.
contentConfig.jsRenderingbooleanNo
contentConfig.conditionsobjectNo
contentConfig.conditions.matchModestringNoOne of: all, any.
contentConfig.conditions.rulesarray of objectNoMax items 100.
contentConfig.conditions.rules[].typestringYesOne of: text, numeric, length.
contentConfig.conditions.rules[].opstringYesMax length 50.
contentConfig.conditions.rules[].valuenumber or stringNo
contentConfig.conditions.rules[].extractstringNoMax length 500.
contentConfig.conditions.rules[].flagsstringNoMax length 20.
freshnessConfigobject or nullNoContent freshness check: alert when a date on the page is older than maxAgeHours.
freshnessConfig.enabledbooleanNo
freshnessConfig.maxAgeHoursnumberNoMinimum 0, maximum 8760.
freshnessConfig.selectorstring or nullNo
freshnessConfig.dateFormatstringNoMax length 50.
freshnessConfig.customPatternstring or nullNo
freshnessConfig.timezonestring or nullNo
notificationChannelIdsarray of stringNoAlert channels for this monitor. Replaces the current list. Max items 100.
dnsEnabledbooleanNoDNS record change monitoring. Needs a plan with DNS monitoring.
dnsRecordsmap of booleanNoDNS 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.
performanceThresholdsobject or nullNoPerformance budgets in milliseconds (responseTime, ttfb, fcp, lcp) and cls.
performanceThresholds.responseTimeintegerNoMinimum 100, maximum 120000.
performanceThresholds.ttfbintegerNoMinimum 0, maximum 120000.
performanceThresholds.fcpintegerNoMinimum 0, maximum 120000.
performanceThresholds.lcpintegerNoMinimum 0, maximum 120000.
performanceThresholds.clsnumberNoMinimum 0, maximum 10.
sslAlertDaysarray of integerNoDays before certificate expiry to send reminders. Max items 10.
reportEnabledbooleanNoScheduled client report email for this monitor. Needs the Business plan or higher (403).
reportEmailstring (email) or null (email)NoReport recipient. An empty string or null clears it.
reportFrequencystringNoReport schedule. One of: weekly, biweekly, monthly, both, all.
reportIncludeChartsbooleanNoInclude charts in the report.
reportIncludeIncidentsbooleanNoInclude incidents in the report.
alertThresholdintegerNoConsecutive failed checks before an alert is sent. Minimum 1.
alertDelayintegerNoSeconds to wait after the threshold is met before alerting. Minimum 0.
slowAlertThresholdintegerNoConsecutive slow responses before a slow-response alert. Minimum 1, maximum 10.
notificationRepeatIntervalintegerNoMinutes until a reminder while a problem continues, then one reminder a day. 0 sends no reminders. Minimum 0, maximum 1440.
expectedAssertionsarray of objectNoOptional, 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

Generated from the OpenAPI 3.1 specification at https://docs.visualsentinel.com/openapi.json.