Monitor history
get_monitor_historyOne monitor's history over a window (1h/24h/7d/30d): uptime, latency series, a per-region split of the same window, failures with error text, and incident windows. Pass region to narrow it to one probe region and tell a partial outage from a total one. Read-only.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The monitor id (from `list_monitors`). | |
| region | No | Narrow uptime, the latency series, and the region breakdown to one probe region (an id the monitor is assigned to, from `get_monitor.regions`). Omit for every region together. | |
| window | Yes | Time window: `1h`, `24h`, `7d`, or `30d`. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | The region this answer was narrowed to, or `null` for all of them. | |
| uptime | No | Uptime percentage over the window. `null` when the window holds no checks — that is unknown, not zero. Unfiltered it counts confirmed incidents; under a `region` filter it is that region's raw check rate, so the two are not comparable. | |
| regions | Yes | Per-region split of the same window, so a partial outage is visible. Always every region the monitor runs in, including under a `region` filter, and empty when it runs in only one. Regions that ran no checks in the window are omitted; this reads per-minute data, which is kept for 30 days, so at the far edge of a `30d` window a region can be short of samples or absent while the headline numbers still cover it. | |
| failures | Yes | Confirmed failures on the monitor as a whole. A `region` filter does not narrow these: an incident is raised for the monitor, not per region. | |
| incidents | Yes | Incident windows on the monitor as a whole, unnarrowed by `region` for the same reason as `failures`. | |
| latency_series | Yes |