Request
Bodyapplication/json
namestringrequired
Pronounceable name of the monitor
Example:"My Website"
urlstringrequired
The URL of your website, or hostname (for DNS/ICMP/port monitors) you want to check
Example:"https://acme.com"
protocolenum<string>optional
Type of monitor to create
Default:
httpdns_record_typeenum<string>optional
DNS record type to check. Only used when protocol is
dnsDefault:
Adns_nameserverstringoptional
Nameserver to query against (e.g.
8.8.8.8). Leave empty to use default resolvers. Only used when protocol is dnsExample:"8.8.8.8"
dns_expected_answerstringoptional
Expected DNS answer to validate against. Monitor fails if the resolved value does not contain this string. Only used when protocol is
dnsExample:"192.0.2.1"
regionsarray<string>optional
Array of region names to monitor from
Default: all regions
check_frequencynumberoptional
Check frequency in seconds
Default:
30http_methodenum<string>optional
HTTP method for the request
Default:
GETrequest_bodystringoptional
Request body for POST, PUT, PATCH requests
request_headersarray<object>optional
Array of objects with
name and value properties for custom HTTP headersfollow_redirectsbooleanoptional
Whether to follow HTTP redirects
Default:
trueip_versionenum<number>optional
IP version used to reach the target:
4 or 6. An IPv6 monitor is checked over IPv6 only, never IPv4. Available for the http, port and icmp protocols. Checks run only from the selected regions that have an IPv6 probe, and the request is rejected if none of the selected regions has one. See IP version.Default:
4portnumberoptional
Port number to check. Required if protocol is
portExample:443
expected_status_codestringoptional
Expected HTTP status code. Use
"2xx" for 200-299, "1xx-3xx" for 100-399, or a specific code like "200".Example:"2xx"
Default:
2xx (200-299)required_keywordstringoptional
Triggers downtime if body response is missing this keyword
pausedbooleanoptional
Whether the monitor should be paused
Default:
falsealerts_waitnumberoptional
Minutes to wait before sending alerts. Use
-1 to disable alerts.Default:
0ssl_alert_daysnumberoptional
Days before the TLS certificate expires to send the first expiry alert.
-1 = never. When omitted on create, the default applies.ssl_remindersbooleanoptional
Also remind at each step below the threshold (30, 15, 7, 3 and 1 days). Default
true.ssl_notify_on_changebooleanoptional
Notify when the server starts serving a different certificate. Default
false.domain_alert_daysnumberoptional
Days before the domain registration expires to alert.
-1 = never (default for monitors created through the API).escalation_policystringoptional
Policy UUID to link. Send
null or "none" to unlink.Example:"policy_123abc"
Response
Returns the newly created monitor object.