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

# Update an ICMP Monitor

> Updates an ICMP monitor.



## OpenAPI

````yaml put /v1/checks/icmp/{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/icmp/{id}:
    put:
      tags:
        - Monitors
      summary: Update an ICMP Monitor
      description: Updates an ICMP monitor.
      operationId: putV1ChecksIcmpId
      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/ChecksV1IcmpMonitorUpdate'
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecksV1IcmpMonitor'
        '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:
    ChecksV1IcmpMonitorUpdate:
      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: 510
        intent:
          $ref: '#/components/schemas/ChecksV1CheckIntent'
        aiAutoRepairEnabled:
          type: boolean
          nullable: true
        checkType:
          type: string
          enum:
            - ICMP
        frequency:
          type: integer
          enum:
            - 0
            - 1
            - 2
            - 5
            - 10
            - 15
            - 30
            - 60
            - 120
            - 180
            - 360
            - 720
            - 1440
        frequencyOffset:
          type: integer
          minimum: 1
        heartbeat:
          type: object
          nullable: true
          properties: {}
          additionalProperties:
            nullable: true
        script:
          type: string
          nullable: true
        scriptPath:
          type: string
          nullable: true
          minLength: 1
        sslCheckDomain:
          type: string
          nullable: true
        environmentVariables:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/ChecksV1EnvironmentVariablePatch'
          maxItems: 200
        setupSnippetId:
          type: number
          nullable: true
        tearDownSnippetId:
          type: number
          nullable: true
        localSetupScript:
          type: string
          nullable: true
        localTearDownScript:
          type: string
          nullable: true
        request:
          $ref: '#/components/schemas/ChecksV1IcmpRequestPatch'
        degradedResponseTime:
          type: number
          nullable: true
          minimum: 0
          maximum: 300000
        maxResponseTime:
          type: number
          nullable: true
          minimum: 0
          maximum: 300000
        degradedPacketLossThreshold:
          type: number
          nullable: true
          minimum: 0
          exclusiveMinimum: true
          maximum: 100
        maxPacketLossThreshold:
          type: number
          nullable: true
          minimum: 0
          exclusiveMinimum: true
          maximum: 100
        privateLocations:
          type: array
          nullable: true
          items:
            type: string
            minLength: 1
    ChecksV1IcmpMonitor:
      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
        intent:
          type: object
          nullable: true
          properties:
            goal:
              type: string
              minLength: 1
              maxLength: 2000
              description: The user or system outcome this check protects.
            requiredOutcomes:
              type: array
              items:
                type: string
                minLength: 1
                maxLength: 1000
              maxItems: 20
              default: []
              description: Observable outcomes the check must continue to prove.
            mustPreserve:
              type: array
              items:
                type: string
                minLength: 1
                maxLength: 1000
              maxItems: 20
              default: []
              description: Guardrails an AI repair must not weaken or bypass.
          default: null
          required:
            - goal
          additionalProperties: false
        aiAutoRepairEnabled:
          type: boolean
          nullable: true
          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'
        project:
          $ref: '#/components/schemas/ChecksV1CheckProject'
        logicalId:
          type: string
          nullable: true
          description: >-
            The check's logical ID within the managing project, or null when it
            is not managed by code.
        member:
          type: boolean
          nullable: true
          description: >-
            True when the project owns this check, false when it merely
            references a check owned outside the project. Null when not managed
            by code. The same relationship appears structurally in
            `projectBindings`: an owning project under `projectBindings.owner`,
            a referencing one under `projectBindings.references`.
        pending:
          type: boolean
          nullable: true
          description: >-
            True when the binding is reserved by an import plan that has not
            been deployed yet. Null when not managed by code.
        projectBindings:
          $ref: '#/components/schemas/ProjectBindingsV1'
        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
        checkType:
          type: string
          enum:
            - ICMP
        request:
          $ref: '#/components/schemas/ChecksV1IcmpRequest'
        degradedPacketLossThreshold:
          type: number
          nullable: true
        maxPacketLossThreshold:
          type: number
          nullable: true
      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
    ChecksV1CheckIntent:
      type: object
      nullable: true
      properties:
        goal:
          type: string
          minLength: 1
          maxLength: 2000
          description: The user or system outcome this check protects.
        requiredOutcomes:
          type: array
          items:
            type: string
            minLength: 1
            maxLength: 1000
          maxItems: 20
          default: []
          description: Observable outcomes the check must continue to prove.
        mustPreserve:
          type: array
          items:
            type: string
            minLength: 1
            maxLength: 1000
          maxItems: 20
          default: []
          description: Guardrails an AI repair must not weaken or bypass.
      required:
        - goal
      additionalProperties: false
    ChecksV1EnvironmentVariablePatch:
      type: object
      properties:
        key:
          type: string
          minLength: 1
        value:
          type: string
          nullable: true
        locked:
          type: boolean
        secret:
          type: boolean
      required:
        - key
        - value
    ChecksV1IcmpRequestPatch:
      type: object
      properties:
        hostname:
          type: string
          minLength: 1
          maxLength: 2048
        ipFamily:
          type: string
          nullable: true
          enum:
            - IPv4
            - IPv6
            - null
        pingCount:
          type: integer
          nullable: true
          minimum: 1
          maximum: 50
        assertions:
          type: array
          items:
            $ref: '#/components/schemas/ChecksV1IcmpAssertionPatch'
      required:
        - hostname
    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'
    ChecksV1CheckProject:
      type: object
      nullable: true
      properties:
        id:
          type: string
          description: The ID of the project that manages this check.
        logicalId:
          type: string
          description: The logical ID of the managing project, as declared in code.
        name:
          type: string
          description: The name of the managing project.
      description: >-
        The project that manages this check, or null when the check is not
        managed by code. When a check has more than one binding, this reports
        the preferred one.
    ProjectBindingsV1:
      type: object
      description: >-
        The Checkly CLI projects that manage this resource. `owner` is null and
        `references` empty when the resource is not managed by code.
      properties:
        owner:
          $ref: '#/components/schemas/ProjectBindingOwnerV1'
        references:
          $ref: '#/components/schemas/ProjectBindingReferencesV1'
      required:
        - owner
        - references
    ChecksV1IcmpRequest:
      type: object
      properties:
        hostname:
          type: string
          minLength: 1
          maxLength: 2048
        ipFamily:
          type: string
          nullable: true
          enum:
            - IPv4
            - IPv6
            - null
          default: IPv4
        pingCount:
          type: integer
          nullable: true
          minimum: 1
          maximum: 50
          default: 10
        assertions:
          type: array
          items:
            $ref: '#/components/schemas/ChecksV1IcmpAssertion'
          default: []
      required:
        - hostname
    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
    ChecksV1IcmpAssertionPatch:
      type: object
      properties:
        source:
          type: string
          enum:
            - LATENCY
            - JSON_RESPONSE
        comparison:
          type: string
          enum:
            - EQUALS
            - NOT_EQUALS
            - 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
    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
    ProjectBindingOwnerV1:
      type: object
      description: >-
        The project that owns this resource — the one whose deploy can delete
        it. Null when no project owns it, including when other projects merely
        reference it. In the rare case that several projects hold an ownership
        record for one resource, this reports the preferred one and the rest are
        omitted.
      nullable: true
      properties:
        project:
          $ref: '#/components/schemas/BindingProjectV1'
        binding:
          $ref: '#/components/schemas/ProjectBindingDetailsV1'
      required:
        - project
        - binding
    ProjectBindingReferencesV1:
      type: array
      description: >-
        Projects that use this resource without owning it; their deploys leave
        it alone. Empty when there are none.
      items:
        $ref: '#/components/schemas/ProjectBindingV1'
    ChecksV1IcmpAssertion:
      type: object
      properties:
        source:
          type: string
          enum:
            - LATENCY
            - JSON_RESPONSE
        comparison:
          type: string
          enum:
            - EQUALS
            - NOT_EQUALS
            - 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: ''
    ChecksV1KeyValue:
      type: object
      properties:
        key:
          type: string
          minLength: 1
        value:
          type: string
        locked:
          type: boolean
          default: false
      required:
        - key
        - value
    BindingProjectV1:
      type: object
      description: The project this binding is to.
      properties:
        id:
          type: string
          description: The ID of the project.
        logicalId:
          type: string
          description: The logical ID of the project, as declared in code.
        name:
          type: string
          description: The name of the project.
      required:
        - id
        - logicalId
        - name
    ProjectBindingDetailsV1:
      type: object
      description: The resource's side of this binding.
      properties:
        logicalId:
          type: string
          description: The resource's logical ID within this project, as declared in code.
          example: homepage-check
        pending:
          type: boolean
          description: >-
            True when the binding is reserved by an import plan that has not
            been deployed yet.
      required:
        - logicalId
        - pending
    ProjectBindingV1:
      type: object
      properties:
        project:
          $ref: '#/components/schemas/BindingProjectV1'
        binding:
          $ref: '#/components/schemas/ProjectBindingDetailsV1'
      required:
        - project
        - binding
  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]"` 

````