{
  "swagger": "2.0",
  "info": {
    "title": "Checkly",
    "version": "1.0",
    "description": "Checkly is the monitoring platform for the modern stack: programmable, flexible and loving JavaScript. Monitor and validate your crucial site transactions. Automatically collect error traces, screenshots and performance metrics with every check you run.",
    "contact": {
      "name": "Troy Taylor",
      "url": "https://www.hitachisolutions.com",
      "email": "ttaylor@hitachisolutions.com"
    }
  },
  "host": "api.checklyhq.com",
  "basePath": "/",
  "schemes": [
    "https"
  ],
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "paths": {
    "/v1/alert-channels": {
      "get": {
        "summary": "List all alert channels",
        "operationId": "GetV1Alertchannels",
        "description": "Lists all configured alert channels and their subscribed checks.",
        "parameters": [
          {
            "type": "integer",
            "description": "Limit the number of results.",
            "default": 10,
            "minimum": 1,
            "maximum": 100,
            "name": "limit",
            "in": "query",
            "x-ms-summary": "Limit"
          },
          {
            "type": "number",
            "description": "The page number.",
            "default": 1,
            "name": "page",
            "in": "query",
            "x-ms-summary": "Number"
          }
        ],
        "tags": [
          "Alert channels"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/AlertChannelList"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "post": {
        "summary": "Create an alert channel",
        "operationId": "PostV1Alertchannels",
        "description": "Creates a new alert channel.",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/AlertChannelCreate"
            }
          }
        ],
        "tags": [
          "Alert channels"
        ],
        "responses": {
          "201": {
            "schema": {
              "$ref": "#/definitions/AlertChannel"
            },
            "description": "Created."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "402": {
            "schema": {
              "$ref": "#/definitions/PaymentRequiredError"
            },
            "description": "Payment Required."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/alert-channels/{id}": {
      "get": {
        "summary": "Retrieve an alert channel",
        "operationId": "GetV1AlertchannelsId",
        "description": "Show details of a specific alert channel.",
        "parameters": [
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          }
        ],
        "tags": [
          "Alert channels"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/AlertChannel"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "delete": {
        "summary": "Delete an alert channel",
        "operationId": "DeleteV1AlertchannelsId",
        "description": "Permanently removes an alert channel.",
        "parameters": [
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          }
        ],
        "tags": [
          "Alert channels"
        ],
        "responses": {
          "204": {
            "description": "No Content."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "put": {
        "summary": "Update an alert channel",
        "operationId": "PutV1AlertchannelsId",
        "description": "Update an alert channel.",
        "parameters": [
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/AlertChannelCreate"
            }
          }
        ],
        "tags": [
          "Alert channels"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/AlertChannel"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "402": {
            "schema": {
              "$ref": "#/definitions/PaymentRequiredError"
            },
            "description": "Payment Required."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/alert-channels/{id}/subscriptions": {
      "put": {
        "summary": "Update the subscriptions of an alert channel",
        "operationId": "PutV1AlertchannelsIdSubscriptions",
        "description": "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.",
        "parameters": [
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/AlertChannelSubscriptionCreate"
            }
          }
        ],
        "tags": [
          "Alert channels"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/AlertChanelSubscription"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/badges/checks/{checkId}": {
      "get": {
        "operationId": "GetV1BadgesChecksCheckid",
        "description": "Get check status badge.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "checkId",
            "in": "path",
            "x-ms-summary": "Check ID",
            "x-ms-url-encoding": "single",
            "description": "The check identifier.",
            "required": true
          },
          {
            "type": "string",
            "default": "flat",
            "enum": [
              "flat",
              "plastic",
              "flat-square",
              "for-the-badge",
              "social"
            ],
            "name": "style",
            "in": "query",
            "description": "The style.",
            "x-ms-summary": "Style"
          },
          {
            "type": "string",
            "default": "default",
            "enum": [
              "light",
              "dark",
              "default"
            ],
            "name": "theme",
            "in": "query",
            "description": "The theme.",
            "x-ms-summary": "Theme"
          },
          {
            "type": "boolean",
            "default": false,
            "name": "responseTime",
            "in": "query",
            "description": "The response time.",
            "x-ms-summary": "Response Time"
          }
        ],
        "tags": [
          "Badges"
        ],
        "responses": {
          "200": {
            "schema": {
              "type": "string",
              "pattern": "(<svg)([^<]*|[^>]*)"
            },
            "description": "Successful."
          }
        },
        "summary": "Get check status badge"
      }
    },
    "/v1/badges/groups/{groupId}": {
      "get": {
        "operationId": "GetV1BadgesGroupsGroupid",
        "description": "Get group status badge.",
        "parameters": [
          {
            "type": "integer",
            "name": "groupId",
            "in": "path",
            "x-ms-summary": "Group ID",
            "x-ms-url-encoding": "single",
            "description": "The group identifier.",
            "required": true
          },
          {
            "type": "string",
            "default": "flat",
            "enum": [
              "flat",
              "plastic",
              "flat-square",
              "for-the-badge",
              "social"
            ],
            "name": "style",
            "in": "query",
            "description": "The style.",
            "x-ms-summary": "Style"
          },
          {
            "type": "string",
            "default": "default",
            "enum": [
              "light",
              "dark",
              "default"
            ],
            "name": "theme",
            "in": "query",
            "description": "The theme.",
            "x-ms-summary": "Theme"
          },
          {
            "type": "boolean",
            "default": false,
            "name": "responseTime",
            "in": "query",
            "description": "The response time.",
            "x-ms-summary": "Response Time"
          }
        ],
        "tags": [
          "Badges"
        ],
        "responses": {
          "200": {
            "schema": {
              "type": "string",
              "pattern": "(<svg)([^<]*|[^>]*)"
            },
            "description": "Successful."
          }
        },
        "summary": "Get group status badge"
      }
    },
    "/v1/check-alerts": {
      "get": {
        "summary": "List all alerts for your account",
        "operationId": "GetV1Checkalerts",
        "description": "Lists all alerts for your account.",
        "parameters": [
          {
            "type": "integer",
            "description": "Limit the number of results.",
            "default": 10,
            "minimum": 1,
            "maximum": 100,
            "name": "limit",
            "in": "query",
            "x-ms-summary": "Limit"
          },
          {
            "type": "number",
            "description": "The page number.",
            "default": 1,
            "name": "page",
            "in": "query",
            "x-ms-summary": "Number"
          },
          {
            "type": "string",
            "format": "date",
            "description": "Select documents up from this UNIX timestamp (>= date). Defaults to now - 6 hours.",
            "name": "from",
            "in": "query",
            "x-ms-summary": "From",
            "required": false
          },
          {
            "type": "string",
            "format": "date",
            "description": "Select alerts up to this UNIX timestamp (< date). Defaults to 6 hours after from.",
            "name": "to",
            "in": "query",
            "x-ms-summary": "To",
            "required": false
          }
        ],
        "tags": [
          "Check alerts"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/CheckAlertList"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/check-alerts/{checkId}": {
      "get": {
        "summary": "List alerts for a specific check",
        "operationId": "GetV1CheckalertsCheckid",
        "description": "Lists all the alerts for a specific check.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "checkId",
            "in": "path",
            "x-ms-summary": "Check ID",
            "x-ms-url-encoding": "single",
            "description": "The check identifier.",
            "required": true
          },
          {
            "type": "integer",
            "description": "Limit the number of results.",
            "default": 10,
            "minimum": 1,
            "maximum": 100,
            "name": "limit",
            "in": "query",
            "x-ms-summary": "Limit"
          },
          {
            "type": "number",
            "description": "The page number.",
            "default": 1,
            "name": "page",
            "in": "query",
            "x-ms-summary": "Number"
          },
          {
            "type": "string",
            "format": "date",
            "description": "Select documents up from this UNIX timestamp (>= date). Defaults to now - 6 hours.",
            "name": "from",
            "in": "query",
            "x-ms-summary": "From",
            "required": false
          },
          {
            "type": "string",
            "format": "date",
            "description": "Select alerts up to this UNIX timestamp (< date). Defaults to 6 hours after from.",
            "name": "to",
            "in": "query",
            "x-ms-summary": "To",
            "required": false
          }
        ],
        "tags": [
          "Check alerts"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/CheckAlertList"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/check-groups": {
      "get": {
        "summary": "List all check groups",
        "operationId": "GetV1Checkgroups",
        "description": "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.",
        "parameters": [
          {
            "type": "integer",
            "description": "Limit the number of results.",
            "default": 10,
            "minimum": 1,
            "maximum": 100,
            "name": "limit",
            "in": "query",
            "x-ms-summary": "Limit"
          },
          {
            "type": "number",
            "description": "The page number.",
            "default": 1,
            "name": "page",
            "in": "query",
            "x-ms-summary": "Number"
          }
        ],
        "tags": [
          "Check groups"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/CheckGroupList"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "post": {
        "summary": "Create a check group",
        "operationId": "PostV1Checkgroups",
        "description": "Creates a new check group. You can add checks to the group by setting the groupId property of individual checks.",
        "parameters": [
          {
            "type": "boolean",
            "description": "Determines whether a new check will automatically be added as a subscriber to all existing alert channels when it gets created.",
            "default": true,
            "name": "autoAssignAlerts",
            "in": "query",
            "x-ms-summary": "Auto-assign Alerts"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/CheckGroupCreate"
            }
          }
        ],
        "tags": [
          "Check groups"
        ],
        "responses": {
          "201": {
            "schema": {
              "$ref": "#/definitions/CheckGroup"
            },
            "description": "Created."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "402": {
            "schema": {
              "$ref": "#/definitions/PaymentRequiredError"
            },
            "description": "Payment Required."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/check-groups/{groupId}/checks/{checkId}": {
      "get": {
        "summary": "Retrieve one check in a specific group with group settings applied",
        "operationId": "GetV1CheckgroupsGroupidChecksCheckid",
        "description": "Show details of one check in a specific check group with the group settings applied.",
        "parameters": [
          {
            "type": "integer",
            "name": "groupId",
            "in": "path",
            "x-ms-summary": "Group ID",
            "x-ms-url-encoding": "single",
            "description": "The group identifier.",
            "required": true
          },
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "checkId",
            "in": "path",
            "x-ms-summary": "Check ID",
            "x-ms-url-encoding": "single",
            "description": "The check identifier.",
            "required": true
          }
        ],
        "tags": [
          "Check groups"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/CheckGroupCheck"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/check-groups/{id}": {
      "get": {
        "summary": "Retrieve a check group",
        "operationId": "GetV1CheckgroupsId",
        "description": "Show details of a specific check group.",
        "parameters": [
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          }
        ],
        "tags": [
          "Check groups"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/CheckGroup"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "delete": {
        "summary": "Delete a check group",
        "operationId": "DeleteV1CheckgroupsId",
        "description": "Permanently removes a check group. You cannot delete a check group if it still contains checks.",
        "parameters": [
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          }
        ],
        "tags": [
          "Check groups"
        ],
        "responses": {
          "204": {
            "description": "No Content."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "409": {
            "schema": {
              "$ref": "#/definitions/ConflictError"
            },
            "description": "Conflict."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "put": {
        "summary": "Update a check group",
        "operationId": "PutV1CheckgroupsId",
        "description": "Updates a check group.",
        "parameters": [
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          },
          {
            "type": "boolean",
            "description": "Determines whether a new check will automatically be added as a subscriber to all existing alert channels when it gets created.",
            "default": true,
            "name": "autoAssignAlerts",
            "in": "query",
            "x-ms-summary": "Auto-assign Alerts"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/CheckGroupUpdate"
            }
          }
        ],
        "tags": [
          "Check groups"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/CheckGroup"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/check-groups/{id}/checks": {
      "get": {
        "summary": "Retrieve all checks in a specific group with group settings applied",
        "operationId": "GetV1CheckgroupsIdChecks",
        "description": "Lists all checks in a specific check group with the group settings applied.",
        "parameters": [
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          },
          {
            "type": "integer",
            "description": "Limit the number of results.",
            "default": 10,
            "minimum": 1,
            "maximum": 100,
            "name": "limit",
            "in": "query",
            "x-ms-summary": "Limit"
          },
          {
            "type": "number",
            "description": "The page number.",
            "default": 1,
            "name": "page",
            "in": "query",
            "x-ms-summary": "Number"
          }
        ],
        "tags": [
          "Check groups"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/Model8"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/check-results/{checkId}": {
      "get": {
        "summary": "Lists all check results",
        "operationId": "GetV1CheckresultsCheckid",
        "description": "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. This endpoint will return data within a six-hours timeframe. If from and to params are set, they must be at most six hours apart.If none are set, we will consider the to param to be now and from param to be six hours earlier. If only the to param is set we will set from to be six hours earlier. On the contrary, if only the from param is set we will consider the to param to be six hours later. Rate-limiting is applied to this endpoint, you can send 5 requests / 10 seconds at most.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "checkId",
            "in": "path",
            "x-ms-summary": "Check ID",
            "x-ms-url-encoding": "single",
            "description": "The check identifier.",
            "required": true
          },
          {
            "type": "integer",
            "description": "Limit the number of results.",
            "default": 10,
            "minimum": 1,
            "maximum": 100,
            "name": "limit",
            "in": "query",
            "x-ms-summary": "Limit"
          },
          {
            "type": "number",
            "description": "The page number.",
            "default": 1,
            "name": "page",
            "in": "query",
            "x-ms-summary": "Number"
          },
          {
            "type": "string",
            "format": "date",
            "description": "Select documents up from this UNIX timestamp (>= date). Defaults to now - 6 hours.",
            "name": "from",
            "in": "query",
            "x-ms-summary": "From",
            "required": false
          },
          {
            "type": "string",
            "format": "date",
            "description": "Select alerts up to this UNIX timestamp (< date). Defaults to 6 hours after from.",
            "name": "to",
            "in": "query",
            "x-ms-summary": "To",
            "required": false
          },
          {
            "type": "string",
            "description": "Provide a data center location, e.g. eu-west-1 to filter by location",
            "enum": [
              "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-southeast-3",
              "ap-northeast-2",
              "ap-northeast-3",
              "ap-south-1",
              "af-south-1"
            ],
            "name": "location",
            "in": "query",
            "x-ms-summary": "Location",
            "required": false
          },
          {
            "type": "string",
            "description": "The type of the check.",
            "enum": [
              "BROWSER",
              "API"
            ],
            "name": "checkType",
            "in": "query",
            "x-ms-summary": "Check Type"
          },
          {
            "type": "boolean",
            "description": "Check result has one or more failures.",
            "name": "hasFailures",
            "in": "query",
            "x-ms-summary": "Has Failures"
          }
        ],
        "tags": [
          "Check results"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/CheckResultList"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "402": {
            "schema": {
              "$ref": "#/definitions/PaymentRequiredError"
            },
            "description": "Payment Required."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/check-results/{checkId}/{checkResultId}": {
      "get": {
        "summary": "Retrieve a check result",
        "operationId": "GetV1CheckresultsCheckidCheckresultid",
        "description": "Show details of a specific check result.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "checkId",
            "in": "path",
            "x-ms-summary": "Check ID",
            "x-ms-url-encoding": "single",
            "description": "The check identifier.",
            "required": true
          },
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "checkResultId",
            "in": "path",
            "x-ms-summary": "Check Result ID",
            "x-ms-url-encoding": "single",
            "description": "The check result identifier.",
            "required": true
          }
        ],
        "tags": [
          "Check results"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/CheckResult"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/check-statuses": {
      "get": {
        "summary": "List all check statuses",
        "operationId": "GetV1Checkstatuses",
        "description": "Shows the current status information for all checks in your account. The check status records are continuously updated as new check results come in.",
        "parameters": [],
        "tags": [
          "Check status"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/CheckStatusList"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/check-statuses/{checkId}": {
      "get": {
        "summary": "Retrieve check status details",
        "operationId": "GetV1CheckstatusesCheckid",
        "description": "Show the current status information for a specific check.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "checkId",
            "in": "path",
            "x-ms-summary": "Check ID",
            "x-ms-url-encoding": "single",
            "description": "The check identifier.",
            "required": true
          }
        ],
        "tags": [
          "Check status"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/CheckStatus"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/checks": {
      "get": {
        "summary": "List all checks",
        "operationId": "GetV1Checks",
        "description": "Lists all current checks in your account.",
        "parameters": [
          {
            "type": "integer",
            "description": "Limit the number of results.",
            "default": 10,
            "minimum": 1,
            "maximum": 100,
            "name": "limit",
            "in": "query",
            "x-ms-summary": "Limit"
          },
          {
            "type": "number",
            "description": "The page number.",
            "default": 1,
            "name": "page",
            "in": "query",
            "x-ms-summary": "Number"
          },
          {
            "type": "string",
            "description": "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.",
            "minLength": 1,
            "name": "apiCheckUrlFilterPattern",
            "in": "query",
            "x-ms-summary": "API Check URL Filter",
            "required": false
          }
        ],
        "tags": [
          "Checks"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/CheckList"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "post": {
        "summary": "Create a check",
        "operationId": "PostV1Checks",
        "description": "<strong>[DEPRECATED] This endpoint will be removed on Monday 4 July 2022. Instead use <code>POST /checks/api</code> or  <code>POST /checks/browser</code>.</strong> Creates a new API or browser check. Will return a `402` when you are over the limit of your plan.    When using the `globalAlertSettings`, the `alertSettings` can be `null`",
        "parameters": [
          {
            "type": "boolean",
            "description": "Determines whether a new check will automatically be added as a subscriber to all existing alert channels when it gets created.",
            "default": true,
            "name": "autoAssignAlerts",
            "in": "query",
            "x-ms-summary": "Auto-assign Alerts"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/CheckCreate"
            }
          }
        ],
        "tags": [
          "Checks"
        ],
        "responses": {
          "201": {
            "schema": {
              "$ref": "#/definitions/Check"
            },
            "description": "Created."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "402": {
            "schema": {
              "$ref": "#/definitions/PaymentRequiredError"
            },
            "description": "Payment Required."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        },
        "deprecated": true
      }
    },
    "/v1/checks/api": {
      "post": {
        "summary": "Create an API check",
        "operationId": "PostV1ChecksApi",
        "description": "Creates a new API check. Will return a `402` when you are over the limit of your plan.    When using the `globalAlertSetting`, the `alertSetting` can be `null`",
        "parameters": [
          {
            "type": "boolean",
            "description": "Determines whether a new check will automatically be added as a subscriber to all existing alert channels when it gets created.",
            "default": true,
            "name": "autoAssignAlerts",
            "in": "query",
            "x-ms-summary": "Auto-assign Alerts"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/CheckAPICreate"
            }
          }
        ],
        "tags": [
          "Checks"
        ],
        "responses": {
          "201": {
            "schema": {
              "$ref": "#/definitions/CheckAPI"
            },
            "description": "Created."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "402": {
            "schema": {
              "$ref": "#/definitions/PaymentRequiredError"
            },
            "description": "Payment Required."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/checks/api/{id}": {
      "put": {
        "summary": "Update an API check",
        "operationId": "PutV1ChecksApiId",
        "description": "Updates an API check.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          },
          {
            "type": "boolean",
            "description": "Determines whether a new check will automatically be added as a subscriber to all existing alert channels when it gets created.",
            "default": true,
            "name": "autoAssignAlerts",
            "in": "query",
            "x-ms-summary": "Auto-assign Alerts"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/CheckAPIUpdate"
            }
          }
        ],
        "tags": [
          "Checks"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/CheckAPI"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/checks/browser": {
      "post": {
        "summary": "Create a browser check",
        "operationId": "PostV1ChecksBrowser",
        "description": "Creates a new browser check. Will return a `402` when you are over the limit of your plan.    When using the `globalAlertSetting`, the `alertSetting` can be `null`",
        "parameters": [
          {
            "type": "boolean",
            "description": "Determines whether a new check will automatically be added as a subscriber to all existing alert channels when it gets created.",
            "default": true,
            "name": "autoAssignAlerts",
            "in": "query",
            "x-ms-summary": "Auto-assign Alerts"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/CheckBrowserCreate"
            }
          }
        ],
        "tags": [
          "Checks"
        ],
        "responses": {
          "201": {
            "schema": {
              "$ref": "#/definitions/CheckBrowser"
            },
            "description": "Created."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "402": {
            "schema": {
              "$ref": "#/definitions/PaymentRequiredError"
            },
            "description": "Payment Required."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/checks/browser/{id}": {
      "put": {
        "summary": "Update a browser check",
        "operationId": "PutV1ChecksBrowserId",
        "description": "Updates a browser check.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          },
          {
            "type": "boolean",
            "description": "Determines whether a new check will automatically be added as a subscriber to all existing alert channels when it gets created.",
            "default": true,
            "name": "autoAssignAlerts",
            "in": "query",
            "x-ms-summary": "Auto-assign Alerts"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/CheckBrowserUpdate"
            }
          }
        ],
        "tags": [
          "Checks"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/CheckBrowser"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/checks/{id}": {
      "get": {
        "summary": "Retrieve a check",
        "operationId": "GetV1ChecksId",
        "description": "Show details of a specific API or browser check.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          }
        ],
        "tags": [
          "Checks"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/Check"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "delete": {
        "summary": "Delete a check",
        "operationId": "DeleteV1ChecksId",
        "description": "Permanently removes a API or browser check and all its related status and results data.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          }
        ],
        "tags": [
          "Checks"
        ],
        "responses": {
          "204": {
            "description": "No Content."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "put": {
        "summary": "Update a check",
        "operationId": "PutV1ChecksId",
        "description": "<strong>[DEPRECATED] This endpoint will be removed on Monday 4 July 2022. Instead use <code>PUT /checks/api/{id}</code> or  <code>PUT /checks/browser/{id}</code>.</strong> Updates a new API or browser check.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          },
          {
            "type": "boolean",
            "description": "Determines whether a new check will automatically be added as a subscriber to all existing alert channels when it gets created.",
            "default": true,
            "name": "autoAssignAlerts",
            "in": "query",
            "x-ms-summary": "Auto-assign Alerts"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/CheckUpdate"
            }
          }
        ],
        "tags": [
          "Checks"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/Check"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        },
        "deprecated": true
      }
    },
    "/v1/dashboards": {
      "get": {
        "summary": "List all dashboards",
        "operationId": "GetV1Dashboards",
        "description": "Lists all current dashboards in your account.",
        "parameters": [
          {
            "type": "integer",
            "description": "Limit the number of results.",
            "default": 10,
            "minimum": 1,
            "maximum": 100,
            "name": "limit",
            "in": "query",
            "x-ms-summary": "Limit"
          },
          {
            "type": "number",
            "description": "The page number.",
            "default": 1,
            "name": "page",
            "in": "query",
            "x-ms-summary": "Number"
          }
        ],
        "tags": [
          "Dashboards"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/DashboardsList"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "post": {
        "summary": "Create a dashboard",
        "operationId": "PostV1Dashboards",
        "description": "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.",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/DashboardCreate"
            }
          }
        ],
        "tags": [
          "Dashboards"
        ],
        "responses": {
          "201": {
            "schema": {
              "$ref": "#/definitions/Dashboard"
            },
            "description": "Created."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "409": {
            "schema": {
              "$ref": "#/definitions/ConflictError"
            },
            "description": "Conflict."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/dashboards/{dashboardId}": {
      "delete": {
        "summary": "Delete a dashboard",
        "operationId": "DeleteV1DashboardsDashboardid",
        "description": "Permanently removes a dashboard.",
        "parameters": [
          {
            "type": "string",
            "name": "dashboardId",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The dashboard identifier.",
            "required": true
          }
        ],
        "tags": [
          "Dashboards"
        ],
        "responses": {
          "204": {
            "description": "No Content."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "put": {
        "summary": "Update a dashboard",
        "operationId": "PutV1DashboardsDashboardid",
        "description": "Updates a dashboard. Will return a 409 when attempting to create a dashboard with a custom URL or custom domain that is already taken.",
        "parameters": [
          {
            "type": "string",
            "name": "dashboardId",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The dashboard identifier.",
            "required": true
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/DashboardCreate"
            }
          }
        ],
        "tags": [
          "Dashboards"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/Dashboard"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "409": {
            "schema": {
              "$ref": "#/definitions/ConflictError"
            },
            "description": "Conflict."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/locations": {
      "get": {
        "summary": "Lists all supported locations",
        "operationId": "GetV1Locations",
        "description": "Lists all supported locations.",
        "parameters": [],
        "tags": [
          "Location"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/LocationList"
            },
            "description": "Successful."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/maintenance-windows": {
      "get": {
        "summary": "List all maintenance windows",
        "operationId": "GetV1Maintenancewindows",
        "description": "Lists all maintenance windows in your account.",
        "parameters": [
          {
            "type": "integer",
            "description": "Limit the number of results.",
            "default": 10,
            "minimum": 1,
            "maximum": 100,
            "name": "limit",
            "in": "query",
            "x-ms-summary": "Limit"
          },
          {
            "type": "number",
            "description": "The page number.",
            "default": 1,
            "name": "page",
            "in": "query",
            "x-ms-summary": "Number"
          }
        ],
        "tags": [
          "Maintenance windows"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/MaintenanceWindowList"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "post": {
        "summary": "Create a maintenance window",
        "operationId": "PostV1Maintenancewindows",
        "description": "Creates a new maintenance window.",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/MaintenanceWindowCreate"
            }
          }
        ],
        "tags": [
          "Maintenance windows"
        ],
        "responses": {
          "201": {
            "schema": {
              "$ref": "#/definitions/MaintenanceWindow"
            },
            "description": "Created."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/maintenance-windows/{id}": {
      "get": {
        "summary": "Retrieve a maintenance window",
        "operationId": "GetV1MaintenancewindowsId",
        "description": "Show details of a specific maintenance window.",
        "parameters": [
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          }
        ],
        "tags": [
          "Maintenance windows"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/MaintenanceWindow"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "delete": {
        "summary": "Delete a maintenance window",
        "operationId": "DeleteV1MaintenancewindowsId",
        "description": "Permanently removes a maintenance window.",
        "parameters": [
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          }
        ],
        "tags": [
          "Maintenance windows"
        ],
        "responses": {
          "204": {
            "description": "No Content."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "put": {
        "summary": "Update a maintenance window",
        "operationId": "PutV1MaintenancewindowsId",
        "description": "Updates a maintenance window.",
        "parameters": [
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/MaintenanceWindowCreate"
            }
          }
        ],
        "tags": [
          "Maintenance windows"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/MaintenanceWindow"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/private-locations": {
      "get": {
        "summary": "List all private locations",
        "operationId": "GetV1Privatelocations",
        "description": "Lists all private locations in your account.",
        "parameters": [],
        "tags": [
          "Private locations"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/privateLocationsListSchema"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "post": {
        "summary": "Create a private location",
        "operationId": "PostV1Privatelocations",
        "description": "Creates a new private location.",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/privateLocationCreate"
            }
          }
        ],
        "tags": [
          "Private locations"
        ],
        "responses": {
          "201": {
            "schema": {
              "$ref": "#/definitions/commonPrivateLocationSchemaResponse"
            },
            "description": "Created."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "402": {
            "schema": {
              "$ref": "#/definitions/PaymentRequiredError"
            },
            "description": "Payment Required."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/private-locations/{id}": {
      "get": {
        "summary": "Retrieve a private location",
        "operationId": "GetV1PrivatelocationsId",
        "description": "Show details of a specific private location.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          }
        ],
        "tags": [
          "Private locations"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/privatelocationschema"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "delete": {
        "summary": "Remove a private location",
        "operationId": "DeleteV1PrivatelocationsId",
        "description": "Permanently removes a private location.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          }
        ],
        "tags": [
          "Private locations"
        ],
        "responses": {
          "204": {
            "description": "No Content."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "put": {
        "summary": "Update a private location",
        "operationId": "PutV1PrivatelocationsId",
        "description": "Updates a private location.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/privateLocationUpdate"
            }
          }
        ],
        "tags": [
          "Private locations"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/commonPrivateLocationSchemaResponse"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/private-locations/{id}/keys": {
      "post": {
        "summary": "Generate a new API Key for a private location",
        "operationId": "PostV1PrivatelocationsIdKeys",
        "description": "Creates an api key on the private location.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          }
        ],
        "tags": [
          "Private locations"
        ],
        "responses": {
          "201": {
            "schema": {
              "$ref": "#/definitions/privateLocationKeys"
            },
            "description": "Created."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "402": {
            "schema": {
              "$ref": "#/definitions/PaymentRequiredError"
            },
            "description": "Payment Required."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/private-locations/{id}/keys/{keyId}": {
      "delete": {
        "summary": "Remove an existing API key for a private location",
        "operationId": "DeleteV1PrivatelocationsIdKeysKeyid",
        "description": "Permanently removes an api key from a private location.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          },
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "keyId",
            "in": "path",
            "x-ms-summary": "Key ID",
            "x-ms-url-encoding": "single",
            "description": "The key identifier.",
            "required": true
          }
        ],
        "tags": [
          "Private locations"
        ],
        "responses": {
          "204": {
            "description": "No Content."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/private-locations/{id}/metrics": {
      "get": {
        "summary": "Get private location health metrics from a window of time",
        "operationId": "GetV1PrivatelocationsIdMetrics",
        "description": "Get private location health metrics from a window of time.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          },
          {
            "type": "string",
            "format": "date",
            "description": "Select metrics beginning with this UNIX timestamp. Must be less than 15 days ago.",
            "name": "from",
            "in": "query",
            "x-ms-summary": "From",
            "required": true
          },
          {
            "type": "string",
            "format": "date",
            "description": "Select metrics up to this UNIX timestamp.",
            "name": "to",
            "in": "query",
            "x-ms-summary": "To",
            "required": true
          }
        ],
        "tags": [
          "Private locations"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/privateLocationsMetricsHistoryResponseSchema"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/reporting": {
      "get": {
        "summary": "Generates a report with aggregate statistics for checks and check groups",
        "operationId": "GetV1Reporting",
        "description": "Generates a report with aggregated statistics for all checks or a filtered set of checks over a specified time window.",
        "parameters": [
          {
            "type": "string",
            "format": "date",
            "description": "Custom start time of reporting window in unix timestamp format. Setting a custom from timestamp overrides the use of any presetWindow.",
            "name": "from",
            "in": "query",
            "x-ms-summary": "From",
            "required": false
          },
          {
            "type": "string",
            "format": "date",
            "description": "Custom end time of reporting window in unix timestamp format. Setting a custom to timestamp overrides the use of any presetWindow.",
            "name": "to",
            "in": "query",
            "x-ms-summary": "To",
            "required": false
          },
          {
            "type": "string",
            "description": "Preset reporting windows are used for quickly generating report on commonly used windows. Can be overridden by using a custom to and from timestamp.",
            "default": "last24Hrs",
            "enum": [
              "last24Hrs",
              "last7Days",
              "last30Days",
              "thisWeek",
              "thisMonth",
              "lastWeek",
              "lastMonth"
            ],
            "name": "presetWindow",
            "in": "query",
            "x-ms-summary": "Preset Window",
            "required": false
          },
          {
            "type": "array",
            "description": "Use tags to filter the checks you want to see in your report.",
            "default": [],
            "x-constraint": {
              "single": true
            },
            "items": {
              "type": "string"
            },
            "name": "filterByTags",
            "in": "query",
            "x-ms-summary": "Filter by Tags"
          },
          {
            "type": "boolean",
            "description": "Filter checks by activated status.",
            "default": false,
            "name": "deactivated",
            "in": "query",
            "x-ms-summary": "Deactivated",
            "required": false
          }
        ],
        "tags": [
          "Reporting"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/ReportingList"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/runtimes": {
      "get": {
        "summary": "Lists all supported runtimes",
        "operationId": "GetV1Runtimes",
        "description": "Lists all supported runtimes and the included NPM packages for Browser checks and setup & teardown scripts for API checks.",
        "parameters": [],
        "tags": [
          "Runtimes"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/RuntimeList"
            },
            "description": "Successful."
          },
          "429": {
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/runtimes/{id}": {
      "get": {
        "summary": "Shows details for one specific runtime",
        "operationId": "GetV1RuntimesId",
        "description": "Shows the details of all included NPM packages and their version for one specific runtime.",
        "parameters": [
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          }
        ],
        "tags": [
          "Runtimes"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/Runtime"
            },
            "description": "Successful."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/snippets": {
      "get": {
        "summary": "List all snippets",
        "operationId": "GetV1Snippets",
        "description": "Lists all current snippets in your account.",
        "parameters": [
          {
            "type": "integer",
            "description": "Limit the number of results.",
            "default": 10,
            "minimum": 1,
            "maximum": 100,
            "name": "limit",
            "in": "query",
            "x-ms-summary": "Limit"
          },
          {
            "type": "number",
            "description": "The page number.",
            "default": 1,
            "name": "page",
            "in": "query",
            "x-ms-summary": "Number"
          }
        ],
        "tags": [
          "Snippets"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/SnippetList"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "post": {
        "summary": "Create a snippet",
        "operationId": "PostV1Snippets",
        "description": "Creates a new snippet.",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/SnippetCreate"
            }
          }
        ],
        "tags": [
          "Snippets"
        ],
        "responses": {
          "201": {
            "schema": {
              "$ref": "#/definitions/Snippet"
            },
            "description": "Created."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/snippets/{id}": {
      "get": {
        "summary": "Retrieve a snippet",
        "operationId": "GetV1SnippetsId",
        "description": "Show details of a specific snippet.",
        "parameters": [
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          }
        ],
        "tags": [
          "Snippets"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/Snippet"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "delete": {
        "summary": "Delete a snippet",
        "operationId": "DeleteV1SnippetsId",
        "description": "Permanently removes a snippet.",
        "parameters": [
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          }
        ],
        "tags": [
          "Snippets"
        ],
        "responses": {
          "204": {
            "description": "No Content."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "put": {
        "summary": "Update a snippet",
        "operationId": "PutV1SnippetsId",
        "description": "Updates a snippet.",
        "parameters": [
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/SnippetCreate"
            }
          }
        ],
        "tags": [
          "Snippets"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/Snippet"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/triggers/check-groups/{groupId}": {
      "get": {
        "summary": "Get the check group trigger",
        "operationId": "GetV1TriggersCheckgroupsGroupid",
        "description": "Finds the check group trigger.",
        "parameters": [
          {
            "type": "integer",
            "name": "groupId",
            "in": "path",
            "x-ms-summary": "Group ID",
            "x-ms-url-encoding": "single",
            "description": "The group identifier.",
            "required": true
          }
        ],
        "tags": [
          "Triggers"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/CheckGroupTrigger"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "delete": {
        "summary": "Delete the check group trigger",
        "operationId": "DeleteV1TriggersCheckgroupsGroupid",
        "description": "Deletes the check groups trigger.",
        "parameters": [
          {
            "type": "integer",
            "name": "groupId",
            "in": "path",
            "x-ms-summary": "Group ID",
            "x-ms-url-encoding": "single",
            "description": "The group identifier.",
            "required": true
          }
        ],
        "tags": [
          "Triggers"
        ],
        "responses": {
          "204": {
            "description": "No Content."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "post": {
        "summary": "Create the check group trigger",
        "operationId": "PostV1TriggersCheckgroupsGroupid",
        "description": "Creates the check group trigger.",
        "parameters": [
          {
            "type": "integer",
            "name": "groupId",
            "in": "path",
            "x-ms-summary": "Group ID",
            "x-ms-url-encoding": "single",
            "description": "The group identifier.",
            "required": true
          }
        ],
        "tags": [
          "Triggers"
        ],
        "responses": {
          "201": {
            "schema": {
              "$ref": "#/definitions/CheckGroupTrigger"
            },
            "description": "Created."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/triggers/checks/{checkId}": {
      "get": {
        "summary": "Get the check trigger",
        "operationId": "GetV1TriggersChecksCheckid",
        "description": "Finds the check trigger.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "checkId",
            "in": "path",
            "x-ms-summary": "Check ID",
            "x-ms-url-encoding": "single",
            "description": "The check identifier.",
            "required": true
          }
        ],
        "tags": [
          "Triggers"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/CheckTrigger"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "delete": {
        "summary": "Delete the check trigger",
        "operationId": "DeleteV1TriggersChecksCheckid",
        "description": "Deletes the check trigger.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "checkId",
            "in": "path",
            "x-ms-summary": "Check ID",
            "x-ms-url-encoding": "single",
            "description": "The check identifier.",
            "required": true
          }
        ],
        "tags": [
          "Triggers"
        ],
        "responses": {
          "204": {
            "description": "No Content."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "post": {
        "summary": "Create the check trigger",
        "operationId": "PostV1TriggersChecksCheckid",
        "description": "Creates the check trigger.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "checkId",
            "in": "path",
            "x-ms-summary": "Check ID",
            "x-ms-url-encoding": "single",
            "description": "The check identifier.",
            "required": true
          }
        ],
        "tags": [
          "Triggers"
        ],
        "responses": {
          "201": {
            "schema": {
              "$ref": "#/definitions/CheckTrigger"
            },
            "description": "Created."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/variables": {
      "get": {
        "summary": "List all environment variables",
        "operationId": "GetV1Variables",
        "description": "Lists all current environment variables in your account.",
        "parameters": [
          {
            "type": "integer",
            "description": "Limit the number of results.",
            "default": 10,
            "minimum": 1,
            "maximum": 100,
            "name": "limit",
            "in": "query",
            "x-ms-summary": "Limit"
          },
          {
            "type": "number",
            "description": "The page number.",
            "default": 1,
            "name": "page",
            "in": "query",
            "x-ms-summary": "Number"
          }
        ],
        "tags": [
          "Environment variables"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/EnvironmentVariableList"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "post": {
        "summary": "Create a environment variable",
        "operationId": "PostV1Variables",
        "description": "Creates a new environment variable.",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/EnvironmentVariable"
            }
          }
        ],
        "tags": [
          "Environment variables"
        ],
        "responses": {
          "201": {
            "schema": {
              "$ref": "#/definitions/EnvironmentVariable"
            },
            "description": "Created."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v1/variables/{key}": {
      "get": {
        "summary": "Retrieve an environment variable",
        "operationId": "GetV1VariablesKey",
        "description": "Show details of a specific environment variable. Uses the key field for selection.",
        "parameters": [
          {
            "type": "string",
            "name": "key",
            "in": "path",
            "x-ms-summary": "Key",
            "x-ms-url-encoding": "single",
            "description": "The key.",
            "required": true
          }
        ],
        "tags": [
          "Environment variables"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/EnvironmentVariable"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "delete": {
        "summary": "Delete an environment variable",
        "operationId": "DeleteV1VariablesKey",
        "description": "Permanently removes an environment variable. Uses the key field as the identifier for deletion.",
        "parameters": [
          {
            "type": "string",
            "name": "key",
            "in": "path",
            "x-ms-summary": "Key",
            "x-ms-url-encoding": "single",
            "description": "The key.",
            "required": true
          }
        ],
        "tags": [
          "Environment variables"
        ],
        "responses": {
          "204": {
            "description": "No Content."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      },
      "put": {
        "summary": "Update a environment variable",
        "operationId": "PutV1VariablesKey",
        "description": "Updates an environment variable. Uses the key field as the identifier for updating. Only updates value and locked property.",
        "parameters": [
          {
            "type": "string",
            "name": "key",
            "in": "path",
            "x-ms-summary": "Key",
            "x-ms-url-encoding": "single",
            "description": "The key.",
            "required": true
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/EnvironmentVariableUpdate"
            }
          }
        ],
        "tags": [
          "Environment variables"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/EnvironmentVariable"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "404": {
            "schema": {
              "$ref": "#/definitions/NotFoundError"
            },
            "description": "Not Found."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    },
    "/v2/reporting/browser-checks/{id}": {
      "get": {
        "summary": "Generates a customizable report for all Browser Check metrics",
        "operationId": "GetV2ReportingBrowserchecksId",
        "description": "Generates a report with aggregated or non-aggregated statistics for a specific Browser Check over a specified time window.",
        "parameters": [
          {
            "type": "string",
            "x-format": {
              "guid": true
            },
            "name": "id",
            "in": "path",
            "x-ms-summary": "ID",
            "x-ms-url-encoding": "single",
            "description": "The identifier.",
            "required": true
          },
          {
            "type": "string",
            "format": "date",
            "description": "Custom start time of reporting window in unix timestamp format. Setting a custom from timestamp overrides the use of any presetWindow.",
            "name": "from",
            "in": "query",
            "x-ms-summary": "From",
            "required": false
          },
          {
            "type": "string",
            "format": "date",
            "description": "Custom end time of reporting window in unix timestamp format. Setting a custom to timestamp overrides the use of any presetWindow.",
            "name": "to",
            "in": "query",
            "x-ms-summary": "To",
            "required": false
          },
          {
            "type": "string",
            "description": "Preset reporting windows are used for quickly generating report on commonly used windows. Can be overridden by using a custom to and from timestamp.",
            "default": "last24Hours",
            "enum": [
              "last24Hours",
              "last7Days",
              "last30Days",
              "thisWeek",
              "thisMonth",
              "lastWeek",
              "lastMonth"
            ],
            "name": "presetWindow",
            "in": "query",
            "x-ms-summary": "Preset Window",
            "required": false
          },
          {
            "type": "number",
            "description": "The time interval to use for aggregating metrics in minutes. For example, five minutes is 300, 24 hours is 1440.",
            "default": 1440,
            "minimum": 1,
            "maximum": 43200,
            "name": "aggregationInterval",
            "in": "query",
            "x-ms-summary": "Aggregation Interval",
            "required": false
          },
          {
            "type": "string",
            "description": "Determines how the series data is grouped.",
            "enum": [
              "runLocation",
              "pageIndex"
            ],
            "name": "groupBy",
            "in": "query",
            "x-ms-summary": "Group By",
            "required": false
          },
          {
            "type": "array",
            "description": "Use status to filter for check either failing or successful check result data.",
            "default": [],
            "x-constraint": {
              "single": true
            },
            "items": {
              "type": "string",
              "enum": [
                "success",
                "failure"
              ]
            },
            "name": "filterByStatus",
            "in": "query",
            "x-ms-summary": "Filter by Status"
          },
          {
            "type": "array",
            "description": "metrics options for browser checks.",
            "x-constraint": {
              "single": true
            },
            "items": {
              "type": "string",
              "enum": [
                "TTFB",
                "FCP",
                "LCP",
                "CLS",
                "TBT",
                "consoleErrors",
                "networkErrors",
                "userScriptErrors",
                "documentErrors",
                "TTFB_avg",
                "TTFB_max",
                "TTFB_median",
                "TTFB_min",
                "TTFB_p90",
                "TTFB_p95",
                "TTFB_p99",
                "TTFB_stddev",
                "TTFB_sum",
                "FCP_avg",
                "FCP_max",
                "FCP_median",
                "FCP_min",
                "FCP_p90",
                "FCP_p95",
                "FCP_p99",
                "FCP_stddev",
                "FCP_sum",
                "LCP_avg",
                "LCP_max",
                "LCP_median",
                "LCP_min",
                "LCP_p90",
                "LCP_p95",
                "LCP_p99",
                "LCP_stddev",
                "LCP_sum",
                "CLS_avg",
                "CLS_max",
                "CLS_median",
                "CLS_min",
                "CLS_p90",
                "CLS_p95",
                "CLS_p99",
                "CLS_stddev",
                "CLS_sum",
                "TBT_avg",
                "TBT_max",
                "TBT_median",
                "TBT_min",
                "TBT_p90",
                "TBT_p95",
                "TBT_p99",
                "TBT_stddev",
                "TBT_sum",
                "consoleErrors_avg",
                "consoleErrors_max",
                "consoleErrors_median",
                "consoleErrors_min",
                "consoleErrors_p90",
                "consoleErrors_p95",
                "consoleErrors_p99",
                "consoleErrors_stddev",
                "consoleErrors_sum",
                "networkErrors_avg",
                "networkErrors_max",
                "networkErrors_median",
                "networkErrors_min",
                "networkErrors_p90",
                "networkErrors_p95",
                "networkErrors_p99",
                "networkErrors_stddev",
                "networkErrors_sum",
                "userScriptErrors_avg",
                "userScriptErrors_max",
                "userScriptErrors_median",
                "userScriptErrors_min",
                "userScriptErrors_p90",
                "userScriptErrors_p95",
                "userScriptErrors_p99",
                "userScriptErrors_stddev",
                "userScriptErrors_sum",
                "documentErrors_avg",
                "documentErrors_max",
                "documentErrors_median",
                "documentErrors_min",
                "documentErrors_p90",
                "documentErrors_p95",
                "documentErrors_p99",
                "documentErrors_stddev",
                "documentErrors_sum"
              ]
            },
            "name": "metrics",
            "in": "query",
            "x-ms-summary": "Metrics",
            "required": false
          }
        ],
        "tags": [
          "Reporting"
        ],
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/attributes"
            },
            "description": "Successful."
          },
          "401": {
            "schema": {
              "$ref": "#/definitions/UnauthorizedError"
            },
            "description": "Unauthorized."
          },
          "403": {
            "schema": {
              "$ref": "#/definitions/ForbiddenError"
            },
            "description": "Forbidden."
          },
          "429": {
            "schema": {
              "$ref": "#/definitions/TooManyRequestsError"
            },
            "description": "Too Many Requests."
          }
        }
      }
    }
  },
  "definitions": {
    "AlertChannelConfig": {
      "type": "object",
      "title": "Alert Channel Config",
      "description": "The configuration of the alert channel."
    },
    "AlertChanelSubscription": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "title": "ID",
          "description": "The identifier."
        },
        "checkId": {
          "type": "string",
          "format": "guid",
          "title": "Check ID",
          "description": "The check identifier."
        },
        "groupId": {
          "type": "number",
          "title": "Group ID",
          "description": "The group identifier."
        },
        "activated": {
          "type": "boolean",
          "title": "Activated",
          "description": "Whether activated."
        }
      },
      "required": [
        "activated"
      ]
    },
    "AlertChanelSubscriptionList": {
      "type": "array",
      "title": "Alert Channel Subscription List",
      "description": "All checks subscribed to this channel.",
      "items": {
        "$ref": "#/definitions/AlertChanelSubscription"
      }
    },
    "AlertChannel": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "title": "ID",
          "description": "The identifier."
        },
        "type": {
          "type": "string",
          "title": "Type",
          "description": "The type of alert channel, i.e. EMAIL or SLACK."
        },
        "config": {
          "$ref": "#/definitions/AlertChannelConfig"
        },
        "subscriptions": {
          "$ref": "#/definitions/AlertChanelSubscriptionList"
        },
        "sendRecovery": {
          "type": "boolean",
          "title": "Send Recovery",
          "description": "Whether send recovery."
        },
        "sendFailure": {
          "type": "boolean",
          "title": "Send Failure",
          "description": "Whether send failure."
        },
        "sendDegraded": {
          "type": "boolean",
          "title": "Send Degraded",
          "description": "Whether send degraded."
        },
        "sslExpiry": {
          "type": "boolean",
          "title": "SSL Expiry",
          "description": "Determines if an alert should be send for expiring SSL certificates.",
          "default": false
        },
        "sslExpiryThreshold": {
          "type": "integer",
          "title": "SSL Expiry Threshold",
          "description": "At what moment in time to start alerting on SSL certificates.",
          "default": 30,
          "minimum": 1,
          "maximum": 30
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "title": "Created At",
          "description": "When created at."
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "title": "Updated At",
          "description": "When updated at."
        }
      }
    },
    "AlertChannelList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/AlertChannel"
      }
    },
    "attributes": {
      "type": "object",
      "title": "Attributes",
      "description": "The attributes."
    },
    "UnauthorizedError": {
      "type": "object",
      "properties": {
        "statusCode": {
          "type": "number",
          "title": "Status Code",
          "description": "The status code.",
          "enum": [
            401
          ]
        },
        "error": {
          "type": "string",
          "title": "Error",
          "description": "The error.",
          "enum": [
            "Unauthorized"
          ]
        },
        "message": {
          "type": "string",
          "title": "Message",
          "description": "The message."
        },
        "attributes": {
          "$ref": "#/definitions/attributes"
        }
      },
      "required": [
        "statusCode",
        "error"
      ]
    },
    "ForbiddenError": {
      "type": "object",
      "properties": {
        "statusCode": {
          "type": "number",
          "title": "Status Code",
          "description": "The status code.",
          "enum": [
            403
          ]
        },
        "error": {
          "type": "string",
          "title": "Error",
          "description": "The error.",
          "enum": [
            "Forbidden"
          ]
        },
        "message": {
          "type": "string",
          "title": "Message",
          "description": "The message."
        }
      },
      "required": [
        "statusCode",
        "error"
      ]
    },
    "TooManyRequestsError": {
      "type": "object",
      "properties": {
        "statusCode": {
          "type": "number",
          "title": "Status Code",
          "description": "The status code.",
          "enum": [
            429
          ]
        },
        "error": {
          "type": "string",
          "title": "Error",
          "description": "The error.",
          "enum": [
            "Too Many Requests"
          ]
        },
        "message": {
          "type": "string",
          "title": "Message",
          "description": "The message."
        },
        "attributes": {
          "$ref": "#/definitions/attributes"
        }
      },
      "required": [
        "statusCode",
        "error"
      ]
    },
    "AlertChannelCreateConfig": {
      "type": "object",
      "title": "Alert Channel Create Config",
      "description": "The alert channel create config."
    },
    "AlertChannelCreate": {
      "type": "object",
      "properties": {
        "subscriptions": {
          "$ref": "#/definitions/AlertChanelSubscriptionList"
        },
        "type": {
          "type": "string",
          "title": "Type",
          "description": "The type.",
          "enum": [
            "EMAIL",
            "SLACK",
            "WEBHOOK",
            "SMS",
            "PAGERDUTY",
            "OPSGENIE"
          ]
        },
        "config": {
          "$ref": "#/definitions/AlertChannelCreateConfig"
        },
        "sendRecovery": {
          "type": "boolean",
          "title": "Send Recovery",
          "description": "Whether send recovery."
        },
        "sendFailure": {
          "type": "boolean",
          "title": "Send Failure",
          "description": "Whether send failure."
        },
        "sendDegraded": {
          "type": "boolean",
          "title": "Send Degraded",
          "description": "Whether send degraded."
        },
        "sslExpiry": {
          "type": "boolean",
          "title": "SSL Expiry",
          "description": "Determines if an alert should be send for expiring SSL certificates.",
          "default": false
        },
        "sslExpiryThreshold": {
          "type": "integer",
          "title": "SSL Expiry Threshold",
          "description": "At what moment in time to start alerting on SSL certificates.",
          "default": 30,
          "minimum": 1,
          "maximum": 30
        }
      },
      "required": [
        "type",
        "config"
      ]
    },
    "PaymentRequiredError": {
      "type": "object",
      "properties": {
        "statusCode": {
          "type": "number",
          "title": "Status Code",
          "description": "The status code.",
          "enum": [
            402
          ]
        },
        "error": {
          "type": "string",
          "title": "Error",
          "description": "The error.",
          "enum": [
            "Payment Required"
          ]
        },
        "message": {
          "type": "string",
          "title": "Message",
          "description": "The message."
        },
        "attributes": {
          "$ref": "#/definitions/attributes"
        }
      },
      "required": [
        "statusCode",
        "error"
      ]
    },
    "NotFoundError": {
      "type": "object",
      "properties": {
        "statusCode": {
          "type": "number",
          "title": "Status Code",
          "description": "The status code.",
          "enum": [
            404
          ]
        },
        "error": {
          "type": "string",
          "title": "Error",
          "description": "The error.",
          "enum": [
            "Not Found"
          ]
        },
        "message": {
          "type": "string",
          "title": "Message",
          "description": "The message."
        }
      },
      "required": [
        "statusCode",
        "error"
      ]
    },
    "AlertChannelSubscriptionCreate": {
      "type": "object",
      "properties": {
        "checkId": {
          "type": "string",
          "title": "Check ID",
          "description": "You can either pass a checkId or a groupId, but not both.",
          "format": "guid"
        },
        "groupId": {
          "type": "number",
          "title": "Group ID",
          "description": "You can either pass a checkId or a groupId, but not both."
        },
        "activated": {
          "type": "boolean",
          "title": "Activated",
          "description": "Whether activated."
        }
      },
      "required": [
        "activated"
      ]
    },
    "CheckAlert": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "ID",
          "description": "The unique identifier of this alert."
        },
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name of the check."
        },
        "checkId": {
          "type": "string",
          "title": "Check ID",
          "description": "The identifier of check this alert belongs to."
        },
        "alertType": {
          "type": "string",
          "title": "Alert Type",
          "description": "The type of alert."
        },
        "checkType": {
          "type": "string",
          "title": "Check Type",
          "description": "The type of the check.",
          "enum": [
            "BROWSER",
            "API"
          ]
        },
        "runLocation": {
          "type": "string",
          "title": "Run Location",
          "description": "What data center location this check alert was triggered from."
        },
        "responseTime": {
          "type": "number",
          "title": "Response Time",
          "description": "Describes the time it took to execute relevant parts of this check. Any setup timer system time needed to start executing this check in the Checkly backend is not part of this."
        },
        "error": {
          "type": "string",
          "title": "Error",
          "description": "Any specific error messages that were part of the failing check triggering the alert."
        },
        "statusCode": {
          "type": "string",
          "title": "Status Code",
          "description": "The status code of the response. Only applies to API checks."
        },
        "created_at": {
          "type": "string",
          "format": "date",
          "title": "Created At",
          "description": "The date and time this check alert was created."
        },
        "startedAt": {
          "type": "string",
          "format": "date",
          "title": "Started At",
          "description": "The date and time this check alert was started."
        }
      },
      "required": [
        "name"
      ]
    },
    "CheckAlertList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/CheckAlert"
      }
    },
    "CheckGroupTagList": {
      "type": "array",
      "title": "Check Group Tag List",
      "description": "Tags for organizing and filtering checks.",
      "items": {
        "type": "string"
      }
    },
    "CheckGroupLocationList": {
      "type": "array",
      "title": "Check Group Location List",
      "description": "An array of one or more data center locations where to run the checks.",
      "items": {
        "type": "string",
        "enum": [
          "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-southeast-3",
          "ap-northeast-2",
          "ap-northeast-3",
          "ap-south-1",
          "af-south-1"
        ]
      }
    },
    "KeyValue": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "title": "Key",
          "description": "The key."
        },
        "value": {
          "type": "string",
          "title": "Value",
          "description": "The value."
        },
        "locked": {
          "type": "boolean",
          "title": "Locked",
          "description": "Whether locked.",
          "default": false
        }
      },
      "required": [
        "key",
        "value"
      ]
    },
    "HeaderList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/KeyValue"
      }
    },
    "QueryParameterList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/KeyValue"
      }
    },
    "Assertion": {
      "type": "object",
      "properties": {
        "source": {
          "type": "string",
          "title": "Source",
          "description": "The source.",
          "enum": [
            "STATUS_CODE",
            "JSON_BODY",
            "HEADERS",
            "TEXT_BODY",
            "RESPONSE_TIME"
          ]
        },
        "property": {
          "type": "string",
          "title": "Property",
          "description": "The property."
        },
        "comparison": {
          "type": "string",
          "title": "Comparison",
          "description": "The comparison.",
          "enum": [
            "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"
          ]
        },
        "target": {
          "type": "string",
          "title": "Target",
          "description": "The target."
        }
      }
    },
    "AssertionList": {
      "type": "array",
      "title": "Assertion List",
      "description": "Check the main Checkly documentation on assertions for specific values like regular expressions and JSON path descriptors you can use in the property field.",
      "items": {
        "$ref": "#/definitions/Assertion"
      }
    },
    "BasicAuth": {
      "type": "object",
      "properties": {
        "username": {
          "type": "string",
          "title": "Username",
          "description": "The username."
        },
        "password": {
          "type": "string",
          "title": "Password",
          "description": "The password."
        }
      },
      "required": [
        "username",
        "password"
      ]
    },
    "CheckGroupAPICheckDefaults": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "title": "URL",
          "description": "The base URL for this group which you can reference with the {{GROUP_BASE_URL}} variable in all group checks."
        },
        "headers": {
          "$ref": "#/definitions/HeaderList"
        },
        "queryParameters": {
          "$ref": "#/definitions/QueryParameterList"
        },
        "assertions": {
          "$ref": "#/definitions/AssertionList"
        },
        "basicAuth": {
          "$ref": "#/definitions/BasicAuth"
        }
      }
    },
    "CheckGroupBrowserCheckDefaults": {
      "type": "object",
      "title": "Check Group Browser Check Defaults",
      "description": "The check group browser check defaults."
    },
    "EnvironmentVariable": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "title": "Key",
          "description": "The key of the environment variable (this value cannot be changed)."
        },
        "value": {
          "type": "string",
          "title": "Value",
          "description": "The value of the environment variable."
        },
        "locked": {
          "type": "boolean",
          "title": "Locked",
          "description": "Used only in the UI to hide the value like a password.",
          "default": false
        }
      },
      "required": [
        "key",
        "value"
      ]
    },
    "EnvironmentVariableList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/EnvironmentVariable"
      }
    },
    "AlertSettingsRunBasedEscalation": {
      "type": "object",
      "properties": {
        "failedRunThreshold": {
          "type": "number",
          "title": "Failed Run Threshold",
          "description": "After how many failed consecutive check runs an alert notification should be send.",
          "default": 1,
          "enum": [
            1,
            2,
            3,
            4,
            5
          ]
        }
      }
    },
    "AlertSettingsTimeBasedEscalation": {
      "type": "object",
      "properties": {
        "minutesFailingThreshold": {
          "type": "number",
          "title": "Minutes Failing Threshold",
          "description": "After how many minutes after a check starts failing an alert should be send.",
          "default": 5,
          "enum": [
            5,
            10,
            15,
            30
          ]
        }
      }
    },
    "AlertSettingsReminders": {
      "type": "object",
      "properties": {
        "amount": {
          "type": "number",
          "title": "Amount",
          "description": "How many reminders to send out after the initial alert notification.",
          "default": 0,
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            100000
          ]
        },
        "interval": {
          "type": "number",
          "title": "Interval",
          "description": "At what interval the reminders should be send.",
          "default": 5,
          "enum": [
            5,
            10,
            15,
            30
          ]
        }
      }
    },
    "AlertSettingsSSLCertificates": {
      "type": "object",
      "title": "Alert Settings SSL Certificates",
      "description": "[DEPRECATED] `sslCertificates` is deprecated and is not longer used. Please ignore it, will be removed in a future version.",
      "properties": {
        "enabled": {
          "type": "boolean",
          "title": "Enabled",
          "description": "Determines if alert notifications should be send for expiring SSL certificates.",
          "default": false
        },
        "alertThreshold": {
          "type": "integer",
          "title": "Alert Threshold",
          "description": "At what moment in time to start alerting on SSL certificates."
        }
      }
    },
    "CheckGroupAlertSettings": {
      "type": "object",
      "title": "Check Group Alert Settings",
      "description": "Alert settings.",
      "default": {
        "escalationType": "RUN_BASED",
        "runBasedEscalation": {
          "failedRunThreshold": 1
        },
        "timeBasedEscalation": {
          "minutesFailingThreshold": 5
        },
        "reminders": {
          "amount": 0,
          "interval": 5
        }
      },
      "properties": {
        "escalationType": {
          "type": "string",
          "title": "Escalation Type",
          "description": "Determines what type of escalation to use.",
          "default": "RUN_BASED",
          "enum": [
            "RUN_BASED",
            "TIME_BASED"
          ]
        },
        "runBasedEscalation": {
          "$ref": "#/definitions/AlertSettingsRunBasedEscalation"
        },
        "timeBasedEscalation": {
          "$ref": "#/definitions/AlertSettingsTimeBasedEscalation"
        },
        "reminders": {
          "$ref": "#/definitions/AlertSettingsReminders"
        },
        "sslCertificates": {
          "$ref": "#/definitions/AlertSettingsSSLCertificates"
        }
      }
    },
    "Model1": {
      "type": "object",
      "title": "Alert Channel Subscription",
      "description": "Alert channel subscription.",
      "properties": {
        "alertChannelId": {
          "type": "number",
          "title": "Alert Channel ID",
          "description": "The alert channel identifier."
        },
        "activated": {
          "type": "boolean",
          "title": "Activated",
          "description": "Whether activated.",
          "default": true
        }
      },
      "required": [
        "alertChannelId",
        "activated"
      ]
    },
    "AlertChannelSubscriptionCreateList": {
      "type": "array",
      "title": "Alert Channel Subscription Create List",
      "description": "List of alert channel subscriptions.",
      "items": {
        "$ref": "#/definitions/Model1"
      }
    },
    "privateLocations": {
      "type": "array",
      "title": "Private Locations",
      "description": "An array of one or more private locations where to run the check.",
      "items": {
        "type": "string"
      }
    },
    "CheckGroup": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "title": "ID",
          "description": "The identifier."
        },
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name of the check group."
        },
        "activated": {
          "type": "boolean",
          "title": "Activated",
          "description": "Determines if the checks in the  group are running or not."
        },
        "muted": {
          "type": "boolean",
          "title": "Muted",
          "description": "Determines if any notifications will be send out when a check in this group fails and/or recovers."
        },
        "tags": {
          "$ref": "#/definitions/CheckGroupTagList"
        },
        "locations": {
          "$ref": "#/definitions/CheckGroupLocationList"
        },
        "concurrency": {
          "type": "number",
          "title": "Concurrency",
          "description": "Determines how many checks are invoked concurrently when triggering a check group from CI/CD or through the API.",
          "default": 3,
          "minimum": 1
        },
        "apiCheckDefaults": {
          "$ref": "#/definitions/CheckGroupAPICheckDefaults"
        },
        "browserCheckDefaults": {
          "$ref": "#/definitions/CheckGroupBrowserCheckDefaults"
        },
        "environmentVariables": {
          "$ref": "#/definitions/EnvironmentVariableList"
        },
        "doubleCheck": {
          "type": "boolean",
          "title": "Double Check",
          "description": "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."
        },
        "useGlobalAlertSettings": {
          "type": "boolean",
          "title": "Use Global Alert Settings",
          "description": "When true, the account level alert setting will be used, not the alert setting defined on this check group."
        },
        "alertSettings": {
          "$ref": "#/definitions/CheckGroupAlertSettings"
        },
        "alertChannelSubscriptions": {
          "$ref": "#/definitions/AlertChannelSubscriptionCreateList"
        },
        "setupSnippetId": {
          "type": "number",
          "title": "Setup Snippet ID",
          "description": "An identifier reference to a snippet to use in the setup phase of an API check in this group."
        },
        "tearDownSnippetId": {
          "type": "number",
          "title": "Tear Down Snippet ID",
          "description": "An identifier reference to a snippet to use in the teardown phase of an API check in this group."
        },
        "localSetupScript": {
          "type": "string",
          "title": "Local Setup Script",
          "description": "A valid piece of Node.js code to run in the setup phase of an API check in this group."
        },
        "localTearDownScript": {
          "type": "string",
          "title": "Local Tear Down Script",
          "description": "A valid piece of Node.js code to run in the teardown phase of an API check in this group."
        },
        "runtimeId": {
          "type": "string",
          "title": "Runtime ID",
          "description": "The runtime version, i.e. fixed set of runtime dependencies, used to execute checks in this group.",
          "enum": [
            "2022.02",
            "2021.10",
            "2021.06",
            "2020.01"
          ]
        },
        "privateLocations": {
          "$ref": "#/definitions/privateLocations"
        },
        "created_at": {
          "type": "string",
          "title": "Created At",
          "description": "When created at.",
          "format": "date"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "title": "Updated At",
          "description": "When updated at."
        }
      },
      "required": [
        "name",
        "activated",
        "concurrency",
        "apiCheckDefaults",
        "browserCheckDefaults"
      ]
    },
    "CheckGroupList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/CheckGroup"
      }
    },
    "CheckGroupCreateAPICheckDefaults": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "title": "URL",
          "description": "The base URL for this group which you can reference with the {{GROUP_BASE_URL}} variable in all group checks."
        },
        "headers": {
          "$ref": "#/definitions/HeaderList"
        },
        "queryParameters": {
          "$ref": "#/definitions/QueryParameterList"
        },
        "assertions": {
          "$ref": "#/definitions/AssertionList"
        },
        "basicAuth": {
          "$ref": "#/definitions/BasicAuth"
        }
      }
    },
    "CheckGroupCreateBrowserCheckDefaults": {
      "type": "object",
      "title": "Check Group Create Browser Check Defaults",
      "description": "The check group create browser check defaults."
    },
    "Model2": {
      "type": "array",
      "title": "Alert Channel Subscriptions",
      "description": "List of alert channel subscriptions.",
      "items": {
        "$ref": "#/definitions/Model1"
      }
    },
    "Model3": {
      "type": "array",
      "title": "Check Private Locations",
      "description": "An array of one or more private locations where to run the checks.",
      "items": {
        "type": "string"
      }
    },
    "CheckGroupCreate": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name of the check group."
        },
        "activated": {
          "type": "boolean",
          "title": "Activated",
          "description": "Determines if the checks in the group are running or not.",
          "default": true
        },
        "muted": {
          "type": "boolean",
          "title": "Muted",
          "description": "Determines if any notifications will be send out when a check in this group fails and/or recovers.",
          "default": false
        },
        "tags": {
          "$ref": "#/definitions/CheckGroupTagList"
        },
        "locations": {
          "$ref": "#/definitions/CheckGroupLocationList"
        },
        "concurrency": {
          "type": "number",
          "title": "Concurrency",
          "description": "Determines how many checks are invoked concurrently when triggering a check group from CI/CD or through the API.",
          "default": 3,
          "minimum": 1
        },
        "apiCheckDefaults": {
          "$ref": "#/definitions/CheckGroupCreateAPICheckDefaults"
        },
        "browserCheckDefaults": {
          "$ref": "#/definitions/CheckGroupCreateBrowserCheckDefaults"
        },
        "runtimeId": {
          "type": "string",
          "title": "Runtime ID",
          "description": "The runtime version, i.e. fixed set of runtime dependencies, used to execute checks in this group.",
          "enum": [
            "2022.02",
            "2021.10",
            "2021.06",
            "2020.01"
          ]
        },
        "environmentVariables": {
          "$ref": "#/definitions/EnvironmentVariableList"
        },
        "doubleCheck": {
          "type": "boolean",
          "title": "Double Check",
          "description": "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.",
          "default": true
        },
        "useGlobalAlertSettings": {
          "type": "boolean",
          "title": "Use Global Alert Settings",
          "description": "When true, the account level alert setting will be used, not the alert setting defined on this check group.",
          "default": true
        },
        "alertSettings": {
          "$ref": "#/definitions/CheckGroupAlertSettings"
        },
        "alertChannelSubscriptions": {
          "$ref": "#/definitions/Model2"
        },
        "setupSnippetId": {
          "type": "number",
          "title": "Setup Snippet ID",
          "description": "An identifier reference to a snippet to use in the setup phase of an API check in this group."
        },
        "tearDownSnippetId": {
          "type": "number",
          "title": "Tear Down Snippet ID",
          "description": "An identifier reference to a snippet to use in the teardown phase of an API check in this group."
        },
        "localSetupScript": {
          "type": "string",
          "title": "Local Setup Script",
          "description": "A valid piece of Node.js code to run in the setup phase of an API check in this group."
        },
        "localTearDownScript": {
          "type": "string",
          "title": "Local Tear Down Script",
          "description": "A valid piece of Node.js code to run in the teardown phase of an API check in this group."
        },
        "privateLocations": {
          "$ref": "#/definitions/Model3"
        }
      },
      "required": [
        "name"
      ]
    },
    "CheckLocationList": {
      "type": "array",
      "title": "Check Location List",
      "description": "An array of one or more data center locations where to run this check.",
      "items": {
        "type": "string",
        "enum": [
          "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-southeast-3",
          "ap-northeast-2",
          "ap-northeast-3",
          "ap-south-1",
          "af-south-1"
        ]
      }
    },
    "CheckTagList": {
      "type": "array",
      "title": "Check Tag List",
      "description": "Tags for organizing and filtering checks.",
      "items": {
        "type": "string"
      }
    },
    "CheckAlertSettings": {
      "type": "object",
      "title": "Check Alert Settings",
      "description": "Alert settings.",
      "default": {
        "escalationType": "RUN_BASED",
        "runBasedEscalation": {
          "failedRunThreshold": 1
        },
        "timeBasedEscalation": {
          "minutesFailingThreshold": 5
        },
        "reminders": {
          "amount": 0,
          "interval": 5
        }
      },
      "properties": {
        "escalationType": {
          "type": "string",
          "title": "Escalation Type",
          "description": "Determines what type of escalation to use.",
          "default": "RUN_BASED",
          "enum": [
            "RUN_BASED",
            "TIME_BASED"
          ]
        },
        "runBasedEscalation": {
          "$ref": "#/definitions/AlertSettingsRunBasedEscalation"
        },
        "timeBasedEscalation": {
          "$ref": "#/definitions/AlertSettingsTimeBasedEscalation"
        },
        "reminders": {
          "$ref": "#/definitions/AlertSettingsReminders"
        },
        "sslCertificates": {
          "$ref": "#/definitions/AlertSettingsSSLCertificates"
        }
      }
    },
    "CheckAlertChannelSubscription": {
      "type": "object",
      "properties": {
        "alertChannelId": {
          "type": "number",
          "title": "Alert Channel ID",
          "description": "The alert channel identifier."
        },
        "activated": {
          "type": "boolean",
          "title": "Activated",
          "description": "Whether activated.",
          "default": true
        }
      },
      "required": [
        "alertChannelId",
        "activated"
      ]
    },
    "CheckAlertChannelSubscriptionList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/CheckAlertChannelSubscription"
      }
    },
    "CheckRequest": {
      "type": "object",
      "title": "Check Request",
      "description": "The check request."
    },
    "CheckEnvironmentVariableList": {
      "type": "array",
      "title": "Check Environment Variable List",
      "description": "Key/value pairs for setting environment variables during check execution. These are only relevant for Browser checks. Use global environment variables whenever possible.",
      "items": {
        "$ref": "#/definitions/EnvironmentVariable"
      }
    },
    "CheckAlertEmail": {
      "type": "object",
      "properties": {
        "address": {
          "type": "string",
          "title": "Address",
          "description": "The address."
        }
      },
      "required": [
        "address"
      ]
    },
    "CheckAlertEmailList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/CheckAlertEmail"
      }
    },
    "Model4": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/KeyValue"
      }
    },
    "Model5": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/KeyValue"
      }
    },
    "CheckAlertWebhook": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name."
        },
        "url": {
          "type": "string",
          "title": "URL",
          "description": "The URL address."
        },
        "method": {
          "type": "string",
          "title": "Method",
          "description": "The method.",
          "default": "POST",
          "enum": [
            "GET",
            "POST",
            "PUT",
            "HEAD",
            "DELETE",
            "PATCH"
          ]
        },
        "headers": {
          "$ref": "#/definitions/Model4"
        },
        "queryParameters": {
          "$ref": "#/definitions/Model5"
        }
      },
      "required": [
        "url"
      ]
    },
    "CheckAlertWebhookList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/CheckAlertWebhook"
      }
    },
    "CheckAlertSlack": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "title": "URL",
          "description": "The URL address."
        }
      },
      "required": [
        "url"
      ]
    },
    "CheckAlertSlackList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/CheckAlertSlack"
      }
    },
    "CheckAlertSMS": {
      "type": "object",
      "properties": {
        "number": {
          "type": "string",
          "title": "Number",
          "description": "The number."
        },
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name."
        }
      },
      "required": [
        "number",
        "name"
      ]
    },
    "CheckAlertSMSList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/CheckAlertSMS"
      }
    },
    "CheckAlertChannels": {
      "type": "object",
      "properties": {
        "email": {
          "$ref": "#/definitions/CheckAlertEmailList"
        },
        "webhook": {
          "$ref": "#/definitions/CheckAlertWebhookList"
        },
        "slack": {
          "$ref": "#/definitions/CheckAlertSlackList"
        },
        "sms": {
          "$ref": "#/definitions/CheckAlertSMSList"
        }
      }
    },
    "CheckGroupCheck": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "ID",
          "description": "The identifier."
        },
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name of the check."
        },
        "activated": {
          "type": "boolean",
          "title": "Activated",
          "description": "Determines if the check is running or not.",
          "default": true
        },
        "muted": {
          "type": "boolean",
          "title": "Muted",
          "description": "Determines if any notifications will be send out when a check fails and/or recovers.",
          "default": false
        },
        "doubleCheck": {
          "type": "boolean",
          "title": "Double Check",
          "description": "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.",
          "default": true
        },
        "shouldFail": {
          "type": "boolean",
          "title": "Should Fail",
          "description": "Allows to invert the behavior of when a check is considered to fail. Allows for validating error status like 404.",
          "default": false
        },
        "locations": {
          "$ref": "#/definitions/CheckLocationList"
        },
        "tags": {
          "$ref": "#/definitions/CheckTagList"
        },
        "alertSettings": {
          "$ref": "#/definitions/CheckAlertSettings"
        },
        "useGlobalAlertSettings": {
          "type": "boolean",
          "title": "Use Global Alert Settings",
          "description": "When true, the account level alert setting will be used, not the alert setting defined on this check.",
          "default": true
        },
        "groupId": {
          "type": "number",
          "title": "Group ID",
          "description": "The identifier of the check group this check is part of."
        },
        "groupOrder": {
          "type": "number",
          "title": "Group Order",
          "description": "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.",
          "minimum": 0
        },
        "runtimeId": {
          "type": "string",
          "title": "Runtime ID",
          "description": "The runtime version, i.e. fixed set of runtime dependencies, used to execute this check.",
          "enum": [
            "2022.02",
            "2021.10",
            "2021.06",
            "2020.01"
          ]
        },
        "alertChannelSubscriptions": {
          "$ref": "#/definitions/CheckAlertChannelSubscriptionList"
        },
        "checkType": {
          "type": "string",
          "title": "Check Type",
          "description": "The type of the check.",
          "enum": [
            "BROWSER",
            "API"
          ]
        },
        "frequency": {
          "type": "integer",
          "title": "Frequency",
          "description": "How often the check should run in minutes.",
          "default": 10
        },
        "frequencyOffset": {
          "type": "integer",
          "title": "Frequency Offset",
          "description": "The frequency offset.",
          "minimum": 1
        },
        "request": {
          "$ref": "#/definitions/CheckRequest"
        },
        "script": {
          "type": "string",
          "title": "Script",
          "description": "The script."
        },
        "environmentVariables": {
          "$ref": "#/definitions/CheckEnvironmentVariableList"
        },
        "setupSnippetId": {
          "type": "number",
          "title": "Setup Snippet ID",
          "description": "An identifier reference to a snippet to use in the setup phase of an API check."
        },
        "tearDownSnippetId": {
          "type": "number",
          "title": "Tear Down Snippet ID",
          "description": "An identifier reference to a snippet to use in the teardown phase of an API check."
        },
        "localSetupScript": {
          "type": "string",
          "title": "Local Setup Script",
          "description": "A valid piece of Node.js code to run in the setup phase."
        },
        "localTearDownScript": {
          "type": "string",
          "title": "Local Tear Down Script",
          "description": "A valid piece of Node.js code to run in the teardown phase."
        },
        "degradedResponseTime": {
          "type": "number",
          "title": "Degraded Response Time",
          "description": "The response time in milliseconds where a check should be considered degraded.",
          "default": 10000,
          "minimum": 0,
          "maximum": 300000
        },
        "maxResponseTime": {
          "type": "number",
          "title": "Max Response Time",
          "description": "The response time in milliseconds where a check should be considered failing.",
          "default": 20000,
          "minimum": 0,
          "maximum": 300000
        },
        "alertChannels": {
          "$ref": "#/definitions/CheckAlertChannels"
        },
        "privateLocations": {
          "$ref": "#/definitions/privateLocations"
        },
        "created_at": {
          "type": "string",
          "title": "Created At",
          "description": "When created at.",
          "format": "date"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "title": "Updated At",
          "description": "When updated at."
        }
      },
      "required": [
        "name",
        "activated",
        "checkType",
        "request",
        "script"
      ]
    },
    "ConflictError": {
      "type": "object",
      "properties": {
        "statusCode": {
          "type": "number",
          "title": "Status Code",
          "description": "The status code.",
          "enum": [
            409
          ]
        },
        "error": {
          "type": "string",
          "title": "Error",
          "description": "The error.",
          "enum": [
            "Conflict"
          ]
        },
        "message": {
          "type": "string",
          "title": "Message",
          "description": "The message."
        }
      },
      "required": [
        "statusCode",
        "error"
      ]
    },
    "Model6": {
      "type": "array",
      "description": "List of alert channel subscriptions.",
      "title": "Alert Channel Subscriptions",
      "items": {
        "$ref": "#/definitions/Model1"
      }
    },
    "Model7": {
      "type": "array",
      "title": "Check Private Locations",
      "description": "An array of one or more private locations where to run the checks.",
      "items": {
        "type": "string"
      }
    },
    "CheckGroupUpdate": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name of the check group."
        },
        "activated": {
          "type": "boolean",
          "title": "Activated",
          "description": "Determines if the checks in the group are running or not.",
          "default": true
        },
        "muted": {
          "type": "boolean",
          "title": "Muted",
          "description": "Determines if any notifications will be send out when a check in this group fails and/or recovers.",
          "default": false
        },
        "tags": {
          "$ref": "#/definitions/CheckGroupTagList"
        },
        "locations": {
          "$ref": "#/definitions/CheckGroupLocationList"
        },
        "concurrency": {
          "type": "number",
          "title": "Concurrency",
          "description": "Determines how many checks are invoked concurrently when triggering a check group from CI/CD or through the API.",
          "default": 3,
          "minimum": 1
        },
        "apiCheckDefaults": {
          "$ref": "#/definitions/CheckGroupCreateAPICheckDefaults"
        },
        "browserCheckDefaults": {
          "$ref": "#/definitions/CheckGroupCreateBrowserCheckDefaults"
        },
        "runtimeId": {
          "type": "string",
          "title": "Runtime ID",
          "description": "The runtime version, i.e. fixed set of runtime dependencies, used to execute checks in this group.",
          "enum": [
            "2022.02",
            "2021.10",
            "2021.06",
            "2020.01"
          ]
        },
        "environmentVariables": {
          "$ref": "#/definitions/EnvironmentVariableList"
        },
        "doubleCheck": {
          "type": "boolean",
          "title": "Double Check",
          "description": "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.",
          "default": true
        },
        "useGlobalAlertSettings": {
          "type": "boolean",
          "title": "Use Global Alert Settings",
          "description": "When true, the account level alert setting will be used, not the alert setting defined on this check group.",
          "default": true
        },
        "alertSettings": {
          "$ref": "#/definitions/CheckGroupAlertSettings"
        },
        "alertChannelSubscriptions": {
          "$ref": "#/definitions/Model6"
        },
        "setupSnippetId": {
          "type": "number",
          "title": "Setup Snippet ID",
          "description": "An identifier reference to a snippet to use in the setup phase of an API check in this group."
        },
        "tearDownSnippetId": {
          "type": "number",
          "title": "Tear Down Snippet ID",
          "description": "An identifier reference to a snippet to use in the teardown phase of an API check in this group."
        },
        "localSetupScript": {
          "type": "string",
          "title": "Local Setup Script",
          "description": "A valid piece of Node.js code to run in the setup phase of an API check in this group."
        },
        "localTearDownScript": {
          "type": "string",
          "title": "Local Tear Down Script",
          "description": "A valid piece of Node.js code to run in the teardown phase of an API check in this group."
        },
        "privateLocations": {
          "$ref": "#/definitions/Model7"
        }
      }
    },
    "Model8": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/CheckGroupCheck"
      }
    },
    "assertions": {
      "type": "array",
      "description": "List of API check assertions.",
      "title": "Assertions",
      "items": {
        "type": "string"
      }
    },
    "headers": {
      "type": "object",
      "title": "Headers",
      "description": "The headers."
    },
    "params": {
      "type": "object",
      "title": "Params",
      "description": "The parameters."
    },
    "request": {
      "type": "object",
      "description": "The request for the API.",
      "title": "Request",
      "properties": {
        "method": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "data": {
          "type": "string"
        },
        "headers": {
          "$ref": "#/definitions/headers"
        },
        "params": {
          "$ref": "#/definitions/params"
        }
      }
    },
    "timings": {
      "type": "object",
      "title": "Timings",
      "description": "The timings."
    },
    "timingPhases": {
      "type": "object",
      "title": "Timing Phases",
      "description": "The timing phases."
    },
    "response": {
      "type": "object",
      "description": "The API response.",
      "title": "Response",
      "properties": {
        "status": {
          "type": "number",
          "title": "Status",
          "description": "The status."
        },
        "statusText": {
          "type": "string",
          "title": "Status Text",
          "description": "The status text."
        },
        "body": {
          "type": "string",
          "title": "Body",
          "description": "The body."
        },
        "headers": {
          "$ref": "#/definitions/headers"
        },
        "timings": {
          "$ref": "#/definitions/timings"
        },
        "timingPhases": {
          "$ref": "#/definitions/timingPhases"
        }
      }
    },
    "jobLog": {
      "type": "object",
      "title": "Job Log",
      "description": "The job log."
    },
    "jobAssets": {
      "type": "array",
      "title": "Job Assets",
      "description": "Assets generated from the check run.",
      "items": {
        "type": "string"
      }
    },
    "CheckResultAPI": {
      "type": "object",
      "title": "Check Result API",
      "description": "The response data for an API check.",
      "properties": {
        "assertions": {
          "$ref": "#/definitions/assertions"
        },
        "request": {
          "$ref": "#/definitions/request"
        },
        "response": {
          "$ref": "#/definitions/response"
        },
        "requestError": {
          "type": "string",
          "title": "Request Error",
          "description": "Describes if an error occurred on the request."
        },
        "jobLog": {
          "$ref": "#/definitions/jobLog"
        },
        "jobAssets": {
          "$ref": "#/definitions/jobAssets"
        }
      }
    },
    "errors": {
      "type": "array",
      "title": "Errors",
      "description": "List of errors on the check run.",
      "items": {
        "type": "string"
      }
    },
    "Model9": {
      "type": "array",
      "title": "Check Run Log",
      "description": "Check run log results.",
      "items": {
        "type": "string"
      }
    },
    "traceSummary": {
      "type": "object",
      "title": "Trace Summary",
      "description": "The trace summary."
    },
    "pages": {
      "type": "array",
      "description": "List of pages used on the check run.",
      "title": "Pages",
      "items": {
        "type": "string"
      }
    },
    "CheckResultBrowser": {
      "type": "object",
      "title": "Browser Check Result",
      "description": "The response data for a browser check.",
      "properties": {
        "type": {
          "type": "string",
          "title": "Type",
          "description": "The type of framework the check is using."
        },
        "errors": {
          "$ref": "#/definitions/errors"
        },
        "endTime": {
          "type": "number",
          "title": "End Time",
          "description": "End time of the check run."
        },
        "startTime": {
          "type": "number",
          "title": "Start Time",
          "description": "Start time of the check run."
        },
        "runtimeVersion": {
          "type": "string",
          "title": "Runtime Version",
          "description": "Active runtime version."
        },
        "jobLog": {
          "$ref": "#/definitions/Model9"
        },
        "jobAssets": {
          "$ref": "#/definitions/jobAssets"
        },
        "traceSummary": {
          "$ref": "#/definitions/traceSummary"
        },
        "pages": {
          "$ref": "#/definitions/pages"
        }
      }
    },
    "CheckResult": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "ID",
          "description": "The unique identifier of this result."
        },
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name of the check."
        },
        "checkId": {
          "type": "string",
          "title": "Check ID",
          "description": "The identifier of the check."
        },
        "hasFailures": {
          "type": "boolean",
          "title": "Has Failures",
          "description": "Describes if any failure has occurred during this check run. This is should be your main focus for assessing API or browser check behavior. Assertions that fail, timeouts or failing scripts all resolve to this value being true."
        },
        "hasErrors": {
          "type": "boolean",
          "title": "Has Errors",
          "description": "Describes if an internal error has occurred in Checkly's backend. This should be false in almost all cases."
        },
        "isDegraded": {
          "type": "boolean",
          "title": "Is Degraded",
          "description": "A check is degraded if it is over the degradation limit set by the degradedResponseTime field on the check. Applies only to API checks."
        },
        "overMaxResponseTime": {
          "type": "boolean",
          "title": "Over Max Response Time",
          "description": "Set to true if the response time is over the limit set by the maxResponseTime field on the check. Applies only to API checks."
        },
        "runLocation": {
          "type": "string",
          "title": "Run Location",
          "description": "What data center location this check result originated from."
        },
        "startedAt": {
          "type": "string",
          "format": "date-time",
          "title": "Started At",
          "description": "The started at time."
        },
        "stoppedAt": {
          "type": "string",
          "format": "date-time",
          "title": "Stopped At",
          "description": "The stopped at time."
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "title": "Created At",
          "description": "When created at."
        },
        "responseTime": {
          "type": "number",
          "title": "Response Time",
          "description": "Describes the time it took to execute relevant parts of this check. Any setup timer system time needed to start executing this check in the Checkly backend is not part of this."
        },
        "apiCheckResult": {
          "$ref": "#/definitions/CheckResultAPI"
        },
        "browserCheckResult": {
          "$ref": "#/definitions/CheckResultBrowser"
        },
        "checkRunId": {
          "type": "number",
          "title": "Check Run ID",
          "description": "The identifier of the specific check run that created this check result."
        },
        "attempts": {
          "type": "number",
          "title": "Attempts",
          "description": "How often this check was retried. This will be larger than 0 when double checking is enabled."
        }
      }
    },
    "CheckResultList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/CheckResult"
      }
    },
    "CheckStatus": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name of the check."
        },
        "checkId": {
          "type": "string",
          "title": "Check ID",
          "description": "The identifier of check this status belongs to."
        },
        "hasFailures": {
          "type": "boolean",
          "title": "Has Failures",
          "description": "Describes if this check is currently failing. If any of the assertions for an API check-fail this value is true. If a browser check fails for whatever reason, this is true."
        },
        "hasErrors": {
          "type": "boolean",
          "title": "Has Errors",
          "description": "Describes if due to some error outside of normal operation this check is failing. This should be extremely rare and only when there is an error in the Checkly backend."
        },
        "isDegraded": {
          "type": "boolean",
          "title": "Is Degraded",
          "description": "A check is degraded if it is over the degradation limit set by the degradedResponseTime field on the check. Applies only to API checks."
        },
        "longestRun": {
          "type": "number",
          "title": "Longest Run",
          "description": "The longest ever recorded response time for this check."
        },
        "shortestRun": {
          "type": "number",
          "title": "Shortest Run",
          "description": "The shortest ever recorded response time for this check."
        },
        "lastRunLocation": {
          "type": "string",
          "title": "Last Run Location",
          "description": "What location this check was last run at."
        },
        "lastCheckRunId": {
          "type": "string",
          "title": "Last Check Run ID",
          "description": "The unique incrementing identifier for each check run."
        },
        "sslDaysRemaining": {
          "type": "number",
          "title": "SSL Days Remaining",
          "description": "How many days remain till the current SSL certificate expires."
        },
        "created_at": {
          "type": "string",
          "title": "Created At",
          "description": "When created at.",
          "format": "date"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "title": "Updated At",
          "description": "When updated at."
        }
      },
      "required": [
        "name"
      ]
    },
    "CheckStatusList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/CheckStatus"
      }
    },
    "Check": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "ID",
          "description": "The identifier."
        },
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name of the check."
        },
        "activated": {
          "type": "boolean",
          "title": "Activated",
          "description": "Determines if the check is running or not.",
          "default": true
        },
        "muted": {
          "type": "boolean",
          "title": "Muted",
          "description": "Determines if any notifications will be send out when a check fails and/or recovers.",
          "default": false
        },
        "doubleCheck": {
          "type": "boolean",
          "title": "Double Check",
          "description": "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.",
          "default": true
        },
        "shouldFail": {
          "type": "boolean",
          "title": "Should Fail",
          "description": "Allows to invert the behavior of when a check is considered to fail. Allows for validating error status like 404.",
          "default": false
        },
        "locations": {
          "$ref": "#/definitions/CheckLocationList"
        },
        "tags": {
          "$ref": "#/definitions/CheckTagList"
        },
        "alertSettings": {
          "$ref": "#/definitions/CheckAlertSettings"
        },
        "useGlobalAlertSettings": {
          "type": "boolean",
          "title": "Use Global Alert Settings",
          "description": "When true, the account level alert setting will be used, not the alert setting defined on this check.",
          "default": true
        },
        "groupId": {
          "type": "number",
          "title": "Group ID",
          "description": "The identifier of the check group this check is part of."
        },
        "groupOrder": {
          "type": "number",
          "title": "Group Order",
          "description": "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.",
          "minimum": 0
        },
        "runtimeId": {
          "type": "string",
          "title": "Runtime ID",
          "description": "The runtime version, i.e. fixed set of runtime dependencies, used to execute this check.",
          "enum": [
            "2022.02",
            "2021.10",
            "2021.06",
            "2020.01"
          ]
        },
        "alertChannelSubscriptions": {
          "$ref": "#/definitions/CheckAlertChannelSubscriptionList"
        },
        "checkType": {
          "type": "string",
          "title": "Check Type",
          "description": "The type of the check.",
          "enum": [
            "BROWSER",
            "API"
          ]
        },
        "frequency": {
          "type": "integer",
          "title": "Frequency",
          "description": "How often the check should run in minutes.",
          "default": 10
        },
        "frequencyOffset": {
          "type": "integer",
          "title": "Frequency Offset",
          "description": "The frequency offset.",
          "minimum": 1
        },
        "request": {
          "$ref": "#/definitions/CheckRequest"
        },
        "script": {
          "type": "string",
          "title": "Script",
          "description": "The script."
        },
        "environmentVariables": {
          "$ref": "#/definitions/CheckEnvironmentVariableList"
        },
        "setupSnippetId": {
          "type": "number",
          "title": "Setup Snippet ID",
          "description": "An identifier reference to a snippet to use in the setup phase of an API check."
        },
        "tearDownSnippetId": {
          "type": "number",
          "title": "Tear Down Snippet ID",
          "description": "An identifier reference to a snippet to use in the teardown phase of an API check."
        },
        "localSetupScript": {
          "type": "string",
          "title": "Local Setup Script",
          "description": "A valid piece of Node.js code to run in the setup phase."
        },
        "localTearDownScript": {
          "type": "string",
          "title": "Local Tear Down Script",
          "description": "A valid piece of Node.js code to run in the teardown phase."
        },
        "degradedResponseTime": {
          "type": "number",
          "title": "Degraded Response Time",
          "description": "The response time in milliseconds where a check should be considered degraded.",
          "default": 10000,
          "minimum": 0,
          "maximum": 300000
        },
        "maxResponseTime": {
          "type": "number",
          "title": "Max Response Time",
          "description": "The response time in milliseconds where a check should be considered failing.",
          "default": 20000,
          "minimum": 0,
          "maximum": 300000
        },
        "alertChannels": {
          "$ref": "#/definitions/CheckAlertChannels"
        },
        "privateLocations": {
          "$ref": "#/definitions/privateLocations"
        },
        "created_at": {
          "type": "string",
          "title": "Created At",
          "description": "When created at.",
          "format": "date"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "title": "Updated At",
          "description": "When updated at."
        }
      },
      "required": [
        "name",
        "activated",
        "checkType",
        "script"
      ]
    },
    "CheckList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Check"
      }
    },
    "Model10": {
      "type": "array",
      "title": "Alert Channel Subscriptions",
      "description": "List of alert channel subscriptions.",
      "items": {
        "$ref": "#/definitions/Model1"
      }
    },
    "CheckCreate": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name of the check."
        },
        "activated": {
          "type": "boolean",
          "title": "Activated",
          "description": "Determines if the check is running or not.",
          "default": true
        },
        "muted": {
          "type": "boolean",
          "title": "Muted",
          "description": "Determines if any notifications will be send out when a check fails and/or recovers.",
          "default": false
        },
        "doubleCheck": {
          "type": "boolean",
          "title": "Double Check",
          "description": "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.",
          "default": true
        },
        "shouldFail": {
          "type": "boolean",
          "title": "Should Fail",
          "description": "Allows to invert the behavior of when a check is considered to fail. Allows for validating error status like 404.",
          "default": false
        },
        "locations": {
          "$ref": "#/definitions/CheckLocationList"
        },
        "tags": {
          "$ref": "#/definitions/CheckTagList"
        },
        "alertSettings": {
          "$ref": "#/definitions/CheckAlertSettings"
        },
        "useGlobalAlertSettings": {
          "type": "boolean",
          "title": "Use Global Alert Settings",
          "description": "When true, the account level alert setting will be used, not the alert setting defined on this check.",
          "default": true
        },
        "groupId": {
          "type": "number",
          "title": "Group ID",
          "description": "The identifier of the check group this check is part of."
        },
        "groupOrder": {
          "type": "number",
          "title": "Group Order",
          "description": "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.",
          "minimum": 0
        },
        "runtimeId": {
          "type": "string",
          "title": "Runtime ID",
          "description": "The runtime version, i.e. fixed set of runtime dependencies, used to execute this check.",
          "enum": [
            "2022.02",
            "2021.10",
            "2021.06",
            "2020.01"
          ]
        },
        "alertChannelSubscriptions": {
          "$ref": "#/definitions/Model10"
        },
        "checkType": {
          "type": "string",
          "title": "Check Type",
          "description": "The type of the check.",
          "enum": [
            "BROWSER",
            "API"
          ]
        },
        "frequency": {
          "type": "integer",
          "title": "Frequency",
          "description": "How often the check should run in minutes.",
          "default": 10
        },
        "frequencyOffset": {
          "type": "integer",
          "title": "Frequency Offset",
          "description": "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. ",
          "minimum": 1
        },
        "request": {
          "$ref": "#/definitions/CheckRequest"
        },
        "script": {
          "type": "string",
          "title": "Script",
          "description": "The script."
        },
        "environmentVariables": {
          "$ref": "#/definitions/CheckEnvironmentVariableList"
        },
        "setupSnippetId": {
          "type": "number",
          "title": "Setup Snippet ID",
          "description": "An identifier reference to a snippet to use in the setup phase of an API check."
        },
        "tearDownSnippetId": {
          "type": "number",
          "title": "Tear Down Snippet ID",
          "description": "An identifier reference to a snippet to use in the teardown phase of an API check."
        },
        "localSetupScript": {
          "type": "string",
          "title": "Local Setup Script",
          "description": "A valid piece of Node.js code to run in the setup phase."
        },
        "localTearDownScript": {
          "type": "string",
          "title": "Local Tear Down Script",
          "description": "A valid piece of Node.js code to run in the teardown phase."
        },
        "degradedResponseTime": {
          "type": "number",
          "title": "Degraded Response Time",
          "description": "The response time in milliseconds where a check should be considered degraded.",
          "default": 10000,
          "minimum": 0,
          "maximum": 300000
        },
        "maxResponseTime": {
          "type": "number",
          "title": "Max Response Time",
          "description": "The response time in milliseconds where a check should be considered failing.",
          "default": 20000,
          "minimum": 0,
          "maximum": 300000
        },
        "privateLocations": {
          "$ref": "#/definitions/privateLocations"
        }
      },
      "required": [
        "name",
        "activated",
        "checkType",
        "script"
      ]
    },
    "Model11": {
      "type": "array",
      "title": "Alert Channel Subscriptions",
      "description": "List of alert channel subscriptions.",
      "items": {
        "$ref": "#/definitions/Model1"
      }
    },
    "Model12": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/KeyValue"
      }
    },
    "Model13": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/KeyValue"
      }
    },
    "Request": {
      "type": "object",
      "title": "Request",
      "description": "Determines the request that the check is going to run.",
      "properties": {
        "method": {
          "type": "string",
          "default": "GET",
          "enum": [
            "GET",
            "POST",
            "PUT",
            "HEAD",
            "DELETE",
            "PATCH"
          ]
        },
        "url": {
          "type": "string",
          "title": "URL",
          "description": "The URL address.",
          "default": "https://api.checklyhq.com",
          "maxLength": 2048
        },
        "followRedirects": {
          "type": "boolean",
          "title": "Follow Redirects",
          "description": "Whether follows redirects."
        },
        "skipSSL": {
          "type": "boolean",
          "title": "Skip SSL",
          "description": "Whether to skip SSL.",
          "default": false
        },
        "body": {
          "type": "string",
          "title": "Body",
          "description": "The body."
        },
        "bodyType": {
          "type": "string",
          "default": "NONE",
          "enum": [
            "JSON",
            "FORM",
            "RAW",
            "GRAPHQL",
            "NONE"
          ]
        },
        "headers": {
          "$ref": "#/definitions/Model12"
        },
        "queryParameters": {
          "$ref": "#/definitions/Model13"
        },
        "assertions": {
          "$ref": "#/definitions/AssertionList"
        },
        "basicAuth": {
          "$ref": "#/definitions/BasicAuth"
        }
      },
      "required": [
        "method",
        "url"
      ]
    },
    "CheckAPICreate": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name of the check."
        },
        "activated": {
          "type": "boolean",
          "title": "Activated",
          "description": "Determines if the check is running or not.",
          "default": true
        },
        "muted": {
          "type": "boolean",
          "title": "Muted",
          "description": "Determines if any notifications will be send out when a check fails and/or recovers.",
          "default": false
        },
        "doubleCheck": {
          "type": "boolean",
          "title": "Double Check",
          "description": "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.",
          "default": true
        },
        "shouldFail": {
          "type": "boolean",
          "title": "Should Fail",
          "description": "Allows to invert the behavior of when a check is considered to fail. Allows for validating error status like 404.",
          "default": false
        },
        "locations": {
          "$ref": "#/definitions/CheckLocationList"
        },
        "tags": {
          "$ref": "#/definitions/CheckTagList"
        },
        "alertSettings": {
          "$ref": "#/definitions/CheckAlertSettings"
        },
        "useGlobalAlertSettings": {
          "type": "boolean",
          "title": "Use Global Alert Settings",
          "description": "When true, the account level alert setting will be used, not the alert setting defined on this check.",
          "default": true
        },
        "groupId": {
          "type": "number",
          "title": "Group ID",
          "description": "The identifier of the check group this check is part of."
        },
        "groupOrder": {
          "type": "number",
          "title": "Group Order",
          "description": "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.",
          "minimum": 0
        },
        "runtimeId": {
          "type": "string",
          "title": "Runtime ID",
          "description": "The runtime version, i.e. fixed set of runtime dependencies, used to execute this check.",
          "enum": [
            "2022.02",
            "2021.10",
            "2021.06",
            "2020.01"
          ]
        },
        "alertChannelSubscriptions": {
          "$ref": "#/definitions/Model11"
        },
        "request": {
          "$ref": "#/definitions/Request"
        },
        "frequency": {
          "type": "integer",
          "title": "Frequency",
          "description": "How often the check should run in minutes.",
          "default": 10,
          "enum": [
            0,
            1,
            2,
            5,
            10,
            15,
            30,
            60,
            120,
            180,
            360,
            720,
            1440
          ]
        },
        "tearDownSnippetId": {
          "type": "number",
          "title": "Tear Down Snippet ID",
          "description": "An identifier reference to a snippet to use in the teardown phase of an API check."
        },
        "setupSnippetId": {
          "type": "number",
          "title": "Setup Snippet ID",
          "description": "An identifier reference to a snippet to use in the setup phase of an API check."
        },
        "frequencyOffset": {
          "type": "integer",
          "title": "Frequency Offset",
          "description": "Used for setting seconds for check frequencies under 1 minutes 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. ",
          "minimum": 1
        },
        "localSetupScript": {
          "type": "string",
          "title": "Local Setup Script",
          "description": "A valid piece of Node.js code to run in the setup phase."
        },
        "localTearDownScript": {
          "type": "string",
          "title": "Local Tear Down Script",
          "description": "A valid piece of Node.js code to run in the teardown phase."
        },
        "degradedResponseTime": {
          "type": "number",
          "title": "Degraded Response Time",
          "description": "The response time in milliseconds where a check should be considered degraded.",
          "default": 10000,
          "minimum": 0,
          "maximum": 300000
        },
        "maxResponseTime": {
          "type": "number",
          "title": "Max Response Time",
          "description": "The response time in milliseconds where a check should be considered failing.",
          "default": 20000,
          "minimum": 0,
          "maximum": 300000
        },
        "privateLocations": {
          "$ref": "#/definitions/privateLocations"
        }
      },
      "required": [
        "name",
        "activated",
        "request"
      ]
    },
    "Model14": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/KeyValue"
      }
    },
    "Model15": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/KeyValue"
      }
    },
    "Model16": {
      "type": "object",
      "title": "Check Request",
      "description": "Determines the request that the check is going to run.",
      "properties": {
        "method": {
          "type": "string",
          "default": "GET",
          "enum": [
            "GET",
            "POST",
            "PUT",
            "HEAD",
            "DELETE",
            "PATCH"
          ]
        },
        "url": {
          "type": "string",
          "title": "URL",
          "description": "The URL address.",
          "default": "https://api.checklyhq.com",
          "maxLength": 2048
        },
        "followRedirects": {
          "type": "boolean",
          "title": "Follow redirects",
          "description": "Whether to follow redirects."
        },
        "skipSSL": {
          "type": "boolean",
          "title": "Skip SSL",
          "description": "Whether to skip SSL.",
          "default": false
        },
        "body": {
          "type": "string",
          "title": "Body",
          "description": "The body."
        },
        "bodyType": {
          "type": "string",
          "title": "Body Type",
          "description": "The body type.",
          "default": "NONE",
          "enum": [
            "JSON",
            "FORM",
            "RAW",
            "GRAPHQL",
            "NONE"
          ]
        },
        "headers": {
          "$ref": "#/definitions/Model14"
        },
        "queryParameters": {
          "$ref": "#/definitions/Model15"
        },
        "assertions": {
          "$ref": "#/definitions/AssertionList"
        },
        "basicAuth": {
          "$ref": "#/definitions/BasicAuth"
        }
      },
      "required": [
        "method",
        "url"
      ]
    },
    "CheckAPI": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "ID",
          "description": "The identifier."
        },
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name of the check."
        },
        "activated": {
          "type": "boolean",
          "title": "Activated",
          "description": "Determines if the check is running or not.",
          "default": true
        },
        "muted": {
          "type": "boolean",
          "title": "Muted",
          "description": "Determines if any notifications will be send out when a check fails and/or recovers.",
          "default": false
        },
        "doubleCheck": {
          "type": "boolean",
          "title": "Double Check",
          "description": "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.",
          "default": true
        },
        "shouldFail": {
          "type": "boolean",
          "title": "Should Fail",
          "description": "Allows to invert the behavior of when a check is considered to fail. Allows for validating error status like 404.",
          "default": false
        },
        "locations": {
          "$ref": "#/definitions/CheckLocationList"
        },
        "tags": {
          "$ref": "#/definitions/CheckTagList"
        },
        "alertSettings": {
          "$ref": "#/definitions/CheckAlertSettings"
        },
        "useGlobalAlertSettings": {
          "type": "boolean",
          "title": "Use Global Alert Settings",
          "description": "When true, the account level alert setting will be used, not the alert setting defined on this check.",
          "default": true
        },
        "groupId": {
          "type": "number",
          "title": "Group ID",
          "description": "The identifier of the check group this check is part of."
        },
        "groupOrder": {
          "type": "number",
          "title": "Group Order",
          "description": "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.",
          "minimum": 0
        },
        "runtimeId": {
          "type": "string",
          "title": "Runtime ID",
          "description": "The runtime version, i.e. fixed set of runtime dependencies, used to execute this check.",
          "enum": [
            "2022.02",
            "2021.10",
            "2021.06",
            "2020.01"
          ]
        },
        "alertChannelSubscriptions": {
          "$ref": "#/definitions/CheckAlertChannelSubscriptionList"
        },
        "request": {
          "$ref": "#/definitions/Model16"
        },
        "frequency": {
          "type": "integer",
          "title": "Frequency",
          "description": "How often the check should run in minutes.",
          "default": 10,
          "enum": [
            0,
            1,
            2,
            5,
            10,
            15,
            30,
            60,
            120,
            180,
            360,
            720,
            1440
          ]
        },
        "frequencyOffset": {
          "type": "integer",
          "title": "Frequency Offset",
          "description": "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. ",
          "minimum": 1
        },
        "tearDownSnippetId": {
          "type": "number",
          "title": "Tear Down Snippet ID",
          "description": "An identifier reference to a snippet to use in the teardown phase of an API check."
        },
        "setupSnippetId": {
          "type": "number",
          "title": "Setup Snippet ID",
          "description": "An identifier reference to a snippet to use in the setup phase of an API check."
        },
        "localSetupScript": {
          "type": "string",
          "title": "Local Setup Script",
          "description": "A valid piece of Node.js code to run in the setup phase."
        },
        "localTearDownScript": {
          "type": "string",
          "title": "Local Tear Down Script",
          "description": "A valid piece of Node.js code to run in the teardown phase."
        },
        "degradedResponseTime": {
          "type": "number",
          "title": "Degraded Response Time",
          "description": "The response time in milliseconds where a check should be considered degraded.",
          "default": 10000,
          "minimum": 0,
          "maximum": 300000
        },
        "maxResponseTime": {
          "type": "number",
          "title": "Max Response Time",
          "description": "The response time in milliseconds where a check should be considered failing.",
          "default": 20000,
          "minimum": 0,
          "maximum": 300000
        },
        "privateLocations": {
          "$ref": "#/definitions/privateLocations"
        },
        "checkType": {
          "type": "string",
          "title": "Check Type",
          "description": "The check type.",
          "enum": [
            "API"
          ]
        },
        "alertChannels": {
          "$ref": "#/definitions/CheckAlertChannels"
        },
        "created_at": {
          "type": "string",
          "title": "Created At",
          "description": "When created at.",
          "format": "date"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "title": "Updated At",
          "description": "When updated at."
        }
      },
      "required": [
        "name",
        "activated"
      ]
    },
    "Model17": {
      "type": "array",
      "title": "Alert Channel Subscriptions",
      "description": "List of alert channel subscriptions.",
      "items": {
        "$ref": "#/definitions/Model1"
      }
    },
    "Model18": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/KeyValue"
      }
    },
    "Model19": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/KeyValue"
      }
    },
    "Model20": {
      "type": "object",
      "title": "Check Request",
      "description": "Determines the request that the check is going to run.",
      "properties": {
        "method": {
          "type": "string",
          "default": "GET",
          "enum": [
            "GET",
            "POST",
            "PUT",
            "HEAD",
            "DELETE",
            "PATCH"
          ]
        },
        "url": {
          "type": "string",
          "title": "URL",
          "description": "The URL address.",
          "default": "https://api.checklyhq.com",
          "maxLength": 2048
        },
        "followRedirects": {
          "type": "boolean",
          "title": "Follow redirects",
          "description": "Whether to follow redirects."
        },
        "skipSSL": {
          "type": "boolean",
          "title": "Skip SSL",
          "description": "Whether to skip SSL.",
          "default": false
        },
        "body": {
          "type": "string",
          "title": "Body",
          "description": "The body."
        },
        "bodyType": {
          "type": "string",
          "title": "Body Type",
          "description": "The body type.",
          "default": "NONE",
          "enum": [
            "JSON",
            "FORM",
            "RAW",
            "GRAPHQL",
            "NONE"
          ]
        },
        "headers": {
          "$ref": "#/definitions/Model18"
        },
        "queryParameters": {
          "$ref": "#/definitions/Model19"
        },
        "assertions": {
          "$ref": "#/definitions/AssertionList"
        },
        "basicAuth": {
          "$ref": "#/definitions/BasicAuth"
        }
      },
      "required": [
        "method",
        "url"
      ]
    },
    "CheckAPIUpdate": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name of the check."
        },
        "activated": {
          "type": "boolean",
          "title": "Activated",
          "description": "Determines if the check is running or not.",
          "default": true
        },
        "muted": {
          "type": "boolean",
          "title": "Muted",
          "description": "Determines if any notifications will be send out when a check fails and/or recovers.",
          "default": false
        },
        "doubleCheck": {
          "type": "boolean",
          "title": "Double Check",
          "description": "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.",
          "default": true
        },
        "shouldFail": {
          "type": "boolean",
          "title": "Should Fail",
          "description": "Allows to invert the behavior of when a check is considered to fail. Allows for validating error status like 404.",
          "default": false
        },
        "locations": {
          "$ref": "#/definitions/CheckLocationList"
        },
        "tags": {
          "$ref": "#/definitions/CheckTagList"
        },
        "alertSettings": {
          "$ref": "#/definitions/CheckAlertSettings"
        },
        "useGlobalAlertSettings": {
          "type": "boolean",
          "title": "Use Global Alert Settings",
          "description": "When true, the account level alert setting will be used, not the alert setting defined on this check.",
          "default": true
        },
        "groupId": {
          "type": "number",
          "title": "Group ID",
          "description": "The identifier of the check group this check is part of."
        },
        "groupOrder": {
          "type": "number",
          "title": "Group Order",
          "description": "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.",
          "minimum": 0
        },
        "runtimeId": {
          "type": "string",
          "title": "Runtime ID",
          "description": "The runtime version, i.e. fixed set of runtime dependencies, used to execute this check.",
          "enum": [
            "2022.02",
            "2021.10",
            "2021.06",
            "2020.01"
          ]
        },
        "alertChannelSubscriptions": {
          "$ref": "#/definitions/Model17"
        },
        "request": {
          "$ref": "#/definitions/Model20"
        },
        "frequency": {
          "type": "integer",
          "title": "Frequency",
          "description": "How often the check should run in minutes.",
          "default": 10,
          "enum": [
            0,
            1,
            2,
            5,
            10,
            15,
            30,
            60,
            120,
            180,
            360,
            720,
            1440
          ]
        },
        "tearDownSnippetId": {
          "type": "number",
          "title": "Tear Down Snippet ID",
          "description": "An identifier reference to a snippet to use in the teardown phase of an API check."
        },
        "setupSnippetId": {
          "type": "number",
          "title": "Setup Snippet ID",
          "description": "An identifier reference to a snippet to use in the setup phase of an API check."
        },
        "frequencyOffset": {
          "type": "integer",
          "title": "Frequency Offset",
          "description": "Used for setting seconds for check frequencies under 1 minutes 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. ",
          "minimum": 1
        },
        "localSetupScript": {
          "type": "string",
          "title": "Local Setup Script",
          "description": "A valid piece of Node.js code to run in the setup phase."
        },
        "localTearDownScript": {
          "type": "string",
          "title": "Local Tear Down Script",
          "description": "A valid piece of Node.js code to run in the teardown phase."
        },
        "degradedResponseTime": {
          "type": "number",
          "title": "Degraded Response Time",
          "description": "The response time in milliseconds where a check should be considered degraded.",
          "default": 10000,
          "minimum": 0,
          "maximum": 300000
        },
        "maxResponseTime": {
          "type": "number",
          "title": "Max Response Time",
          "description": "The response time in milliseconds where a check should be considered failing.",
          "default": 20000,
          "minimum": 0,
          "maximum": 300000
        },
        "privateLocations": {
          "$ref": "#/definitions/privateLocations"
        }
      }
    },
    "Model21": {
      "type": "array",
      "title": "Alert Channel Subscriptions",
      "description": "List of alert channel subscriptions.",
      "items": {
        "$ref": "#/definitions/Model1"
      }
    },
    "environmentVariables": {
      "type": "array",
      "title": "Environment Variables",
      "description": "Key/value pairs for setting environment variables during check execution. Use global environment variables whenever possible.",
      "items": {
        "$ref": "#/definitions/EnvironmentVariable"
      }
    },
    "CheckBrowserCreate": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name of the check."
        },
        "activated": {
          "type": "boolean",
          "title": "Activated",
          "description": "Determines if the check is running or not.",
          "default": true
        },
        "muted": {
          "type": "boolean",
          "title": "Muted",
          "description": "Determines if any notifications will be send out when a check fails and/or recovers.",
          "default": false
        },
        "doubleCheck": {
          "type": "boolean",
          "title": "Double Check",
          "description": "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.",
          "default": true
        },
        "shouldFail": {
          "type": "boolean",
          "title": "Should Fail",
          "description": "Allows to invert the behavior of when a check is considered to fail. Allows for validating error status like 404.",
          "default": false
        },
        "locations": {
          "$ref": "#/definitions/CheckLocationList"
        },
        "tags": {
          "$ref": "#/definitions/CheckTagList"
        },
        "alertSettings": {
          "$ref": "#/definitions/CheckAlertSettings"
        },
        "useGlobalAlertSettings": {
          "type": "boolean",
          "title": "Use Global Alert Settings",
          "description": "When true, the account level alert setting will be used, not the alert setting defined on this check.",
          "default": true
        },
        "groupId": {
          "type": "number",
          "title": "Group ID",
          "description": "The identifier of the check group this check is part of."
        },
        "groupOrder": {
          "type": "number",
          "title": "Group Order",
          "description": "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.",
          "minimum": 0
        },
        "runtimeId": {
          "type": "string",
          "title": "Runtime ID",
          "description": "The runtime version, i.e. fixed set of runtime dependencies, used to execute this check.",
          "enum": [
            "2022.02",
            "2021.10",
            "2021.06",
            "2020.01"
          ]
        },
        "alertChannelSubscriptions": {
          "$ref": "#/definitions/Model21"
        },
        "environmentVariables": {
          "$ref": "#/definitions/environmentVariables"
        },
        "frequency": {
          "type": "integer",
          "title": "Frequency",
          "description": "How often the check should run in minutes.",
          "default": 10,
          "enum": [
            1,
            2,
            5,
            10,
            15,
            30,
            60,
            120,
            180,
            360,
            720,
            1440
          ]
        },
        "script": {
          "type": "string",
          "title": "Script",
          "description": "A valid piece of Node.js javascript code describing a browser interaction with the Puppeteer or Playwright frameworks."
        },
        "privateLocations": {
          "$ref": "#/definitions/privateLocations"
        }
      },
      "required": [
        "name",
        "activated",
        "script"
      ]
    },
    "CheckBrowser": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "ID",
          "description": "The identifier."
        },
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name of the check."
        },
        "activated": {
          "type": "boolean",
          "title": "Activated",
          "description": "Determines if the check is running or not.",
          "default": true
        },
        "muted": {
          "type": "boolean",
          "title": "Muted",
          "description": "Determines if any notifications will be send out when a check fails and/or recovers.",
          "default": false
        },
        "doubleCheck": {
          "type": "boolean",
          "title": "Double Check",
          "description": "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.",
          "default": true
        },
        "shouldFail": {
          "type": "boolean",
          "title": "Should Fail",
          "description": "Allows to invert the behavior of when a check is considered to fail. Allows for validating error status like 404.",
          "default": false
        },
        "locations": {
          "$ref": "#/definitions/CheckLocationList"
        },
        "tags": {
          "$ref": "#/definitions/CheckTagList"
        },
        "alertSettings": {
          "$ref": "#/definitions/CheckAlertSettings"
        },
        "useGlobalAlertSettings": {
          "type": "boolean",
          "title": "Use Global Alert Settings",
          "description": "When true, the account level alert setting will be used, not the alert setting defined on this check.",
          "default": true
        },
        "groupId": {
          "type": "number",
          "title": "Group ID",
          "description": "The identifier of the check group this check is part of."
        },
        "groupOrder": {
          "type": "number",
          "title": "Group Order",
          "description": "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.",
          "minimum": 0
        },
        "runtimeId": {
          "type": "string",
          "title": "Runtime ID",
          "description": "The runtime version, i.e. fixed set of runtime dependencies, used to execute this check.",
          "enum": [
            "2022.02",
            "2021.10",
            "2021.06",
            "2020.01"
          ]
        },
        "alertChannelSubscriptions": {
          "$ref": "#/definitions/CheckAlertChannelSubscriptionList"
        },
        "checkType": {
          "type": "string",
          "title": "Check Type",
          "description": "The check type.",
          "enum": [
            "BROWSER"
          ]
        },
        "frequency": {
          "type": "integer",
          "title": "Frequency",
          "description": "How often the check should run in minutes.",
          "default": 10,
          "enum": [
            1,
            2,
            5,
            10,
            15,
            30,
            60,
            120,
            180,
            360,
            720,
            1440
          ]
        },
        "script": {
          "type": "string",
          "title": "Script",
          "description": "A valid piece of Node.js javascript code describing a browser interaction with the Puppeteer or Playwright frameworks."
        },
        "privateLocations": {
          "$ref": "#/definitions/privateLocations"
        },
        "alertChannels": {
          "$ref": "#/definitions/CheckAlertChannels"
        },
        "created_at": {
          "type": "string",
          "title": "Created At",
          "description": "When created at.",
          "format": "date"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "title": "Updated At",
          "description": "When updated at."
        }
      },
      "required": [
        "name",
        "activated",
        "script"
      ]
    },
    "Model22": {
      "type": "array",
      "title": "Alert Channel Subscriptions",
      "description": "List of alert channel subscriptions.",
      "items": {
        "$ref": "#/definitions/Model1"
      }
    },
    "CheckBrowserUpdate": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name of the check."
        },
        "activated": {
          "type": "boolean",
          "title": "Activated",
          "description": "Determines if the check is running or not.",
          "default": true
        },
        "muted": {
          "type": "boolean",
          "title": "Muted",
          "description": "Determines if any notifications will be send out when a check fails and/or recovers.",
          "default": false
        },
        "doubleCheck": {
          "type": "boolean",
          "title": "Double Check",
          "description": "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.",
          "default": true
        },
        "shouldFail": {
          "type": "boolean",
          "title": "Should Fail",
          "description": "Allows to invert the behavior of when a check is considered to fail. Allows for validating error status like 404.",
          "default": false
        },
        "locations": {
          "$ref": "#/definitions/CheckLocationList"
        },
        "tags": {
          "$ref": "#/definitions/CheckTagList"
        },
        "alertSettings": {
          "$ref": "#/definitions/CheckAlertSettings"
        },
        "useGlobalAlertSettings": {
          "type": "boolean",
          "title": "Use Global Alert Settings",
          "description": "When true, the account level alert setting will be used, not the alert setting defined on this check.",
          "default": true
        },
        "groupId": {
          "type": "number",
          "title": "Group ID",
          "description": "The identifier of the check group this check is part of."
        },
        "groupOrder": {
          "type": "number",
          "title": "Group Order",
          "description": "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.",
          "minimum": 0
        },
        "runtimeId": {
          "type": "string",
          "title": "Runtime ID",
          "description": "The runtime version, i.e. fixed set of runtime dependencies, used to execute this check.",
          "enum": [
            "2022.02",
            "2021.10",
            "2021.06",
            "2020.01"
          ]
        },
        "alertChannelSubscriptions": {
          "$ref": "#/definitions/Model22"
        },
        "environmentVariables": {
          "$ref": "#/definitions/environmentVariables"
        },
        "frequency": {
          "type": "integer",
          "title": "Frequency",
          "description": "How often the check should run in minutes.",
          "default": 10,
          "enum": [
            1,
            2,
            5,
            10,
            15,
            30,
            60,
            120,
            180,
            360,
            720,
            1440
          ]
        },
        "script": {
          "type": "string",
          "title": "Script",
          "description": "A valid piece of Node.js javascript code describing a browser interaction with the Puppeteer or Playwright frameworks."
        },
        "privateLocations": {
          "$ref": "#/definitions/privateLocations"
        }
      }
    },
    "Model23": {
      "type": "array",
      "title": "Alert Channel Subscriptions",
      "description": "List of alert channel subscriptions.",
      "items": {
        "$ref": "#/definitions/Model1"
      }
    },
    "CheckUpdate": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name of the check."
        },
        "activated": {
          "type": "boolean",
          "title": "Activated",
          "description": "Determines if the check is running or not.",
          "default": true
        },
        "muted": {
          "type": "boolean",
          "title": "Muted",
          "description": "Determines if any notifications will be send out when a check fails and/or recovers.",
          "default": false
        },
        "doubleCheck": {
          "type": "boolean",
          "title": "Double Check",
          "description": "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.",
          "default": true
        },
        "shouldFail": {
          "type": "boolean",
          "title": "Should Fail",
          "description": "Allows to invert the behavior of when a check is considered to fail. Allows for validating error status like 404.",
          "default": false
        },
        "locations": {
          "$ref": "#/definitions/CheckLocationList"
        },
        "tags": {
          "$ref": "#/definitions/CheckTagList"
        },
        "alertSettings": {
          "$ref": "#/definitions/CheckAlertSettings"
        },
        "useGlobalAlertSettings": {
          "type": "boolean",
          "title": "Use Global Alert Settings",
          "description": "When true, the account level alert setting will be used, not the alert setting defined on this check.",
          "default": true
        },
        "groupId": {
          "type": "number",
          "title": "Group ID",
          "description": "The identifier of the check group this check is part of."
        },
        "groupOrder": {
          "type": "number",
          "title": "Group Order",
          "description": "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.",
          "minimum": 0
        },
        "runtimeId": {
          "type": "string",
          "title": "Runtime ID",
          "description": "The runtime version, i.e. fixed set of runtime dependencies, used to execute this check.",
          "enum": [
            "2022.02",
            "2021.10",
            "2021.06",
            "2020.01"
          ]
        },
        "alertChannelSubscriptions": {
          "$ref": "#/definitions/Model23"
        },
        "checkType": {
          "type": "string",
          "title": "Check Type",
          "description": "The type of the check.",
          "enum": [
            "BROWSER",
            "API"
          ]
        },
        "frequency": {
          "type": "integer",
          "title": "Frequency",
          "description": "How often the check should run in minutes.",
          "default": 10
        },
        "frequencyOffset": {
          "type": "integer",
          "title": "Frequency Offset",
          "description": "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. ",
          "minimum": 1
        },
        "request": {
          "$ref": "#/definitions/CheckRequest"
        },
        "script": {
          "type": "string",
          "title": "Script",
          "description": "The script."
        },
        "environmentVariables": {
          "$ref": "#/definitions/CheckEnvironmentVariableList"
        },
        "setupSnippetId": {
          "type": "number",
          "title": "Setup Snippet ID",
          "description": "An identifier reference to a snippet to use in the setup phase of an API check."
        },
        "tearDownSnippetId": {
          "type": "number",
          "title": "Tear Down Snippet ID",
          "description": "An identifier reference to a snippet to use in the teardown phase of an API check."
        },
        "localSetupScript": {
          "type": "string",
          "title": "Local Setup Script",
          "description": "A valid piece of Node.js code to run in the setup phase."
        },
        "localTearDownScript": {
          "type": "string",
          "title": "Local Tear Down Script",
          "description": "A valid piece of Node.js code to run in the teardown phase."
        },
        "degradedResponseTime": {
          "type": "number",
          "title": "Degraded Response Time",
          "description": "The response time in milliseconds where a check should be considered degraded.",
          "default": 10000,
          "minimum": 0,
          "maximum": 300000
        },
        "maxResponseTime": {
          "type": "number",
          "title": "Max Response Time",
          "description": "The response time in milliseconds where a check should be considered failing.",
          "default": 20000,
          "minimum": 0,
          "maximum": 300000
        },
        "privateLocations": {
          "$ref": "#/definitions/privateLocations"
        }
      },
      "required": [
        "request",
        "script"
      ]
    },
    "DashboardTagList": {
      "type": "array",
      "title": "Dashboard Tag List",
      "description": "A list of one or more tags that filter which checks to display on the dashboard.",
      "items": {
        "type": "string"
      }
    },
    "Dashboard": {
      "type": "object",
      "properties": {
        "customDomain": {
          "type": "string",
          "title": "Custom Domain",
          "description": "A custom user domain, e.g. status.example.com. See the docs on updating your DNS and SSL usage."
        },
        "customUrl": {
          "type": "string",
          "title": "Custom URL",
          "description": "A subdomain name under checklyhq.com. Needs to be unique across all users."
        },
        "logo": {
          "type": "string",
          "title": "Logo",
          "description": "A URL pointing to an image file."
        },
        "favicon": {
          "type": "string",
          "title": "Favicon",
          "description": "A URL pointing to an image file used as dashboard favicon."
        },
        "link": {
          "type": "string",
          "title": "Link",
          "description": "A URL link to redirect when dashboard logo is clicked on."
        },
        "header": {
          "type": "string",
          "title": "Header",
          "description": "A piece of text displayed at the top of your dashboard."
        },
        "description": {
          "type": "string",
          "title": "Description",
          "description": "A piece of text displayed below the header or title of your dashboard."
        },
        "width": {
          "type": "string",
          "title": "Width",
          "description": "Determines whether to use the full screen or focus in the center.",
          "default": "FULL",
          "enum": [
            "FULL",
            "960PX"
          ]
        },
        "refreshRate": {
          "type": "number",
          "title": "Refresh Rate",
          "description": "How often to refresh the dashboard in seconds.",
          "default": 60,
          "enum": [
            60,
            300,
            600
          ]
        },
        "paginate": {
          "type": "boolean",
          "title": "Paginate",
          "description": "Determines of pagination is on or off.",
          "default": true
        },
        "paginationRate": {
          "type": "number",
          "title": "Pagination Rate",
          "description": "How often to trigger pagination in seconds.",
          "default": 60,
          "enum": [
            30,
            60,
            300
          ]
        },
        "checksPerPage": {
          "type": "number",
          "title": "Checks per Page",
          "description": "Number of checks displayed per page.",
          "default": 15,
          "minimum": 1,
          "maximum": 20
        },
        "useTagsAndOperator": {
          "type": "boolean",
          "title": "Use And Operator",
          "description": "When to use AND operator for tags lookup.",
          "default": false
        },
        "hideTags": {
          "type": "boolean",
          "title": "Hide Tags",
          "description": "Show or hide the tags on the dashboard.",
          "default": false
        },
        "tags": {
          "$ref": "#/definitions/DashboardTagList"
        },
        "dashboardId": {
          "type": "string",
          "title": "Dashboard ID",
          "description": "The dashboard identifier."
        }
      },
      "required": [
        "dashboardId"
      ]
    },
    "DashboardsList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Dashboard"
      }
    },
    "DashboardCreate": {
      "type": "object",
      "properties": {
        "customUrl": {
          "type": "string",
          "title": "Custom URL",
          "description": "A subdomain name under checklyhq.com. Needs to be unique across all users."
        },
        "customDomain": {
          "type": "string",
          "title": "Custom Domain",
          "description": "A custom user domain, e.g. status.example.com. See the docs on updating your DNS and SSL usage."
        },
        "logo": {
          "type": "string",
          "title": "Logo",
          "description": "A URL pointing to an image file."
        },
        "favicon": {
          "type": "string",
          "title": "Favicon",
          "description": "A URL pointing to an image file used as dashboard favicon."
        },
        "link": {
          "type": "string",
          "title": "Link",
          "description": "A URL link to redirect when dashboard logo is clicked on."
        },
        "header": {
          "type": "string",
          "title": "Header",
          "description": "A piece of text displayed at the top of your dashboard."
        },
        "description": {
          "type": "string",
          "title": "Description",
          "description": "A piece of text displayed below the header or title of your dashboard."
        },
        "width": {
          "type": "string",
          "title": "Width",
          "description": "Determines whether to use the full screen or focus in the center.",
          "default": "FULL",
          "enum": [
            "FULL",
            "960PX"
          ]
        },
        "refreshRate": {
          "type": "number",
          "title": "Refresh Rate",
          "description": "How often to refresh the dashboard in seconds.",
          "default": 60,
          "enum": [
            60,
            300,
            600
          ]
        },
        "paginate": {
          "type": "boolean",
          "title": "Paginate",
          "description": "Determines of pagination is on or off.",
          "default": true
        },
        "paginationRate": {
          "type": "number",
          "title": "Pagination Rate",
          "description": "How often to trigger pagination in seconds.",
          "default": 60,
          "enum": [
            30,
            60,
            300
          ]
        },
        "checksPerPage": {
          "type": "number",
          "title": "Checks per Page",
          "description": "Number of checks displayed per page.",
          "default": 15,
          "minimum": 1,
          "maximum": 20
        },
        "useTagsAndOperator": {
          "type": "boolean",
          "title": "Use And Operator",
          "description": "When to use AND operator for tags lookup.",
          "default": false
        },
        "hideTags": {
          "type": "boolean",
          "title": "Hide Tags",
          "description": "Show or hide the tags on the dashboard.",
          "default": false
        },
        "tags": {
          "$ref": "#/definitions/DashboardTagList"
        }
      }
    },
    "Location": {
      "type": "object",
      "properties": {
        "region": {
          "type": "string",
          "title": "Region",
          "description": "The unique identifier of this location."
        },
        "name": {
          "type": "string",
          "title": "Name",
          "description": "Friendly name of this location."
        }
      },
      "required": [
        "region",
        "name"
      ]
    },
    "LocationList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Location"
      }
    },
    "MaintenanceWindowTagList": {
      "type": "array",
      "title": "Maintenance Window Tag List",
      "description": "The names of the checks and groups maintenance window should apply to.",
      "items": {
        "type": "string"
      }
    },
    "MaintenanceWindow": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "title": "ID",
          "description": "The identifier of the maintenance window."
        },
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The maintenance window name."
        },
        "tags": {
          "$ref": "#/definitions/MaintenanceWindowTagList"
        },
        "startsAt": {
          "type": "string",
          "format": "date",
          "title": "Starts At",
          "description": "The start date of the maintenance window."
        },
        "endsAt": {
          "type": "string",
          "format": "date",
          "title": "Ends At",
          "description": "The end date of the maintenance window."
        },
        "repeatInterval": {
          "type": "number",
          "title": "Repeat Interval",
          "description": "The repeat interval of the maintenance window from the first occurrence.",
          "minimum": 1
        },
        "repeatUnit": {
          "type": "string",
          "title": "Repeat Unit",
          "description": "The repeat strategy for the maintenance window."
        },
        "repeatEndsAt": {
          "type": "string",
          "format": "date",
          "title": "Repeat Ends At",
          "description": "The end date where the maintenance window should stop repeating."
        },
        "created_at": {
          "type": "string",
          "format": "date",
          "title": "Created At",
          "description": "The creation date of the maintenance window."
        },
        "updated_at": {
          "type": "string",
          "format": "date",
          "title": "Updated At",
          "description": "The last date that the maintenance window was updated."
        }
      },
      "required": [
        "id",
        "name",
        "startsAt",
        "endsAt",
        "repeatUnit",
        "created_at",
        "updated_at"
      ]
    },
    "MaintenanceWindowList": {
      "type": "array",
      "title": "Maintenance Window List",
      "description": "The maintenance window list.",
      "items": {
        "$ref": "#/definitions/MaintenanceWindow"
      }
    },
    "MaintenanceWindowCreate": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The maintenance window name."
        },
        "tags": {
          "$ref": "#/definitions/MaintenanceWindowTagList"
        },
        "startsAt": {
          "type": "string",
          "format": "date",
          "title": "Starts At",
          "description": "The start date of the maintenance window."
        },
        "endsAt": {
          "type": "string",
          "format": "date",
          "title": "Ends At",
          "description": "The end date of the maintenance window."
        },
        "repeatInterval": {
          "type": "number",
          "title": "Repeat Interval",
          "description": "The repeat interval of the maintenance window from the first occurrence.",
          "minimum": 1
        },
        "repeatUnit": {
          "type": "string",
          "title": "Repeat Unit",
          "description": "The repeat strategy for the maintenance window."
        },
        "repeatEndsAt": {
          "type": "string",
          "format": "date",
          "title": "Repeat Ends At",
          "description": "The end date where the maintenance window should stop repeating."
        }
      },
      "required": [
        "name",
        "startsAt",
        "endsAt",
        "repeatUnit"
      ]
    },
    "CheckAssignment": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "ID",
          "description": "The identifier.",
          "format": "guid"
        },
        "checkId": {
          "type": "string",
          "title": "Check ID",
          "description": "The identifier of the check.",
          "format": "guid"
        },
        "privateLocationId": {
          "type": "string",
          "title": "Private Location ID",
          "description": "The identifier of the assigned private location.",
          "format": "guid"
        }
      },
      "required": [
        "id",
        "checkId",
        "privateLocationId"
      ]
    },
    "checkAssignments": {
      "type": "array",
      "title": "Check Assignments",
      "description": "The check this private location has assigned.",
      "items": {
        "$ref": "#/definitions/CheckAssignment"
      }
    },
    "GroupAssignment": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "ID",
          "description": "The identifier.",
          "format": "guid"
        },
        "groupId": {
          "type": "number",
          "title": "Group ID",
          "description": "The identifier of the group."
        },
        "privateLocationId": {
          "type": "string",
          "title": "Private Location ID",
          "description": "The identifier of the assigned private location.",
          "format": "guid"
        }
      },
      "required": [
        "id",
        "groupId",
        "privateLocationId"
      ]
    },
    "groupAssignments": {
      "type": "array",
      "title": "Group Assignments",
      "description": "The group this private location has assigned.",
      "items": {
        "$ref": "#/definitions/GroupAssignment"
      }
    },
    "privateLocationKeys": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "ID",
          "description": "The identifier.",
          "format": "guid"
        },
        "rawKey": {
          "type": "string",
          "title": "Raw Key",
          "description": "The raw key."
        },
        "maskedKey": {
          "type": "string",
          "title": "Masked Key",
          "description": "The masked key value."
        },
        "created_at": {
          "type": "string",
          "title": "Created At",
          "description": "When created at.",
          "format": "date"
        },
        "updated_at": {
          "type": "string",
          "title": "Updated At",
          "description": "When updated at.",
          "format": "date"
        }
      },
      "required": [
        "id",
        "rawKey",
        "maskedKey",
        "created_at"
      ]
    },
    "keys": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/privateLocationKeys"
      }
    },
    "privatelocationschema": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "ID",
          "description": "The identifier.",
          "format": "guid"
        },
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name assigned to the private location."
        },
        "slugName": {
          "type": "string",
          "title": "Slug Name",
          "description": "Valid slug name."
        },
        "icon": {
          "type": "string",
          "title": "Icon",
          "description": "The private location icon."
        },
        "created_at": {
          "type": "string",
          "title": "Created At",
          "description": "When created at.",
          "format": "date"
        },
        "updated_at": {
          "type": "string",
          "title": "Updated At",
          "description": "When updated at.",
          "format": "date"
        },
        "checkAssignments": {
          "$ref": "#/definitions/checkAssignments"
        },
        "groupAssignments": {
          "$ref": "#/definitions/groupAssignments"
        },
        "keys": {
          "$ref": "#/definitions/keys"
        },
        "lastSeen": {
          "type": "string",
          "title": "Last Seen",
          "description": "The last seen date.",
          "format": "date"
        },
        "agentCount": {
          "type": "number",
          "title": "Agent Count",
          "description": "The agent count."
        }
      },
      "required": [
        "id",
        "name",
        "slugName",
        "created_at"
      ]
    },
    "privateLocationsListSchema": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/privatelocationschema"
      }
    },
    "privateLocationCreate": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name assigned to the private location."
        },
        "slugName": {
          "type": "string",
          "title": "Slug Name",
          "description": "Valid slug name.",
          "pattern": "^((?!((us(-gov)?|ap|ca|cn|eu|sa|af|me)-(central|(north|south)?(east|west)?)-\\d+))[a-zA-Z0-9-]{1,30})$"
        },
        "icon": {
          "type": "string",
          "title": "Icon",
          "description": "The icon.",
          "default": "location"
        }
      },
      "required": [
        "name",
        "slugName"
      ]
    },
    "commonPrivateLocationSchemaResponse": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "ID",
          "description": "The identifier.",
          "format": "guid"
        },
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name assigned to the private location."
        },
        "slugName": {
          "type": "string",
          "title": "Slug Name",
          "description": "Valid slug name."
        },
        "icon": {
          "type": "string",
          "title": "Icon",
          "description": "The private location icon."
        },
        "created_at": {
          "type": "string",
          "title": "Created At",
          "description": "When created at.",
          "format": "date"
        },
        "updated_at": {
          "type": "string",
          "title": "Updated At",
          "description": "When updated at.",
          "format": "date"
        },
        "checkAssignments": {
          "$ref": "#/definitions/checkAssignments"
        },
        "groupAssignments": {
          "$ref": "#/definitions/groupAssignments"
        },
        "keys": {
          "$ref": "#/definitions/keys"
        }
      },
      "required": [
        "id",
        "name",
        "slugName",
        "created_at"
      ]
    },
    "privateLocationUpdate": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name assigned to the private location."
        },
        "icon": {
          "type": "string",
          "title": "Icon",
          "description": "The icon."
        }
      },
      "required": [
        "name"
      ]
    },
    "timestamps": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "The timestamp.",
        "title": "Timestamp",
        "format": "date-time"
      }
    },
    "queueSize": {
      "type": "array",
      "title": "Queue Size",
      "description": "The queue size.",
      "items": {
        "type": "number"
      }
    },
    "oldestScheduledCheckRun": {
      "type": "array",
      "items": {
        "type": "number"
      }
    },
    "privateLocationsMetricsHistoryResponseSchema": {
      "type": "object",
      "properties": {
        "timestamps": {
          "$ref": "#/definitions/timestamps"
        },
        "queueSize": {
          "$ref": "#/definitions/queueSize"
        },
        "oldestScheduledCheckRun": {
          "$ref": "#/definitions/oldestScheduledCheckRun"
        }
      }
    },
    "ReportingTagList": {
      "type": "array",
      "title": "Reporting Tag List",
      "description": "Check tags.",
      "items": {
        "type": "string"
      }
    },
    "ReportingAggregate": {
      "type": "object",
      "properties": {
        "successRatio": {
          "type": "number",
          "title": "Success Ratio",
          "description": "Success ratio of the check over selected date range. Percentage is in decimal form.",
          "minimum": 0
        },
        "avg": {
          "type": "number",
          "title": "Average",
          "description": "Average response time of the check over selected date range in milliseconds.",
          "minimum": 0
        },
        "p95": {
          "type": "number",
          "title": "P95",
          "description": "P95 response time of the check over selected date range in milliseconds.",
          "minimum": 0
        },
        "p99": {
          "type": "number",
          "title": "P99",
          "description": "P99 response time of the check over selected date range in milliseconds.",
          "minimum": 0
        }
      },
      "required": [
        "successRatio",
        "avg",
        "p95",
        "p99"
      ]
    },
    "Reporting": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Name",
          "description": "Check name."
        },
        "checkId": {
          "type": "string",
          "title": "Check ID",
          "description": "Check ID."
        },
        "checkType": {
          "type": "string",
          "title": "Check Type",
          "description": "Check type."
        },
        "deactivated": {
          "type": "boolean",
          "title": "Deactivated",
          "description": "Check deactivated.",
          "default": false
        },
        "tags": {
          "$ref": "#/definitions/ReportingTagList"
        },
        "aggregate": {
          "$ref": "#/definitions/ReportingAggregate"
        }
      },
      "required": [
        "name",
        "checkId",
        "checkType",
        "deactivated",
        "tags"
      ]
    },
    "ReportingList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Reporting"
      }
    },
    "Runtime": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The unique name of this runtime."
        },
        "stage": {
          "type": "string",
          "title": "Stage",
          "description": "Current life stage of a runtime.",
          "enum": [
            "BETA",
            "CURRENT",
            "DEPRECATED",
            "REMOVED",
            "STABLE"
          ]
        },
        "runtimeEndOfLife": {
          "type": "string",
          "title": "Runtime End of Life",
          "description": "Date which a runtime will be removed from our platform."
        },
        "default": {
          "type": "boolean",
          "title": "Default",
          "description": "Indicates if this is the current default runtime provided by Checkly."
        },
        "description": {
          "type": "string",
          "title": "Description",
          "description": "A short, human readable description of the main updates in this runtime."
        },
        "dependencies": {
          "type": "object",
          "title": "Dependencies",
          "description": "An object with all dependency package names and versions as in a standard package.json.",
          "properties": {
            "string": {
              "type": "string",
              "description": "The string.",
              "title": "String"
            }
          }
        }
      },
      "required": [
        "name",
        "default",
        "dependencies"
      ]
    },
    "RuntimeList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Runtime"
      }
    },
    "Snippet": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "title": "ID",
          "description": "The identifier."
        },
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The snippet name."
        },
        "script": {
          "type": "string",
          "title": "Script",
          "description": "Your Node.js code that interacts with the API check lifecycle, or functions as a partial for browser checks."
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "title": "Created At",
          "description": "When created at."
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "title": "Updated At",
          "description": "When updated at."
        }
      }
    },
    "SnippetList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Snippet"
      }
    },
    "SnippetCreate": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The snippet name."
        },
        "script": {
          "type": "string",
          "title": "Script",
          "description": "Your Node.js code that interacts with the API check lifecycle, or functions as a partial for browser checks."
        }
      },
      "required": [
        "name",
        "script"
      ]
    },
    "CheckGroupTrigger": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "title": "ID",
          "description": "The identifier."
        },
        "token": {
          "type": "string",
          "title": "Token",
          "description": "The token."
        },
        "created_at": {
          "type": "string",
          "title": "Created At",
          "description": "When created at.",
          "format": "date"
        },
        "called_at": {
          "type": "string",
          "title": "Called At",
          "description": "When called at.",
          "format": "date"
        },
        "updated_at": {
          "type": "string",
          "title": "Updated At",
          "description": "When updated at.",
          "format": "date"
        },
        "groupId": {
          "type": "number",
          "title": "Group ID",
          "description": "The group identifier."
        }
      },
      "required": [
        "id",
        "token",
        "created_at",
        "groupId"
      ]
    },
    "CheckTrigger": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "title": "ID",
          "description": "The identifier."
        },
        "token": {
          "type": "string",
          "title": "Token",
          "description": "The token."
        },
        "created_at": {
          "type": "string",
          "title": "Created At",
          "description": "When created at.",
          "format": "date"
        },
        "called_at": {
          "type": "string",
          "title": "Called At",
          "description": "When called at.",
          "format": "date"
        },
        "updated_at": {
          "type": "string",
          "title": "Updated At",
          "description": "When updated at.",
          "format": "date"
        },
        "checkId": {
          "type": "string",
          "title": "Check ID",
          "description": "The check identifier."
        }
      },
      "required": [
        "id",
        "token",
        "created_at",
        "checkId"
      ]
    },
    "EnvironmentVariableUpdate": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "title": "Key",
          "description": "The key of the environment variable (this value cannot be changed)."
        },
        "value": {
          "type": "string",
          "title": "Value",
          "description": "The value of the environment variable."
        },
        "locked": {
          "type": "boolean",
          "title": "Locked",
          "description": "Used only in the UI to hide the value like a password.",
          "default": false
        }
      },
      "required": [
        "value"
      ]
    }
  },
  "parameters": {},
  "responses": {},
  "securityDefinitions": {
    "API Key": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization"
    }
  },
  "security": [
    {
      "API Key": []
    }
  ],
  "tags": [],
  "x-ms-connector-metadata": [
    {
      "propertyName": "Website",
      "propertyValue": "https://www.checklyhq.com/"
    },
    {
      "propertyName": "Privacy policy",
      "propertyValue": "https://www.checklyhq.com/privacy"
    },
    {
      "propertyName": "Categories",
      "propertyValue": "IT Operations"
    }
  ]
}