---
title: "List monitors"
method: GET
path: "/api/monitors"
tags: ["Monitors"]
---

# List monitors

`GET /api/monitors`

List all uptime and performance monitors in the current project.

## Query parameters

- `page` integer
- `limit` integer

## Response `200`

Paginated list of monitors

- object
  - `pagination` object
    - `total` integer
    - `page` integer
    - `limit` integer
    - `totalPages` integer
    - `hasNextPage` boolean
    - `hasPrevPage` boolean
  - `data` Monitor[]
    - `id` string, uuid
    - `organizationId` string, uuid, nullable
    - `projectId` string, uuid, nullable
    - `createdByUserId` string, uuid, nullable
    - `name` string
    - `description` string, nullable
    - `target` string — URL, host, or synthetic test target being monitored
    - `type` 'http_request' | 'website' | 'ping_host' | 'port_check' | 'synthetic_test'
    - `status` 'up' | 'down' | 'paused' | 'pending' | 'maintenance' | 'error'
    - `frequencyMinutes` integer — Check interval in minutes
    - `enabled` boolean
    - `config` MonitorConfig
      - `method` 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS'
      - `headers` object
      - `body` string
      - `expectedStatusCodes` string
      - `keywordInBody` string
      - `keywordInBodyShouldBePresent` boolean
      - `responseBodyJsonPath` object
        - `path` string
        - `expectedValue` unknown
      - `auth` object
        - `type` 'none' | 'basic' | 'bearer'
        - `username` string
        - `password` string
        - `token` string
      - `port` integer
      - `protocol` 'tcp' | 'udp'
      - `expectClosed` boolean
      - `enableSslCheck` boolean
      - `sslDaysUntilExpirationWarning` integer
      - `sslCheckFrequencyHours` integer
      - `sslLastCheckedAt` string, date-time, nullable
      - `sslCheckOnStatusChange` boolean
      - `checkExpiration` boolean
      - `daysUntilExpirationWarning` integer
      - `checkRevocation` boolean
      - `timeoutSeconds` integer
      - `regions` string[]
      - `locationConfig` MonitorLocationConfig
        - `enabled` boolean
        - `locations` string[]
        - `threshold` integer
        - `strategy` 'all' | 'majority' | 'any'
      - `retryStrategy` object
        - `maxRetries` integer
        - `backoffFactor` integer
      - `alertChannels` string[]
      - `testId` string, uuid
      - `testTitle` string
      - `playwrightOptions` object
        - `headless` boolean
        - `timeout` integer
        - `retries` integer
    - `alertConfig` MonitorAlertConfig
      - `enabled` boolean
      - `notificationProviders` string[]
      - `alertOnFailure` boolean
      - `alertOnRecovery` boolean
      - `alertOnSslExpiration` boolean
      - `failureThreshold` integer
      - `recoveryThreshold` integer
      - `customMessage` string
    - `lastCheckAt` string, date-time, nullable
    - `lastStatusChangeAt` string, date-time, nullable
    - `mutedUntil` string, date-time, nullable
    - `scheduledJobId` string, nullable
    - `recentResults` MonitorResult[]
      - `id` string, uuid
      - `monitorId` string, uuid
      - `checkedAt` string, date-time
      - `location` string
      - `status` 'up' | 'down' | 'error' | 'timeout'
      - `responseTimeMs` integer, nullable — Response time in milliseconds
      - `details` MonitorResultDetails
        - `statusCode` integer, nullable
        - `statusText` string, nullable
        - `errorMessage` string, nullable
        - `responseHeaders` object
        - `responseBodySnippet` string, nullable
        - `ipAddress` string, nullable
        - `location` string, nullable
        - `sslCertificate` object
          - `valid` boolean
          - `issuer` string, nullable
          - `subject` string, nullable
          - `validFrom` string, nullable
          - `validTo` string, nullable
          - `daysRemaining` integer, nullable
      - `isUp` boolean
      - `isStatusChange` boolean
      - `consecutiveFailureCount` integer
      - `consecutiveSuccessCount` integer
      - `alertsSentForFailure` integer
      - `alertsSentForRecovery` integer
      - `testExecutionId` string, nullable
      - `testReportS3Url` string, nullable
      - `executionGroupId` string, nullable
    - `createdAt` string, date-time, nullable
    - `updatedAt` string, date-time, nullable

## Other responses

- `401` — Authentication required or token invalid

---

[API](https://skmtc.net/supercheck-io/apis/supercheck-api.md) · [All operations](https://skmtc.net/supercheck-io/apis/supercheck-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/supercheck-io/supercheck-api/versions/81782deccf0e/schema)
