Monitive · Schema

UptimeDay

One day's uptime entry returned by `GET /api/v1/monitors/{monitorID}/uptime`. `pct` is nullable: `null` means the day had no scheduled checks (render grey). A numeric `pct` is the share of the day NOT covered by `down`-incident overlap, clamped to `[0, 100]`, then floored to `0` when the day's counters show zero successful checks AND the monitor is corroborated down by either signal below (both netted against overlapping flapping-incident windows, so a flapping monitor's masked-downtime treatment is never overridden): an unresolved down incident whose net overlap with the day is greater than zero (any day), or the monitor's current resolved status being `down`, only when enabled, not flapping, and the current status began before the day ended — i.e. the day falls inside the monitor's current continuous down-period, not merely "today". Never floored when the monitor's resolved status is `up`. `latency` is nullable and independent of `pct`'s null condition: `pct` null keys off `scheduled = 0`, while `latency` null keys off there being zero successful checks to sample from that day (including days predating this feature). A day can carry a non-null `pct` and a null `latency` at the same time.

Uptime MonitoringAPI-FirstDeveloper ToolsObservabilitySoftware-as-a-Service

Properties

Name Type Description
day string UTC calendar day (YYYY-MM-DD).
scheduled integer Number of checks scheduled for this monitor on this day, sourced from `monitor_uptime_day.scheduled`. `0` means the dispatcher never tried to check this monitor (suspended, disabled, kill switch, disp
pct numbernull Uptime percentage for the day, derived from down-incident overlap. `null` when `scheduled = 0`. Floored to `0` when the day had zero successful checks and the monitor is corroborated down by either si
latency objectnull The day's latency candle: open/high/low/close/avg total response time in whole milliseconds (wopher `total_ms`: the full request round-trip, DNS through last byte of download), built only from success
View JSON Schema on GitHub

JSON Schema

uptimemonitoring-com-uptime-day-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/uptimemonitoring-com/json-schema/uptimemonitoring-com-uptime-day-schema.json",
  "title": "UptimeDay",
  "description": "One day's uptime entry returned by `GET /api/v1/monitors/{monitorID}/uptime`.\n\n`pct` is nullable: `null` means the day had no scheduled checks\n(render grey). A numeric `pct` is the share of the day NOT\ncovered by `down`-incident overlap, clamped to `[0, 100]`, then\nfloored to `0` when the day's counters show zero successful\nchecks AND the monitor is corroborated down by either signal\nbelow (both netted against overlapping flapping-incident\nwindows, so a flapping monitor's masked-downtime treatment is\nnever overridden): an unresolved down incident whose net\noverlap with the day is greater than zero (any day), or the\nmonitor's current resolved status being `down`, only when\nenabled, not flapping, and the current status began before the\nday ended — i.e. the day falls inside the monitor's current\ncontinuous down-period, not merely \"today\". Never floored when\nthe monitor's resolved status is `up`.\n\n`latency` is nullable and independent of `pct`'s null condition:\n`pct` null keys off `scheduled = 0`, while `latency` null keys\noff there being zero successful checks to sample from that day\n(including days predating this feature). A day can carry a\nnon-null `pct` and a null `latency` at the same time.\n",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/uptimemonitoring-com-openapi.yaml#/components/schemas/UptimeDay",
  "type": "object",
  "required": [
    "day",
    "scheduled",
    "pct",
    "latency"
  ],
  "properties": {
    "day": {
      "type": "string",
      "format": "date",
      "description": "UTC calendar day (YYYY-MM-DD)."
    },
    "scheduled": {
      "type": "integer",
      "description": "Number of checks scheduled for this monitor on this day,\nsourced from `monitor_uptime_day.scheduled`. `0` means the\ndispatcher never tried to check this monitor (suspended,\ndisabled, kill switch, dispatcher outage, freshly created).\n"
    },
    "pct": {
      "type": [
        "number",
        "null"
      ],
      "format": "float",
      "minimum": 0,
      "maximum": 100,
      "description": "Uptime percentage for the day, derived from down-incident\noverlap. `null` when `scheduled = 0`. Floored to `0` when\nthe day had zero successful checks and the monitor is\ncorroborated down by either signal, both netted against\noverlapping flapping-incident windows so a flapping\nmonitor's masked-downtime treatment is never overridden:\nan unresolved down incident whose net (post flap-mask)\noverlap with the day is greater than zero (any day), or the\nmonitor's current resolved status being `down` — only when\nthe monitor is enabled, not currently flapping, AND the\ncurrent status began before the day ended, i.e. the day\nfalls inside the monitor's current continuous down-period.\nThis reconciliation catches days where a runtime incident\nwrite was dropped and no `incidents` row covers the outage\n— including every day of a multi-week outage, not just the\nmost recent one. A day that predates the current down-period\n(status flipped down after that day already ended) is never\nfloored by current status alone. Never applied when the\nmonitor's resolved status is `up`. Always present in the\nJSON object — never omitted.\n"
    },
    "latency": {
      "type": [
        "object",
        "null"
      ],
      "description": "The day's latency candle: open/high/low/close/avg total\nresponse time in whole milliseconds (wopher `total_ms`: the\nfull request round-trip, DNS through last byte of\ndownload), built only from\nsuccessful checks against the monitor's sticky primary\nregion. All five values are rounded to the nearest whole\nmillisecond server-side (half away from zero).\n\n`null` when the day has no successful samples to build a\ncandle from — this includes days predating the feature.\nThis is a distinct null condition from `pct`: a fully\nscheduled, all-down day has a non-null `pct` but a null\n`latency`. Always present in the JSON object — never\nomitted.\n",
      "required": [
        "open",
        "high",
        "low",
        "close",
        "avg"
      ],
      "properties": {
        "open": {
          "type": "number",
          "format": "float",
          "description": "First successful check's total response time of the day, in whole ms."
        },
        "high": {
          "type": "number",
          "format": "float",
          "description": "Highest total response time among the day's successful checks, in whole ms."
        },
        "low": {
          "type": "number",
          "format": "float",
          "description": "Lowest total response time among the day's successful checks, in whole ms."
        },
        "close": {
          "type": "number",
          "format": "float",
          "description": "Most recent successful check's total response time of the day, in whole ms."
        },
        "avg": {
          "type": "number",
          "format": "float",
          "description": "Arithmetic mean of the day's successful-check total\nresponse times (`latency_sum_ms / latency_count`,\ncomputed server-side; the underlying sum/count are not\nexposed on the wire), in whole ms.\n"
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/uptimemonitoring-com-uptime-day"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.