Endpoint reference

GET /api/v1/monitors

Returns the monitors configured for the authenticated account. Results include the latest heartbeat metadata and basic configuration details.

Request

GET/api/v1/monitors

Provide an API key using one of the supported headers. This endpoint performs a single Cassandra query and is safe to poll periodically.

Query paramTypeRequiredDescription
limitintegerNo Number of records to return. Accepts values from 1 to 200. Defaults to 100.
statusstringNo Filter monitors by their current status (case-insensitive). Typical values include online, offline, or unknown.

Response

A successful request returns HTTP 200 with a JSON object containing a data array plus summary fields.

{
  "data": [
    {
      "id": "8b0a86d1-3f5b-4a0e-8e61-3c2c50d24711",
      "name": "Primary site",
      "url": "https://status.example.xuptimemonitor.com",
      "method": "GET",
      "status": "online",
      "intervalSeconds": 60,
      "regions": ["iad", "ams"],
      "uptimePercent": 99.98,
      "latencyThresholdMs": 1500,
      "onlineSince": "2024-12-31T18:02:41.000Z",
      "lastCheckedAt": "2025-01-07T10:12:14.000Z",
      "createdAt": "2024-10-03T21:15:56.000Z",
      "lastIncidentId": null,
      "tags": ["production", "marketing"]
    }
  ],
  "count": 1,
  "limit": 25
}

Field reference

FieldTypeDescription
dataMonitor[]Array of monitor objects, ordered by creation time.
countnumberNumber of items returned in the current response.
limitnumberThe effective limit applied to this request.

Monitor object

PropertyTypeDescription
idstringUnique identifier for the monitor.
namestringHuman-friendly monitor name.
urlstringEndpoint the monitor probes.
methodstringHTTP method used for the probe (defaults to GET when unset).
statusstringLatest monitor status (online, offline, unknown).
intervalSecondsnumber | nullConfigured heartbeat interval in seconds. Null when unspecified.
regionsstring[]Regions currently monitoring the target.
uptimePercentnumber | nullRolling uptime percentage when available.
latencyThresholdMsnumber | nullLatency threshold (in milliseconds) for alerting.
latencyAlertsEnabledbooleanWhether latency alerts are sent to channels for this monitor.
latencyAlertConsecutiveChecksnumberConsecutive high-latency checks required before alerting.
latencyAlertRecoveryChecksnumberConsecutive normal checks required before recovery.
onlineSincestring | nullTimestamp of the last transition back to healthy state.
lastCheckedAtstring | nullTimestamp of the most recent heartbeat.
createdAtstring | nullWhen the monitor was created.
lastIncidentIdstring | nullMost recent incident identifier, if any.
tagsstring[]User-defined tags associated with the monitor.

Examples

Fetch offline monitors only

curl "https://xuptimemonitor.com/api/v1/monitors?status=offline" \
  -H "Authorization: Bearer <API_KEY>"

Limit to the first 10 records

curl "https://xuptimemonitor.com/api/v1/monitors?limit=10" \
  -H "X-API-Key: <API_KEY>"