StatusPage.me Help Center

Popular topics: creating a status page, connecting monitors, automatic incidents, custom domains, integrations and billing.

StatusPage.me Mar 14, 2026 API

Monitors API

Read your monitors and their availability metrics using the authenticated API. Requires the monitors:read scope (or full-access key).


List all monitors

GET /user/api/v1/monitors

Required scope: monitors:read

Example:

curl -H "Authorization: Bearer spk_..." \
  https://statuspage.me/user/api/v1/monitors

Response:

{
  "data": [
    {
      "id": 42,
      "name": "API endpoint",
      "type": "site",
      "target": "https://api.example.com/health",
      "interval_seconds": 60,
      "enabled": true,
      "status_page_id": "550e8400-e29b-41d4-a716-446655440000",
      "status_page_slug": "my-company",
      "created_at": "2025-11-01T10:00:00Z",
      "updated_at": "2026-03-01T08:30:00Z"
    }
  ]
}

Get a single monitor

GET /user/api/v1/monitors/:id

Required scope: monitors:read


Get monitor availability metrics

GET /user/api/v1/monitors/:id/availability?period=30d

Required scope: analytics:read

Query parameters:

ParameterValuesDefault
period7d, 30d, 90d, 365d30d

Example:

curl -H "Authorization: Bearer spk_..." \
  "https://statuspage.me/user/api/v1/monitors/42/availability?period=30d"

Response includes uptime percentage, MTTR (mean time to recovery), MTBF (mean time between failures), and downtime data for the requested period.


Legacy Dashboard Monitor Endpoints

In addition to the scoped /user/api/v1/* API, monitor-related dashboard endpoints under /user/api/ are API-key authenticatable and useful for list-page hydration.

These endpoints are not RequireAPIScope(...)-gated like /user/api/v1/*, so keys with API access can call them unless specifically blocked by auth rules.

List monitors by components (with inline metrics)

GET /user/api/monitors?component_ids=cmp_1,cmp_2

Required query parameter:

  • component_ids (comma-separated component IDs)

Response includes the original monitor identity fields and inline windowed metrics:

  • metrics.1h
  • metrics.24h
  • metrics.7d
  • metrics.30d

Each window includes:

  • avg_ms
  • uptime_percentage
  • uptime_trend
  • response_time_trend
  • apdex / apdex_change (legacy compatibility aliases)
  • response_time_change
  • state, updated, latency, region_states

Example:

curl -H "Authorization: Bearer spk_..." \
  "https://statuspage.me/user/api/monitors?component_ids=cmp_1,cmp_2"

Batched metrics for monitor IDs

GET /user/api/monitors/metrics?ids=42,84&range=30d

Query parameters:

ParameterValuesDefault
idscomma-separated monitor IDsrequired
range1h, 24h, 7d, 30d24h

Common validation errors:

  • { "error": "ids required" }
  • { "error": "no valid ids" }
  • { "error": "too many ids" }
  • { "error": "unsupported range" }

Notes

  • Monitors belonging to status pages accessible via team membership are included.
  • Disabled monitors are excluded from the list.
Was this article helpful?

Share this article: