v2

latestOpenAPI 3.0.02026-07-261859071.2 MB
Checks

Create an DNS monitor

Creates a new DNS monitor. Will return a 402 when you are over the limit of your plan. When using the globalAlertSetting, the alertSetting can be null

post/v1/checks/dns

Query parameters

autoAssignAlertsboolean

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

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

Headers

x-checkly-accountstring

Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general

Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general

Request body

namestring required

The name of the check.

activatedboolean

Determines if the check is running or not.

mutedboolean

Determines if any notifications will be send out when a check fails and/or recovers.

doubleCheckboolean

[Deprecated] Retry failed check runs. This property is deprecated, and retryStrategy can be used instead.

shouldFailboolean

Allows to invert the behaviour of when a check is considered to fail. Allows for validating error status like 404.

locationsModel138[] nullable

An array of one or more data center locations where to run this check.

tagsstring[]

Tags for organizing and filtering checks.

useGlobalAlertSettingsboolean

When true, the account level alert setting will be used, not the alert setting defined on this check.

groupIdnumber nullable

The id of the check group this check is part of.

groupOrdernumber 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.

runParallelboolean

When true, the check will run in parallel in all selected locations.

descriptionstring nullable

A description of the check.

frequency0 | 1 | 2 | 5 | 10 | 15 | 30 | 60 | 120 | 180 | 360 | 720 | 1440

How often the check should run in minutes.

frequencyOffsetinteger

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.

heartbeatHeartbeat required
scriptstring required
scriptPathstring nullable

Path of the script in the runtime.

sslCheckDomainstring
setupSnippetIdnumber nullable

An ID reference to a snippet to use in the setup phase of an API check.

tearDownSnippetIdnumber nullable

An ID reference to a snippet to use in the teardown phase of an API check.

localSetupScriptstring nullable

A valid piece of Node.js code to run in the setup phase.

localTearDownScriptstring nullable

A valid piece of Node.js code to run in the teardown phase.

degradedResponseTimenumber nullable

The response time in milliseconds where a check should be considered degraded.

maxResponseTimenumber nullable

The response time in milliseconds where a check should be considered failing.

privateLocationsstring[] nullable

An array of one or more private locations where to run the check.

Example request

{
  "name": "Check",
  "locations": [
    "us-east-1",
    "eu-central-1"
  ],
  "tags": [
    "production"
  ],
  "alertChannelSubscriptions": [],
  "request": {
    "query": "api.checklyhq.com",
    "assertions": [
      {
        "source": "RESPONSE_CODE",
        "comparison": "EQUALS",
        "target": "NOERROR"
      }
    ]
  },
  "environmentVariables": [
    {
      "key": "API_KEY"
    }
  ],
  "privateLocations": [
    "data-center-eu"
  ]
}

Response

Created

idstring
namestring required

The name of the check.

activatedboolean

Determines if the check is running or not.

mutedboolean

Determines if any notifications will be send out when a check fails and/or recovers.

doubleCheckboolean

[Deprecated] Retry failed check runs. This property is deprecated, and retryStrategy can be used instead.

shouldFailboolean

Allows to invert the behaviour of when a check is considered to fail. Allows for validating error status like 404.

locationsModel143[] nullable

An array of one or more data center locations where to run this check.

tagsstring[]

Tags for organizing and filtering checks.

useGlobalAlertSettingsboolean

When true, the account level alert setting will be used, not the alert setting defined on this check.

groupIdnumber nullable

The id of the check group this check is part of.

groupOrdernumber 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.

runParallelboolean

When true, the check will run in parallel in all selected locations.

descriptionstring nullable

A description of the check.

frequency0 | 1 | 2 | 5 | 10 | 15 | 30 | 60 | 120 | 180 | 360 | 720 | 1440

How often the check should run in minutes.

frequencyOffsetinteger

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.

degradedResponseTimenumber nullable
maxResponseTimenumber nullable
created_atstring date
updated_atstring date-time nullable
privateLocationsstring[] nullable

An array of one or more private locations where to run the check.

checkType'DNS'

Example response

{
  "id": "9d6df684-0bc3-4a38-a094-4e97627dd93e",
  "name": "Check",
  "locations": [
    "us-east-1",
    "eu-central-1"
  ],
  "tags": [
    "production"
  ],
  "alertChannels": {
    "sms": [
      {
        "number": "+549110000000",
        "name": "SMS Alert"
      }
    ]
  },
  "privateLocations": [
    "data-center-eu"
  ],
  "request": {
    "query": "api.checklyhq.com",
    "assertions": [
      {
        "source": "RESPONSE_CODE",
        "comparison": "EQUALS",
        "target": "NOERROR"
      }
    ]
  }
}