K
POST/v1/monitors

Create a monitor

Creates a new monitor.

Request

Bodyapplication/json
namestringrequired
Pronounceable name of the monitor
Example:"My Website"
urlstringrequired
The URL of your website or host you want to ping
Example:"https://acme.com"
protocolenum<string>optional
Type of monitor to create
Available options:
httpporticmp
Default: http
regionsarray<string>optional
Array of region names to monitor from
Available options:
sanfrancisconyclondonparisfrankfurtseoulmumbaibangaloresaopaulocaliforniavirginiasydneytorontoamsterdamsingaporetokyobahrain
Default: all regions
check_frequencynumberoptional
Check frequency in seconds
Available options:
1020306012018030060018003600216004320086400
Default: 30
http_methodenum<string>optional
HTTP method for the request
Available options:
GETPOSTPUTHEADDELETEPATCHOPTIONS
Default: GET
request_bodystringoptional
Request body for POST, PUT, PATCH requests
request_headersarray<object>optional
Array of objects with name and value properties for custom HTTP headers
follow_redirectsbooleanoptional
Whether to follow HTTP redirects
Default: true
portnumberoptional
Port number to check. Required if protocol is port
Example:443
expected_status_codestringoptional
Expected HTTP status code
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: false
alerts_waitnumberoptional
Minutes to wait before sending alerts. Use -1 to disable alerts.
Available options:
-101235103060
Default: 0
escalation_policystringoptional
Policy UUID to link. Send null or "none" to unlink.
Example:"policy_123abc"

Response

Returns the newly created monitor object.

RequestcURL
curl -X POST https://api.hyperping.io/v1/monitors \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Website",
    "url": "https://acme.com",
    "regions": ["paris", "frankfurt", "amsterdam", "london"],
    "http_method": "GET",
    "check_frequency": 30,
    "request_headers": [
      { "name": "X-Request-Header", "value": "Header value" }
    ],
    "protocol": "http"
  }'
201 CreatedJSON
{
  "name": "Website",
  "url": "https://acme.com",
  "paused": false,
  "regions": [
    "paris",
    "frankfurt",
    "amsterdam",
    "london"
  ],
  "http_method": "GET",
  "check_frequency": 30,
  "request_headers": [
    {
      "name": "X-Request-Header",
      "value": "Header value"
    }
  ],
  "protocol": "http",
  "port": null,
  "follow_redirects": true,
  "expected_status_code": "2xx",
  "request_body": "",
  "projectUuid": "0109c1f0-b521-44f4-9681-9046aa6f51d8",
  "uuid": "mon_3GhAQMYGEQuyUH",
  "status": "up",
  "ssl_expiration": 90,
  "alerts_wait": 0
}