Skip to content

Monitors API

Manage uptime monitors, trigger checks, view incidents, and export event history.

Required scope: monitors:read or monitors:write

Endpoints

GET/api/monitorsList all monitors
POST/api/monitorsCreate a monitor
GET/api/monitors/:idGet monitor details
PUT/api/monitors/:idUpdate a monitor
DELETE/api/monitors/:idDelete a monitor
POST/api/monitors/:id/pausePause / resume
POST/api/monitors/:id/checkTrigger immediate check
GET/api/monitors/:id/resultsCheck result history
GET/api/monitors/:id/incidentsIncident history
GET/api/monitors/statsAggregate stats
GET/api/monitors/tagsUnique tags
GET/api/monitors/eventsEvent log
GET/api/monitors/events/exportExport events CSV
DELETE/api/monitors/eventsClear event history

List Monitors

GET/api/monitors

Returns all monitors with current status and 24-hour stats.

Response:

json
{
  "monitors": [
    {
      "id": "uuid",
      "name": "Google DNS",
      "target": "8.8.8.8",
      "check_type": "ping",
      "interval": 60,
      "status": "up",
      "last_check": "2026-03-15T10:30:00Z",
      "response_time": 12.5
    }
  ]
}

Create Monitor

POST/api/monitors

Request body:

json
{
  "name": "Web Server",
  "target": "https://example.com",
  "check_type": "http",
  "interval": 60,
  "timeout": 10,
  "failure_threshold": 3,
  "tags": ["production", "web"]
}

Check types: http, ping, tcp, dns

Get Monitor

GET/api/monitors/:id

Returns a single monitor with enriched stats.

Update Monitor

PUT/api/monitors/:id

Same body as create. All fields optional — only provided fields are updated.

Delete Monitor

DELETE/api/monitors/:id

Pause / Resume

POST/api/monitors/:id/pause

Toggles the paused state.

Trigger Immediate Check

POST/api/monitors/:id/check

Runs a check immediately, outside the normal schedule.

Monitor Results History

GET/api/monitors/:id/results

Returns historical check results for a specific monitor.

Monitor Incidents

GET/api/monitors/:id/incidents

Returns incidents (DOWN periods) with open/closed timestamps.

Aggregate Stats

GET/api/monitors/stats

Response:

json
{
  "up": 12,
  "down": 1,
  "degraded": 0,
  "paused": 2,
  "unknown": 0,
  "total": 15
}

Tags

GET/api/monitors/tags

Returns an array of unique tags across all monitors.

Event Log

GET/api/monitors/events
ParamTypeDefaultDescription
limitint50Max results (up to 200)

Export Events

GET/api/monitors/events/export

Returns event log as CSV download.

Clear Events

DELETE/api/monitors/events

Clears all monitor check history. Scope: monitors:write

Released under the MIT License.