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

# Retrieve a check

`GET /v3/checks/{id}`

## Request

- Base URL: `https://api.checklyhq.com`
- URL: `https://api.checklyhq.com/v3/checks/{id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/checklyhq/apis/checkly-public-api/docs/v3/checks/:id/get.ts> (a function with typed inputs; its response is checked against the schema)

Show details of a specific API or browser check.

This `/v3` read returns check intent as a `constraints` array with typed `REQUIRED_OUTCOME` and `MUST_PRESERVE` entries. `/v1` and `/v2` keep the legacy `requiredOutcomes` and `mustPreserve` arrays. Like `/v2`, `/v3` does not return the flat `project`, `logicalId`, `member` and `pending` fields; use `projectBindings` for the complete project ownership state. Creating, updating and deleting checks remain on `/v1`.

## Path parameters

- `id` string, uuid, required

## Query parameters

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

## Headers

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

## Response `200`

Successful

- union
  - ChecksV3HeartbeatCheck
    - `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
    - `intent` ChecksV3CheckIntent, nullable
      - `goal` string, required: The user or system outcome this check protects.
      - `constraints` ChecksV3CheckIntentConstraint[]: Typed check requirements. At most 20 constraints of each type are allowed.
        - `type` 'REQUIRED_OUTCOME' | 'MUST_PRESERVE', required: Whether the statement is an outcome the check must prove or behavior a repair must preserve.
        - `statement` string, required: A concrete outcome or guardrail for this check.
    - `aiAutoRepairEnabled` boolean, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1: The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required: The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required: The project this binding is to.
          - `id` string, required: The ID of the project.
          - `logicalId` string, required: The logical ID of the project, as declared in code.
          - `name` string, required: The name of the project.
        - `binding` ProjectBindingDetailsV1, required: The resource's side of this binding.
          - `logicalId` string, required: The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required: True when the binding is reserved by an import plan that has not been deployed yet.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
      - `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.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
    - `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
  - ChecksV3PlaywrightCheck
    - `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
    - `intent` ChecksV3CheckIntent, nullable
      - `goal` string, required: The user or system outcome this check protects.
      - `constraints` ChecksV3CheckIntentConstraint[]: Typed check requirements. At most 20 constraints of each type are allowed.
        - `type` 'REQUIRED_OUTCOME' | 'MUST_PRESERVE', required: Whether the statement is an outcome the check must prove or behavior a repair must preserve.
        - `statement` string, required: A concrete outcome or guardrail for this check.
    - `aiAutoRepairEnabled` boolean, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1: The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required: The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required: The project this binding is to.
          - `id` string, required: The ID of the project.
          - `logicalId` string, required: The logical ID of the project, as declared in code.
          - `name` string, required: The name of the project.
        - `binding` ProjectBindingDetailsV1, required: The resource's side of this binding.
          - `logicalId` string, required: The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required: True when the binding is reserved by an import plan that has not been deployed yet.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
      - `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.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
    - `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
  - ChecksV3IcmpMonitor
    - `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
    - `intent` ChecksV3CheckIntent, nullable
      - `goal` string, required: The user or system outcome this check protects.
      - `constraints` ChecksV3CheckIntentConstraint[]: Typed check requirements. At most 20 constraints of each type are allowed.
        - `type` 'REQUIRED_OUTCOME' | 'MUST_PRESERVE', required: Whether the statement is an outcome the check must prove or behavior a repair must preserve.
        - `statement` string, required: A concrete outcome or guardrail for this check.
    - `aiAutoRepairEnabled` boolean, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1: The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required: The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required: The project this binding is to.
          - `id` string, required: The ID of the project.
          - `logicalId` string, required: The logical ID of the project, as declared in code.
          - `name` string, required: The name of the project.
        - `binding` ProjectBindingDetailsV1, required: The resource's side of this binding.
          - `logicalId` string, required: The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required: True when the binding is reserved by an import plan that has not been deployed yet.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
      - `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.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
    - `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
  - ChecksV3TracerouteMonitor
    - `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
    - `intent` ChecksV3CheckIntent, nullable
      - `goal` string, required: The user or system outcome this check protects.
      - `constraints` ChecksV3CheckIntentConstraint[]: Typed check requirements. At most 20 constraints of each type are allowed.
        - `type` 'REQUIRED_OUTCOME' | 'MUST_PRESERVE', required: Whether the statement is an outcome the check must prove or behavior a repair must preserve.
        - `statement` string, required: A concrete outcome or guardrail for this check.
    - `aiAutoRepairEnabled` boolean, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1: The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required: The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required: The project this binding is to.
          - `id` string, required: The ID of the project.
          - `logicalId` string, required: The logical ID of the project, as declared in code.
          - `name` string, required: The name of the project.
        - `binding` ProjectBindingDetailsV1, required: The resource's side of this binding.
          - `logicalId` string, required: The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required: True when the binding is reserved by an import plan that has not been deployed yet.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
      - `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.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
    - `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
  - ChecksV3GrpcMonitor
    - `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
    - `intent` ChecksV3CheckIntent, nullable
      - `goal` string, required: The user or system outcome this check protects.
      - `constraints` ChecksV3CheckIntentConstraint[]: Typed check requirements. At most 20 constraints of each type are allowed.
        - `type` 'REQUIRED_OUTCOME' | 'MUST_PRESERVE', required: Whether the statement is an outcome the check must prove or behavior a repair must preserve.
        - `statement` string, required: A concrete outcome or guardrail for this check.
    - `aiAutoRepairEnabled` boolean, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1: The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required: The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required: The project this binding is to.
          - `id` string, required: The ID of the project.
          - `logicalId` string, required: The logical ID of the project, as declared in code.
          - `name` string, required: The name of the project.
        - `binding` ProjectBindingDetailsV1, required: The resource's side of this binding.
          - `logicalId` string, required: The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required: True when the binding is reserved by an import plan that has not been deployed yet.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
      - `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.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
    - `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
  - ChecksV3SslMonitor
    - `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
    - `intent` ChecksV3CheckIntent, nullable
      - `goal` string, required: The user or system outcome this check protects.
      - `constraints` ChecksV3CheckIntentConstraint[]: Typed check requirements. At most 20 constraints of each type are allowed.
        - `type` 'REQUIRED_OUTCOME' | 'MUST_PRESERVE', required: Whether the statement is an outcome the check must prove or behavior a repair must preserve.
        - `statement` string, required: A concrete outcome or guardrail for this check.
    - `aiAutoRepairEnabled` boolean, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1: The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required: The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required: The project this binding is to.
          - `id` string, required: The ID of the project.
          - `logicalId` string, required: The logical ID of the project, as declared in code.
          - `name` string, required: The name of the project.
        - `binding` ProjectBindingDetailsV1, required: The resource's side of this binding.
          - `logicalId` string, required: The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required: True when the binding is reserved by an import plan that has not been deployed yet.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
      - `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.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
    - `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
  - ChecksV3ApiCheck
    - `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
    - `intent` ChecksV3CheckIntent, nullable
      - `goal` string, required: The user or system outcome this check protects.
      - `constraints` ChecksV3CheckIntentConstraint[]: Typed check requirements. At most 20 constraints of each type are allowed.
        - `type` 'REQUIRED_OUTCOME' | 'MUST_PRESERVE', required: Whether the statement is an outcome the check must prove or behavior a repair must preserve.
        - `statement` string, required: A concrete outcome or guardrail for this check.
    - `aiAutoRepairEnabled` boolean, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1: The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required: The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required: The project this binding is to.
          - `id` string, required: The ID of the project.
          - `logicalId` string, required: The logical ID of the project, as declared in code.
          - `name` string, required: The name of the project.
        - `binding` ProjectBindingDetailsV1, required: The resource's side of this binding.
          - `logicalId` string, required: The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required: True when the binding is reserved by an import plan that has not been deployed yet.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
      - `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.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
    - `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
  - ChecksV3TcpCheck
    - `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
    - `intent` ChecksV3CheckIntent, nullable
      - `goal` string, required: The user or system outcome this check protects.
      - `constraints` ChecksV3CheckIntentConstraint[]: Typed check requirements. At most 20 constraints of each type are allowed.
        - `type` 'REQUIRED_OUTCOME' | 'MUST_PRESERVE', required: Whether the statement is an outcome the check must prove or behavior a repair must preserve.
        - `statement` string, required: A concrete outcome or guardrail for this check.
    - `aiAutoRepairEnabled` boolean, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1: The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required: The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required: The project this binding is to.
          - `id` string, required: The ID of the project.
          - `logicalId` string, required: The logical ID of the project, as declared in code.
          - `name` string, required: The name of the project.
        - `binding` ProjectBindingDetailsV1, required: The resource's side of this binding.
          - `logicalId` string, required: The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required: True when the binding is reserved by an import plan that has not been deployed yet.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
      - `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.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
    - `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'
  - ChecksV3UrlMonitor
    - `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
    - `intent` ChecksV3CheckIntent, nullable
      - `goal` string, required: The user or system outcome this check protects.
      - `constraints` ChecksV3CheckIntentConstraint[]: Typed check requirements. At most 20 constraints of each type are allowed.
        - `type` 'REQUIRED_OUTCOME' | 'MUST_PRESERVE', required: Whether the statement is an outcome the check must prove or behavior a repair must preserve.
        - `statement` string, required: A concrete outcome or guardrail for this check.
    - `aiAutoRepairEnabled` boolean, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1: The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required: The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required: The project this binding is to.
          - `id` string, required: The ID of the project.
          - `logicalId` string, required: The logical ID of the project, as declared in code.
          - `name` string, required: The name of the project.
        - `binding` ProjectBindingDetailsV1, required: The resource's side of this binding.
          - `logicalId` string, required: The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required: True when the binding is reserved by an import plan that has not been deployed yet.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
      - `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.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
    - `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
  - ChecksV3DnsMonitor
    - `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
    - `intent` ChecksV3CheckIntent, nullable
      - `goal` string, required: The user or system outcome this check protects.
      - `constraints` ChecksV3CheckIntentConstraint[]: Typed check requirements. At most 20 constraints of each type are allowed.
        - `type` 'REQUIRED_OUTCOME' | 'MUST_PRESERVE', required: Whether the statement is an outcome the check must prove or behavior a repair must preserve.
        - `statement` string, required: A concrete outcome or guardrail for this check.
    - `aiAutoRepairEnabled` boolean, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1: The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required: The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required: The project this binding is to.
          - `id` string, required: The ID of the project.
          - `logicalId` string, required: The logical ID of the project, as declared in code.
          - `name` string, required: The name of the project.
        - `binding` ProjectBindingDetailsV1, required: The resource's side of this binding.
          - `logicalId` string, required: The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required: True when the binding is reserved by an import plan that has not been deployed yet.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
      - `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.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
    - `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'
  - ChecksV3BrowserCheck
    - `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
    - `intent` ChecksV3CheckIntent, nullable
      - `goal` string, required: The user or system outcome this check protects.
      - `constraints` ChecksV3CheckIntentConstraint[]: Typed check requirements. At most 20 constraints of each type are allowed.
        - `type` 'REQUIRED_OUTCOME' | 'MUST_PRESERVE', required: Whether the statement is an outcome the check must prove or behavior a repair must preserve.
        - `statement` string, required: A concrete outcome or guardrail for this check.
    - `aiAutoRepairEnabled` boolean, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1: The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required: The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required: The project this binding is to.
          - `id` string, required: The ID of the project.
          - `logicalId` string, required: The logical ID of the project, as declared in code.
          - `name` string, required: The name of the project.
        - `binding` ProjectBindingDetailsV1, required: The resource's side of this binding.
          - `logicalId` string, required: The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required: True when the binding is reserved by an import plan that has not been deployed yet.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
      - `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.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
    - `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
  - ChecksV3MultiStepCheck
    - `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
    - `intent` ChecksV3CheckIntent, nullable
      - `goal` string, required: The user or system outcome this check protects.
      - `constraints` ChecksV3CheckIntentConstraint[]: Typed check requirements. At most 20 constraints of each type are allowed.
        - `type` 'REQUIRED_OUTCOME' | 'MUST_PRESERVE', required: Whether the statement is an outcome the check must prove or behavior a repair must preserve.
        - `statement` string, required: A concrete outcome or guardrail for this check.
    - `aiAutoRepairEnabled` boolean, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1: The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required: The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required: The project this binding is to.
          - `id` string, required: The ID of the project.
          - `logicalId` string, required: The logical ID of the project, as declared in code.
          - `name` string, required: The name of the project.
        - `binding` ProjectBindingDetailsV1, required: The resource's side of this binding.
          - `logicalId` string, required: The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required: True when the binding is reserved by an import plan that has not been deployed yet.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
      - `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.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
    - `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
  - ChecksV3GenericCheck
    - `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
    - `intent` ChecksV3CheckIntent, nullable
      - `goal` string, required: The user or system outcome this check protects.
      - `constraints` ChecksV3CheckIntentConstraint[]: Typed check requirements. At most 20 constraints of each type are allowed.
        - `type` 'REQUIRED_OUTCOME' | 'MUST_PRESERVE', required: Whether the statement is an outcome the check must prove or behavior a repair must preserve.
        - `statement` string, required: A concrete outcome or guardrail for this check.
    - `aiAutoRepairEnabled` boolean, nullable
    - `id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `alertChannels` ChecksV1AlertChannels, nullable
      - `email` ChecksV1AlertEmail[]
        - `address` string
      - `webhook` ChecksV1AlertWebhook[]
        - `name` string
        - `url` string
        - `method` string, nullable
        - `headers` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
        - `queryParameters` ChecksV1KeyValue[]
          - `key` string, required
          - `value` string, required
          - `locked` boolean
      - `slack` ChecksV1AlertSlack[]
        - `url` string
      - `sms` ChecksV1AlertSms[]
        - `number` string
        - `name` string, required
    - `projectBindings` ProjectBindingsV1: The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
      - `owner` ProjectBindingOwnerV1, nullable, required: The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
        - `project` BindingProjectV1, required: The project this binding is to.
          - `id` string, required: The ID of the project.
          - `logicalId` string, required: The logical ID of the project, as declared in code.
          - `name` string, required: The name of the project.
        - `binding` ProjectBindingDetailsV1, required: The resource's side of this binding.
          - `logicalId` string, required: The resource's logical ID within this project, as declared in code.
          - `pending` boolean, required: True when the binding is reserved by an import plan that has not been deployed yet.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
      - `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.
          - `sourceFile` string, nullable: The file in the project's repository that declares this resource, or null when not recorded.
    - `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

## Changes

- **2026-10-31** `bc90d1bfa738`: 5 info
  - added the optional property `errorCode` to the response with the `400` status
  - added the optional property `errorCode` to the response with the `401` status
  - added the optional property `errorCode` to the response with the `403` status
  - added the optional property `errorCode` to the response with the `404` status
  - …1 more
- **2026-10-07** `aba5d34c749b`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/checklyhq/apis/checkly-public-api/changes/v3/checks/:id/get.md)

---

[API](https://skmtc.dev/checklyhq/apis/checkly-public-api.md) - [All operations](https://skmtc.dev/checklyhq/apis/checkly-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/checklyhq/apis/checkly-public-api/revisions/bc90d1bfa738?raw)
