---
title: "Create a monitor"
method: POST
path: "/monitors"
tags: ["Monitors"]
---

# Create a monitor

`POST /monitors`

New monitors of any type can be created using this endpoint. The request body is documented as one schema per monitor type — pick the one matching the `type` you are creating.

## Request body

- union
  - CreateHttpMonitorDto
    - `friendlyName` string, required — Friendly name of the monitor
    - `interval` number, required — Interval of check in seconds
    - `assignedAlertContacts` AlertContactSettings[] — Alert contacts to be assigned to the monitor. Threshold and recurrence are only available in the paid plans, they are always 0 in the Free Plan
      - `alertContactId` number, required — ID of the alert contact to notify
      - `threshold` number, required — Delay of notification in minutes, after the monitor is down
      - `recurrence` number, required — Repeat notifications every X minutes
    - `tagNames` string[] — Tags to be assigned to the monitor
    - `maintenanceWindowsIds` number[] — Maintenance windows to be assigned to the monitor
    - `regionData` RegionalDataDto
      - `REGION` string[], required
      - `THRESHOLD` object — Regional threshold values in milliseconds mapped by region code
        - `na` number
        - `eu` number
        - `as` number
        - `oc` number
      - `MANUAL_SELECTED` boolean
    - `regionalData` 'na' | 'eu' | 'as' | 'oc' — Region for monitoring: na (North America), eu (Europe), as (Asia), oc (Oceania). Note: If both regionalData and regionData are provided, regionData takes priority.
    - `responseTimeThreshold` number — Response time threshold in milliseconds. When provided, the value is applied to all active regions as regionData.THRESHOLD. Always returns 0 — use regionData.THRESHOLD for per-region control.
    - `groupId` number — Monitor group ID to assign the monitor to. Default is 0 (no group).
    - `customFields` object — Custom key-value metadata for the monitor. Max 20 keys. Keys: alphanumeric + underscore + hyphen, max 64 chars. Values: max 255 chars. Paid plans only.
    - `httpMethodType` 'HEAD' | 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'QUERY' — HTTP method to use for the request. For HTTP and Keyword monitors it defaults to HEAD if omitted
    - `authType` 'NONE' | 'HTTP_BASIC' | 'DIGEST' | 'BEARER' — Authentication method to use for the request
    - `httpUsername` string — Username for HTTP Basic authentication
    - `httpPassword` string — Password for HTTP Basic authentication
    - `postValueData` union — Data to be sent in the request. Not applicable for HTTP method type = HEAD. Can be a JSON object or string
      - string
      - object
    - `postValueType` 'KEY_VALUE' | 'RAW_JSON' — Type of data payload to be sent in the request. Affects what data is accepted by "postValueData" field
    - `customHttpHeaders` object — Custom HTTP headers to be sent in the request. Must be sent as JSON object with key-value pairs
    - `successHttpResponseCodes` string[] — Success HTTP response codes. Can contain specific codes or ranges like 2xx. Default is [2xx, 3xx]
    - `checkSSLErrors` boolean — Whether to check for SSL and domain expiration errors
    - `sslExpirationReminder` boolean — Whether to send a notification when the SSL certificate is about to expire
    - `domainExpirationReminder` boolean — Whether to send a notification when the domain is about to expire
    - `followRedirections` boolean — Whether to follow redirections
    - `type` 'HTTP', required
    - `url` string, required — URL of the monitor
    - `timeout` number, required — Timeout of check in seconds
    - `config` HttpKeywordMonitorConfigDto
      - `sslExpirationPeriodDays` number[] — SSL expiration period in days (0-365, max 10 items)
      - `ipVersion` 'ipv4Only' | 'ipv6Only' — IP version preference. Omit for default behavior (IPv4 priority, falls back to IPv6)
      - `applicationErrorRetries` number — Number of retries on application errors (HTTP 4xx/5xx). 0-3. Connection errors always retry 3 times regardless of this setting.
  - CreateKeywordMonitorDto
    - `friendlyName` string, required — Friendly name of the monitor
    - `interval` number, required — Interval of check in seconds
    - `assignedAlertContacts` AlertContactSettings[] — Alert contacts to be assigned to the monitor. Threshold and recurrence are only available in the paid plans, they are always 0 in the Free Plan
      - `alertContactId` number, required — ID of the alert contact to notify
      - `threshold` number, required — Delay of notification in minutes, after the monitor is down
      - `recurrence` number, required — Repeat notifications every X minutes
    - `tagNames` string[] — Tags to be assigned to the monitor
    - `maintenanceWindowsIds` number[] — Maintenance windows to be assigned to the monitor
    - `regionData` RegionalDataDto
      - `REGION` string[], required
      - `THRESHOLD` object — Regional threshold values in milliseconds mapped by region code
        - `na` number
        - `eu` number
        - `as` number
        - `oc` number
      - `MANUAL_SELECTED` boolean
    - `regionalData` 'na' | 'eu' | 'as' | 'oc' — Region for monitoring: na (North America), eu (Europe), as (Asia), oc (Oceania). Note: If both regionalData and regionData are provided, regionData takes priority.
    - `responseTimeThreshold` number — Response time threshold in milliseconds. When provided, the value is applied to all active regions as regionData.THRESHOLD. Always returns 0 — use regionData.THRESHOLD for per-region control.
    - `groupId` number — Monitor group ID to assign the monitor to. Default is 0 (no group).
    - `customFields` object — Custom key-value metadata for the monitor. Max 20 keys. Keys: alphanumeric + underscore + hyphen, max 64 chars. Values: max 255 chars. Paid plans only.
    - `httpMethodType` 'HEAD' | 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'QUERY' — HTTP method to use for the request. For HTTP and Keyword monitors it defaults to HEAD if omitted
    - `authType` 'NONE' | 'HTTP_BASIC' | 'DIGEST' | 'BEARER' — Authentication method to use for the request
    - `httpUsername` string — Username for HTTP Basic authentication
    - `httpPassword` string — Password for HTTP Basic authentication
    - `postValueData` union — Data to be sent in the request. Not applicable for HTTP method type = HEAD. Can be a JSON object or string
      - string
      - object
    - `postValueType` 'KEY_VALUE' | 'RAW_JSON' — Type of data payload to be sent in the request. Affects what data is accepted by "postValueData" field
    - `customHttpHeaders` object — Custom HTTP headers to be sent in the request. Must be sent as JSON object with key-value pairs
    - `successHttpResponseCodes` string[] — Success HTTP response codes. Can contain specific codes or ranges like 2xx. Default is [2xx, 3xx]
    - `checkSSLErrors` boolean — Whether to check for SSL and domain expiration errors
    - `sslExpirationReminder` boolean — Whether to send a notification when the SSL certificate is about to expire
    - `domainExpirationReminder` boolean — Whether to send a notification when the domain is about to expire
    - `followRedirections` boolean — Whether to follow redirections
    - `type` 'KEYWORD', required
    - `url` string, required — URL of the monitor
    - `timeout` number, required — Timeout of check in seconds
    - `keywordType` 'ALERT_EXISTS' | 'ALERT_NOT_EXISTS', required — Whether to alert when the keyword exists or when it does not exist
    - `keywordCaseType` 'CaseSensitive' | 'CaseInsensitive', required — Whether the keyword match is case sensitive
    - `keywordValue` string, required — Keyword to search for in the response body. Surrounding whitespace is trimmed
    - `config` HttpKeywordMonitorConfigDto
      - `sslExpirationPeriodDays` number[] — SSL expiration period in days (0-365, max 10 items)
      - `ipVersion` 'ipv4Only' | 'ipv6Only' — IP version preference. Omit for default behavior (IPv4 priority, falls back to IPv6)
      - `applicationErrorRetries` number — Number of retries on application errors (HTTP 4xx/5xx). 0-3. Connection errors always retry 3 times regardless of this setting.
  - CreatePingMonitorDto
    - `friendlyName` string, required — Friendly name of the monitor
    - `interval` number, required — Interval of check in seconds
    - `assignedAlertContacts` AlertContactSettings[] — Alert contacts to be assigned to the monitor. Threshold and recurrence are only available in the paid plans, they are always 0 in the Free Plan
      - `alertContactId` number, required — ID of the alert contact to notify
      - `threshold` number, required — Delay of notification in minutes, after the monitor is down
      - `recurrence` number, required — Repeat notifications every X minutes
    - `tagNames` string[] — Tags to be assigned to the monitor
    - `maintenanceWindowsIds` number[] — Maintenance windows to be assigned to the monitor
    - `regionData` RegionalDataDto
      - `REGION` string[], required
      - `THRESHOLD` object — Regional threshold values in milliseconds mapped by region code
        - `na` number
        - `eu` number
        - `as` number
        - `oc` number
      - `MANUAL_SELECTED` boolean
    - `regionalData` 'na' | 'eu' | 'as' | 'oc' — Region for monitoring: na (North America), eu (Europe), as (Asia), oc (Oceania). Note: If both regionalData and regionData are provided, regionData takes priority.
    - `responseTimeThreshold` number — Response time threshold in milliseconds. When provided, the value is applied to all active regions as regionData.THRESHOLD. Always returns 0 — use regionData.THRESHOLD for per-region control.
    - `groupId` number — Monitor group ID to assign the monitor to. Default is 0 (no group).
    - `customFields` object — Custom key-value metadata for the monitor. Max 20 keys. Keys: alphanumeric + underscore + hyphen, max 64 chars. Values: max 255 chars. Paid plans only.
    - `type` 'PING', required
    - `url` string, required — Hostname or IP address to ping. A protocol prefix is stripped if provided
    - `timeout` number, required — Timeout of check in seconds
    - `config` IpVersionMonitorConfigDto
      - `ipVersion` 'ipv4Only' | 'ipv6Only' — IP version preference. Omit for default behavior (IPv4 priority, falls back to IPv6)
  - CreatePortMonitorDto
    - `friendlyName` string, required — Friendly name of the monitor
    - `interval` number, required — Interval of check in seconds
    - `assignedAlertContacts` AlertContactSettings[] — Alert contacts to be assigned to the monitor. Threshold and recurrence are only available in the paid plans, they are always 0 in the Free Plan
      - `alertContactId` number, required — ID of the alert contact to notify
      - `threshold` number, required — Delay of notification in minutes, after the monitor is down
      - `recurrence` number, required — Repeat notifications every X minutes
    - `tagNames` string[] — Tags to be assigned to the monitor
    - `maintenanceWindowsIds` number[] — Maintenance windows to be assigned to the monitor
    - `regionData` RegionalDataDto
      - `REGION` string[], required
      - `THRESHOLD` object — Regional threshold values in milliseconds mapped by region code
        - `na` number
        - `eu` number
        - `as` number
        - `oc` number
      - `MANUAL_SELECTED` boolean
    - `regionalData` 'na' | 'eu' | 'as' | 'oc' — Region for monitoring: na (North America), eu (Europe), as (Asia), oc (Oceania). Note: If both regionalData and regionData are provided, regionData takes priority.
    - `responseTimeThreshold` number — Response time threshold in milliseconds. When provided, the value is applied to all active regions as regionData.THRESHOLD. Always returns 0 — use regionData.THRESHOLD for per-region control.
    - `groupId` number — Monitor group ID to assign the monitor to. Default is 0 (no group).
    - `customFields` object — Custom key-value metadata for the monitor. Max 20 keys. Keys: alphanumeric + underscore + hyphen, max 64 chars. Values: max 255 chars. Paid plans only.
    - `type` 'PORT', required
    - `url` string, required — Hostname or IP address to check. A protocol prefix is stripped if provided
    - `port` number, required — Port to check
    - `timeout` number, required — Timeout of check in seconds
    - `config` IpVersionMonitorConfigDto
      - `ipVersion` 'ipv4Only' | 'ipv6Only' — IP version preference. Omit for default behavior (IPv4 priority, falls back to IPv6)
  - CreateHeartbeatMonitorDto
    - `friendlyName` string, required — Friendly name of the monitor
    - `interval` number, required — Interval of check in seconds
    - `assignedAlertContacts` AlertContactSettings[] — Alert contacts to be assigned to the monitor. Threshold and recurrence are only available in the paid plans, they are always 0 in the Free Plan
      - `alertContactId` number, required — ID of the alert contact to notify
      - `threshold` number, required — Delay of notification in minutes, after the monitor is down
      - `recurrence` number, required — Repeat notifications every X minutes
    - `tagNames` string[] — Tags to be assigned to the monitor
    - `maintenanceWindowsIds` number[] — Maintenance windows to be assigned to the monitor
    - `regionData` RegionalDataDto
      - `REGION` string[], required
      - `THRESHOLD` object — Regional threshold values in milliseconds mapped by region code
        - `na` number
        - `eu` number
        - `as` number
        - `oc` number
      - `MANUAL_SELECTED` boolean
    - `regionalData` 'na' | 'eu' | 'as' | 'oc' — Region for monitoring: na (North America), eu (Europe), as (Asia), oc (Oceania). Note: If both regionalData and regionData are provided, regionData takes priority.
    - `responseTimeThreshold` number — Response time threshold in milliseconds. When provided, the value is applied to all active regions as regionData.THRESHOLD. Always returns 0 — use regionData.THRESHOLD for per-region control.
    - `groupId` number — Monitor group ID to assign the monitor to. Default is 0 (no group).
    - `customFields` object — Custom key-value metadata for the monitor. Max 20 keys. Keys: alphanumeric + underscore + hyphen, max 64 chars. Values: max 255 chars. Paid plans only.
    - `type` 'HEARTBEAT', required
    - `gracePeriod` number — Grace period in seconds to wait past the expected heartbeat before alerting
  - CreateDnsMonitorDto
    - `friendlyName` string, required — Friendly name of the monitor
    - `interval` number, required — Interval of check in seconds
    - `assignedAlertContacts` AlertContactSettings[] — Alert contacts to be assigned to the monitor. Threshold and recurrence are only available in the paid plans, they are always 0 in the Free Plan
      - `alertContactId` number, required — ID of the alert contact to notify
      - `threshold` number, required — Delay of notification in minutes, after the monitor is down
      - `recurrence` number, required — Repeat notifications every X minutes
    - `tagNames` string[] — Tags to be assigned to the monitor
    - `maintenanceWindowsIds` number[] — Maintenance windows to be assigned to the monitor
    - `regionData` RegionalDataDto
      - `REGION` string[], required
      - `THRESHOLD` object — Regional threshold values in milliseconds mapped by region code
        - `na` number
        - `eu` number
        - `as` number
        - `oc` number
      - `MANUAL_SELECTED` boolean
    - `regionalData` 'na' | 'eu' | 'as' | 'oc' — Region for monitoring: na (North America), eu (Europe), as (Asia), oc (Oceania). Note: If both regionalData and regionData are provided, regionData takes priority.
    - `responseTimeThreshold` number — Response time threshold in milliseconds. When provided, the value is applied to all active regions as regionData.THRESHOLD. Always returns 0 — use regionData.THRESHOLD for per-region control.
    - `groupId` number — Monitor group ID to assign the monitor to. Default is 0 (no group).
    - `customFields` object — Custom key-value metadata for the monitor. Max 20 keys. Keys: alphanumeric + underscore + hyphen, max 64 chars. Values: max 255 chars. Paid plans only.
    - `type` 'DNS', required
    - `url` string, required — DNS server IP or hostname. A protocol prefix is stripped if provided
    - `config` DnsMonitorConfigDto, required
      - `dnsRecords` DnsRecordsDto
        - `CNAME` string[] — CNAME DNS records
        - `MX` string[] — MX DNS records
        - `NS` string[] — NS DNS records
        - `A` string[] — A DNS records
        - `AAAA` string[] — AAAA DNS records
        - `TXT` string[] — TXT DNS records
        - `SRV` string[] — SRV DNS records
        - `PTR` string[] — PTR DNS records
        - `SOA` string[] — SOA DNS records
        - `SPF` string[] — SPF DNS records
        - `DNSKEY` string[] — DNSKEY DNS records
        - `DS` string[] — DS DNS records
        - `NSEC` string[] — NSEC DNS records
        - `NSEC3` string[] — NSEC3 DNS records
  - CreateApiMonitorDto
    - `friendlyName` string, required — Friendly name of the monitor
    - `interval` number, required — Interval of check in seconds
    - `assignedAlertContacts` AlertContactSettings[] — Alert contacts to be assigned to the monitor. Threshold and recurrence are only available in the paid plans, they are always 0 in the Free Plan
      - `alertContactId` number, required — ID of the alert contact to notify
      - `threshold` number, required — Delay of notification in minutes, after the monitor is down
      - `recurrence` number, required — Repeat notifications every X minutes
    - `tagNames` string[] — Tags to be assigned to the monitor
    - `maintenanceWindowsIds` number[] — Maintenance windows to be assigned to the monitor
    - `regionData` RegionalDataDto
      - `REGION` string[], required
      - `THRESHOLD` object — Regional threshold values in milliseconds mapped by region code
        - `na` number
        - `eu` number
        - `as` number
        - `oc` number
      - `MANUAL_SELECTED` boolean
    - `regionalData` 'na' | 'eu' | 'as' | 'oc' — Region for monitoring: na (North America), eu (Europe), as (Asia), oc (Oceania). Note: If both regionalData and regionData are provided, regionData takes priority.
    - `responseTimeThreshold` number — Response time threshold in milliseconds. When provided, the value is applied to all active regions as regionData.THRESHOLD. Always returns 0 — use regionData.THRESHOLD for per-region control.
    - `groupId` number — Monitor group ID to assign the monitor to. Default is 0 (no group).
    - `customFields` object — Custom key-value metadata for the monitor. Max 20 keys. Keys: alphanumeric + underscore + hyphen, max 64 chars. Values: max 255 chars. Paid plans only.
    - `httpMethodType` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'QUERY' — HTTP method to use for the request. Defaults to GET. HEAD is not allowed for API monitors because assertions need a response body
    - `authType` 'NONE' | 'HTTP_BASIC' | 'DIGEST' | 'BEARER' — Authentication method to use for the request
    - `httpUsername` string — Username for HTTP Basic authentication
    - `httpPassword` string — Password for HTTP Basic authentication
    - `postValueData` union — Data to be sent in the request. Not applicable for HTTP method type = HEAD. Can be a JSON object or string
      - string
      - object
    - `postValueType` 'KEY_VALUE' | 'RAW_JSON' — Type of data payload to be sent in the request. Affects what data is accepted by "postValueData" field
    - `customHttpHeaders` object — Custom HTTP headers to be sent in the request. Must be sent as JSON object with key-value pairs
    - `successHttpResponseCodes` string[] — Success HTTP response codes. Can contain specific codes or ranges like 2xx. Default is [2xx, 3xx]
    - `checkSSLErrors` boolean — Whether to check for SSL and domain expiration errors
    - `sslExpirationReminder` boolean — Whether to send a notification when the SSL certificate is about to expire
    - `domainExpirationReminder` boolean — Whether to send a notification when the domain is about to expire
    - `followRedirections` boolean — Whether to follow redirections
    - `type` 'API', required
    - `url` string, required — URL of the API endpoint to monitor
    - `timeout` number, required — Timeout of check in seconds
    - `config` ApiMonitorConfigDto, required
      - `apiAssertions` ApiAssertionsDto, required
        - `logic` 'AND' | 'OR', required — Logic for combining assertions
        - `checks` AssertionCheckDto[], required — Array of assertion checks (1-5)
          - `property` string, required — JSONPath expression to extract value from response (must start with $)
          - `comparison` 'equals' | 'not_equals' | 'contains' | 'not_contains' | 'greater_than' | 'less_than' | 'is_null' | 'is_not_null', required — Comparison operator
          - `target` object — Expected value for comparison (ignored for is_null/is_not_null)
      - `sslExpirationPeriodDays` number[] — SSL expiration period in days (0-365, max 10 items)
      - `ipVersion` 'ipv4Only' | 'ipv6Only' — IP version preference. Omit for default behavior (IPv4 priority, falls back to IPv6)
      - `applicationErrorRetries` number — Number of retries on application errors (HTTP 4xx/5xx). 0-3. Connection errors always retry 3 times regardless of this setting.
  - CreateUdpMonitorDto
    - `friendlyName` string, required — Friendly name of the monitor
    - `interval` number, required — Interval of check in seconds
    - `assignedAlertContacts` AlertContactSettings[] — Alert contacts to be assigned to the monitor. Threshold and recurrence are only available in the paid plans, they are always 0 in the Free Plan
      - `alertContactId` number, required — ID of the alert contact to notify
      - `threshold` number, required — Delay of notification in minutes, after the monitor is down
      - `recurrence` number, required — Repeat notifications every X minutes
    - `tagNames` string[] — Tags to be assigned to the monitor
    - `maintenanceWindowsIds` number[] — Maintenance windows to be assigned to the monitor
    - `regionData` RegionalDataDto
      - `REGION` string[], required
      - `THRESHOLD` object — Regional threshold values in milliseconds mapped by region code
        - `na` number
        - `eu` number
        - `as` number
        - `oc` number
      - `MANUAL_SELECTED` boolean
    - `regionalData` 'na' | 'eu' | 'as' | 'oc' — Region for monitoring: na (North America), eu (Europe), as (Asia), oc (Oceania). Note: If both regionalData and regionData are provided, regionData takes priority.
    - `responseTimeThreshold` number — Response time threshold in milliseconds. When provided, the value is applied to all active regions as regionData.THRESHOLD. Always returns 0 — use regionData.THRESHOLD for per-region control.
    - `groupId` number — Monitor group ID to assign the monitor to. Default is 0 (no group).
    - `customFields` object — Custom key-value metadata for the monitor. Max 20 keys. Keys: alphanumeric + underscore + hyphen, max 64 chars. Values: max 255 chars. Paid plans only.
    - `type` 'UDP', required
    - `url` string, required — Hostname or IP address to check. A protocol prefix is stripped if provided
    - `port` number, required — Port to send the UDP packet to
    - `timeout` number, required — Timeout of check in seconds
    - `config` UdpMonitorConfigDto, required
      - `udp` UdpConfigFieldsDto
        - `payload` string — UDP payload to send
        - `packetLossThreshold` number, required — Packet loss threshold percentage
      - `ipVersion` 'ipv4Only' | 'ipv6Only' — IP version preference. Omit for default behavior (IPv4 priority, falls back to IPv6)
  - CreateVisualComparisonMonitorDto
    - `friendlyName` string, required — Friendly name of the monitor
    - `interval` number, required — Interval of check in seconds
    - `assignedAlertContacts` AlertContactSettings[] — Alert contacts to be assigned to the monitor. Threshold and recurrence are only available in the paid plans, they are always 0 in the Free Plan
      - `alertContactId` number, required — ID of the alert contact to notify
      - `threshold` number, required — Delay of notification in minutes, after the monitor is down
      - `recurrence` number, required — Repeat notifications every X minutes
    - `tagNames` string[] — Tags to be assigned to the monitor
    - `maintenanceWindowsIds` number[] — Maintenance windows to be assigned to the monitor
    - `regionData` RegionalDataDto
      - `REGION` string[], required
      - `THRESHOLD` object — Regional threshold values in milliseconds mapped by region code
        - `na` number
        - `eu` number
        - `as` number
        - `oc` number
      - `MANUAL_SELECTED` boolean
    - `regionalData` 'na' | 'eu' | 'as' | 'oc' — Region for monitoring: na (North America), eu (Europe), as (Asia), oc (Oceania). Note: If both regionalData and regionData are provided, regionData takes priority.
    - `responseTimeThreshold` number — Response time threshold in milliseconds. When provided, the value is applied to all active regions as regionData.THRESHOLD. Always returns 0 — use regionData.THRESHOLD for per-region control.
    - `groupId` number — Monitor group ID to assign the monitor to. Default is 0 (no group).
    - `customFields` object — Custom key-value metadata for the monitor. Max 20 keys. Keys: alphanumeric + underscore + hyphen, max 64 chars. Values: max 255 chars. Paid plans only.
    - `type` 'VISUAL_COMPARISON', required
    - `url` string, required — URL of the page to capture and compare
    - `config` VisualComparisonMonitorConfigDto, required
      - `visualComparison` VisualComparisonFieldsDto, required
        - `sensitivityThreshold` number, required — Difference sensitivity threshold (0-100)
        - `viewport` 'desktop' | 'mobile', required — Viewport profile for the capture
        - `areaCoordinates` VisualComparisonAreaCoordinatesDto
          - `percentX` number, required — Left edge (percent)
          - `percentY` number, required — Top edge (percent)
          - `percentWidth` number, required — Width (percent)
          - `percentHeight` number, required — Height (percent)

## Response `201`

- MonitorDto
  - `type` unknown, required
  - `interval` number, required
  - `sslBrand` string, nullable, required
  - `sslExpiryDateTime` union, required
    - unknown
    - string
  - `domainExpireDate` union, required
    - unknown
    - string
  - `checkSSLErrors` boolean, required
  - `sslExpirationReminder` boolean, nullable, required
  - `domainExpirationReminder` boolean, nullable, required
  - `followRedirections` boolean, required
  - `authType` unknown, required
  - `httpUsername` string
  - `httpPassword` string
  - `customHttpHeaders` object, nullable, required
  - `httpMethodType` unknown, required
  - `successHttpResponseCodes` string[], required
  - `timeout` number, nullable, required
  - `postValueData` union, required
    - string
    - number
    - object
    - unknown[]
      - unknown
  - `postValueType` 'KEY_VALUE' | 'RAW_JSON', nullable, required
  - `port` number, nullable, required
  - `gracePeriod` number, nullable, required
  - `keywordValue` string, nullable, required
  - `keywordCaseType` union, required
    - number
    - number
  - `keywordType` unknown, required
  - `responseTimeThreshold` number, required
  - `config` object, nullable, required
    - `dnsRecords` object
      - `CNAME` string[]
      - `MX` string[]
      - `NS` string[]
      - `A` string[]
      - `AAAA` string[]
      - `TXT` string[]
      - `SRV` string[]
      - `PTR` string[]
      - `SOA` string[]
      - `SPF` string[]
      - `DNSKEY` string[]
      - `DS` string[]
      - `NSEC` string[]
      - `NSEC3` string[]
    - `apiAssertions` object
      - `logic` 'AND' | 'OR', required
      - `checks` object[], required
        - `property` string, required
        - `comparison` 'equals' | 'not_equals' | 'contains' | 'not_contains' | 'greater_than' | 'less_than' | 'is_null' | 'is_not_null', required
        - `target` union
          - string
          - number
          - boolean
          - unknown
    - `sslExpirationPeriodDays` integer[]
    - `udp` object
      - `payload` string
      - `packetLossThreshold` number, required
    - `ipVersion` 'ipv4Only' | 'ipv6Only'
    - `applicationErrorRetries` integer
    - `visualComparison` object
      - `sensitivityThreshold` integer, required
      - `viewport` 'desktop' | 'mobile', required
      - `areaCoordinates` object
        - `percentX` number, required
        - `percentY` number, required
        - `percentWidth` number, required
        - `percentHeight` number, required
      - `refreshBaseline` boolean
      - `userBaselinePath` string
      - `lastCheckBaselinePath` string
  - `regionalData` object, required
    - `REGION` string[], required
    - `MANUAL_SELECTED` boolean
    - `INFRASTRUCTURE` 'Legacy' | 'New'
    - `THRESHOLD` object
  - `maintenanceWindows` object[], required
    - `id` number, required
    - `userId` number, required
    - `name` string, required
    - `interval` 'once' | 'daily' | 'weekly' | 'monthly', required
    - `date` string, nullable, required
    - `time` string, required
    - `duration` number, required
    - `autoAddMonitors` boolean, required
    - `monitorIds` number[], required
    - `days` number[], required
    - `status` 'active' | 'paused', required
    - `created` union, required
      - unknown
      - string
  - `psps` object[], required
    - `id` integer, required
    - `friendlyName` string, required
    - `customDomain` string, nullable, required
    - `isPasswordSet` boolean, required
    - `monitorIds` number[], nullable, required
    - `tagIds` number[], required
    - `monitorsCount` number, nullable, required
    - `status` unknown, required
    - `urlKey` string, required
    - `homepageLink` string, nullable, required
    - `gaCode` string, nullable, required
    - `shareAnalyticsConsent` boolean, required
    - `useSmallCookieConsentModal` boolean, required
    - `icon` string, nullable, required
    - `noIndex` boolean, required
    - `logo` string, nullable, required
    - `hideUrlLinks` boolean, required
    - `subscription` boolean, required
    - `showCookieBar` boolean, required
    - `pinnedAnnouncementId` integer, nullable, required
    - `customSettings` object, nullable, required
      - `font` object, nullable
        - `family` string, nullable, required
      - `page` object
        - `layout` string
        - `theme` 'light' | 'dark'
        - `density` 'normal' | 'compact'
      - `colors` object
        - `main` string, nullable, required
        - `text` string, nullable, required
        - `link` string, nullable, required
      - `features` object
        - `showBars` 'true' | 'false', nullable
        - `showUptimePercentage` 'true' | 'false', nullable, required
        - `enableFloatingStatus` 'true' | 'false', nullable
        - `showOverallUptime` 'true' | 'false', nullable
        - `showOutageUpdates` 'true' | 'false', nullable
        - `showOutageDetails` 'true' | 'false', nullable
        - `enableDetailsPage` 'true' | 'false', nullable
        - `showMonitorURL` 'true' | 'false', nullable
        - `hidePausedMonitors` 'true' | 'false', nullable
  - `id` number, required
  - `friendlyName` string, required
  - `status` unknown, required
  - `url` string, required
  - `currentStateDuration` number, required
  - `lastIncidentId` string, nullable, required
  - `userId` number, required
  - `tags` object[], required
    - `id` number, required
    - `name` string, required
    - `color` string, required
    - `monitors` object[]
      - `id` number, required
      - `friendlyName` string, nullable, required
      - `status` unknown, required
      - `url` string, required
  - `assignedAlertContacts` object[], required
    - `alertContactId` number, required
    - `threshold` number, required
    - `recurrence` number, required
  - `lastIncident` object, nullable
    - `id` string, required
    - `status` unknown, required
    - `cause` number, required
    - `reason` string, required
    - `startedAt` union, required
      - unknown
      - string
    - `duration` number, nullable, required
  - `lastDayUptimes` object, required
    - `bucketSize` number, required
    - `totalChanges` integer
    - `histogram` object[], required
      - `timestamp` number, required
      - `uptime` number, required
      - `changes` integer
  - `createDateTime` union, required
    - unknown
    - string
  - `apiKey` string, nullable, required
  - `groupId` number, nullable
  - `customFields` object, nullable

---

[API](https://skmtc.net/uptimerobot/apis/uptimerobot-api.md) · [All operations](https://skmtc.net/uptimerobot/apis/uptimerobot-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/uptimerobot/uptimerobot-api/revisions/2b6fa8c427ba/schema)
