Monitors
Monitors are called IP monitors inside the API.
Fields
- external_ref - Arbitrary identifier used to cross reference this IP monitor with a record in your app.
- health - Current health status. (Read-only)
- health_at - Time of last
health
change. (Read-only) - host_ids - Array of associated Host IDs. (Read-only)
- hostname - Hostname of monitored/target service. Required when
uri
ishttp
orhttps
. - id - DNScaster’s ID for the IP monitor, eg:
mon_sample123456
. (Read-only) - in_use - When true, ineligible to be deleted (likely in use by a host). (Read-only)
- name - A descriptive name of the IP monitor.
- nameserver_set_id - Nameserver set to which this IP monitor belongs.
- object - Always
ip_monitor
. (Read-only) - treat_redirects - For http and https, treat 3xx redirects as
online
(default) oroffline
. - uri - URI of service to monitor.
List IP monitors
Query params
- external_ref - Filter by
external_ref
. - health - Filter by
health
. - nameserver_set_id - Filter by
nameserver_set_id
. - Plus standard paging params.
- sort - Fields:
id
(default),name
.
- sort - Fields:
Request
GET /v1/ip_monitors
Response
On success, 200 with 0 or more IP monitors.
{
"collection": [
{
"external_ref": null,
"health": "online",
"health_at": 1704067200,
"host_ids": [
"hst_sample123456"
],
"hostname": "example.com",
"id": "mon_sample123456",
"name": "Example",
"nameserver_set_id": "nst_sample123456",
"object": "ip_monitor",
"treat_redirects": "online",
"uri": "https://192.0.2.1/path"
}
],
"more_results": false
}
Retrieve an IP monitor
Request
GET /v1/ip_monitors/mon_sample123456
Response
On success, 200 with the IP monitor.
{
"external_ref": null,
"health": "online",
"health_at": 1704067200,
"host_ids": [
"hst_sample123456"
],
"hostname": "example.com",
"id": "mon_sample123456",
"in_use": true,
"name": "Example",
"nameserver_set_id": "nst_sample123456",
"object": "ip_monitor",
"treat_redirects": "online",
"uri": "https://192.0.2.1/path"
}
Create an IP monitor
Request
POST /v1/ip_monitors
{
"ip_monitor": {
"name": "Example host",
"nameserver_set_id": "nst_sample123456",
"uri": "ping://192.0.2.2"
}
}
Response
On success, 201 with the new IP monitor.
On error, 422 with standard error response.
{
"external_ref": null,
"health": "unknown",
"health_at": 1704067200,
"host_ids": [],
"hostname": null,
"id": "mon_sample123456",
"in_use": false,
"name": "Example host",
"nameserver_set_id": "nst_sample123456",
"object": "ip_monitor",
"treat_redirects": "online",
"uri": "ping://192.0.2.2"
}
Update an IP monitor
Request
PUT /v1/ip_monitors/mon_sample123456
{
"ip_monitor": {
"name": "Example"
}
}
Response
On success, 200 with the updated IP monitor.
On error, 422 with standard error response.
{
"external_ref": null,
"health": "online",
"health_at": 1704067200,
"host_ids": [],
"hostname": "example.com",
"id": "mon_sample123456",
"in_use": false,
"name": "Example",
"nameserver_set_id": "nst_sample123456",
"object": "ip_monitor",
"treat_redirects": "online",
"uri": "https://192.0.2.1/path"
}
Delete an IP monitor
Request
DELETE /v1/ip_monitors/mon_sample123456
Response
On success, 202 with an empty response.
On error, 422 with standard error response.