---
title: "Get uptime details for a monitor"
method: GET
path: "/monitors/uptime/details/{monitorId}"
tags: ["monitors"]
---

# Get uptime details for a monitor

`GET /monitors/uptime/details/{monitorId}`

## Path parameters

- `monitorId` string, required

## Query parameters

- `dateRange` 'recent' | 'hour' | 'day' | 'week' | 'month' | 'all', required

## Response `200`

OK

- object
  - `success` true, required
  - `msg` string, required
  - `data` UptimeDetails, required
    - `monitorData` object, required
      - `monitor` object, required
        - `name` string, required
        - `description` string
        - `type` 'http' | 'ping' | 'pagespeed' | 'hardware' | 'docker' | 'port' | 'game' | 'grpc' | 'websocket' | 'dns' | 'unknown', required
        - `url` string, required
        - `port` number
        - `isActive` boolean, required
        - `interval` number, required
        - `status` 'up' | 'down' | 'paused' | 'initializing' | 'maintenance' | 'breached', required
        - `statusWindowSize` number, required
        - `statusWindowThreshold` number, required
        - `ignoreTlsErrors` boolean, required
        - `proxyMode` 'inherit' | 'none' | 'custom', required
        - `proxyId` string
        - `useAdvancedMatching` boolean, required
        - `jsonPath` string
        - `expectedValue` string
        - `matchMethod` 'equal' | 'include' | 'regex'
        - `method` 'GET' | 'HEAD', required
        - `notifications` string[], required
        - `tags` string[], required
        - `customUpCodes` number[]
        - `secret` string
        - `sshPrivateKey` string
        - `cpuAlertThreshold` number, required
        - `memoryAlertThreshold` number, required
        - `diskAlertThreshold` number, required
        - `tempAlertThreshold` number, required
        - `selectedDisks` string[], required
        - `gameId` string
        - `grpcServiceName` string
        - `group` string, nullable
        - `geoCheckEnabled` boolean, required
        - `geoCheckLocations` string[], required
        - `geoCheckInterval` number, required
        - `dnsServer` string
        - `dnsRecordType` 'A' | 'AAAA' | 'CNAME' | 'MX' | 'TXT' | 'NS'
        - `teamId` string, required
        - `userId` string, required
        - `createdAt` string, required
        - `updatedAt` string, required
        - `lastEvaluatedAt` number, required
        - `id` string, required
      - `groupedChecks` object[], required
        - `bucketDate` string, required
        - `avgResponseTime` number, required
        - `totalChecks` number, required
        - `avgDns` number, required
        - `avgTcp` number, required
        - `avgTls` number, required
        - `avgRequest` number, required
        - `avgFirstByte` number, required
        - `avgDownload` number, required
      - `groupedUpChecks` object[], required
        - `bucketDate` string, required
        - `avgResponseTime` number, required
        - `totalChecks` number, required
      - `groupedDownChecks` object[], required
        - `bucketDate` string, required
        - `avgResponseTime` number, required
        - `totalChecks` number, required
      - `groupedAvgResponseTime` number, required
      - `groupedUptimePercentage` number, required
    - `monitorStats` object, nullable, required
      - `id` string, required
      - `monitorId` string, required
      - `avgResponseTime` number, required
      - `maxResponseTime` number, required
      - `totalChecks` number, required
      - `totalUpChecks` number, required
      - `totalDownChecks` number, required
      - `uptimePercentage` number, required
      - `lastCheckTimestamp` number, required
      - `lastResponseTime` number, required
      - `timeOfLastFailure` number
      - `createdAt` string, required
      - `updatedAt` string, required

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `500` — Internal server error

## Changes

- **2026-08-28** `a9ac59e12c59` — 1 info
  - added the optional property `data/monitorData/monitor/sshPrivateKey` to the response with the `200` status
- **2026-08-25** `1f334de2d559` — 2 info
  - added the optional property `data/monitorData/monitor/proxyId` to the response with the `200` status
  - added the required property `data/monitorData/monitor/proxyMode` to the response with the `200` status
- **2026-07-30** `5bfd7e3aa1d1` — 1 breaking, 1 warning, 3 info
  - the `data` response's property type changed from no type to `object` for status `200`
  - deleted the `query` request parameter `normalize`
  - the response property `data` became required for the status `200`
  - added the required property `data/monitorData` to the response with the `200` status
  - …1 more
- **2026-05-01** `39082d385dda` — 2 breaking, 2 warning, 6 info
  - added the new required `query` request parameter `dateRange`
  - for the `path` request parameter `monitorId`, the minLength was increased from `0` to `1`
  - removed the optional property `details` from the response with the `500` status
  - added the new `false` enum value to the `success` response property for the response status `500`
  - …6 more
- **2025-08-11** `db719f9e3d34` — 1 info
  - endpoint added

[Full history](https://skmtc.dev/bluewave-labs/apis/checkmate-api/changes/monitors/uptime/details/:monitorId/get.md)

---

[API](https://skmtc.dev/bluewave-labs/apis/checkmate-api.md) · [All operations](https://skmtc.dev/bluewave-labs/apis/checkmate-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/bluewave-labs/checkmate-api/revisions/7f9cad20a6a4/schema)
