> ## Documentation Index
> Fetch the complete documentation index at: https://checkly-422f444a-auto-update-api-spec.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Update an API check

> Updates an API check.



## OpenAPI

````yaml put /v1/checks/api/{id}
openapi: 3.0.0
info:
  title: Checkly Public API
  version: v1
  description: >-
    These are the docs for the newly released Checkly Public API. If you have
    any questions, please do not hesitate to get in touch with us.
servers:
  - url: https://api.checklyhq.com
security:
  - Bearer: []
tags: []
paths:
  /v1/checks/api/{id}:
    put:
      tags:
        - Checks
      summary: Update an API check
      description: Updates an API check.
      operationId: putV1ChecksApiId
      parameters:
        - schema:
            type: string
            minLength: 1
            format: uuid
          required: true
          name: id
          in: path
        - schema:
            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
          required: false
          description: >-
            Determines whether a new check will automatically be added as a
            subscriber to all existing alert channels when it gets created.
          name: autoAssignAlerts
          in: query
        - schema:
            type: string
            format: uuid
            description: >-
              Your Checkly account ID, you can find it at
              https://app.checklyhq.com/settings/account/general
          required: false
          description: >-
            Your Checkly account ID, you can find it at
            https://app.checklyhq.com/settings/account/general
          name: x-checkly-account
          in: header
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChecksV1ApiCheckUpdate'
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecksV1ApiCheckMutationResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    ChecksV1ApiCheckUpdate:
      type: object
      properties:
        name:
          type: string
          minLength: 1
        activated:
          type: boolean
        muted:
          type: boolean
        doubleCheck:
          type: boolean
        shouldFail:
          type: boolean
        locations:
          type: array
          nullable: true
          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
        tags:
          type: array
          items:
            type: string
            minLength: 1
        alertSettings:
          $ref: '#/components/schemas/ChecksV1AlertSettingsCreatePatch'
        useGlobalAlertSettings:
          type: boolean
        groupId:
          type: number
          nullable: true
        groupOrder:
          type: number
          nullable: true
          minimum: 0
        runtimeId:
          type: string
          nullable: true
          enum:
            - '2026.04'
            - '2025.04'
            - '2024.09'
            - '2024.02'
            - '2023.09'
            - '2023.02'
            - '2022.10'
            - null
        alertChannelSubscriptions:
          type: array
          items:
            $ref: '#/components/schemas/ChecksV1AlertChannelSubscription'
        retryStrategy:
          $ref: '#/components/schemas/ChecksV1RetryStrategyPatch'
        triggerIncident:
          $ref: '#/components/schemas/ChecksV1TriggerIncident'
        runParallel:
          type: boolean
        description:
          type: string
          nullable: true
          maxLength: 500
        checkType:
          type: string
          enum:
            - API
        request:
          $ref: '#/components/schemas/ChecksV1ApiRequestPatch'
        frequency:
          type: integer
          enum:
            - 0
            - 1
            - 2
            - 5
            - 10
            - 15
            - 30
            - 60
            - 120
            - 180
            - 360
            - 720
            - 1440
        frequencyOffset:
          type: integer
          minimum: 1
        degradedResponseTime:
          type: number
          nullable: true
          minimum: 0
          maximum: 45000
        maxResponseTime:
          type: number
          nullable: true
          minimum: 0
          maximum: 45000
        privateLocations:
          type: array
          nullable: true
          items:
            type: string
            minLength: 1
        tearDownSnippetId:
          type: number
          nullable: true
        setupSnippetId:
          type: number
          nullable: true
        localSetupScript:
          type: string
          nullable: true
        localTearDownScript:
          type: string
          nullable: true
    ChecksV1ApiCheckMutationResponse:
      type: object
      properties:
        name:
          type: string
          minLength: 1
        activated:
          type: boolean
          default: true
        muted:
          type: boolean
          default: false
        doubleCheck:
          type: boolean
          default: true
        shouldFail:
          type: boolean
          default: false
        locations:
          type: array
          nullable: true
          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
          default: []
        tags:
          type: array
          items:
            type: string
            minLength: 1
          default: []
        alertSettings:
          $ref: '#/components/schemas/ChecksV1AlertSettings'
        useGlobalAlertSettings:
          type: boolean
          default: true
        groupId:
          type: number
          nullable: true
          default: null
        groupOrder:
          type: number
          nullable: true
          minimum: 0
          default: null
        runtimeId:
          type: string
          nullable: true
          enum:
            - '2026.04'
            - '2025.04'
            - '2024.09'
            - '2024.02'
            - '2023.09'
            - '2023.02'
            - '2022.10'
            - null
          default: null
        alertChannelSubscriptions:
          type: array
          items:
            $ref: '#/components/schemas/ChecksV1AlertChannelSubscription'
        retryStrategy:
          $ref: '#/components/schemas/ChecksV1RetryStrategy'
        triggerIncident:
          $ref: '#/components/schemas/ChecksV1TriggerIncident'
        runParallel:
          type: boolean
          default: false
        description:
          type: string
          nullable: true
          maxLength: 500
          default: null
        id:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          nullable: true
          format: date-time
        alertChannels:
          $ref: '#/components/schemas/ChecksV1AlertChannels'
        privateLocations:
          type: array
          nullable: true
          items:
            type: string
            minLength: 1
        frequency:
          type: integer
          enum:
            - 0
            - 1
            - 2
            - 5
            - 10
            - 15
            - 30
            - 60
            - 120
            - 180
            - 360
            - 720
            - 1440
          default: 10
        frequencyOffset:
          type: integer
          minimum: 1
        degradedResponseTime:
          type: number
          nullable: true
        maxResponseTime:
          type: number
          nullable: true
        checkType:
          type: string
          enum:
            - API
        request:
          $ref: '#/components/schemas/ChecksV1ApiRequest'
        tearDownSnippetId:
          type: number
          nullable: true
          default: null
        setupSnippetId:
          type: number
          nullable: true
          default: null
        localSetupScript:
          type: string
          nullable: true
          default: null
        localTearDownScript:
          type: string
          nullable: true
          default: null
      required:
        - name
    ApiError:
      type: object
      properties:
        statusCode:
          type: number
        error:
          type: string
        message:
          type: string
      required:
        - statusCode
        - error
        - message
    ChecksV1AlertSettingsCreatePatch:
      type: object
      properties:
        escalationType:
          type: string
          enum:
            - RUN_BASED
            - TIME_BASED
        reminders:
          type: object
          properties:
            amount:
              type: integer
              enum:
                - 0
                - 1
                - 2
                - 3
                - 4
                - 5
                - 100000
            interval:
              type: integer
              enum:
                - 1
                - 2
                - 3
                - 4
                - 5
                - 10
                - 15
                - 30
        sslCertificates:
          type: object
          properties:
            enabled:
              type: boolean
            alertThreshold:
              type: integer
        runBasedEscalation:
          $ref: '#/components/schemas/ChecksV1AlertSettingsRunBasedEscalation'
        timeBasedEscalation:
          $ref: '#/components/schemas/ChecksV1AlertSettingsTimeBasedEscalation'
        parallelRunFailureThreshold:
          type: object
          properties:
            enabled:
              type: boolean
            percentage:
              type: integer
              enum:
                - 10
                - 20
                - 30
                - 40
                - 50
                - 60
                - 70
                - 80
                - 90
                - 100
    ChecksV1AlertChannelSubscription:
      type: object
      properties:
        alertChannelId:
          type: number
        activated:
          type: boolean
      required:
        - alertChannelId
        - activated
    ChecksV1RetryStrategyPatch:
      type: object
      nullable: true
      properties:
        type:
          type: string
          enum:
            - FIXED
            - LINEAR
            - EXPONENTIAL
            - SINGLE_RETRY
        baseBackoffSeconds:
          type: number
        sameRegion:
          type: boolean
        maxRetries:
          type: number
          minimum: 1
          maximum: 10
        maxDurationSeconds:
          type: number
          minimum: 0
          maximum: 600
        onlyOn:
          type: array
          items:
            type: string
            enum:
              - NETWORK_ERROR
      required:
        - type
    ChecksV1TriggerIncident:
      type: object
      nullable: true
      properties:
        serviceId:
          type: string
          minLength: 1
          format: uuid
        severity:
          type: string
          enum:
            - CRITICAL
            - MAJOR
            - MEDIUM
            - MINOR
        name:
          type: string
        description:
          type: string
        notifySubscribers:
          type: boolean
      required:
        - serviceId
        - severity
        - name
        - description
        - notifySubscribers
    ChecksV1ApiRequestPatch:
      type: object
      properties:
        method:
          type: string
          enum:
            - GET
            - POST
            - PUT
            - HEAD
            - DELETE
            - PATCH
        url:
          type: string
          minLength: 1
          maxLength: 2048
        followRedirects:
          type: boolean
        skipSSL:
          type: boolean
        ipFamily:
          type: string
          enum:
            - IPv4
            - IPv6
        body:
          type: string
        bodyType:
          type: string
          enum:
            - JSON
            - FORM
            - RAW
            - GRAPHQL
            - NONE
        headers:
          type: array
          items:
            $ref: '#/components/schemas/ChecksV1KeyValuePatch'
        queryParameters:
          type: array
          items:
            $ref: '#/components/schemas/ChecksV1KeyValuePatch'
        assertions:
          type: array
          items:
            $ref: '#/components/schemas/ChecksV1ApiAssertionPatch'
        basicAuth:
          $ref: '#/components/schemas/ChecksV1BasicAuth'
      required:
        - method
        - url
    ChecksV1AlertSettings:
      type: object
      nullable: true
      properties:
        escalationType:
          type: string
          enum:
            - RUN_BASED
            - TIME_BASED
          default: RUN_BASED
        reminders:
          type: object
          properties:
            amount:
              type: integer
              enum:
                - 0
                - 1
                - 2
                - 3
                - 4
                - 5
                - 100000
              default: 0
            interval:
              type: integer
              enum:
                - 1
                - 2
                - 3
                - 4
                - 5
                - 10
                - 15
                - 30
              default: 5
        sslCertificates:
          type: object
          properties:
            enabled:
              type: boolean
            alertThreshold:
              type: integer
        runBasedEscalation:
          $ref: '#/components/schemas/ChecksV1AlertSettingsRunBasedEscalation'
        timeBasedEscalation:
          $ref: '#/components/schemas/ChecksV1AlertSettingsTimeBasedEscalation'
        parallelRunFailureThreshold:
          type: object
          properties:
            enabled:
              type: boolean
              default: false
            percentage:
              type: integer
              enum:
                - 10
                - 20
                - 30
                - 40
                - 50
                - 60
                - 70
                - 80
                - 90
                - 100
              default: 10
      default:
        escalationType: RUN_BASED
        runBasedEscalation:
          failedRunThreshold: 1
        reminders:
          amount: 0
          interval: 5
        parallelRunFailureThreshold:
          enabled: false
          percentage: 10
    ChecksV1RetryStrategy:
      type: object
      nullable: true
      properties:
        type:
          type: string
          enum:
            - FIXED
            - LINEAR
            - EXPONENTIAL
            - SINGLE_RETRY
        baseBackoffSeconds:
          type: number
          default: 60
        sameRegion:
          type: boolean
          default: true
        maxRetries:
          type: number
          minimum: 1
          maximum: 10
        maxDurationSeconds:
          type: number
          minimum: 0
          maximum: 600
        onlyOn:
          type: array
          items:
            type: string
            enum:
              - NETWORK_ERROR
      required:
        - type
    ChecksV1AlertChannels:
      type: object
      nullable: true
      properties:
        email:
          type: array
          items:
            $ref: '#/components/schemas/ChecksV1AlertEmail'
        webhook:
          type: array
          items:
            $ref: '#/components/schemas/ChecksV1AlertWebhook'
        slack:
          type: array
          items:
            $ref: '#/components/schemas/ChecksV1AlertSlack'
        sms:
          type: array
          items:
            $ref: '#/components/schemas/ChecksV1AlertSms'
    ChecksV1ApiRequest:
      type: object
      properties:
        method:
          type: string
          enum:
            - GET
            - POST
            - PUT
            - HEAD
            - DELETE
            - PATCH
        url:
          type: string
          minLength: 1
          maxLength: 2048
        followRedirects:
          type: boolean
        skipSSL:
          type: boolean
          default: false
        ipFamily:
          type: string
          enum:
            - IPv4
            - IPv6
          default: IPv4
        body:
          type: string
          default: ''
        bodyType:
          type: string
          enum:
            - JSON
            - FORM
            - RAW
            - GRAPHQL
            - NONE
          default: NONE
        headers:
          type: array
          items:
            $ref: '#/components/schemas/ChecksV1KeyValue'
          default: []
        queryParameters:
          type: array
          items:
            $ref: '#/components/schemas/ChecksV1KeyValue'
          default: []
        assertions:
          type: array
          items:
            $ref: '#/components/schemas/ChecksV1ApiAssertion'
          default: []
        basicAuth:
          $ref: '#/components/schemas/ChecksV1BasicAuth'
      required:
        - method
        - url
    ChecksV1AlertSettingsRunBasedEscalation:
      type: object
      properties:
        failedRunThreshold:
          type: integer
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
    ChecksV1AlertSettingsTimeBasedEscalation:
      type: object
      properties:
        minutesFailingThreshold:
          type: integer
          enum:
            - 5
            - 10
            - 15
            - 30
    ChecksV1KeyValuePatch:
      type: object
      properties:
        key:
          type: string
          minLength: 1
        value:
          type: string
        locked:
          type: boolean
      required:
        - key
        - value
    ChecksV1ApiAssertionPatch:
      type: object
      properties:
        source:
          type: string
          enum:
            - STATUS_CODE
            - JSON_BODY
            - HEADERS
            - TEXT_BODY
            - RESPONSE_TIME
        comparison:
          type: string
          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
        property:
          type: string
        target:
          type: string
        regex:
          type: string
          nullable: true
    ChecksV1BasicAuth:
      type: object
      nullable: true
      properties:
        username:
          type: string
        password:
          type: string
      required:
        - username
        - password
    ChecksV1AlertEmail:
      type: object
      properties:
        address:
          type: string
          minLength: 1
          default: ''
    ChecksV1AlertWebhook:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          default: ''
        url:
          type: string
          minLength: 1
          default: ''
        method:
          type: string
          nullable: true
          minLength: 1
          default: POST
        headers:
          type: array
          items:
            $ref: '#/components/schemas/ChecksV1KeyValue'
          default: []
        queryParameters:
          type: array
          items:
            $ref: '#/components/schemas/ChecksV1KeyValue'
          default: []
    ChecksV1AlertSlack:
      type: object
      properties:
        url:
          type: string
          minLength: 1
          default: ''
    ChecksV1AlertSms:
      type: object
      properties:
        number:
          type: string
          minLength: 1
          default: ''
        name:
          type: string
      required:
        - name
    ChecksV1KeyValue:
      type: object
      properties:
        key:
          type: string
          minLength: 1
        value:
          type: string
        locked:
          type: boolean
          default: false
      required:
        - key
        - value
    ChecksV1ApiAssertion:
      type: object
      properties:
        source:
          type: string
          enum:
            - STATUS_CODE
            - JSON_BODY
            - HEADERS
            - TEXT_BODY
            - RESPONSE_TIME
        comparison:
          type: string
          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
        property:
          type: string
          default: ''
        target:
          type: string
          default: ''
        regex:
          type: string
          nullable: true
          default: ''
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: Bearer
      description: >-
        The Checkly Public API uses API keys to authenticate requests. You can
        get the API Key
        [here](https://app.checklyhq.com/settings/user/api-keys). Your API key
        is like a password: keep it secure!

        Authentication to the API is performed using the Bearer auth method in
        the Authorization header and using the account ID.

        For example, set **Authorization** header while using cURL: `curl -H
        "Authorization: Bearer [apiKey]" "X-Checkly-Account: [accountId]"` 

````