Monitors

List monitors

Returns all monitors for the authenticated account with current status, ordered by creation date (newest first).

get/api/v1/monitors

Request

  • Base URL: https://api.uptimemonitoring.com
  • URL: https://api.uptimemonitoring.com/api/v1/monitors
  • Auth: HTTP bearer

Response

List of monitors with inline status.

idinteger
account_idinteger
namestring
urlstring

Target URL. Format depends on type:

  • http — full http(s) URL, e.g. https://api.example.com/health.
  • tcp — always returned/stored as tcp://host:port, port restricted to a whitelist (see MonitorInput.url for the accepted input shapes).
  • ping — a bare hostname or IP literal (e.g. api.example.com, 1.1.1.1) — no scheme, path, query, userinfo, or port.
  • dns / ssl — reserved formats (a bare hostname for dns) for a type that is defined but not yet serviced by the check engine; see the type field.
type'http' | 'tcp' | 'ping'

http, tcp, and ping can appear here. dns and ssl are reserved for a check engine that does not exist yet (issue #209); no monitor of one of those two types can be created, updated, or persisted.

interval_secinteger
expected_statusstring

Single HTTP status code, expressed as a string, 100–599. Defaults to "200".

body_matchstring nullable
enabledboolean
response_time_threshold_msinteger nullable

Alert if response time exceeds this (ms). Null = disabled.

method'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'OPTIONS'

HTTP request method (issue #364). Always GET for tcp/ping/ dns/ssl monitors, regardless of what might once have been stored — a non-http monitor's custom-request fields are always reset to their defaults on write.

bodystring

Request body, verbatim (issue #364). Always "" for a non-http monitor. Unlike headers, the body is NOT write-only — it is returned verbatim on every read to anyone who can read the monitor. It must not contain credentials or other sensitive data unless that exposure is acceptable; headers is the write-only place for secrets.

timeout_secinteger

Request timeout in seconds (issue

created_atstring date-time
updated_atstring date-time
status'up' | 'down' | 'unknown' | 'flapping'
last_check_atstring date-time nullable
recipient_idsinteger[]

Attached recipient ids (issue

Example response

[
  {
    "name": "Production API",
    "url": "https://api.example.com/health",
    "interval_sec": 60,
    "expected_status": "200",
    "maintenance": {
      "start_time": "23:00",
      "end_time": "03:00",
      "timezone": "Europe/Lisbon"
    }
  }
]

Changes

No recorded changes to this operation across all 1 revision of this API.