Skip to content

Monitors

A page of the org’s monitors.

Name In Required Type Constraints
limit query no integer default 50, min 1, max 200
offset query no integer default 0, min 0
status query no "active", "paused"
Status Body Meaning
200 V1MonitorList A page of monitors plus its bounds.
401 V1ErrorUnauthenticated The bearer token is absent, malformed, revoked, expired, or unknown.
403 V1ErrorForbidden or V1ErrorFeatureGated Either the key’s role lacks the permission this route needs (forbidden), or the org’s plan does not include API access (feature_gated).
429 V1ErrorRateLimited The key exceeded its plan’s per-minute request budget.
Terminal window
curl -sS \
'https://api.wirewatch.io/v1/monitors?limit=50&offset=0' \
-H "Authorization: Bearer $WIREWATCH_API_KEY"
{
"data": [
{
"id": "5bc9d194-2807-4353-8209-be57ec6bde7e",
"name": "http-340a8cca",
"type": "http",
"interval_seconds": 60,
"timeout_ms": 5000,
"locations": [
"us-east"
],
"tags": [
"prod"
],
"status": "active",
"service_id": null,
"created_at": "2026-08-14T06:45:51.203Z",
"updated_at": "2026-08-14T06:45:51.203Z"
},
{
"id": "e7bacda9-0853-4063-8fd5-e8c89034459e",
"name": "hb-340a8cca",
"type": "heartbeat",
"interval_seconds": null,
"timeout_ms": null,
"locations": [],
"tags": [],
"status": "active",
"service_id": null,
"created_at": "2026-08-14T06:45:51.216Z",
"updated_at": "2026-08-14T06:45:51.216Z"
},
{
"id": "06b962d6-4bca-4250-99fa-45538f05685c",
"name": "del-340a8cca",
"type": "http",
"interval_seconds": 60,
"timeout_ms": 5000,
"locations": [
"us-east"
],
"tags": [
"prod"
],
"status": "active",
"service_id": null,
"created_at": "2026-08-14T06:45:51.226Z",
"updated_at": "2026-08-14T06:45:51.226Z"
}
],
"page": {
"limit": 50,
"offset": 0,
"total": 3
}
}

Create a monitor.

The monitor to create. type decides which variant the body must satisfy.

V1MonitorCreate, required.

Status Body Meaning
201 V1Monitor The created monitor.
401 V1ErrorUnauthenticated The bearer token is absent, malformed, revoked, expired, or unknown.
402 V1ErrorQuotaExceeded A plan quota was hit. metric names the exhausted quota.
403 V1ErrorForbidden or V1ErrorFeatureGated Either the key’s role lacks the permission this route needs (forbidden), or the org’s plan does not include API access (feature_gated).
404 V1ErrorNotFound No such monitor in the caller’s org. A monitor belonging to another org answers 404, never 403 — a foreign id is indistinguishable from a missing one.
429 V1ErrorRateLimited The key exceeded its plan’s per-minute request budget.
Terminal window
curl -sS -X POST \
'https://api.wirewatch.io/v1/monitors' \
-H "Authorization: Bearer $WIREWATCH_API_KEY" \
-H 'content-type: application/json' \
-d '{"name":"http-340a8cca","type":"http","interval_seconds":60,"timeout_ms":5000,"locations":["us-east"],"tags":["prod"],"config":{"method":"GET","url":"https://example.com/health","followRedirects":true},"assertions":[{"field":"status_code","op":"eq","value":200}]}'
{
"id": "5bc9d194-2807-4353-8209-be57ec6bde7e",
"name": "http-340a8cca",
"type": "http",
"interval_seconds": 60,
"timeout_ms": 5000,
"locations": [
"us-east"
],
"tags": [
"prod"
],
"status": "active",
"service_id": null,
"created_at": "2026-08-14T06:45:51.203Z",
"updated_at": "2026-08-14T06:45:51.203Z"
}

One monitor.

Name In Required Type Constraints
monitorId path yes string (uuid)
Status Body Meaning
200 V1Monitor The monitor.
401 V1ErrorUnauthenticated The bearer token is absent, malformed, revoked, expired, or unknown.
403 V1ErrorForbidden or V1ErrorFeatureGated Either the key’s role lacks the permission this route needs (forbidden), or the org’s plan does not include API access (feature_gated).
404 V1ErrorNotFound No such monitor in the caller’s org. A monitor belonging to another org answers 404, never 403 — a foreign id is indistinguishable from a missing one.
429 V1ErrorRateLimited The key exceeded its plan’s per-minute request budget.
Terminal window
curl -sS \
'https://api.wirewatch.io/v1/monitors/5bc9d194-2807-4353-8209-be57ec6bde7e' \
-H "Authorization: Bearer $WIREWATCH_API_KEY"
{
"id": "5bc9d194-2807-4353-8209-be57ec6bde7e",
"name": "http-340a8cca",
"type": "http",
"interval_seconds": 60,
"timeout_ms": 5000,
"locations": [
"us-east"
],
"tags": [
"prod"
],
"status": "active",
"service_id": null,
"created_at": "2026-08-14T06:45:51.203Z",
"updated_at": "2026-08-14T06:45:51.203Z"
}

Partially update a monitor.

Name In Required Type Constraints
monitorId path yes string (uuid)

The fields to change. What is validated is the MERGED record, not this body — an empty body, or none at all, is a no-op that answers 200.

V1MonitorPatch, optional.

Status Body Meaning
200 V1Monitor The updated monitor.
401 V1ErrorUnauthenticated The bearer token is absent, malformed, revoked, expired, or unknown.
402 V1ErrorQuotaExceeded A plan quota was hit. metric names the exhausted quota.
403 V1ErrorForbidden or V1ErrorFeatureGated Either the key’s role lacks the permission this route needs (forbidden), or the org’s plan does not include API access (feature_gated).
404 V1ErrorNotFound No such monitor in the caller’s org. A monitor belonging to another org answers 404, never 403 — a foreign id is indistinguishable from a missing one.
429 V1ErrorRateLimited The key exceeded its plan’s per-minute request budget.
Terminal window
curl -sS -X PATCH \
'https://api.wirewatch.io/v1/monitors/5bc9d194-2807-4353-8209-be57ec6bde7e' \
-H "Authorization: Bearer $WIREWATCH_API_KEY" \
-H 'content-type: application/json' \
-d '{"tags":["prod","patched"]}'
{
"id": "5bc9d194-2807-4353-8209-be57ec6bde7e",
"name": "http-340a8cca",
"type": "http",
"interval_seconds": 60,
"timeout_ms": 5000,
"locations": [
"us-east"
],
"tags": [
"prod",
"patched"
],
"status": "active",
"service_id": null,
"created_at": "2026-08-14T06:45:51.203Z",
"updated_at": "2026-08-14T06:45:51.285Z"
}

Delete a monitor.

Name In Required Type Constraints
monitorId path yes string (uuid)
Status Body Meaning
204 no body Deleted. No response body.
401 V1ErrorUnauthenticated The bearer token is absent, malformed, revoked, expired, or unknown.
403 V1ErrorForbidden or V1ErrorFeatureGated Either the key’s role lacks the permission this route needs (forbidden), or the org’s plan does not include API access (feature_gated).
404 V1ErrorNotFound No such monitor in the caller’s org. A monitor belonging to another org answers 404, never 403 — a foreign id is indistinguishable from a missing one.
429 V1ErrorRateLimited The key exceeded its plan’s per-minute request budget.
Terminal window
curl -sS -X DELETE \
'https://api.wirewatch.io/v1/monitors/06b962d6-4bca-4250-99fa-45538f05685c' \
-H "Authorization: Bearer $WIREWATCH_API_KEY"
HTTP/1.1 204 No Content

The monitor’s latest known status per probe location.

Name In Required Type Constraints
monitorId path yes string (uuid)
Status Body Meaning
200 V1Statuses One entry per expected probe location.
401 V1ErrorUnauthenticated The bearer token is absent, malformed, revoked, expired, or unknown.
403 V1ErrorForbidden or V1ErrorFeatureGated Either the key’s role lacks the permission this route needs (forbidden), or the org’s plan does not include API access (feature_gated).
404 V1ErrorNotFound No such monitor in the caller’s org. A monitor belonging to another org answers 404, never 403 — a foreign id is indistinguishable from a missing one.
429 V1ErrorRateLimited The key exceeded its plan’s per-minute request budget.
Terminal window
curl -sS \
'https://api.wirewatch.io/v1/monitors/5bc9d194-2807-4353-8209-be57ec6bde7e/status' \
-H "Authorization: Bearer $WIREWATCH_API_KEY"
{
"statuses": [
{
"location": "us-east",
"status": "no_data",
"errorClass": "",
"nodeTs": null,
"ingestTs": null
}
]
}

Hourly or daily uptime and latency buckets.

Name In Required Type Constraints
monitorId path yes string (uuid)
tier query yes "hourly", "daily"
from query yes string (date-time)
to query yes string (date-time)
location query no string
Status Body Meaning
200 V1Rollups The buckets in [from, to), clamped to the plan’s history window. An empty array is a valid answer.
401 V1ErrorUnauthenticated The bearer token is absent, malformed, revoked, expired, or unknown.
403 V1ErrorForbidden or V1ErrorFeatureGated Either the key’s role lacks the permission this route needs (forbidden), or the org’s plan does not include API access (feature_gated).
404 V1ErrorNotFound No such monitor in the caller’s org. A monitor belonging to another org answers 404, never 403 — a foreign id is indistinguishable from a missing one.
429 V1ErrorRateLimited The key exceeded its plan’s per-minute request budget.
Terminal window
curl -sS \
'https://api.wirewatch.io/v1/monitors/5bc9d194-2807-4353-8209-be57ec6bde7e/rollups?tier=hourly&from=2026-08-01T00:00:00.000Z&to=2026-08-02T00:00:00.000Z' \
-H "Authorization: Bearer $WIREWATCH_API_KEY"
{
"rollups": []
}