---
title: "Retrieve a check group"
method: GET
path: "/v1/check-groups/{id}"
tags: ["Check groups"]
---

# Retrieve a check group

`GET /v1/check-groups/{id}`

Show details of a specific check group

## Path parameters

- `id` integer, required

## Headers

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

## Response `200`

Successful

- CheckGroupRead
  - `id` number
  - `name` string, required — The name of the check group.
  - `activated` boolean, required — Determines if the checks in the group are running or not.
  - `muted` boolean — Determines if any notifications will be send out when a check in this group fails and/or recovers.
  - `tags` string[] — Tags for organizing and filtering checks.
  - `locations` Model11[] — An array of one or more data center locations where to run the checks.
  - `concurrency` number, required — Determines how many checks are invoked concurrently when triggering a check group from CI/CD or through the API.
  - `apiCheckDefaults` CheckGroupAPICheckDefaults, required
    - `url` string, nullable — The base url for this group which you can reference with the {{GROUP_BASE_URL}} variable in all group checks.
    - `headers` KeyValue[]
      - `key` string, required
      - `value` string, required
      - `locked` boolean
    - `queryParameters` KeyValue[]
      - `key` string, required
      - `value` string, required
      - `locked` boolean
    - `assertions` Assertion[] — Check the main Checkly documentation on assertions for specific values like regular expressions and JSON path descriptors you can use in the "property" field.
      - `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` BasicAuth, nullable
      - `username` string, required
      - `password` string, required
  - `browserCheckDefaults` string
  - `environmentVariables` EnvironmentVariableGet[], nullable
    - `key` string, required — The key of the environment variable (this value cannot be changed).
    - `value` string, required
    - `locked` boolean — Used only in the UI to hide the value like a password.
    - `secret` boolean — Set an environment variable as secret. Once set, its value cannot be unlocked.
  - `doubleCheck` boolean — [Deprecated] Retry failed check runs. This property is deprecated, and `retryStrategy` can be used instead.
  - `useGlobalAlertSettings` boolean, nullable — When true, the account level alert setting will be used, not the alert setting defined on this check group.
  - `alertSettings` CheckGroupAlertSettings — Alert settings.
    - `escalationType` 'RUN_BASED' | 'TIME_BASED' — Determines what type of escalation to use.
    - `reminders` AlertSettingsReminders
      - `amount` 0 | 1 | 2 | 3 | 4 | 5 | 100000 — How many reminders to send out after the initial alert notification.
      - `interval` 1 | 2 | 3 | 4 | 5 | 10 | 15 | 30 — At what interval the reminders should be send.
    - `sslCertificates` AlertSettingsSSLCertificates — [DEPRECATED] `sslCertificates` is deprecated and is not longer used. Please ignore it, will be removed in a future version.
      - `enabled` boolean — Determines if alert notifications should be send for expiring SSL certificates.
      - `alertThreshold` integer — At what moment in time to start alerting on SSL certificates.
    - `runBasedEscalation` AlertSettingsRunBasedEscalation
      - `failedRunThreshold` 1 | 2 | 3 | 4 | 5 — After how many failed consecutive check runs an alert notification should be send.
    - `timeBasedEscalation` AlertSettingsTimeBasedEscalation
      - `minutesFailingThreshold` 5 | 10 | 15 | 30 — After how many minutes after a check starts failing an alert should be send.
    - `parallelRunFailureThreshold` ParallelRunFailureThreshold
      - `enabled` boolean — Determines if parallel run threshold is enabled
      - `percentage` 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 — The percentage of parallel runs that should fail before an alert is triggered
  - `alertChannelSubscriptions` Model12[] — List of alert channel subscriptions.
    - `alertChannelId` number, required
    - `activated` boolean, required
  - `setupSnippetId` number, nullable — An ID reference to a snippet to use in the setup phase of an API check in this group.
  - `tearDownSnippetId` number, nullable — An ID reference to a snippet to use in the teardown phase of an API check in this group.
  - `localSetupScript` string, nullable — A valid piece of Node.js code to run in the setup phase of an API check in this group.
  - `localTearDownScript` string, nullable — A valid piece of Node.js code to run in the teardown phase of an API check in this group.
  - `runtimeId` '2026.04' | '2025.04' | '2024.09' | '2024.02' | '2023.09' | '2023.02' | '2022.10', nullable — The runtime version, i.e. fixed set of runtime dependencies, used to execute checks in this group.
  - `privateLocations` string[], nullable — An array of one or more private locations where to run the check.
  - `retryStrategy` union — Either a retry strategy object or the literal string "FALLBACK".
    - RetryStrategy, nullable — The strategy to determine how failed checks are retried.
      - `type` 'FIXED' | 'LINEAR' | 'EXPONENTIAL' | 'SINGLE_RETRY', required — Determines which type of retry strategy to use.
      - `baseBackoffSeconds` number — The number of seconds to wait before the first retry attempt.
      - `sameRegion` boolean — Whether retries should be run in the same region as the initial check run.
      - `maxRetries` number — The maximum number of attempts to retry the check. Not supported for SINGLE_RETRY
      - `maxDurationSeconds` number — The total amount of time to continue retrying the check. Not supported for SINGLE_RETRY
      - `onlyOn` RetryOnlyOnValue[]
    - 'FALLBACK'
  - `created_at` string, date
  - `updated_at` string, date-time, nullable
  - `runParallel` boolean, nullable — When true, the checks in the group will run in parallel in all selected locations.
  - `projectBindings` ProjectBindingsV1 — The Checkly CLI projects that manage this resource. `owner` is null and `references` empty when the resource is not managed by code.
    - `owner` ProjectBindingOwnerV1, nullable, required — The project that owns this resource — the one whose deploy can delete it. Null when no project owns it, including when other projects merely reference it. In the rare case that several projects hold an ownership record for one resource, this reports the preferred one and the rest are omitted.
      - `project` BindingProjectV1, required — The project this binding is to.
        - `id` string, required — The ID of the project.
        - `logicalId` string, required — The logical ID of the project, as declared in code.
        - `name` string, required — The name of the project.
      - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
        - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
        - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.
    - `references` ProjectBindingV1[], required — Projects that use this resource without owning it; their deploys leave it alone. Empty when there are none.
      - `project` BindingProjectV1, required — The project this binding is to.
        - `id` string, required — The ID of the project.
        - `logicalId` string, required — The logical ID of the project, as declared in code.
        - `name` string, required — The name of the project.
      - `binding` ProjectBindingDetailsV1, required — The resource's side of this binding.
        - `logicalId` string, required — The resource's logical ID within this project, as declared in code.
        - `pending` boolean, required — True when the binding is reserved by an import plan that has not been deployed yet.

## Other responses

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

---

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