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.

Monitor data model

The Monitor shape in the Visual Sentinel REST API.

Fields

FieldTypeRequiredDescription
serviceDependencySlugstring or nullNoFor a monitor of a service you rely on: the service's slug (see GET /api/dependencies). Null for every other monitor.
serviceDependencyComponentsarray of stringNoFor a service monitor, the provider parts its alerts follow; empty follows everything. Returned by GET /api/monitors/{id}; change it with PATCH /api/dependencies/{slug}.
idstring (uuid)No
namestringNo
descriptionstringNo
urlstring (uri)No
typestringNoMonitor type in lower case, for example https, api or keyword.
statusMonitorStatus or MonitorResponseStatusNo
enabledbooleanNo
methodHTTPMethodNo
checkIntervalintegerNoCheck interval in seconds
timeoutintegerNoTimeout in milliseconds
uptimenumberNoUptime percentage
uptime30dnumber or nullNoUptime percentage over the last 30 UTC days. Null when no rated checks are available.
pageSpeedErrorPageSpeedFailureNo
lastCheckedAtstring (date-time)No
lastResponseTimeinteger or nullNoMost recent check latency in milliseconds. Null when the latest check has no latency.
responseTimeinteger or nullNoRolling 24-hour successful-check average in milliseconds, falling back to the latest latency for new monitors.
avgResponseTime24hinteger or nullNo
lastCheckedstring (date-time) or null (date-time)No
locationsarray of CheckRegionNoUptime check regions.
regionChecksarray of objectNoLatest authoritative check per configured canonical region. An empty array means no regional evidence is available; clients must fall back to aggregate latency rather than inventing waiting states.
regionChecks[].regionstringYesOne of: EU, US, ASIA.
regionChecks[].statusstringYes
regionChecks[].responseTimeinteger or nullYes
regionChecks[].checkedAtstring (date-time)Yes
visualRegionstring or nullNoScreenshot region. Null uses Europe. ASIA requires a healthy registered node and a plan with access to that region. Changing the region starts a fresh baseline. One of: EU, ASIA, null.
visualEnabledbooleanNo
visualWafBlockedAtstring (date-time) or null (date-time)NoWhen visual (screenshot) checks were last turned away by the site's own bot protection. Null when screenshots are not blocked or visual checks are off. Uptime checks are not affected. Returned by the monitor list.
visualWafVendorstring or nullNoThe bot protection product that blocked screenshots, when it was recognised (for example cloudflare or siteground). Null when unknown or not blocked. Returned by the monitor list.
tagsarray of stringNo
createdAtstring (date-time)No
updatedAtstring (date-time)No
domainExpiryEnabledbooleanNoDomain registration expiry monitoring for this monitor's registrable domain. Available on every plan. Default: true.
domainAlertDaysarray of integerNoDays-before-expiry alert tiers. The 50-day tier provides time to review registrar terms, transfer locks, and renewal options before expiry. Items are one of: 50, 30, 20, 13, 6, 3, 1. Default: [50,13,3,1].
domainExpiryobject or nullNoRegistration expiry summary for the monitor's registrable domain (null when the URL has no registrable domain, e.g. an IP address).
domainExpiry.domainstringNo
domainExpiry.expiresAtstring (date-time) or null (date-time)No
domainExpiry.daysRemaininginteger or nullNo
domainExpiry.registrarstring or nullNo
domainExpiry.statestringNoOne of: pending, ok, unsupported_tld, lookup_failed, not_found.
domainExpiry.lastCheckedAtstring (date-time) or null (date-time)No
domainExpiry.enabledbooleanNo
otherAddressOtherAddressNo
checkOtherAddressbooleanNoCheck the website’s www or bare-domain twin every 15 minutes without using a site slot. Ignored for other monitor types. Default: true.
visualChangeobject or nullNoReturned by GET /api/monitors only: present for an enabled monitor whose status is ui-changed, otherwise null. The unreviewed page change: how much changed, since when, and the capture an approval would accept. thumbUrl is an authenticated preview that needs a browser session; API keys cannot load it.
visualChange.kindstringNoOne of: visual_change.
visualChange.percentnumber or nullNo
visualChange.incidentIdstring or nullNo
visualChange.screenshotIdstring or nullNo
visualChange.visualTargetIdstring or nullNo
visualChange.thumbUrlstring or nullNo
visualChange.sincestring (date-time) or null (date-time)No

Used by

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