---
title: "One monitor's current status, aggregated across its selected regions"
method: GET
path: "/checks/{id}"
tags: ["Checks"]
---

# One monitor's current status, aggregated across its selected regions

`GET /checks/{id}`

## Request

- Base URL: `https://realuptime.io/api/v1`
- URL: `https://realuptime.io/api/v1/checks/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` string, uuid, required

## Response `200`

The check, its aggregate status, and its per-region states.

- object
  - `check` object, required
    - `id` string, required
    - `account_id` string, required
    - `name` string, required
    - `url` string, nullable, required
    - `type` 'http' | 'heartbeat' | 'tcp' | 'dns' | 'multistep' | 'smtp' | 'ping' | 'browser', required
    - `tcp_host` string, nullable, required
    - `tcp_port` number, nullable, required
    - `tcp_tls` boolean, required
    - `interval_seconds` number, required
    - `selected_regions` string[], required
    - `assertion_body_op` 'contains' | 'not_contains', nullable
    - `assertion_body_value` string, nullable
    - `assertion_body_case_sensitive` boolean, nullable
    - `assertion_header_name` string, nullable
    - `assertion_header_op` 'equals' | 'contains', nullable
    - `assertion_header_value` string, nullable
    - `assertion_status_min` number, nullable
    - `assertion_status_max` number, nullable
    - `assertion_json_path` string, nullable
    - `assertion_json_op` 'equals' | 'contains' | 'exists', nullable
    - `assertion_json_value` string, nullable
    - `smtp_host` string, nullable
    - `smtp_port` number, nullable
    - `smtp_starttls` boolean
    - `ping_host` string, nullable
    - `paused_at` string, nullable
    - `tags` string[]
  - `status` 'operational' | 'degraded' | 'down' | 'stale' | 'unknown', required
  - `regions` object[], required
    - `check_id` string, required
    - `region` union, required
      - 'iad' | 'sjc' | 'fra' | 'nrt' | 'ord' | 'yyz' | 'lhr' | 'sin' | 'syd' | 'gru'
      - string: A private location's locus: agent: followed by the first eight hex characters of the agent id. Never a fleet region code.
    - `current_state` string, required
    - `consecutive_fail_count` number, required
    - `consecutive_ok_count` number, required
    - `last_changed_at` string, required
    - `last_checked_at` string, required
  - `steps` object[]
    - `id` string, required
    - `name` string, required
    - `method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD', required
    - `url` string, required
    - `step_order` number, required
  - `locus_mix` object, required
    - `public_regions` number, required
    - `private_locations` number, required
  - `private_locations` object[]
    - `locus` string, required: A private location's locus: agent: followed by the first eight hex characters of the agent id. Never a fleet region code.
    - `name` string, required
  - `split_reason` 'external_only' | 'internal_only', nullable, required
  - `auth` object
    - `headers` object[], required
      - `name` string, required
      - `value` string, required
    - `userinfo` string, nullable, required
  - `heartbeat` object
    - `state` 'operational' | 'down', required
    - `last_ping_at` string, nullable, required
    - `grace_seconds` number, required
    - `max_runtime_seconds` number, nullable, required
    - `latched` boolean, required
    - `latched_since` string, nullable, required
    - `last_run` object, nullable, required
      - `id` string, required
      - `run_id` string, nullable, required
      - `started_at` string, nullable, required
      - `finished_at` string, nullable, required
      - `outcome` 'running' | 'success' | 'fail' | 'superseded', required
      - `duration_ms` number, nullable, required
      - `stuck` boolean, required
      - `exit_code` number, nullable, required
      - `exit_detail` string, nullable, required

## Other responses

- `401`: Missing, invalid, or revoked API key. - `RU-1001` Missing API credentials: https://realuptime.io/kb/errors/ru-1001 - `RU-1002` Invalid or revoked API key: https://realuptime.io/kb/errors/ru-1002
- `403`: This key is IP-restricted and the request came from outside its allowlist. - `RU-1007` API key is restricted to an IP allowlist: https://realuptime.io/kb/errors/ru-1007
- `404`: No such check on this account. - `RU-3003` Check not found: https://realuptime.io/kb/errors/ru-3003
- `429`: Per-key rate limit exceeded, a Free account's per-account request budget exceeded, or too many failed authentication attempts. - `RU-2002` API read rate limit exceeded: https://realuptime.io/kb/errors/ru-2002 - `RU-2001` Too many failed authentication attempts: https://realuptime.io/kb/errors/ru-2001

---

[API](https://skmtc.dev/realuptime/apis/realuptime-api-v1.md) · [All operations](https://skmtc.dev/realuptime/apis/realuptime-api-v1/llms.txt) · [OpenAPI document](https://skmtc.dev/realuptime/apis/realuptime-api-v1/revisions/51e481084700?raw)
