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

# Retrieve a check

`GET /v1/checks/{id}`

Show details of a specific API or browser check

## 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
  - ChecksV1HeartbeatCheck
    - `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
    - `project` ChecksV1CheckProject, nullable — The project that manages this check, or null when the check is not managed by code. When a check has more than one binding, this reports the preferred one.
      - `id` string — The ID of the project that manages this check.
      - `logicalId` string — The logical ID of the managing project, as declared in code.
      - `name` string — The name of the managing project.
    - `logicalId` string, nullable — The check's logical ID within the managing project, or null when it is not managed by code.
    - `member` boolean, nullable — True when the project owns this check, false when it merely references a check owned outside the project. Null when not managed by code. The same relationship appears structurally in `projectBindings`: an owning project under `projectBindings.owner`, a referencing one under `projectBindings.references`.
    - `pending` boolean, nullable — True when the binding is reserved by an import plan that has not been deployed yet. Null when not managed by code.
    - `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
  - ChecksV1PlaywrightCheck
    - `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
    - `project` ChecksV1CheckProject, nullable — The project that manages this check, or null when the check is not managed by code. When a check has more than one binding, this reports the preferred one.
      - `id` string — The ID of the project that manages this check.
      - `logicalId` string — The logical ID of the managing project, as declared in code.
      - `name` string — The name of the managing project.
    - `logicalId` string, nullable — The check's logical ID within the managing project, or null when it is not managed by code.
    - `member` boolean, nullable — True when the project owns this check, false when it merely references a check owned outside the project. Null when not managed by code. The same relationship appears structurally in `projectBindings`: an owning project under `projectBindings.owner`, a referencing one under `projectBindings.references`.
    - `pending` boolean, nullable — True when the binding is reserved by an import plan that has not been deployed yet. Null when not managed by code.
    - `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
  - ChecksV1IcmpMonitor
    - `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
    - `project` ChecksV1CheckProject, nullable — The project that manages this check, or null when the check is not managed by code. When a check has more than one binding, this reports the preferred one.
      - `id` string — The ID of the project that manages this check.
      - `logicalId` string — The logical ID of the managing project, as declared in code.
      - `name` string — The name of the managing project.
    - `logicalId` string, nullable — The check's logical ID within the managing project, or null when it is not managed by code.
    - `member` boolean, nullable — True when the project owns this check, false when it merely references a check owned outside the project. Null when not managed by code. The same relationship appears structurally in `projectBindings`: an owning project under `projectBindings.owner`, a referencing one under `projectBindings.references`.
    - `pending` boolean, nullable — True when the binding is reserved by an import plan that has not been deployed yet. Null when not managed by code.
    - `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
  - ChecksV1TracerouteMonitor
    - `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
    - `project` ChecksV1CheckProject, nullable — The project that manages this check, or null when the check is not managed by code. When a check has more than one binding, this reports the preferred one.
      - `id` string — The ID of the project that manages this check.
      - `logicalId` string — The logical ID of the managing project, as declared in code.
      - `name` string — The name of the managing project.
    - `logicalId` string, nullable — The check's logical ID within the managing project, or null when it is not managed by code.
    - `member` boolean, nullable — True when the project owns this check, false when it merely references a check owned outside the project. Null when not managed by code. The same relationship appears structurally in `projectBindings`: an owning project under `projectBindings.owner`, a referencing one under `projectBindings.references`.
    - `pending` boolean, nullable — True when the binding is reserved by an import plan that has not been deployed yet. Null when not managed by code.
    - `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
  - ChecksV1GrpcMonitor
    - `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
    - `project` ChecksV1CheckProject, nullable — The project that manages this check, or null when the check is not managed by code. When a check has more than one binding, this reports the preferred one.
      - `id` string — The ID of the project that manages this check.
      - `logicalId` string — The logical ID of the managing project, as declared in code.
      - `name` string — The name of the managing project.
    - `logicalId` string, nullable — The check's logical ID within the managing project, or null when it is not managed by code.
    - `member` boolean, nullable — True when the project owns this check, false when it merely references a check owned outside the project. Null when not managed by code. The same relationship appears structurally in `projectBindings`: an owning project under `projectBindings.owner`, a referencing one under `projectBindings.references`.
    - `pending` boolean, nullable — True when the binding is reserved by an import plan that has not been deployed yet. Null when not managed by code.
    - `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
  - ChecksV1SslMonitor
    - `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
    - `project` ChecksV1CheckProject, nullable — The project that manages this check, or null when the check is not managed by code. When a check has more than one binding, this reports the preferred one.
      - `id` string — The ID of the project that manages this check.
      - `logicalId` string — The logical ID of the managing project, as declared in code.
      - `name` string — The name of the managing project.
    - `logicalId` string, nullable — The check's logical ID within the managing project, or null when it is not managed by code.
    - `member` boolean, nullable — True when the project owns this check, false when it merely references a check owned outside the project. Null when not managed by code. The same relationship appears structurally in `projectBindings`: an owning project under `projectBindings.owner`, a referencing one under `projectBindings.references`.
    - `pending` boolean, nullable — True when the binding is reserved by an import plan that has not been deployed yet. Null when not managed by code.
    - `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
  - ChecksV1ApiCheck
    - `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
    - `project` ChecksV1CheckProject, nullable — The project that manages this check, or null when the check is not managed by code. When a check has more than one binding, this reports the preferred one.
      - `id` string — The ID of the project that manages this check.
      - `logicalId` string — The logical ID of the managing project, as declared in code.
      - `name` string — The name of the managing project.
    - `logicalId` string, nullable — The check's logical ID within the managing project, or null when it is not managed by code.
    - `member` boolean, nullable — True when the project owns this check, false when it merely references a check owned outside the project. Null when not managed by code. The same relationship appears structurally in `projectBindings`: an owning project under `projectBindings.owner`, a referencing one under `projectBindings.references`.
    - `pending` boolean, nullable — True when the binding is reserved by an import plan that has not been deployed yet. Null when not managed by code.
    - `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
  - ChecksV1TcpCheck
    - `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
    - `project` ChecksV1CheckProject, nullable — The project that manages this check, or null when the check is not managed by code. When a check has more than one binding, this reports the preferred one.
      - `id` string — The ID of the project that manages this check.
      - `logicalId` string — The logical ID of the managing project, as declared in code.
      - `name` string — The name of the managing project.
    - `logicalId` string, nullable — The check's logical ID within the managing project, or null when it is not managed by code.
    - `member` boolean, nullable — True when the project owns this check, false when it merely references a check owned outside the project. Null when not managed by code. The same relationship appears structurally in `projectBindings`: an owning project under `projectBindings.owner`, a referencing one under `projectBindings.references`.
    - `pending` boolean, nullable — True when the binding is reserved by an import plan that has not been deployed yet. Null when not managed by code.
    - `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'
  - ChecksV1UrlMonitor
    - `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
    - `project` ChecksV1CheckProject, nullable — The project that manages this check, or null when the check is not managed by code. When a check has more than one binding, this reports the preferred one.
      - `id` string — The ID of the project that manages this check.
      - `logicalId` string — The logical ID of the managing project, as declared in code.
      - `name` string — The name of the managing project.
    - `logicalId` string, nullable — The check's logical ID within the managing project, or null when it is not managed by code.
    - `member` boolean, nullable — True when the project owns this check, false when it merely references a check owned outside the project. Null when not managed by code. The same relationship appears structurally in `projectBindings`: an owning project under `projectBindings.owner`, a referencing one under `projectBindings.references`.
    - `pending` boolean, nullable — True when the binding is reserved by an import plan that has not been deployed yet. Null when not managed by code.
    - `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
  - ChecksV1DnsMonitor
    - `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
    - `project` ChecksV1CheckProject, nullable — The project that manages this check, or null when the check is not managed by code. When a check has more than one binding, this reports the preferred one.
      - `id` string — The ID of the project that manages this check.
      - `logicalId` string — The logical ID of the managing project, as declared in code.
      - `name` string — The name of the managing project.
    - `logicalId` string, nullable — The check's logical ID within the managing project, or null when it is not managed by code.
    - `member` boolean, nullable — True when the project owns this check, false when it merely references a check owned outside the project. Null when not managed by code. The same relationship appears structurally in `projectBindings`: an owning project under `projectBindings.owner`, a referencing one under `projectBindings.references`.
    - `pending` boolean, nullable — True when the binding is reserved by an import plan that has not been deployed yet. Null when not managed by code.
    - `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'
  - ChecksV1BrowserCheck
    - `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
    - `project` ChecksV1CheckProject, nullable — The project that manages this check, or null when the check is not managed by code. When a check has more than one binding, this reports the preferred one.
      - `id` string — The ID of the project that manages this check.
      - `logicalId` string — The logical ID of the managing project, as declared in code.
      - `name` string — The name of the managing project.
    - `logicalId` string, nullable — The check's logical ID within the managing project, or null when it is not managed by code.
    - `member` boolean, nullable — True when the project owns this check, false when it merely references a check owned outside the project. Null when not managed by code. The same relationship appears structurally in `projectBindings`: an owning project under `projectBindings.owner`, a referencing one under `projectBindings.references`.
    - `pending` boolean, nullable — True when the binding is reserved by an import plan that has not been deployed yet. Null when not managed by code.
    - `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
  - ChecksV1MultiStepCheck
    - `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
    - `project` ChecksV1CheckProject, nullable — The project that manages this check, or null when the check is not managed by code. When a check has more than one binding, this reports the preferred one.
      - `id` string — The ID of the project that manages this check.
      - `logicalId` string — The logical ID of the managing project, as declared in code.
      - `name` string — The name of the managing project.
    - `logicalId` string, nullable — The check's logical ID within the managing project, or null when it is not managed by code.
    - `member` boolean, nullable — True when the project owns this check, false when it merely references a check owned outside the project. Null when not managed by code. The same relationship appears structurally in `projectBindings`: an owning project under `projectBindings.owner`, a referencing one under `projectBindings.references`.
    - `pending` boolean, nullable — True when the binding is reserved by an import plan that has not been deployed yet. Null when not managed by code.
    - `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
  - ChecksV1GenericCheck
    - `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
    - `project` ChecksV1CheckProject, nullable — The project that manages this check, or null when the check is not managed by code. When a check has more than one binding, this reports the preferred one.
      - `id` string — The ID of the project that manages this check.
      - `logicalId` string — The logical ID of the managing project, as declared in code.
      - `name` string — The name of the managing project.
    - `logicalId` string, nullable — The check's logical ID within the managing project, or null when it is not managed by code.
    - `member` boolean, nullable — True when the project owns this check, false when it merely references a check owned outside the project. Null when not managed by code. The same relationship appears structurally in `projectBindings`: an owning project under `projectBindings.owner`, a referencing one under `projectBindings.references`.
    - `pending` boolean, nullable — True when the binding is reserved by an import plan that has not been deployed yet. Null when not managed by code.
    - `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)
