---
title: "Update an API check"
method: PUT
path: "/v1/checks/api/{id}"
tags: ["Checks"]
---

# Update an API check

`PUT /v1/checks/api/{id}`

Updates an API check.

## Path parameters

- `id` string, required

## Query parameters

- `autoAssignAlerts` boolean — Determines whether a new check will automatically be added as a subscriber to all existing alert channels when it gets created.

## Headers

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

## Request body

- CheckAPIUpdate
  - `name` string — The name of the check.
  - `activated` boolean — Determines if the check is running or not.
  - `muted` boolean — Determines if any notifications will be send out when a check fails and/or recovers.
  - `doubleCheck` boolean — [Deprecated] Retry failed check runs. This property is deprecated, and `retryStrategy` can be used instead.
  - `shouldFail` boolean — Allows to invert the behaviour of when a check is considered to fail. Allows for validating error status like 404.
  - `locations` Model116[], nullable — An array of one or more data center locations where to run this check.
  - `tags` string[] — Tags for organizing and filtering checks.
  - `alertSettings` AlertSettings — 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
  - `useGlobalAlertSettings` boolean — When true, the account level alert setting will be used, not the alert setting defined on this check.
  - `groupId` number, nullable — The id of the check group this check is part of.
  - `groupOrder` number, nullable — The position of this check in a check group. It determines in what order checks are run when a group is triggered from the API or from CI/CD.
  - `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 this check.
  - `alertChannelSubscriptions` Model42[] — List of alert channel subscriptions.
    - `alertChannelId` number, required
    - `activated` boolean, required
  - `retryStrategy` 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[]
  - `triggerIncident` TriggerIncident, nullable — Determines whether the check or monitor should create and resolve an incident based on its alert configuration. Useful for status page automation.
    - `serviceId` string, required — The status page service that the incident will be associated with.
    - `severity` 'CRITICAL' | 'MAJOR' | 'MEDIUM' | 'MINOR', required — The severity level of the incident.
    - `name` string, required — The name of the incident.
    - `description` string, required — A detailed description of the incident.
    - `notifySubscribers` boolean, required — Whether to notify subscribers when the incident is triggered.
  - `runParallel` boolean — When true, the check will run in parallel in all selected locations.
  - `description` string, nullable — A description of the check.
  - `request` Model122 — Determines the request that the check is going to run.
    - `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` 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
  - `frequency` 0 | 1 | 2 | 5 | 10 | 15 | 30 | 60 | 120 | 180 | 360 | 720 | 1440 — How often the check should run in minutes.
  - `frequencyOffset` integer — Used for setting seconds for check frequencies under 1 minutes (only for API & TCP checks) and spreading checks over a time range for frequencies over 1 minute. This works as follows: Checks with a frequency of 0 can have a frequencyOffset of 10, 20 or 30 meaning they will run every 10, 20 or 30 seconds. Checks with a frequency lower than and equal to 60 can have a frequencyOffset between 1 and a max value based on the formula "Math.floor(frequency * 10)", i.e. for a check that runs every 5 minutes the max frequencyOffset is 50. Checks with a frequency higher than 60 can have a frequencyOffset between 1 and a max value based on the formula "Math.ceil(frequency / 60)", i.e. for a check that runs every 720 minutes, the max frequencyOffset is 12.
  - `degradedResponseTime` number, nullable — The response time in milliseconds where a check should be considered degraded.
  - `maxResponseTime` number, nullable — The response time in milliseconds where a check should be considered failing.
  - `privateLocations` string[], nullable — An array of one or more private locations where to run the check.
  - `tearDownSnippetId` number, nullable — An ID reference to a snippet to use in the teardown phase of an API check.
  - `setupSnippetId` number, nullable — An ID reference to a snippet to use in the setup phase of an API check.
  - `localSetupScript` string, nullable — A valid piece of Node.js code to run in the setup phase.
  - `localTearDownScript` string, nullable — A valid piece of Node.js code to run in the teardown phase.

## Response `200`

Successful

- CheckAPI
  - `id` string
  - `name` string, required — The name of the check.
  - `activated` boolean — Determines if the check is running or not.
  - `muted` boolean — Determines if any notifications will be send out when a check fails and/or recovers.
  - `doubleCheck` boolean — [Deprecated] Retry failed check runs. This property is deprecated, and `retryStrategy` can be used instead.
  - `shouldFail` boolean — Allows to invert the behaviour of when a check is considered to fail. Allows for validating error status like 404.
  - `locations` Model106[], nullable — An array of one or more data center locations where to run this check.
  - `tags` string[] — Tags for organizing and filtering checks.
  - `alertSettings` CheckAlertSettings, nullable — 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
  - `useGlobalAlertSettings` boolean — When true, the account level alert setting will be used, not the alert setting defined on this check.
  - `groupId` number, nullable — The id of the check group this check is part of.
  - `groupOrder` number, nullable — The position of this check in a check group. It determines in what order checks are run when a group is triggered from the API or from CI/CD.
  - `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 this check.
  - `alertChannelSubscriptions` CheckAlertChannelSubscription[]
    - `alertChannelId` number, required
    - `activated` boolean, required
  - `retryStrategy` 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[]
  - `triggerIncident` TriggerIncident, nullable — Determines whether the check or monitor should create and resolve an incident based on its alert configuration. Useful for status page automation.
    - `serviceId` string, required — The status page service that the incident will be associated with.
    - `severity` 'CRITICAL' | 'MAJOR' | 'MEDIUM' | 'MINOR', required — The severity level of the incident.
    - `name` string, required — The name of the incident.
    - `description` string, required — A detailed description of the incident.
    - `notifySubscribers` boolean, required — Whether to notify subscribers when the incident is triggered.
  - `runParallel` boolean — When true, the check will run in parallel in all selected locations.
  - `description` string, nullable — A description of the check.
  - `frequency` 0 | 1 | 2 | 5 | 10 | 15 | 30 | 60 | 120 | 180 | 360 | 720 | 1440 — How often the check should run in minutes.
  - `frequencyOffset` integer — Used for setting seconds for check frequencies under 1 minutes (only for API & TCP checks) and spreading checks over a time range for frequencies over 1 minute. This works as follows: Checks with a frequency of 0 can have a frequencyOffset of 10, 20 or 30 meaning they will run every 10, 20 or 30 seconds. Checks with a frequency lower than and equal to 60 can have a frequencyOffset between 1 and a max value based on the formula "Math.floor(frequency * 10)", i.e. for a check that runs every 5 minutes the max frequencyOffset is 50. Checks with a frequency higher than 60 can have a frequencyOffset between 1 and a max value based on the formula "Math.ceil(frequency / 60)", i.e. for a check that runs every 720 minutes, the max frequencyOffset is 12.
  - `degradedResponseTime` number, nullable
  - `maxResponseTime` number, nullable
  - `created_at` string, date
  - `updated_at` string, date-time, nullable
  - `alertChannels` CheckAlertChannels, nullable
    - `email` CheckAlertEmail[]
      - `address` string, required
    - `webhook` CheckAlertWebhook[]
      - `name` string
      - `url` string, required
      - `method` 'GET' | 'POST' | 'PUT' | 'HEAD' | 'DELETE' | 'PATCH', nullable
      - `headers` KeyValue[]
        - `key` string, required
        - `value` string, required
        - `locked` boolean
      - `queryParameters` KeyValue[]
        - `key` string, required
        - `value` string, required
        - `locked` boolean
    - `slack` CheckAlertSlack[]
      - `url` string, required
    - `sms` CheckAlertSMS[]
      - `number` string, required
      - `name` string, required
  - `privateLocations` string[], nullable — An array of one or more private locations where to run the check.
  - `request` Model114 — Determines the request that the check is going to run.
    - `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` 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
  - `checkType` 'API'
  - `tearDownSnippetId` number, nullable — An ID reference to a snippet to use in the teardown phase of an API check.
  - `setupSnippetId` number, nullable — An ID reference to a snippet to use in the setup phase of an API check.
  - `localSetupScript` string, nullable — A valid piece of Node.js code to run in the setup phase.
  - `localTearDownScript` string, nullable — A valid piece of Node.js code to run in the teardown phase.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `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/versions/9e903da4f3da/schema)
