---
title: "Retrieve a check"
method: GET
path: "/v2/checks/{id}"
tags: ["Checks"]
---

# Retrieve a check

`GET /v2/checks/{id}`

Show details of a specific API or browser check.

Unlike `/v1`, this endpoint does not return the flat `project`, `logicalId`, `member` and `pending` fields. A check can be managed by more than one project and each of those fields can name only one of them; `projectBindings` reports every binding, and is identical on `/v1` and `/v2`.

Versioning is per endpoint. Only endpoints whose response or payload changed have a `/v2`; everything else remains on `/v1` and is unaffected. In particular the check groups themselves, and creating, updating and deleting checks, are unchanged and stay on `/v1`.

## Path parameters

- `id` string, uuid, required

## Query parameters

- `includeDependencies` boolean — Include check dependencies in the response
- `applyGroupSettings` boolean — Checks that belong to a group are returned with group settings applied.

## Headers

- `x-checkly-account` string, uuid — Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general

## Response `200`

Successful

- union
  - ChecksV2HeartbeatCheck
    - `name` string, required
    - `activated` boolean
    - `muted` boolean
    - `locations` string[], nullable
    - `tags` string[]
    - `alertSettings` ChecksV1AlertSettings, nullable
      - `escalationType` 'RUN_BASED' | 'TIME_BASED'
      - `reminders` object
        - `amount` 0 | 1 | 2 | 3 | 4 | 5 | 100000
        - `interval` 1 | 2 | 3 | 4 | 5 | 10 | 15 | 30
      - `sslCertificates` object
        - `enabled` boolean
        - `alertThreshold` integer
      - `runBasedEscalation` ChecksV1AlertSettingsRunBasedEscalation
        - `failedRunThreshold` 1 | 2 | 3 | 4 | 5
      - `timeBasedEscalation` ChecksV1AlertSettingsTimeBasedEscalation
        - `minutesFailingThreshold` 5 | 10 | 15 | 30
      - `parallelRunFailureThreshold` object
        - `enabled` boolean
        - `percentage` 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100
    - `useGlobalAlertSettings` boolean
    - `groupId` number, nullable
    - `groupOrder` number, nullable
    - `alertChannelSubscriptions` ChecksV1AlertChannelSubscription[]
      - `alertChannelId` number, required
      - `activated` boolean, required
    - `triggerIncident` ChecksV1TriggerIncident, nullable
      - `serviceId` string, uuid, required
      - `severity` 'CRITICAL' | 'MAJOR' | 'MEDIUM' | 'MINOR', required
      - `name` string, required
      - `description` string, required
      - `notifySubscribers` boolean, required
    - `runParallel` boolean
    - `description` string, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1 — The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required — The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
      - `references` ProjectBindingV1[], required — Projects that use this resource without owning it; their deploys leave it alone. Empty when there are none.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
    - `privateLocations` string[], nullable
    - `checkType` 'HEARTBEAT'
    - `heartbeat` ChecksV1Heartbeat
      - `period` number, required — Interval expected between pings.
      - `periodUnit` 'seconds' | 'minutes' | 'hours' | 'days', required
      - `grace` number, required — Grace added to the period.
      - `graceUnit` 'seconds' | 'minutes' | 'hours' | 'days', required
      - `pingToken` string, nullable — UUID token used to build a unique ping URL.
      - `pingUrl` string
  - ChecksV2PlaywrightCheck
    - `name` string, required
    - `activated` boolean
    - `muted` boolean
    - `locations` string[], nullable
    - `tags` string[]
    - `alertSettings` ChecksV1AlertSettings, nullable
      - `escalationType` 'RUN_BASED' | 'TIME_BASED'
      - `reminders` object
        - `amount` 0 | 1 | 2 | 3 | 4 | 5 | 100000
        - `interval` 1 | 2 | 3 | 4 | 5 | 10 | 15 | 30
      - `sslCertificates` object
        - `enabled` boolean
        - `alertThreshold` integer
      - `runBasedEscalation` ChecksV1AlertSettingsRunBasedEscalation
        - `failedRunThreshold` 1 | 2 | 3 | 4 | 5
      - `timeBasedEscalation` ChecksV1AlertSettingsTimeBasedEscalation
        - `minutesFailingThreshold` 5 | 10 | 15 | 30
      - `parallelRunFailureThreshold` object
        - `enabled` boolean
        - `percentage` 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100
    - `useGlobalAlertSettings` boolean
    - `groupId` number, nullable
    - `groupOrder` number, nullable
    - `alertChannelSubscriptions` ChecksV1AlertChannelSubscription[]
      - `alertChannelId` number, required
      - `activated` boolean, required
    - `triggerIncident` ChecksV1TriggerIncident, nullable
      - `serviceId` string, uuid, required
      - `severity` 'CRITICAL' | 'MAJOR' | 'MEDIUM' | 'MINOR', required
      - `name` string, required
      - `description` string, required
      - `notifySubscribers` boolean, required
    - `runParallel` boolean
    - `description` string, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1 — The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required — The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
      - `references` ProjectBindingV1[], required — Projects that use this resource without owning it; their deploys leave it alone. Empty when there are none.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
    - `privateLocations` string[], nullable
    - `checkType` 'PLAYWRIGHT'
    - `frequency` 1 | 2 | 5 | 10 | 15 | 30 | 60 | 120 | 180 | 360 | 720 | 1440
    - `cacheHash` string, nullable
    - `playwrightVersion` string, nullable
    - `workingDir` string, nullable
    - `testCommand` string
    - `installCommand` string
    - `browsers` string[]
    - `environmentVariables` ChecksV1EnvironmentVariable[], nullable
      - `key` string, required
      - `value` string, nullable, required
      - `locked` boolean
      - `secret` boolean
    - `codeBundlePath` string, required
    - `engine` union
      - 'node' | 'bun'
      - unknown
    - `engineVersion` string, nullable
  - ChecksV2IcmpMonitor
    - `name` string, required
    - `activated` boolean
    - `muted` boolean
    - `doubleCheck` boolean
    - `shouldFail` boolean
    - `locations` string[], nullable
    - `tags` string[]
    - `alertSettings` ChecksV1AlertSettings, nullable
      - `escalationType` 'RUN_BASED' | 'TIME_BASED'
      - `reminders` object
        - `amount` 0 | 1 | 2 | 3 | 4 | 5 | 100000
        - `interval` 1 | 2 | 3 | 4 | 5 | 10 | 15 | 30
      - `sslCertificates` object
        - `enabled` boolean
        - `alertThreshold` integer
      - `runBasedEscalation` ChecksV1AlertSettingsRunBasedEscalation
        - `failedRunThreshold` 1 | 2 | 3 | 4 | 5
      - `timeBasedEscalation` ChecksV1AlertSettingsTimeBasedEscalation
        - `minutesFailingThreshold` 5 | 10 | 15 | 30
      - `parallelRunFailureThreshold` object
        - `enabled` boolean
        - `percentage` 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100
    - `useGlobalAlertSettings` boolean
    - `groupId` number, nullable
    - `groupOrder` number, nullable
    - `runtimeId` '2026.04' | '2025.04' | '2024.09' | '2024.02' | '2023.09' | '2023.02' | '2022.10' | 'null', nullable
    - `alertChannelSubscriptions` ChecksV1AlertChannelSubscription[]
      - `alertChannelId` number, required
      - `activated` boolean, required
    - `retryStrategy` ChecksV1RetryStrategy, nullable
      - `type` 'FIXED' | 'LINEAR' | 'EXPONENTIAL' | 'SINGLE_RETRY', required
      - `baseBackoffSeconds` number
      - `sameRegion` boolean
      - `maxRetries` number
      - `maxDurationSeconds` number
      - `onlyOn` string[]
    - `triggerIncident` ChecksV1TriggerIncident, nullable
      - `serviceId` string, uuid, required
      - `severity` 'CRITICAL' | 'MAJOR' | 'MEDIUM' | 'MINOR', required
      - `name` string, required
      - `description` string, required
      - `notifySubscribers` boolean, required
    - `runParallel` boolean
    - `description` string, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1 — The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required — The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
      - `references` ProjectBindingV1[], required — Projects that use this resource without owning it; their deploys leave it alone. Empty when there are none.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
    - `privateLocations` string[], nullable
    - `frequency` 0 | 1 | 2 | 5 | 10 | 15 | 30 | 60 | 120 | 180 | 360 | 720 | 1440
    - `frequencyOffset` integer
    - `checkType` 'ICMP'
    - `request` ChecksV1IcmpRequest
      - `hostname` string, required
      - `ipFamily` 'IPv4' | 'IPv6' | 'null', nullable
      - `pingCount` integer, nullable
      - `assertions` ChecksV1IcmpAssertion[]
        - `source` 'LATENCY' | 'JSON_RESPONSE'
        - `comparison` 'EQUALS' | 'NOT_EQUALS' | 'IS_EMPTY' | 'NOT_EMPTY' | 'GREATER_THAN' | 'LESS_THAN' | 'CONTAINS' | 'NOT_CONTAINS' | 'IS_NULL' | 'NOT_NULL'
        - `property` string
        - `target` string
        - `regex` string, nullable
    - `degradedPacketLossThreshold` number, nullable
    - `maxPacketLossThreshold` number, nullable
  - ChecksV2TracerouteMonitor
    - `name` string, required
    - `activated` boolean
    - `muted` boolean
    - `doubleCheck` boolean
    - `shouldFail` boolean
    - `locations` string[], nullable
    - `tags` string[]
    - `alertSettings` ChecksV1AlertSettings, nullable
      - `escalationType` 'RUN_BASED' | 'TIME_BASED'
      - `reminders` object
        - `amount` 0 | 1 | 2 | 3 | 4 | 5 | 100000
        - `interval` 1 | 2 | 3 | 4 | 5 | 10 | 15 | 30
      - `sslCertificates` object
        - `enabled` boolean
        - `alertThreshold` integer
      - `runBasedEscalation` ChecksV1AlertSettingsRunBasedEscalation
        - `failedRunThreshold` 1 | 2 | 3 | 4 | 5
      - `timeBasedEscalation` ChecksV1AlertSettingsTimeBasedEscalation
        - `minutesFailingThreshold` 5 | 10 | 15 | 30
      - `parallelRunFailureThreshold` object
        - `enabled` boolean
        - `percentage` 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100
    - `useGlobalAlertSettings` boolean
    - `groupId` number, nullable
    - `groupOrder` number, nullable
    - `runtimeId` '2026.04' | '2025.04' | '2024.09' | '2024.02' | '2023.09' | '2023.02' | '2022.10' | 'null', nullable
    - `alertChannelSubscriptions` ChecksV1AlertChannelSubscription[]
      - `alertChannelId` number, required
      - `activated` boolean, required
    - `retryStrategy` ChecksV1RetryStrategy, nullable
      - `type` 'FIXED' | 'LINEAR' | 'EXPONENTIAL' | 'SINGLE_RETRY', required
      - `baseBackoffSeconds` number
      - `sameRegion` boolean
      - `maxRetries` number
      - `maxDurationSeconds` number
      - `onlyOn` string[]
    - `triggerIncident` ChecksV1TriggerIncident, nullable
      - `serviceId` string, uuid, required
      - `severity` 'CRITICAL' | 'MAJOR' | 'MEDIUM' | 'MINOR', required
      - `name` string, required
      - `description` string, required
      - `notifySubscribers` boolean, required
    - `runParallel` boolean
    - `description` string, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1 — The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required — The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
      - `references` ProjectBindingV1[], required — Projects that use this resource without owning it; their deploys leave it alone. Empty when there are none.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
    - `privateLocations` string[], nullable
    - `frequency` 0 | 1 | 2 | 5 | 10 | 15 | 30 | 60 | 120 | 180 | 360 | 720 | 1440
    - `frequencyOffset` integer
    - `degradedResponseTime` number, nullable
    - `maxResponseTime` number, nullable
    - `checkType` 'TRACEROUTE'
    - `request` ChecksV1TracerouteRequestRead
      - `url` string
      - `protocol` 'TCP' | 'ICMP' | 'UDP' | 'SCTP' | 'null', nullable
      - `port` integer, nullable
      - `ipFamily` 'IPv4' | 'IPv6' | 'null', nullable
      - `maxHops` integer, nullable
      - `maxUnknownHops` integer, nullable
      - `ptrLookup` boolean, nullable
      - `timeout` integer, nullable
      - `assertions` ChecksV1TracerouteAssertionRead[]
        - `source` 'RESPONSE_TIME' | 'HOP_COUNT' | 'PACKET_LOSS'
        - `comparison` string
        - `property` string
        - `target` string
        - `regex` string, nullable
  - ChecksV2GrpcMonitor
    - `name` string, required
    - `activated` boolean
    - `muted` boolean
    - `doubleCheck` boolean
    - `shouldFail` boolean
    - `locations` string[], nullable
    - `tags` string[]
    - `alertSettings` ChecksV1AlertSettings, nullable
      - `escalationType` 'RUN_BASED' | 'TIME_BASED'
      - `reminders` object
        - `amount` 0 | 1 | 2 | 3 | 4 | 5 | 100000
        - `interval` 1 | 2 | 3 | 4 | 5 | 10 | 15 | 30
      - `sslCertificates` object
        - `enabled` boolean
        - `alertThreshold` integer
      - `runBasedEscalation` ChecksV1AlertSettingsRunBasedEscalation
        - `failedRunThreshold` 1 | 2 | 3 | 4 | 5
      - `timeBasedEscalation` ChecksV1AlertSettingsTimeBasedEscalation
        - `minutesFailingThreshold` 5 | 10 | 15 | 30
      - `parallelRunFailureThreshold` object
        - `enabled` boolean
        - `percentage` 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100
    - `useGlobalAlertSettings` boolean
    - `groupId` number, nullable
    - `groupOrder` number, nullable
    - `runtimeId` '2026.04' | '2025.04' | '2024.09' | '2024.02' | '2023.09' | '2023.02' | '2022.10' | 'null', nullable
    - `alertChannelSubscriptions` ChecksV1AlertChannelSubscription[]
      - `alertChannelId` number, required
      - `activated` boolean, required
    - `retryStrategy` ChecksV1RetryStrategy, nullable
      - `type` 'FIXED' | 'LINEAR' | 'EXPONENTIAL' | 'SINGLE_RETRY', required
      - `baseBackoffSeconds` number
      - `sameRegion` boolean
      - `maxRetries` number
      - `maxDurationSeconds` number
      - `onlyOn` string[]
    - `triggerIncident` ChecksV1TriggerIncident, nullable
      - `serviceId` string, uuid, required
      - `severity` 'CRITICAL' | 'MAJOR' | 'MEDIUM' | 'MINOR', required
      - `name` string, required
      - `description` string, required
      - `notifySubscribers` boolean, required
    - `runParallel` boolean
    - `description` string, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1 — The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required — The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
      - `references` ProjectBindingV1[], required — Projects that use this resource without owning it; their deploys leave it alone. Empty when there are none.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
    - `privateLocations` string[], nullable
    - `frequency` 0 | 1 | 2 | 5 | 10 | 15 | 30 | 60 | 120 | 180 | 360 | 720 | 1440
    - `frequencyOffset` integer
    - `degradedResponseTime` number, nullable
    - `maxResponseTime` number, nullable
    - `checkType` 'GRPC'
    - `request` ChecksV1GrpcRequestRead
      - `url` string
      - `port` union
        - integer
        - string
      - `ipFamily` 'IPv4' | 'IPv6' | 'null', nullable
      - `skipSSL` boolean
      - `timeout` integer, nullable
      - `grpcConfig` ChecksV1GrpcConfigRead
        - `mode` 'BEHAVIOR' | 'HEALTH'
        - `tls` boolean
        - `metadata` ChecksV1GrpcMetadataItem[]
          - `key` string, required
          - `value` string, required
        - `service` string, nullable
        - `encoding` union
          - 'PROTOBUF' | 'FLATBUFFERS'
          - ''
          - unknown
        - `bfbsContent` string, nullable
        - `serviceDefinition` union
          - 'REFLECTION' | 'PROTO_FILE'
          - ''
          - unknown
        - `method` string, nullable
        - `protoContent` string, nullable
        - `message` string, nullable
      - `assertions` ChecksV1GrpcAssertionRead[]
        - `source` 'RESPONSE_TIME' | 'GRPC_RESPONSE' | 'TEXT_BODY' | 'GRPC_METADATA' | 'GRPC_HEALTHCHECK_STATUS' | 'GRPC_STATUS_CODE'
        - `comparison` 'EQUALS' | 'NOT_EQUALS' | 'HAS_KEY' | 'NOT_HAS_KEY' | 'HAS_VALUE' | 'NOT_HAS_VALUE' | 'IS_EMPTY' | 'NOT_EMPTY' | 'GREATER_THAN' | 'LESS_THAN' | 'CONTAINS' | 'NOT_CONTAINS' | 'IS_NULL' | 'NOT_NULL'
        - `property` string
        - `target` string
        - `regex` string, nullable
  - ChecksV2SslMonitor
    - `name` string, required
    - `activated` boolean
    - `muted` boolean
    - `doubleCheck` boolean
    - `shouldFail` boolean
    - `locations` string[], nullable
    - `tags` string[]
    - `alertSettings` ChecksV1AlertSettings, nullable
      - `escalationType` 'RUN_BASED' | 'TIME_BASED'
      - `reminders` object
        - `amount` 0 | 1 | 2 | 3 | 4 | 5 | 100000
        - `interval` 1 | 2 | 3 | 4 | 5 | 10 | 15 | 30
      - `sslCertificates` object
        - `enabled` boolean
        - `alertThreshold` integer
      - `runBasedEscalation` ChecksV1AlertSettingsRunBasedEscalation
        - `failedRunThreshold` 1 | 2 | 3 | 4 | 5
      - `timeBasedEscalation` ChecksV1AlertSettingsTimeBasedEscalation
        - `minutesFailingThreshold` 5 | 10 | 15 | 30
      - `parallelRunFailureThreshold` object
        - `enabled` boolean
        - `percentage` 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100
    - `useGlobalAlertSettings` boolean
    - `groupId` number, nullable
    - `groupOrder` number, nullable
    - `runtimeId` '2026.04' | '2025.04' | '2024.09' | '2024.02' | '2023.09' | '2023.02' | '2022.10' | 'null', nullable
    - `alertChannelSubscriptions` ChecksV1AlertChannelSubscription[]
      - `alertChannelId` number, required
      - `activated` boolean, required
    - `retryStrategy` ChecksV1RetryStrategy, nullable
      - `type` 'FIXED' | 'LINEAR' | 'EXPONENTIAL' | 'SINGLE_RETRY', required
      - `baseBackoffSeconds` number
      - `sameRegion` boolean
      - `maxRetries` number
      - `maxDurationSeconds` number
      - `onlyOn` string[]
    - `triggerIncident` ChecksV1TriggerIncident, nullable
      - `serviceId` string, uuid, required
      - `severity` 'CRITICAL' | 'MAJOR' | 'MEDIUM' | 'MINOR', required
      - `name` string, required
      - `description` string, required
      - `notifySubscribers` boolean, required
    - `runParallel` boolean
    - `description` string, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1 — The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required — The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
      - `references` ProjectBindingV1[], required — Projects that use this resource without owning it; their deploys leave it alone. Empty when there are none.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
    - `privateLocations` string[], nullable
    - `frequency` 0 | 1 | 2 | 5 | 10 | 15 | 30 | 60 | 120 | 180 | 360 | 720 | 1440
    - `frequencyOffset` integer
    - `degradedResponseTime` number, nullable
    - `maxResponseTime` number, nullable
    - `checkType` 'SSL'
    - `request` ChecksV1SslRequestRead
      - `sslConfig` ChecksV1SslConfigRead, required
        - `hostname` string, required
        - `port` integer
        - `serverName` union
          - string
          - ''
          - unknown
        - `ipFamily` 'IPv4' | 'IPv6'
        - `skipChainValidation` boolean
        - `handshakeTimeoutMs` integer
        - `alertDaysBeforeExpiry` integer
        - `securityBaseline` ChecksV1SslSecurityBaselineRead
          - `enabled` boolean
          - `minTLSVersion` object
            - `value` 'TLS1.2' | 'TLS1.3'
            - `severity` 'fail' | 'degrade' | 'ignore'
          - `minKeySizeBits` object
            - `value` integer
            - `severity` 'fail' | 'degrade' | 'ignore'
          - `weakSignatureAlgorithm` object
            - `severity` 'fail' | 'degrade' | 'ignore'
          - `weakCipherSuite` object
            - `severity` 'fail' | 'degrade' | 'ignore'
          - `knownBadCA` object
            - `severity` 'fail' | 'degrade' | 'ignore'
          - `recommendedTLSVersion` object
            - `value` 'TLS1.2' | 'TLS1.3'
            - `severity` 'fail' | 'degrade' | 'ignore'
          - `recommendedKeySizeBits` object
            - `value` integer
            - `severity` 'fail' | 'degrade' | 'ignore'
          - `ocspMustStapleRespected` object
            - `severity` 'fail' | 'degrade' | 'ignore'
          - `sctPresent` object
            - `severity` 'fail' | 'degrade' | 'ignore'
        - `clientCertificateMode` 'auto' | 'explicit'
      - `sslClientCertificateId` string, uuid, nullable
      - `assertions` ChecksV1SslAssertionPatch[]
        - `source` 'CERTIFICATE' | 'CONNECTION' | 'RESPONSE_TIME' | 'JSON_RESPONSE' | 'TEXT_RESPONSE', required
        - `property` string
        - `comparison` string, required
        - `target` string
        - `regex` string, nullable
  - ChecksV2ApiCheck
    - `name` string, required
    - `activated` boolean
    - `muted` boolean
    - `doubleCheck` boolean
    - `shouldFail` boolean
    - `locations` string[], nullable
    - `tags` string[]
    - `alertSettings` ChecksV1AlertSettings, nullable
      - `escalationType` 'RUN_BASED' | 'TIME_BASED'
      - `reminders` object
        - `amount` 0 | 1 | 2 | 3 | 4 | 5 | 100000
        - `interval` 1 | 2 | 3 | 4 | 5 | 10 | 15 | 30
      - `sslCertificates` object
        - `enabled` boolean
        - `alertThreshold` integer
      - `runBasedEscalation` ChecksV1AlertSettingsRunBasedEscalation
        - `failedRunThreshold` 1 | 2 | 3 | 4 | 5
      - `timeBasedEscalation` ChecksV1AlertSettingsTimeBasedEscalation
        - `minutesFailingThreshold` 5 | 10 | 15 | 30
      - `parallelRunFailureThreshold` object
        - `enabled` boolean
        - `percentage` 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100
    - `useGlobalAlertSettings` boolean
    - `groupId` number, nullable
    - `groupOrder` number, nullable
    - `runtimeId` '2026.04' | '2025.04' | '2024.09' | '2024.02' | '2023.09' | '2023.02' | '2022.10' | 'null', nullable
    - `alertChannelSubscriptions` ChecksV1AlertChannelSubscription[]
      - `alertChannelId` number, required
      - `activated` boolean, required
    - `retryStrategy` ChecksV1RetryStrategy, nullable
      - `type` 'FIXED' | 'LINEAR' | 'EXPONENTIAL' | 'SINGLE_RETRY', required
      - `baseBackoffSeconds` number
      - `sameRegion` boolean
      - `maxRetries` number
      - `maxDurationSeconds` number
      - `onlyOn` string[]
    - `triggerIncident` ChecksV1TriggerIncident, nullable
      - `serviceId` string, uuid, required
      - `severity` 'CRITICAL' | 'MAJOR' | 'MEDIUM' | 'MINOR', required
      - `name` string, required
      - `description` string, required
      - `notifySubscribers` boolean, required
    - `runParallel` boolean
    - `description` string, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1 — The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required — The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
      - `references` ProjectBindingV1[], required — Projects that use this resource without owning it; their deploys leave it alone. Empty when there are none.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
    - `privateLocations` string[], nullable
    - `frequency` 0 | 1 | 2 | 5 | 10 | 15 | 30 | 60 | 120 | 180 | 360 | 720 | 1440
    - `frequencyOffset` integer
    - `degradedResponseTime` number, nullable
    - `maxResponseTime` number, nullable
    - `checkType` 'API'
    - `request` ChecksV1ApiRequest
      - `method` 'GET' | 'POST' | 'PUT' | 'HEAD' | 'DELETE' | 'PATCH', required
      - `url` string, required
      - `followRedirects` boolean
      - `skipSSL` boolean
      - `ipFamily` 'IPv4' | 'IPv6'
      - `body` string
      - `bodyType` 'JSON' | 'FORM' | 'RAW' | 'GRAPHQL' | 'NONE'
      - `headers` ChecksV1KeyValue[]
        - `key` string, required
        - `value` string, required
        - `locked` boolean
      - `queryParameters` ChecksV1KeyValue[]
        - `key` string, required
        - `value` string, required
        - `locked` boolean
      - `assertions` ChecksV1ApiAssertion[]
        - `source` 'STATUS_CODE' | 'JSON_BODY' | 'HEADERS' | 'TEXT_BODY' | 'RESPONSE_TIME'
        - `comparison` 'EQUALS' | 'NOT_EQUALS' | 'HAS_KEY' | 'NOT_HAS_KEY' | 'HAS_VALUE' | 'NOT_HAS_VALUE' | 'IS_EMPTY' | 'NOT_EMPTY' | 'GREATER_THAN' | 'LESS_THAN' | 'CONTAINS' | 'NOT_CONTAINS' | 'IS_NULL' | 'NOT_NULL'
        - `property` string
        - `target` string
        - `regex` string, nullable
      - `basicAuth` ChecksV1BasicAuth, nullable
        - `username` string, required
        - `password` string, required
    - `tearDownSnippetId` number, nullable
    - `setupSnippetId` number, nullable
    - `localSetupScript` string, nullable
    - `localTearDownScript` string, nullable
  - ChecksV2TcpCheck
    - `name` string, required
    - `activated` boolean
    - `muted` boolean
    - `doubleCheck` boolean
    - `shouldFail` boolean
    - `locations` string[], nullable
    - `tags` string[]
    - `alertSettings` ChecksV1AlertSettings, nullable
      - `escalationType` 'RUN_BASED' | 'TIME_BASED'
      - `reminders` object
        - `amount` 0 | 1 | 2 | 3 | 4 | 5 | 100000
        - `interval` 1 | 2 | 3 | 4 | 5 | 10 | 15 | 30
      - `sslCertificates` object
        - `enabled` boolean
        - `alertThreshold` integer
      - `runBasedEscalation` ChecksV1AlertSettingsRunBasedEscalation
        - `failedRunThreshold` 1 | 2 | 3 | 4 | 5
      - `timeBasedEscalation` ChecksV1AlertSettingsTimeBasedEscalation
        - `minutesFailingThreshold` 5 | 10 | 15 | 30
      - `parallelRunFailureThreshold` object
        - `enabled` boolean
        - `percentage` 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100
    - `useGlobalAlertSettings` boolean
    - `groupId` number, nullable
    - `groupOrder` number, nullable
    - `runtimeId` '2026.04' | '2025.04' | '2024.09' | '2024.02' | '2023.09' | '2023.02' | '2022.10' | 'null', nullable
    - `alertChannelSubscriptions` ChecksV1AlertChannelSubscription[]
      - `alertChannelId` number, required
      - `activated` boolean, required
    - `retryStrategy` ChecksV1RetryStrategy, nullable
      - `type` 'FIXED' | 'LINEAR' | 'EXPONENTIAL' | 'SINGLE_RETRY', required
      - `baseBackoffSeconds` number
      - `sameRegion` boolean
      - `maxRetries` number
      - `maxDurationSeconds` number
      - `onlyOn` string[]
    - `triggerIncident` ChecksV1TriggerIncident, nullable
      - `serviceId` string, uuid, required
      - `severity` 'CRITICAL' | 'MAJOR' | 'MEDIUM' | 'MINOR', required
      - `name` string, required
      - `description` string, required
      - `notifySubscribers` boolean, required
    - `runParallel` boolean
    - `description` string, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1 — The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required — The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
      - `references` ProjectBindingV1[], required — Projects that use this resource without owning it; their deploys leave it alone. Empty when there are none.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
    - `privateLocations` string[], nullable
    - `frequency` 0 | 1 | 2 | 5 | 10 | 15 | 30 | 60 | 120 | 180 | 360 | 720 | 1440
    - `frequencyOffset` integer
    - `degradedResponseTime` number, nullable
    - `maxResponseTime` number, nullable
    - `checkType` 'TCP'
    - `request` ChecksV1TcpRequest
      - `url` string
      - `hostname` string
      - `port` number, required
      - `body` string, nullable
      - `data` string, nullable
      - `assertions` ChecksV1TcpAssertion[]
        - `source` 'RESPONSE_DATA' | 'RESPONSE_TIME'
        - `comparison` 'EQUALS' | 'NOT_EQUALS' | 'IS_EMPTY' | 'NOT_EMPTY' | 'LESS_THAN' | 'GREATER_THAN' | 'CONTAINS' | 'NOT_CONTAINS'
        - `property` string
        - `target` string
        - `regex` string, nullable
      - `ipFamily` 'IPv4' | 'IPv6'
  - ChecksV2UrlMonitor
    - `name` string, required
    - `activated` boolean
    - `muted` boolean
    - `doubleCheck` boolean
    - `shouldFail` boolean
    - `locations` string[], nullable
    - `tags` string[]
    - `alertSettings` ChecksV1AlertSettings, nullable
      - `escalationType` 'RUN_BASED' | 'TIME_BASED'
      - `reminders` object
        - `amount` 0 | 1 | 2 | 3 | 4 | 5 | 100000
        - `interval` 1 | 2 | 3 | 4 | 5 | 10 | 15 | 30
      - `sslCertificates` object
        - `enabled` boolean
        - `alertThreshold` integer
      - `runBasedEscalation` ChecksV1AlertSettingsRunBasedEscalation
        - `failedRunThreshold` 1 | 2 | 3 | 4 | 5
      - `timeBasedEscalation` ChecksV1AlertSettingsTimeBasedEscalation
        - `minutesFailingThreshold` 5 | 10 | 15 | 30
      - `parallelRunFailureThreshold` object
        - `enabled` boolean
        - `percentage` 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100
    - `useGlobalAlertSettings` boolean
    - `groupId` number, nullable
    - `groupOrder` number, nullable
    - `runtimeId` '2026.04' | '2025.04' | '2024.09' | '2024.02' | '2023.09' | '2023.02' | '2022.10' | 'null', nullable
    - `alertChannelSubscriptions` ChecksV1AlertChannelSubscription[]
      - `alertChannelId` number, required
      - `activated` boolean, required
    - `retryStrategy` ChecksV1RetryStrategy, nullable
      - `type` 'FIXED' | 'LINEAR' | 'EXPONENTIAL' | 'SINGLE_RETRY', required
      - `baseBackoffSeconds` number
      - `sameRegion` boolean
      - `maxRetries` number
      - `maxDurationSeconds` number
      - `onlyOn` string[]
    - `triggerIncident` ChecksV1TriggerIncident, nullable
      - `serviceId` string, uuid, required
      - `severity` 'CRITICAL' | 'MAJOR' | 'MEDIUM' | 'MINOR', required
      - `name` string, required
      - `description` string, required
      - `notifySubscribers` boolean, required
    - `runParallel` boolean
    - `description` string, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1 — The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required — The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
      - `references` ProjectBindingV1[], required — Projects that use this resource without owning it; their deploys leave it alone. Empty when there are none.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
    - `privateLocations` string[], nullable
    - `frequency` 0 | 1 | 2 | 5 | 10 | 15 | 30 | 60 | 120 | 180 | 360 | 720 | 1440
    - `frequencyOffset` integer
    - `degradedResponseTime` number, nullable
    - `maxResponseTime` number, nullable
    - `checkType` 'URL'
    - `request` ChecksV1UrlRequest
      - `method` 'GET'
      - `url` string, required
      - `followRedirects` boolean
      - `skipSSL` boolean
      - `ipFamily` 'IPv4' | 'IPv6'
      - `assertions` ChecksV1UrlAssertion[]
        - `source` 'STATUS_CODE'
        - `comparison` 'EQUALS' | 'NOT_EQUALS' | 'LESS_THAN' | 'GREATER_THAN'
        - `property` string
        - `target` string
        - `regex` string, nullable
  - ChecksV2DnsMonitor
    - `name` string, required
    - `activated` boolean
    - `muted` boolean
    - `doubleCheck` boolean
    - `shouldFail` boolean
    - `locations` string[], nullable
    - `tags` string[]
    - `alertSettings` ChecksV1AlertSettings, nullable
      - `escalationType` 'RUN_BASED' | 'TIME_BASED'
      - `reminders` object
        - `amount` 0 | 1 | 2 | 3 | 4 | 5 | 100000
        - `interval` 1 | 2 | 3 | 4 | 5 | 10 | 15 | 30
      - `sslCertificates` object
        - `enabled` boolean
        - `alertThreshold` integer
      - `runBasedEscalation` ChecksV1AlertSettingsRunBasedEscalation
        - `failedRunThreshold` 1 | 2 | 3 | 4 | 5
      - `timeBasedEscalation` ChecksV1AlertSettingsTimeBasedEscalation
        - `minutesFailingThreshold` 5 | 10 | 15 | 30
      - `parallelRunFailureThreshold` object
        - `enabled` boolean
        - `percentage` 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100
    - `useGlobalAlertSettings` boolean
    - `groupId` number, nullable
    - `groupOrder` number, nullable
    - `runtimeId` '2026.04' | '2025.04' | '2024.09' | '2024.02' | '2023.09' | '2023.02' | '2022.10' | 'null', nullable
    - `alertChannelSubscriptions` ChecksV1AlertChannelSubscription[]
      - `alertChannelId` number, required
      - `activated` boolean, required
    - `retryStrategy` ChecksV1RetryStrategy, nullable
      - `type` 'FIXED' | 'LINEAR' | 'EXPONENTIAL' | 'SINGLE_RETRY', required
      - `baseBackoffSeconds` number
      - `sameRegion` boolean
      - `maxRetries` number
      - `maxDurationSeconds` number
      - `onlyOn` string[]
    - `triggerIncident` ChecksV1TriggerIncident, nullable
      - `serviceId` string, uuid, required
      - `severity` 'CRITICAL' | 'MAJOR' | 'MEDIUM' | 'MINOR', required
      - `name` string, required
      - `description` string, required
      - `notifySubscribers` boolean, required
    - `runParallel` boolean
    - `description` string, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1 — The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required — The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
      - `references` ProjectBindingV1[], required — Projects that use this resource without owning it; their deploys leave it alone. Empty when there are none.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
    - `privateLocations` string[], nullable
    - `frequency` 0 | 1 | 2 | 5 | 10 | 15 | 30 | 60 | 120 | 180 | 360 | 720 | 1440
    - `frequencyOffset` integer
    - `degradedResponseTime` number, nullable
    - `maxResponseTime` number, nullable
    - `checkType` 'DNS'
    - `request` ChecksV1DnsRequest
      - `query` string, required
      - `nameServer` string
      - `port` number
      - `recordType` 'A' | 'AAAA' | 'CNAME' | 'MX' | 'TXT' | 'SOA' | 'NS' | 'HTTPS', required
      - `assertions` ChecksV1DnsAssertion[]
        - `source` 'RESPONSE_TIME' | 'RESPONSE_CODE' | 'TEXT_ANSWER' | 'JSON_ANSWER'
        - `comparison` 'EQUALS' | 'NOT_EQUALS' | 'HAS_KEY' | 'NOT_HAS_KEY' | 'HAS_VALUE' | 'NOT_HAS_VALUE' | 'IS_EMPTY' | 'NOT_EMPTY' | 'GREATER_THAN' | 'LESS_THAN' | 'CONTAINS' | 'NOT_CONTAINS' | 'IS_NULL' | 'NOT_NULL'
        - `property` string
        - `target` string
        - `regex` string, nullable
      - `protocol` 'TCP' | 'UDP'
  - ChecksV2BrowserCheck
    - `name` string, required
    - `activated` boolean
    - `muted` boolean
    - `doubleCheck` boolean
    - `shouldFail` boolean
    - `locations` string[], nullable
    - `tags` string[]
    - `alertSettings` ChecksV1AlertSettings, nullable
      - `escalationType` 'RUN_BASED' | 'TIME_BASED'
      - `reminders` object
        - `amount` 0 | 1 | 2 | 3 | 4 | 5 | 100000
        - `interval` 1 | 2 | 3 | 4 | 5 | 10 | 15 | 30
      - `sslCertificates` object
        - `enabled` boolean
        - `alertThreshold` integer
      - `runBasedEscalation` ChecksV1AlertSettingsRunBasedEscalation
        - `failedRunThreshold` 1 | 2 | 3 | 4 | 5
      - `timeBasedEscalation` ChecksV1AlertSettingsTimeBasedEscalation
        - `minutesFailingThreshold` 5 | 10 | 15 | 30
      - `parallelRunFailureThreshold` object
        - `enabled` boolean
        - `percentage` 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100
    - `useGlobalAlertSettings` boolean
    - `groupId` number, nullable
    - `groupOrder` number, nullable
    - `runtimeId` '2026.04' | '2025.04' | '2024.09' | '2024.02' | '2023.09' | '2023.02' | '2022.10' | 'null', nullable
    - `alertChannelSubscriptions` ChecksV1AlertChannelSubscription[]
      - `alertChannelId` number, required
      - `activated` boolean, required
    - `retryStrategy` ChecksV1RetryStrategy, nullable
      - `type` 'FIXED' | 'LINEAR' | 'EXPONENTIAL' | 'SINGLE_RETRY', required
      - `baseBackoffSeconds` number
      - `sameRegion` boolean
      - `maxRetries` number
      - `maxDurationSeconds` number
      - `onlyOn` string[]
    - `triggerIncident` ChecksV1TriggerIncident, nullable
      - `serviceId` string, uuid, required
      - `severity` 'CRITICAL' | 'MAJOR' | 'MEDIUM' | 'MINOR', required
      - `name` string, required
      - `description` string, required
      - `notifySubscribers` boolean, required
    - `runParallel` boolean
    - `description` string, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1 — The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required — The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
      - `references` ProjectBindingV1[], required — Projects that use this resource without owning it; their deploys leave it alone. Empty when there are none.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
    - `privateLocations` string[], nullable
    - `checkType` 'BROWSER'
    - `frequency` 1 | 2 | 5 | 10 | 15 | 30 | 60 | 120 | 180 | 360 | 720 | 1440
    - `script` string, nullable, required
    - `sslCheckDomain` string, nullable
    - `environmentVariables` ChecksV1EnvironmentVariable[], nullable
      - `key` string, required
      - `value` string, nullable, required
      - `locked` boolean
      - `secret` boolean
  - ChecksV2MultiStepCheck
    - `name` string, required
    - `activated` boolean
    - `muted` boolean
    - `doubleCheck` boolean
    - `shouldFail` boolean
    - `locations` string[], nullable
    - `tags` string[]
    - `alertSettings` ChecksV1AlertSettings, nullable
      - `escalationType` 'RUN_BASED' | 'TIME_BASED'
      - `reminders` object
        - `amount` 0 | 1 | 2 | 3 | 4 | 5 | 100000
        - `interval` 1 | 2 | 3 | 4 | 5 | 10 | 15 | 30
      - `sslCertificates` object
        - `enabled` boolean
        - `alertThreshold` integer
      - `runBasedEscalation` ChecksV1AlertSettingsRunBasedEscalation
        - `failedRunThreshold` 1 | 2 | 3 | 4 | 5
      - `timeBasedEscalation` ChecksV1AlertSettingsTimeBasedEscalation
        - `minutesFailingThreshold` 5 | 10 | 15 | 30
      - `parallelRunFailureThreshold` object
        - `enabled` boolean
        - `percentage` 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100
    - `useGlobalAlertSettings` boolean
    - `groupId` number, nullable
    - `groupOrder` number, nullable
    - `runtimeId` '2026.04' | '2025.04' | '2024.09' | '2024.02' | '2023.09' | '2023.02' | '2022.10' | 'null', nullable
    - `alertChannelSubscriptions` ChecksV1AlertChannelSubscription[]
      - `alertChannelId` number, required
      - `activated` boolean, required
    - `retryStrategy` ChecksV1RetryStrategy, nullable
      - `type` 'FIXED' | 'LINEAR' | 'EXPONENTIAL' | 'SINGLE_RETRY', required
      - `baseBackoffSeconds` number
      - `sameRegion` boolean
      - `maxRetries` number
      - `maxDurationSeconds` number
      - `onlyOn` string[]
    - `triggerIncident` ChecksV1TriggerIncident, nullable
      - `serviceId` string, uuid, required
      - `severity` 'CRITICAL' | 'MAJOR' | 'MEDIUM' | 'MINOR', required
      - `name` string, required
      - `description` string, required
      - `notifySubscribers` boolean, required
    - `runParallel` boolean
    - `description` string, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1 — The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required — The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
      - `references` ProjectBindingV1[], required — Projects that use this resource without owning it; their deploys leave it alone. Empty when there are none.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
    - `privateLocations` string[], nullable
    - `checkType` 'MULTI_STEP'
    - `frequency` 1 | 2 | 5 | 10 | 15 | 30 | 60 | 120 | 180 | 360 | 720 | 1440
    - `script` string, nullable, required
    - `environmentVariables` ChecksV1EnvironmentVariable[], nullable
      - `key` string, required
      - `value` string, nullable, required
      - `locked` boolean
      - `secret` boolean
  - ChecksV2GenericCheck
    - `name` string, required
    - `activated` boolean
    - `muted` boolean
    - `doubleCheck` boolean
    - `shouldFail` boolean
    - `locations` string[], nullable
    - `tags` string[]
    - `alertSettings` ChecksV1AlertSettings, nullable
      - `escalationType` 'RUN_BASED' | 'TIME_BASED'
      - `reminders` object
        - `amount` 0 | 1 | 2 | 3 | 4 | 5 | 100000
        - `interval` 1 | 2 | 3 | 4 | 5 | 10 | 15 | 30
      - `sslCertificates` object
        - `enabled` boolean
        - `alertThreshold` integer
      - `runBasedEscalation` ChecksV1AlertSettingsRunBasedEscalation
        - `failedRunThreshold` 1 | 2 | 3 | 4 | 5
      - `timeBasedEscalation` ChecksV1AlertSettingsTimeBasedEscalation
        - `minutesFailingThreshold` 5 | 10 | 15 | 30
      - `parallelRunFailureThreshold` object
        - `enabled` boolean
        - `percentage` 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100
    - `useGlobalAlertSettings` boolean
    - `groupId` number, nullable
    - `groupOrder` number, nullable
    - `runtimeId` '2026.04' | '2025.04' | '2024.09' | '2024.02' | '2023.09' | '2023.02' | '2022.10' | 'null', nullable
    - `alertChannelSubscriptions` ChecksV1AlertChannelSubscription[]
      - `alertChannelId` number, required
      - `activated` boolean, required
    - `retryStrategy` ChecksV1RetryStrategy, nullable
      - `type` 'FIXED' | 'LINEAR' | 'EXPONENTIAL' | 'SINGLE_RETRY', required
      - `baseBackoffSeconds` number
      - `sameRegion` boolean
      - `maxRetries` number
      - `maxDurationSeconds` number
      - `onlyOn` string[]
    - `triggerIncident` ChecksV1TriggerIncident, nullable
      - `serviceId` string, uuid, required
      - `severity` 'CRITICAL' | 'MAJOR' | 'MEDIUM' | 'MINOR', required
      - `name` string, required
      - `description` string, required
      - `notifySubscribers` boolean, required
    - `runParallel` boolean
    - `description` string, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1 — The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required — The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
      - `references` ProjectBindingV1[], required — Projects that use this resource without owning it; their deploys leave it alone. Empty when there are none.
        - `project` BindingProjectV1, required — The project this binding is to.
          - `id` string, required — The ID of the project.
          - `logicalId` string, required — The logical ID of the project, as declared in code.
          - `name` string, required — The name of the project.
        - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
          - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
    - `privateLocations` string[], nullable
    - `frequency` 0 | 1 | 2 | 5 | 10 | 15 | 30 | 60 | 120 | 180 | 360 | 720 | 1440
    - `frequencyOffset` integer
    - `degradedResponseTime` number, nullable
    - `maxResponseTime` number, nullable
    - `checkType` 'AGENTIC' | 'API' | 'BROWSER' | 'HEARTBEAT' | 'ICMP' | 'MULTI_STEP' | 'TCP' | 'PLAYWRIGHT' | 'TRACEROUTE' | 'URL' | 'DNS' | 'SSL' | 'GRPC', required
    - `request` union
      - ChecksV1ApiRequest
        - `method` 'GET' | 'POST' | 'PUT' | 'HEAD' | 'DELETE' | 'PATCH', required
        - `url` string, required
        - `followRedirects` boolean
        - `skipSSL` boolean
        - `ipFamily` 'IPv4' | 'IPv6'
        - `body` string
        - `bodyType` 'JSON' | 'FORM' | 'RAW' | 'GRAPHQL' | 'NONE'
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `assertions` ChecksV1ApiAssertion[]
          - `source` 'STATUS_CODE' | 'JSON_BODY' | 'HEADERS' | 'TEXT_BODY' | 'RESPONSE_TIME'
          - `comparison` 'EQUALS' | 'NOT_EQUALS' | 'HAS_KEY' | 'NOT_HAS_KEY' | 'HAS_VALUE' | 'NOT_HAS_VALUE' | 'IS_EMPTY' | 'NOT_EMPTY' | 'GREATER_THAN' | 'LESS_THAN' | 'CONTAINS' | 'NOT_CONTAINS' | 'IS_NULL' | 'NOT_NULL'
          - `property` string
          - `target` string
          - `regex` string, nullable
        - `basicAuth` ChecksV1BasicAuth, nullable
          - `username` string, required
          - `password` string, required
      - ChecksV1TcpRequest
        - `url` string
        - `hostname` string
        - `port` number, required
        - `body` string, nullable
        - `data` string, nullable
        - `assertions` ChecksV1TcpAssertion[]
          - `source` 'RESPONSE_DATA' | 'RESPONSE_TIME'
          - `comparison` 'EQUALS' | 'NOT_EQUALS' | 'IS_EMPTY' | 'NOT_EMPTY' | 'LESS_THAN' | 'GREATER_THAN' | 'CONTAINS' | 'NOT_CONTAINS'
          - `property` string
          - `target` string
          - `regex` string, nullable
        - `ipFamily` 'IPv4' | 'IPv6'
      - ChecksV1UrlRequest
        - `method` 'GET'
        - `url` string, required
        - `followRedirects` boolean
        - `skipSSL` boolean
        - `ipFamily` 'IPv4' | 'IPv6'
        - `assertions` ChecksV1UrlAssertion[]
          - `source` 'STATUS_CODE'
          - `comparison` 'EQUALS' | 'NOT_EQUALS' | 'LESS_THAN' | 'GREATER_THAN'
          - `property` string
          - `target` string
          - `regex` string, nullable
      - ChecksV1DnsRequest
        - `query` string, required
        - `nameServer` string
        - `port` number
        - `recordType` 'A' | 'AAAA' | 'CNAME' | 'MX' | 'TXT' | 'SOA' | 'NS' | 'HTTPS', required
        - `assertions` ChecksV1DnsAssertion[]
          - `source` 'RESPONSE_TIME' | 'RESPONSE_CODE' | 'TEXT_ANSWER' | 'JSON_ANSWER'
          - `comparison` 'EQUALS' | 'NOT_EQUALS' | 'HAS_KEY' | 'NOT_HAS_KEY' | 'HAS_VALUE' | 'NOT_HAS_VALUE' | 'IS_EMPTY' | 'NOT_EMPTY' | 'GREATER_THAN' | 'LESS_THAN' | 'CONTAINS' | 'NOT_CONTAINS' | 'IS_NULL' | 'NOT_NULL'
          - `property` string
          - `target` string
          - `regex` string, nullable
        - `protocol` 'TCP' | 'UDP'
      - ChecksV1IcmpRequest
        - `hostname` string, required
        - `ipFamily` 'IPv4' | 'IPv6' | 'null', nullable
        - `pingCount` integer, nullable
        - `assertions` ChecksV1IcmpAssertion[]
          - `source` 'LATENCY' | 'JSON_RESPONSE'
          - `comparison` 'EQUALS' | 'NOT_EQUALS' | 'IS_EMPTY' | 'NOT_EMPTY' | 'GREATER_THAN' | 'LESS_THAN' | 'CONTAINS' | 'NOT_CONTAINS' | 'IS_NULL' | 'NOT_NULL'
          - `property` string
          - `target` string
          - `regex` string, nullable
      - ChecksV1TracerouteRequestRead
        - `url` string
        - `protocol` 'TCP' | 'ICMP' | 'UDP' | 'SCTP' | 'null', nullable
        - `port` integer, nullable
        - `ipFamily` 'IPv4' | 'IPv6' | 'null', nullable
        - `maxHops` integer, nullable
        - `maxUnknownHops` integer, nullable
        - `ptrLookup` boolean, nullable
        - `timeout` integer, nullable
        - `assertions` ChecksV1TracerouteAssertionRead[]
          - `source` 'RESPONSE_TIME' | 'HOP_COUNT' | 'PACKET_LOSS'
          - `comparison` string
          - `property` string
          - `target` string
          - `regex` string, nullable
      - ChecksV1GrpcRequestRead
        - `url` string
        - `port` union
          - integer
          - string
        - `ipFamily` 'IPv4' | 'IPv6' | 'null', nullable
        - `skipSSL` boolean
        - `timeout` integer, nullable
        - `grpcConfig` ChecksV1GrpcConfigRead
          - `mode` 'BEHAVIOR' | 'HEALTH'
          - `tls` boolean
          - `metadata` ChecksV1GrpcMetadataItem[]
            - `key` string, required
            - `value` string, required
          - `service` string, nullable
          - `encoding` union
            - 'PROTOBUF' | 'FLATBUFFERS'
            - ''
            - unknown
          - `bfbsContent` string, nullable
          - `serviceDefinition` union
            - 'REFLECTION' | 'PROTO_FILE'
            - ''
            - unknown
          - `method` string, nullable
          - `protoContent` string, nullable
          - `message` string, nullable
        - `assertions` ChecksV1GrpcAssertionRead[]
          - `source` 'RESPONSE_TIME' | 'GRPC_RESPONSE' | 'TEXT_BODY' | 'GRPC_METADATA' | 'GRPC_HEALTHCHECK_STATUS' | 'GRPC_STATUS_CODE'
          - `comparison` 'EQUALS' | 'NOT_EQUALS' | 'HAS_KEY' | 'NOT_HAS_KEY' | 'HAS_VALUE' | 'NOT_HAS_VALUE' | 'IS_EMPTY' | 'NOT_EMPTY' | 'GREATER_THAN' | 'LESS_THAN' | 'CONTAINS' | 'NOT_CONTAINS' | 'IS_NULL' | 'NOT_NULL'
          - `property` string
          - `target` string
          - `regex` string, nullable
      - ChecksV1SslRequestRead
        - `sslConfig` ChecksV1SslConfigRead, required
          - `hostname` string, required
          - `port` integer
          - `serverName` union
            - string
            - ''
            - unknown
          - `ipFamily` 'IPv4' | 'IPv6'
          - `skipChainValidation` boolean
          - `handshakeTimeoutMs` integer
          - `alertDaysBeforeExpiry` integer
          - `securityBaseline` ChecksV1SslSecurityBaselineRead
            - `enabled` boolean
            - `minTLSVersion` object
              - …
            - `minKeySizeBits` object
              - …
            - `weakSignatureAlgorithm` object
              - …
            - `weakCipherSuite` object
              - …
            - `knownBadCA` object
              - …
            - `recommendedTLSVersion` object
              - …
            - `recommendedKeySizeBits` object
              - …
            - `ocspMustStapleRespected` object
              - …
            - `sctPresent` object
              - …
          - `clientCertificateMode` 'auto' | 'explicit'
        - `sslClientCertificateId` string, uuid, nullable
        - `assertions` ChecksV1SslAssertionPatch[]
          - `source` 'CERTIFICATE' | 'CONNECTION' | 'RESPONSE_TIME' | 'JSON_RESPONSE' | 'TEXT_RESPONSE', required
          - `property` string
          - `comparison` string, required
          - `target` string
          - `regex` string, nullable
      - unknown
    - `heartbeat` object, nullable
      - `period` number, required — Interval expected between pings.
      - `periodUnit` 'seconds' | 'minutes' | 'hours' | 'days', required
      - `grace` number, required — Grace added to the period.
      - `graceUnit` 'seconds' | 'minutes' | 'hours' | 'days', required
      - `pingToken` string, nullable — UUID token used to build a unique ping URL.
      - `pingUrl` string
    - `script` string, nullable
    - `scriptPath` string, nullable
    - `sslCheckDomain` string, nullable
    - `environmentVariables` ChecksV1EnvironmentVariable[], nullable
      - `key` string, required
      - `value` string, nullable, required
      - `locked` boolean
      - `secret` boolean
    - `setupSnippetId` number, nullable
    - `tearDownSnippetId` number, nullable
    - `localSetupScript` string, nullable
    - `localTearDownScript` string, nullable
    - `dependencies` ChecksV1Dependency[], nullable
      - `path` string, required
      - `content` string, required
    - `setupScriptDependencies` ChecksV1Dependency[], nullable
      - `path` string, required
      - `content` string, required
    - `tearDownScriptDependencies` ChecksV1Dependency[], nullable
      - `path` string, required
      - `content` string, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `429` — Too Many Requests

---

[API](https://skmtc.net/checklyhq/apis/checkly-public-api.md) · [All operations](https://skmtc.net/checklyhq/apis/checkly-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/checklyhq/checkly-public-api/revisions/87d29dc7b4fe/schema)
