These are the docs for the newly (re)released Checkly Public API Beta.
If you have any questions, please do not hesitate to get in touch with us. Otherwise, please remember this is a beta and things are subject to change.
Creates a new alert channel
Type: object
{
"sslExpiryThreshold" : "At what moment in time to start alerting on SSL certificates",
"subscriptions" : [ {
"groupId" : "number",
"id" : "number",
"checkId" : "string",
"activated" : "Required boolean"
} ],
"sendFailure" : "boolean",
"sendRecovery" : "boolean",
"sendDegraded" : "boolean",
"type" : "string. Possible values: EMAIL | SLACK | WEBHOOK | SMS | PAGERDUTY | OPSGENIE",
"sslExpiry" : "Determines if an alert should be send for expiring SSL certificates",
"config" : { }
}
Creates a new API or browser check. Will return a 402
when you are over the limit of your plan.
When using the globalAlertSetting
, the alertSetting
can be null
Type: object
{
"localTearDownScript" : "A valid piece of Node.js code to run in the teardown phase",
"request" : { },
"groupOrder" : "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",
"useGlobalAlertSettings" : "When true, the account level alert setting will be used, not the alert setting defined on this check",
"maxResponseTime" : "The response time in milliseconds where a check should be considered failing",
"groupId" : "The id of the check group this check is part of",
"setupSnippetId" : "An ID reference to a snippet to use in the setup phase of an API check",
"frequency" : "how often the check should run in minutes",
"sslCheck" : "Determines if the SSL certificate should be validated for expiry",
"muted" : "Determines if any notifications will be send out when a check fails and/or recovers",
"checkType" : "The type of the check",
"tearDownSnippetId" : "An ID reference to a snippet to use in the teardown phase of an API check",
"shouldFail" : "Allows to invert the behaviour of when a check is considered to fail. Allows for validating error status like 404",
"localSetupScript" : "A valid piece of Node.js code to run in the setup phase",
"script" : "Required string",
"runtimeId" : "The runtime version, i.e. fixed set of runtime dependencies, used to execute this check",
"tags" : [ "string" ],
"alertChannelSubscriptions" : [ {
"alertChannelId" : "Required number",
"activated" : "Required boolean"
} ],
"doubleCheck" : "Setting this to \"true\" will trigger a retry when a check fails from the failing region and another, randomly selected region before marking the check as failed",
"environmentVariables" : [ {
"locked" : "Used only in the UI to hide the value like a password",
"value" : "Required string",
"key" : "Required string"
} ],
"name" : "The name of the check",
"degradedResponseTime" : "The response time in milliseconds where a check should be considered degraded",
"frequencyOffset" : "Used for setting seconds for check frequencies under 1 minutes (only for API 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.",
"locations" : [ "string. Possible values: us-east-1 | us-east-2 | us-west-1 | us-west-2 | ca-central-1 | sa-east-1 | eu-west-1 | eu-central-1 | eu-west-2 | eu-west-3 | eu-north-1 | eu-south-1 | me-south-1 | ap-southeast-1 | ap-northeast-1 | ap-east-1 | ap-southeast-2 | ap-northeast-2 | ap-northeast-3 | ap-south-1 | af-south-1" ],
"alertSettings" : {
"reminders" : {
"amount" : "How many reminders to send out after the initial alert notification",
"interval" : "At what interval the reminders should be send"
},
"runBasedEscalation" : {
"failedRunThreshold" : "After how many failed consecutive check runs an alert notification should be send"
},
"timeBasedEscalation" : {
"minutesFailingThreshold" : "After how many minutes after a check starts failing an alert should be send"
},
"sslCertificates" : {
"alertThreshold" : "At what moment in time to start alerting on SSL certificates",
"enabled" : "Determines if alert notifications should be send for expiring SSL certificates"
},
"escalationType" : "Determines what type of escalation to use"
},
"activated" : "Determines if the check is running or not"
}
Type: boolean
Creates a new check group. You can add checks to the group by setting the "groupId" property of individual checks.
Type: object
{
"localTearDownScript" : "A valid piece of Node.js code to run in the teardown phase of an API check in this group",
"tearDownSnippetId" : "An ID reference to a snippet to use in the teardown phase of an API check in this group",
"useGlobalAlertSettings" : "When true, the account level alert setting will be used, not the alert setting defined on this check group",
"localSetupScript" : "A valid piece of Node.js code to run in the setup phase of an API check in this group",
"setupSnippetId" : "An ID reference to a snippet to use in the setup phase of an API check in this group",
"browserCheckDefaults" : { },
"apiCheckDefaults" : {
"headers" : [ {
"locked" : "boolean",
"value" : "Required string",
"key" : "Required string"
} ],
"queryParameters" : [ {
"locked" : "boolean",
"value" : "Required string",
"key" : "Required string"
} ],
"basicAuth" : {
"password" : "Required string",
"username" : "Required string"
},
"assertions" : [ {
"comparison" : "string. Possible values: 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",
"source" : "string. Possible values: STATUS_CODE | JSON_BODY | HEADERS | TEXT_BODY | RESPONSE_TIME",
"target" : "string"
} ],
"url" : "The base url for this group which you can reference with the variable in all group checks."
},
"runtimeId" : "The runtime version, i.e. fixed set of runtime dependencies, used to execute checks in this group.",
"tags" : [ "string" ],
"concurrency" : "Determines how many checks are invoked concurrently when triggering a check group from CI/CD or through the API.",
"alertChannelSubscriptions" : [ {
"alertChannelId" : "Required number",
"activated" : "Required boolean"
} ],
"doubleCheck" : "Setting this to \"true\" will trigger a retry when a check fails from the failing region and another, randomly selected region before marking the check as failed",
"environmentVariables" : [ {
"locked" : "Used only in the UI to hide the value like a password",
"value" : "Required string",
"key" : "Required string"
} ],
"name" : "The name of the check group",
"locations" : [ "string. Possible values: us-east-1 | us-east-2 | us-west-1 | us-west-2 | ca-central-1 | sa-east-1 | eu-west-1 | eu-central-1 | eu-west-2 | eu-west-3 | eu-north-1 | eu-south-1 | me-south-1 | ap-southeast-1 | ap-northeast-1 | ap-east-1 | ap-southeast-2 | ap-northeast-2 | ap-northeast-3 | ap-south-1 | af-south-1" ],
"alertSettings" : {
"reminders" : {
"amount" : "How many reminders to send out after the initial alert notification",
"interval" : "At what interval the reminders should be send"
},
"runBasedEscalation" : {
"failedRunThreshold" : "After how many failed consecutive check runs an alert notification should be send"
},
"timeBasedEscalation" : {
"minutesFailingThreshold" : "After how many minutes after a check starts failing an alert should be send"
},
"sslCertificates" : {
"alertThreshold" : "At what moment in time to start alerting on SSL certificates",
"enabled" : "Determines if alert notifications should be send for expiring SSL certificates"
},
"escalationType" : "Determines what type of escalation to use"
},
"muted" : "Determines if any notifications will be send out when a check in this group fails and/or recovers",
"activated" : "Determines if the checks in the group are running or not"
}
Type: boolean
Creates a new dashboard. Will return a 409 when attempting to create a dashboard with a custom URL or custom domain that is already taken.
Type: object
{
"customUrl" : "A subdomain name under \"checklyhq.com\". Needs to be unique across all users.",
"refreshRate" : "How often to refresh the dashboard in seconds.",
"width" : "Determines whether to use the full screen or focus in the center.",
"logo" : "A URL pointing to an image file.",
"header" : "A piece of text displayed at the top of your dashboard.",
"paginate" : "Determines of pagination is on or off.",
"paginationRate" : "How often to trigger pagination in seconds.",
"customDomain" : "A custom user domain, e.g. \"status.example.com\". See the docs on updating your DNS and SSL usage.",
"tags" : [ "string" ],
"hideTags" : "Show or hide the tags on the dashboard."
}
Creates a new environment variable.
Type: object
{
"locked" : "Used only in the UI to hide the value like a password",
"value" : "Required string",
"key" : "Required string"
}
Creates a new maintenance window.
Type: object
{
"repeatUnit" : "The repeat strategy for the maintenance window",
"repeatEndsAt" : "The end date where the maintenance window should stop repeating",
"name" : "The maintenance window name",
"repeatInterval" : "The repeat interval of the maintenance window from the first occurance",
"startsAt" : "The start date of the maintenance window",
"endsAt" : "The end date of the maintenance window",
"tags" : [ "string" ]
}
Creates a new snippet.
Type: object
{
"name" : "The snippet name",
"script" : "Your Node.js code that interacts with the API check lifecycle, or functions as a partial for browser checks."
}
Permanently removes an alert channel
Permanently removes a API or browser check and all its related status and results data.
Permanently removes a check group. You cannot delete a check group if it still contains checks.
Permanently removes a dashboard.
Permanently removes an environment variable. Uses the "key" field as the ID for deletion.
Permanently removes a maintenance window.
Permanently removes a snippet.
Show details of a specific alert channel.
Show details of a specific API or browser check
Show details of one check in a specific check group with the group settings applied.
Show details of a specific check group
Show details of a specific check result.
Show the current status information for a specific check.
Show details of a specific dashboard.
Show details of a specific environment variable. Uses the "key" field for selection.
Show details of a specific maintenance window.
Generates a report with aggregated statistics for all checks or a filtered set of checks over a specified time window.
Filter checks by activated status.
Type: boolean
Use tags to filter the checks you want to see in your report.
Type: array
[ "string" ]
Custom start time of reporting window in unix timestamp format. Setting a custom "from" timestamp overrides the use of any "presetWindow".
Type: date
Preset reporting windows are used for quickly generating report on commonly used windows. Can be overridden by using a custom "to" and "from" timestamp.
Type: string
Potential values: last24Hrs, last7Days, last30Days, thisWeek, thisMonth, lastWeek, lastMonth
Custom end time of reporting window in unix timestamp format. Setting a custom "to" timestamp overrides the use of any "presetWindow".
Type: date
Shows the details of all included NPM packages and their version for one specific runtime
Show details of a specific snippet.
Lists all supported locationss.
This operation has no parameters
Lists all supported runtimes and the included NPM packages for Browser checks and setup & teardown scripts for API checks.
This operation has no parameters
Lists all configured alert channels and their subscribed checks.
This operation has no parameters
Lists all current check groups in your account. The "checks" property is an array of check UUID's for convenient referencing. It is read only and you cannot use it to add checks to a group.
This operation has no parameters
Lists the full, raw check results for a specific check. We keep raw results for 30 days. After 30 days they are erased. However we keep the rolled up results for an indefinite period.
You can filter by check type and result type to narrow down the list. Use the to
and from
parameters to specify a date range (UNIX timestamp in seconds). Depending on the check type, some fields might be null.
Type: string
The type of the check
Type: string
Potential values: BROWSER, API
Select results from this UNIX timestamp date in seconds, i.e. >= date
Type: date
Check result has one or more failures
Type: boolean
Provide a data center location, e.g. "eu-west-1" to filter by location
Type: string
Select results up to this UNIX timestamp date in seconds, i.e. < date
Type: date
Shows the current status information for all checks in your account. The check status records are continuously updatedas new check results come in.
This operation has no parameters
Lists all current checks in your account.
Filters the results by a string contained in the URL of an API check, for instance a domain like "www.myapp.com". Only returns API checks.
Type: string
Lists all checks in a specific check group with the group settings applied.
Lists all current dashboards in your account.
This operation has no parameters
Lists all current environment variables in your account.
This operation has no parameters
Lists all maintenance windows in your account.
This operation has no parameters
Lists the rolled up check results per hour for a specific check.
This means that one hour after a raw result for a check is recorded, it is also available in the rolled up results.
The result contains all discrete response times and aggregated counters for failing and successful check. Using this data you can reconstruct averages, percentiles and ratios, approximating the individual raw check results very closely.
You can filter by check type and result type to narrow down the list. Use the to
and from
parameters to specify a date range. Depending on the check type, some fields might be null.
Note that results from this endpoint start at roughly 2019-4-11, earlier results are not available.
Type: string
Select results from this UNIX timestamp date, i.e. >= date
Type: date
Provide a data center location, e.g. "eu-west-1" to filter by location
Type: string
Select results up to this UNIX timestamp date, i.e. < date
Type: date
Lists all current snippets in your account.
This operation has no parameters
Update an alert channel
Type: number
Type: object
{
"sslExpiryThreshold" : "At what moment in time to start alerting on SSL certificates",
"subscriptions" : [ {
"groupId" : "number",
"id" : "number",
"checkId" : "string",
"activated" : "Required boolean"
} ],
"sendFailure" : "boolean",
"sendRecovery" : "boolean",
"sendDegraded" : "boolean",
"type" : "string. Possible values: EMAIL | SLACK | WEBHOOK | SMS | PAGERDUTY | OPSGENIE",
"sslExpiry" : "Determines if an alert should be send for expiring SSL certificates",
"config" : { }
}
Update the subscriptions of an alert channel. Use this to add a check to an alert channel so failure and recovery alerts are send out for that check. Note: when passing the subscription object, you can only specify a "checkId" or a "groupId, not both.
Type: number
Type: object
{
"groupId" : "You can either pass a checkId or a groupId, but not both",
"checkId" : "You can either pass a checkId or a groupId, but not both",
"activated" : "Required boolean"
}
Updates a new API or browser check.
Type: string
Type: object
{
"localTearDownScript" : "A valid piece of Node.js code to run in the teardown phase",
"request" : { },
"groupOrder" : "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",
"useGlobalAlertSettings" : "When true, the account level alert setting will be used, not the alert setting defined on this check",
"maxResponseTime" : "The response time in milliseconds where a check should be considered failing",
"groupId" : "The id of the check group this check is part of",
"setupSnippetId" : "An ID reference to a snippet to use in the setup phase of an API check",
"frequency" : "how often the check should run in minutes",
"sslCheck" : "Determines if the SSL certificate should be validated for expiry",
"muted" : "Determines if any notifications will be send out when a check fails and/or recovers",
"checkType" : "The type of the check",
"tearDownSnippetId" : "An ID reference to a snippet to use in the teardown phase of an API check",
"shouldFail" : "Allows to invert the behaviour of when a check is considered to fail. Allows for validating error status like 404",
"localSetupScript" : "A valid piece of Node.js code to run in the setup phase",
"script" : "Required string",
"runtimeId" : "The runtime version, i.e. fixed set of runtime dependencies, used to execute this check",
"tags" : [ "string" ],
"alertChannelSubscriptions" : [ {
"alertChannelId" : "Required number",
"activated" : "Required boolean"
} ],
"doubleCheck" : "Setting this to \"true\" will trigger a retry when a check fails from the failing region and another, randomly selected region before marking the check as failed",
"environmentVariables" : [ {
"locked" : "Used only in the UI to hide the value like a password",
"value" : "Required string",
"key" : "Required string"
} ],
"name" : "The name of the check",
"degradedResponseTime" : "The response time in milliseconds where a check should be considered degraded",
"frequencyOffset" : "Used for setting seconds for check frequencies under 1 minutes (only for API 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.",
"locations" : [ "string. Possible values: us-east-1 | us-east-2 | us-west-1 | us-west-2 | ca-central-1 | sa-east-1 | eu-west-1 | eu-central-1 | eu-west-2 | eu-west-3 | eu-north-1 | eu-south-1 | me-south-1 | ap-southeast-1 | ap-northeast-1 | ap-east-1 | ap-southeast-2 | ap-northeast-2 | ap-northeast-3 | ap-south-1 | af-south-1" ],
"alertSettings" : {
"reminders" : {
"amount" : "How many reminders to send out after the initial alert notification",
"interval" : "At what interval the reminders should be send"
},
"runBasedEscalation" : {
"failedRunThreshold" : "After how many failed consecutive check runs an alert notification should be send"
},
"timeBasedEscalation" : {
"minutesFailingThreshold" : "After how many minutes after a check starts failing an alert should be send"
},
"sslCertificates" : {
"alertThreshold" : "At what moment in time to start alerting on SSL certificates",
"enabled" : "Determines if alert notifications should be send for expiring SSL certificates"
},
"escalationType" : "Determines what type of escalation to use"
},
"activated" : "Determines if the check is running or not"
}
Type: boolean
Updates a check group.
Type: number
Type: object
{
"localTearDownScript" : "A valid piece of Node.js code to run in the teardown phase of an API check in this group",
"tearDownSnippetId" : "An ID reference to a snippet to use in the teardown phase of an API check in this group",
"useGlobalAlertSettings" : "When true, the account level alert setting will be used, not the alert setting defined on this check group",
"localSetupScript" : "A valid piece of Node.js code to run in the setup phase of an API check in this group",
"setupSnippetId" : "An ID reference to a snippet to use in the setup phase of an API check in this group",
"browserCheckDefaults" : { },
"apiCheckDefaults" : {
"headers" : [ {
"locked" : "boolean",
"value" : "Required string",
"key" : "Required string"
} ],
"queryParameters" : [ {
"locked" : "boolean",
"value" : "Required string",
"key" : "Required string"
} ],
"basicAuth" : {
"password" : "Required string",
"username" : "Required string"
},
"assertions" : [ {
"comparison" : "string. Possible values: 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",
"source" : "string. Possible values: STATUS_CODE | JSON_BODY | HEADERS | TEXT_BODY | RESPONSE_TIME",
"target" : "string"
} ],
"url" : "The base url for this group which you can reference with the variable in all group checks."
},
"runtimeId" : "The runtime version, i.e. fixed set of runtime dependencies, used to execute checks in this group.",
"tags" : [ "string" ],
"concurrency" : "Determines how many checks are invoked concurrently when triggering a check group from CI/CD or through the API.",
"alertChannelSubscriptions" : [ {
"alertChannelId" : "Required number",
"activated" : "Required boolean"
} ],
"doubleCheck" : "Setting this to \"true\" will trigger a retry when a check fails from the failing region and another, randomly selected region before marking the check as failed",
"environmentVariables" : [ {
"locked" : "Used only in the UI to hide the value like a password",
"value" : "Required string",
"key" : "Required string"
} ],
"name" : "The name of the check group",
"locations" : [ "string. Possible values: us-east-1 | us-east-2 | us-west-1 | us-west-2 | ca-central-1 | sa-east-1 | eu-west-1 | eu-central-1 | eu-west-2 | eu-west-3 | eu-north-1 | eu-south-1 | me-south-1 | ap-southeast-1 | ap-northeast-1 | ap-east-1 | ap-southeast-2 | ap-northeast-2 | ap-northeast-3 | ap-south-1 | af-south-1" ],
"alertSettings" : {
"reminders" : {
"amount" : "How many reminders to send out after the initial alert notification",
"interval" : "At what interval the reminders should be send"
},
"runBasedEscalation" : {
"failedRunThreshold" : "After how many failed consecutive check runs an alert notification should be send"
},
"timeBasedEscalation" : {
"minutesFailingThreshold" : "After how many minutes after a check starts failing an alert should be send"
},
"sslCertificates" : {
"alertThreshold" : "At what moment in time to start alerting on SSL certificates",
"enabled" : "Determines if alert notifications should be send for expiring SSL certificates"
},
"escalationType" : "Determines what type of escalation to use"
},
"muted" : "Determines if any notifications will be send out when a check in this group fails and/or recovers",
"activated" : "Determines if the checks in the group are running or not"
}
Type: boolean
Updates a dashboard. Will return a 409 when attempting to create a dashboard with a custom URL or custom domain that is already taken.
Type: string
Type: object
{
"customUrl" : "A subdomain name under \"checklyhq.com\". Needs to be unique across all users.",
"refreshRate" : "How often to refresh the dashboard in seconds.",
"width" : "Determines whether to use the full screen or focus in the center.",
"logo" : "A URL pointing to an image file.",
"header" : "A piece of text displayed at the top of your dashboard.",
"paginate" : "Determines of pagination is on or off.",
"paginationRate" : "How often to trigger pagination in seconds.",
"customDomain" : "A custom user domain, e.g. \"status.example.com\". See the docs on updating your DNS and SSL usage.",
"tags" : [ "string" ],
"hideTags" : "Show or hide the tags on the dashboard."
}
Updates an environment variable. Uses the "key" field as the ID for updating. Only updates the value.
Type: string
Type: object
{
"locked" : "Used only in the UI to hide the value like a password",
"value" : "Required string",
"key" : "Required string"
}
Updates a maintenance window.
Type: integer
Type: object
{
"repeatUnit" : "The repeat strategy for the maintenance window",
"repeatEndsAt" : "The end date where the maintenance window should stop repeating",
"name" : "The maintenance window name",
"repeatInterval" : "The repeat interval of the maintenance window from the first occurance",
"startsAt" : "The start date of the maintenance window",
"endsAt" : "The end date of the maintenance window",
"tags" : [ "string" ]
}
Updates a snippet.