Skip to main content
GET
/
monitors
List monitors
curl --request GET \
  --url https://api.coval.dev/v1/monitors \
  --header 'X-API-Key: <api-key>'
{
  "monitors": [
    {
      "ulid": "01HZ0EXAMPLE00000000000000",
      "name": "Latency SLA Monitor",
      "description": "Alert when 7-day avg response latency exceeds 500ms",
      "status": "ACTIVE",
      "evaluation_type": "ROLLING_WINDOW",
      "scope": "MONITORING",
      "match_mode": "ALL",
      "cooldown_seconds": 3600,
      "trigger_count": 5,
      "last_triggered_at": "2026-03-01T12:00:00Z",
      "conditions": [
        {
          "ulid": "01HZCOND100000000000000000",
          "metric_id": "01HZMETRIC0000000000000000",
          "aggregation": "WINDOW_AVERAGE",
          "operator": "GT",
          "threshold_float": 500,
          "window_size_days": 7
        }
      ],
      "channels": [
        {
          "ulid": "01HZCHAN100000000000000000",
          "channel_type": "SLACK",
          "config": {
            "channel_id": "C0123ABC",
            "channel_name": "#sla-alerts"
          }
        }
      ],
      "create_time": "2026-02-15T10:30:00Z",
      "update_time": "2026-02-15T10:30:00Z"
    }
  ],
  "next_page_token": null,
  "total_count": 1
}

Authorizations

X-API-Key
string
header
required

API key for authentication

Query Parameters

scope
enum<string>

Filter monitors by scope

Available options:
ALL,
MONITORING,
SIMULATION
page_size
integer
default:50

Number of results per page

Required range: 1 <= x <= 100
page_token
string

Token for fetching the next page of results

Response

List of monitors

monitors
object[]
required
total_count
integer
required

Total count of monitors matching filter

next_page_token
string | null

Token for fetching the next page (null if no more results)