Checkly Analytics API

The Analytics API from Checkly — 12 operation(s) for analytics.

Operations 12

GET /v1/analytics/api-checks/{id} API checks #
GET /v1/analytics/browser-checks/{id} Browser checks #
POST /v1/analytics/checks Get analytics summary for multiple checks #
GET /v1/analytics/dns/{id} DNS monitors #
GET /v1/analytics/heartbeat-checks/{id} Heartbeat checks #
GET /v1/analytics/icmp/{id} ICMP monitors #
GET /v1/analytics/metrics List all available reporting metrics. #
GET /v1/analytics/multistep-checks/{id} Multistep checks #
GET /v1/analytics/playwright-checks/{id} Playwright checks #
GET /v1/analytics/ssl/{id} SSL monitors #
GET /v1/analytics/tcp-checks/{id} TCP checks #
GET /v1/analytics/url-monitors/{id} URL Monitors #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/checkly-analytics-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

checkly-analytics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Checkly Public Analytics API
  version: v1
  description: These are the docs for the newly released Checkly Public API.<br />If you have any questions, please do not hesitate to get in touch with us.
servers:
- url: https://api.checklyhq.com
security:
- Bearer: []
tags:
- name: Analytics
paths:
  /v1/analytics/api-checks/{id}:
    get:
      summary: API checks
      operationId: getV1AnalyticsApichecksId
      description: Fetch detailed availability metrics and aggregated or non-aggregated API Check metrics across custom time ranges. For example, you can get the p99 and p95 of all the DNS phases of your API check together with the availability percentage for any time range.<br><br><b>Rate-limiting is applied to this endpoint, you can send 30 requests / 60 seconds at most.<b>
      tags:
      - Analytics
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalyticsApiCheckResponse'
        '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'
      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
          - statusCode
          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:
            - responseTime
            - wait
            - dns
            - tcp
            - firstByte
            - download
            - availability
            - retries
            - responseTime_avg
            - responseTime_max
            - responseTime_median
            - responseTime_min
            - responseTime_p50
            - responseTime_p90
            - responseTime_p95
            - responseTime_p99
            - responseTime_stddev
            - responseTime_sum
            - wait_avg
            - wait_max
            - wait_median
            - wait_min
            - wait_p50
            - wait_p90
            - wait_p95
            - wait_p99
            - wait_stddev
            - wait_sum
            - dns_avg
            - dns_max
            - dns_median
            - dns_min
            - dns_p50
            - dns_p90
            - dns_p95
            - dns_p99
            - dns_stddev
            - dns_sum
            - tcp_avg
            - tcp_max
            - tcp_median
            - tcp_min
            - tcp_p50
            - tcp_p90
            - tcp_p95
            - tcp_p99
            - tcp_stddev
            - tcp_sum
            - firstByte_avg
            - firstByte_max
            - firstByte_median
            - firstByte_min
            - firstByte_p50
            - firstByte_p90
            - firstByte_p95
            - firstByte_p99
            - firstByte_stddev
            - firstByte_sum
            - download_avg
            - download_max
            - download_median
            - download_min
            - download_p50
            - download_p90
            - download_p95
            - download_p99
            - download_stddev
            - download_sum
          description: Available metrics for API Checks. You can pass multiple metrics as a comma separated string.
        required: true
        description: Available metrics for API Checks. You can pass multiple metrics as a comma separated string.
        name: metrics
        in: query
      - schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 10
          description: Limit the number of results
        required: false
        description: Limit the number of results
        name: limit
        in: query
      - schema:
          type: number
          default: 1
          description: Page number
          exclusiveMinimum: 0
        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
  /v1/analytics/browser-checks/{id}:
    get:
      summary: Browser checks
      operationId: getV1AnalyticsBrowserchecksId
      description: Fetch detailed availability metrics and aggregated or non-aggregated Browser Check metrics across custom time ranges.  For example, you can get the average amount of console errors, the p99 of your FCP and the standard deviation of your TTFB for the second page in your Browser check with one API call.<br><br><b>Rate-limiting is applied to this endpoint, you can send 30 requests / 60 seconds at most.<b>
      tags:
      - Analytics
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalyticsBrowserCheckResponse'
        '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'
      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
          - pageIndex
          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:
            - responseTime
            - TTFB
            - FCP
            - LCP
            - CLS
            - TBT
            - consoleErrors
            - networkErrors
            - userScriptErrors
            - documentErrors
            - availability
            - retries
            - responseTime_avg
            - responseTime_max
            - responseTime_median
            - responseTime_min
            - responseTime_p50
            - responseTime_p90
            - responseTime_p95
            - responseTime_p99
            - responseTime_stddev
            - responseTime_sum
            - TTFB_avg
            - TTFB_max
            - TTFB_median
            - TTFB_min
            - TTFB_p50
            - TTFB_p90
            - TTFB_p95
            - TTFB_p99
            - TTFB_stddev
            - TTFB_sum
            - FCP_avg
            - FCP_max
            - FCP_median
            - FCP_min
            - FCP_p50
            - FCP_p90
            - FCP_p95
            - FCP_p99
            - FCP_stddev
            - FCP_sum
            - LCP_avg
            - LCP_max
            - LCP_median
            - LCP_min
            - LCP_p50
            - LCP_p90
            - LCP_p95
            - LCP_p99
            - LCP_stddev
            - LCP_sum
            - CLS_avg
            - CLS_max
            - CLS_median
            - CLS_min
            - CLS_p50
            - CLS_p90
            - CLS_p95
            - CLS_p99
            - CLS_stddev
            - CLS_sum
            - TBT_avg
            - TBT_max
            - TBT_median
            - TBT_min
            - TBT_p50
            - TBT_p90
            - TBT_p95
            - TBT_p99
            - TBT_stddev
            - TBT_sum
            - consoleErrors_avg
            - consoleErrors_max
            - consoleErrors_median
            - consoleErrors_min
            - consoleErrors_p50
            - consoleErrors_p90
            - consoleErrors_p95
            - consoleErrors_p99
            - consoleErrors_stddev
            - consoleErrors_sum
            - networkErrors_avg
            - networkErrors_max
            - networkErrors_median
            - networkErrors_min
            - networkErrors_p50
            - networkErrors_p90
            - networkErrors_p95
            - networkErrors_p99
            - networkErrors_stddev
            - networkErrors_sum
            - userScriptErrors_avg
            - userScriptErrors_max
            - userScriptErrors_median
            - userScriptErrors_min
            - userScriptErrors_p50
            - userScriptErrors_p90
            - userScriptErrors_p95
            - userScriptErrors_p99
            - userScriptErrors_stddev
            - userScriptErrors_sum
            - documentErrors_avg
            - documentErrors_max
            - documentErrors_median
            - documentErrors_min
            - documentErrors_p50
            - documentErrors_p90
            - documentErrors_p95
            - documentErrors_p99
            - documentErrors_stddev
            - documentErrors_sum
          description: Available metrics for Browser Checks. You can pass multiple metrics as a comma separated string.
        required: true
        description: Available metrics for Browser Checks. You can pass multiple metrics as a comma separated string.
        name: metrics
        in: query
      - schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 10
          description: Limit the number of results
        required: false
        description: Limit the number of results
        name: limit
        in: query
      - schema:
          type: number
          default: 1
          description: Page number
          exclusiveMinimum: 0
        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
  /v1/analytics/checks:
    post:
      summary: Get analytics summary for multiple checks
      operationId: postV1AnalyticsChecks
      description: 'Returns availability, response times, and latency metrics for the given checks. Response shape is polymorphic per check type: fields are present only when the metric applies to that type. A null value means no data in the requested time range; an absent field means the metric does not apply to that check type.<br><br>Currently only <code>quickRange</code> is supported for time filtering. Arbitrary <code>from</code>/<code>to</code> date ranges are not yet supported but may be added in a future release.<br><br><b>Rate-limiting is applied to this endpoint, you can send 30 requests / 60 seconds at most.<b>'
      tags:
      - Analytics
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalyticsBatchResponse'
        '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'
      parameters:
      - schema:
          type: string
          enum:
          - last24Hours
          - last7Days
          - thisWeek
          - lastWeek
          - lastMonth
          default: last24Hours
          description: Time range for analytics.
        required: false
        description: Time range for analytics.
        name: quickRange
        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/AnalyticsBatchRequest'
  /v1/analytics/dns/{id}:
    get:
      summary: DNS monitors
      operationId: getV1AnalyticsDnsId
      description: Fetch detailed availability metrics and aggregated or non-aggregated DNS Monitor metrics across custom time ranges. For example, you can get the p99 and p95 of the total DNS query time together with the availability percentage for any time range.<br><br><b>Rate-limiting is applied to this endpoint, you can send 30 requests / 60 seconds at most.<b>
      tags:
      - Analytics
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalyticsDnsMonitorResponse'
        '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'
      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:
            - total
            - availability
            - retries
            - total_avg
            - total_max
            - total_median
            - total_min
            - total_p50
            - total_p90
            - total_p95
            - total_p99
            - total_stddev
            - total_sum
          description: Available metrics for DNS Monitors. You can pass multiple metrics as a comma separated string.
        required: true
        description: Available metrics for DNS Monitors. You can pass multiple metrics as a comma separated string.
        name: metrics
        in: query
      - schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 10
          description: Limit the number of results
        required: false
        description: Limit the number of results
        name: limit
        in: query
      - schema:
          type: number
          default: 1
          description: Page number
          exclusiveMinimum: 0
        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
  /v1/analytics/heartbeat-checks/{id}:
    get:
      summary: Heartbeat checks
      operationId: getV1AnalyticsHeartbeatchecksId
      description: Fetch detailed availability metrics and aggregated or non-aggregated Heartbeat Check metrics across custom time ranges. <b>Rate-limiting is applied to this endpoint, you can send 30 requests / 60 seconds at most.<b>
      tags:
      - Analytics
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalyticsHeartbeatCheckResponse'
        '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'
      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: array
          items:
            type: string
            enum:
            - FAILING
            - EARLY
            - RECEIVED
            - GRACE
            - LATE
          example:
          - FAILING
          description: Filter based on whether a heartbeat request was late, early, etc.
        required: false
        description: Filter based on whether a heartbeat request was late, early, etc.
        name: filterByStatus
        in: query
      - schema:
          type: array
          items:
            type: string
            enum:
            - availability
            - retries
          default:
          - availability
          description: Available metrics for Heartbeat Checks. You can pass multiple metrics as a comma separated string.
        required: true
        description: Available metrics for Heartbeat Checks. You can pass multiple metrics as a comma separated string.
        name: metrics
        in: query
      - schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 10
          description: Limit the number of results
        required: false
        description: Limit the number of results
        name: limit
        in: query
      - schema:
          type: number
          default: 1
          description: Page number
          exclusiveMinimum: 0
        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
  /v1/analytics/icmp/{id}:
    get:
      summary: ICMP monitors
      operationId: getV1AnalyticsIcmpId
      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.<br><br><b>Rate-limiting is applied to this endpoint, you can send 30 requests / 60 seconds at most.<b>
      tags:
      - Analytics
      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'
      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: Cu

# --- truncated at 32 KB (132 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/checkly/refs/heads/main/openapi/checkly-analytics-api-openapi.yml