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

# ICMP monitors

> Fetch detailed availability metrics and aggregated or non-aggregated ICMP Monitor metrics across custom time ranges. For example, you can get the p99 and p95 of latency metrics together with the packet loss percentage for any time range.
**Rate-limiting is applied to this endpoint, you can send 30 requests / 60 seconds at most.**



## OpenAPI

````yaml get /v1/analytics/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/analytics/icmp/{id}:
    get:
      tags:
        - Analytics
      summary: ICMP monitors
      description: >-
        Fetch detailed availability metrics and aggregated or non-aggregated
        ICMP Monitor metrics across custom time ranges. For example, you can get
        the p99 and p95 of latency metrics together with the packet loss
        percentage for any time range.

        **Rate-limiting is applied to this endpoint, you can send 30 requests /
        60 seconds at most.**
      operationId: getV1AnalyticsIcmpId
      parameters:
        - schema:
            type: string
            minLength: 1
            format: uuid
          required: true
          name: id
          in: path
        - schema:
            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
              "quickRange".
          required: false
          description: >-
            Custom start time of reporting window in unix timestamp format.
            Setting a custom "from" timestamp overrides the use of any
            "quickRange".
          name: from
          in: query
        - schema:
            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
              "quickRange".
          required: false
          description: >-
            Custom end time of reporting window in unix timestamp format.
            Setting a custom "to" timestamp overrides the use of any
            "quickRange".
          name: to
          in: query
        - schema:
            type: string
            enum:
              - last24Hours
              - last7Days
              - last30Days
              - thisWeek
              - thisMonth
              - lastWeek
              - lastMonth
            default: last24Hours
            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.
          required: false
          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.
          name: quickRange
          in: query
        - schema:
            type: number
            minimum: 1
            maximum: 43200
            example: 1440
            description: >-
              The time interval to use for aggregating metrics in minutes. For
              example, five minutes is 5, 24 hours is 1440.
          required: false
          description: >-
            The time interval to use for aggregating metrics in minutes. For
            example, five minutes is 5, 24 hours is 1440.
          name: aggregationInterval
          in: query
        - schema:
            type: array
            items:
              type: string
              enum:
                - success
                - failure
            example:
              - failure
            description: >-
              Filter based on whether a check result was either failing or
              passing
          required: false
          description: Filter based on whether a check result was either failing or passing
          name: filterByStatus
          in: query
        - schema:
            type: string
            enum:
              - runLocation
            description: >-
              Determines how the series data is grouped. Note that grouped
              queries are a bit more expensive and might take longer.
          required: false
          description: >-
            Determines how the series data is grouped. Note that grouped queries
            are a bit more expensive and might take longer.
          name: groupBy
          in: query
        - schema:
            type: array
            items:
              type: string
              enum:
                - packetLoss
                - latencyMin
                - latencyMax
                - latencyAvg
                - latencyStdDev
                - availability
                - retries
                - packetLoss_avg
                - packetLoss_max
                - packetLoss_median
                - packetLoss_min
                - packetLoss_p50
                - packetLoss_p90
                - packetLoss_p95
                - packetLoss_p99
                - packetLoss_stddev
                - packetLoss_sum
                - latencyMin_avg
                - latencyMin_max
                - latencyMin_median
                - latencyMin_min
                - latencyMin_p50
                - latencyMin_p90
                - latencyMin_p95
                - latencyMin_p99
                - latencyMin_stddev
                - latencyMin_sum
                - latencyMax_avg
                - latencyMax_max
                - latencyMax_median
                - latencyMax_min
                - latencyMax_p50
                - latencyMax_p90
                - latencyMax_p95
                - latencyMax_p99
                - latencyMax_stddev
                - latencyMax_sum
                - latencyAvg_avg
                - latencyAvg_max
                - latencyAvg_median
                - latencyAvg_min
                - latencyAvg_p50
                - latencyAvg_p90
                - latencyAvg_p95
                - latencyAvg_p99
                - latencyAvg_stddev
                - latencyAvg_sum
                - latencyStdDev_avg
                - latencyStdDev_max
                - latencyStdDev_median
                - latencyStdDev_min
                - latencyStdDev_p50
                - latencyStdDev_p90
                - latencyStdDev_p95
                - latencyStdDev_p99
                - latencyStdDev_stddev
                - latencyStdDev_sum
            description: >-
              Available metrics for ICMP Monitors. You can pass multiple metrics
              as a comma separated string.
          required: true
          description: >-
            Available metrics for ICMP Monitors. You can pass multiple metrics
            as a comma separated string.
          name: metrics
          in: query
        - schema:
            type: integer
            description: Limit the number of results
            default: 10
            minimum: 1
            maximum: 100
          required: false
          description: Limit the number of results
          name: limit
          in: query
        - schema:
            type: number
            minimum: 0
            exclusiveMinimum: true
            default: 1
            description: Page number
          required: false
          description: Page number
          name: page
          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
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalyticsIcmpMonitorResponse'
        '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'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    AnalyticsIcmpMonitorResponse:
      type: object
      properties:
        checkId:
          type: string
          format: uuid
        name:
          type: string
        checkType:
          type: string
          enum:
            - AGENTIC
            - API
            - BROWSER
            - HEARTBEAT
            - ICMP
            - MULTI_STEP
            - TCP
            - PLAYWRIGHT
            - TRACEROUTE
            - URL
            - DNS
            - SSL
            - GRPC
        activated:
          type: boolean
        muted:
          type: boolean
        frequency:
          type: number
        from:
          type: string
          format: date-time
        to:
          type: string
          format: date-time
        tags:
          type: array
          items:
            type: string
        series:
          type: array
          items:
            $ref: '#/components/schemas/AnalyticsSeriesEntry'
        pagination:
          $ref: '#/components/schemas/AnalyticsPagination'
        metadata:
          $ref: '#/components/schemas/AnalyticsIcmpMonitorMetadata'
    ApiError:
      type: object
      properties:
        statusCode:
          type: number
        error:
          type: string
        message:
          type: string
      required:
        - statusCode
        - error
        - message
    AnalyticsSeriesEntry:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/AnalyticsSeriesData'
      required:
        - data
      additionalProperties: true
    AnalyticsPagination:
      type: object
      properties:
        page:
          type: number
        limit:
          type: number
    AnalyticsIcmpMonitorMetadata:
      type: object
      properties:
        packetLoss:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMin:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMax:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyAvg:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyStdDev:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        availability:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        retries:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        packetLoss_avg:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        packetLoss_max:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        packetLoss_median:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        packetLoss_min:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        packetLoss_p50:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        packetLoss_p90:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        packetLoss_p95:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        packetLoss_p99:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        packetLoss_stddev:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        packetLoss_sum:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMin_avg:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMin_max:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMin_median:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMin_min:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMin_p50:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMin_p90:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMin_p95:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMin_p99:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMin_stddev:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMin_sum:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMax_avg:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMax_max:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMax_median:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMax_min:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMax_p50:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMax_p90:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMax_p95:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMax_p99:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMax_stddev:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyMax_sum:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyAvg_avg:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyAvg_max:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyAvg_median:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyAvg_min:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyAvg_p50:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyAvg_p90:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyAvg_p95:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyAvg_p99:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyAvg_stddev:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyAvg_sum:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyStdDev_avg:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyStdDev_max:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyStdDev_median:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyStdDev_min:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyStdDev_p50:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyStdDev_p90:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyStdDev_p95:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyStdDev_p99:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyStdDev_stddev:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
        latencyStdDev_sum:
          $ref: '#/components/schemas/AnalyticsMetricMetadata'
    AnalyticsSeriesData:
      anyOf:
        - type: array
          items:
            $ref: '#/components/schemas/AnalyticsSeriesRow'
        - $ref: '#/components/schemas/AnalyticsSeriesRow'
    AnalyticsMetricMetadata:
      type: object
      properties:
        unit:
          type: string
          enum:
            - milliseconds
            - score
            - count
            - percentage
        label:
          type: string
        aggregation:
          type: string
          enum:
            - avg
            - max
            - median
            - min
            - p50
            - p90
            - p95
            - p99
            - stddev
            - sum
    AnalyticsSeriesRow:
      type: object
      properties: {}
      additionalProperties: true
  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]"` 

````