Checkly Analytics API

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

OpenAPI Specification

checkly-analytics-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Checkly Public Accounts Analytics API
  version: v1
  description: The Checkly Public API allows you to programmatically manage your monitoring checks, alerts, and more. If you have any questions, please do not hesitate to get in touch with us.
  contact:
    name: Checkly Support
    url: https://checklyhq.com/support
  license:
    name: MIT
servers:
- url: https://api.checklyhq.com
  description: Production server
security:
- bearerAuth: []
  accountId: []
tags:
- name: Analytics
paths:
  /v1/analytics/api-checks/{id}:
    get:
      summary: Get API Check Analytics
      description: Get analytics data for API checks
      operationId: getApiCheckAnalytics
      parameters:
      - name: id
        in: path
        required: true
        description: The check ID
        schema:
          type: string
      responses:
        '200':
          description: API check analytics data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiCheckAnalytics'
      tags:
      - Analytics
  /v1/analytics/browser-checks/{id}:
    get:
      summary: Get Browser Check Analytics
      description: Get analytics data for browser checks
      operationId: getBrowserCheckAnalytics
      parameters:
      - name: id
        in: path
        required: true
        description: The check ID
        schema:
          type: string
      responses:
        '200':
          description: Browser check analytics data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrowserCheckAnalytics'
      tags:
      - Analytics
  /v1/analytics/metrics/{checkType}:
    get:
      summary: List Analytics Metrics
      description: Returns all the available metrics for a specific check-type (API, URL, TCP or BROWSER)
      operationId: listAnalyticsMetrics
      parameters:
      - name: checkType
        in: path
        required: true
        description: The check type to retrieve metrics for
        schema:
          type: string
          enum:
          - api
          - url
          - tcp
          - browser
          - heartbeat
          - multistep
      - name: category
        in: query
        description: Filter by metric category
        schema:
          type: string
          enum:
          - response_time
          - success_rate
          - core_web_vitals
          - heartbeat
          - performance
          - volume
      - name: includeThresholds
        in: query
        description: Include performance thresholds and benchmarks
        schema:
          type: boolean
          default: false
      - name: format
        in: query
        description: Response format
        schema:
          type: string
          enum:
          - detailed
          - summary
          default: detailed
      - name: includeExamples
        in: query
        description: Include example values and use cases
        schema:
          type: boolean
          default: false
      - name: includeCalculations
        in: query
        description: Include calculation method details
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: List of available metrics for the specified check type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetricsList'
        '400':
          description: Bad Request - Invalid check type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Analytics
components:
  schemas:
    Error:
      type: object
      required:
      - error
      - message
      properties:
        error:
          type: string
          description: Error type
        message:
          type: string
          description: Error message
        statusCode:
          type: integer
          description: HTTP status code
    BrowserCheckAnalytics:
      type: object
      properties:
        id:
          type: string
          description: Check ID
        averageLoadTime:
          type: number
          description: Average page load time in milliseconds
        successRate:
          type: number
          description: Success rate percentage
        totalRuns:
          type: integer
          description: Total number of runs
    ApiCheckAnalytics:
      type: object
      properties:
        id:
          type: string
          description: Check ID
        averageResponseTime:
          type: number
          description: Average response time in milliseconds
        successRate:
          type: number
          description: Success rate percentage
        totalRequests:
          type: integer
          description: Total number of requests
    Metric:
      type: object
      properties:
        name:
          type: string
          description: Metric identifier name
        displayName:
          type: string
          description: Human-readable metric name
        description:
          type: string
          description: Detailed description of what the metric measures
        unit:
          type: string
          description: Unit of measurement (milliseconds, percentage, count, etc.)
        dataType:
          type: string
          enum:
          - number
          - integer
          description: Data type of the metric value
        availableFor:
          type: array
          items:
            type: string
          description: Check types this metric is available for
        calculationMethod:
          type: string
          description: How the metric is calculated
        precision:
          type: integer
          description: Number of decimal places for precision
        category:
          type: string
          description: Metric category grouping
        goodThreshold:
          type: number
          description: Threshold value considered good performance
        needsImprovementThreshold:
          type: number
          description: Threshold value that needs improvement
        range:
          type: object
          properties:
            min:
              type: number
              description: Minimum possible value
            max:
              type: number
              description: Maximum possible value
    MetricsList:
      type: object
      properties:
        data:
          type: object
          properties:
            responseTimeMetrics:
              type: array
              items:
                $ref: '#/components/schemas/Metric'
            successMetrics:
              type: array
              items:
                $ref: '#/components/schemas/Metric'
            volumeMetrics:
              type: array
              items:
                $ref: '#/components/schemas/Metric'
            browserSpecificMetrics:
              type: array
              items:
                $ref: '#/components/schemas/Metric'
            heartbeatSpecificMetrics:
              type: array
              items:
                $ref: '#/components/schemas/Metric'
        meta:
          type: object
          properties:
            totalMetrics:
              type: integer
              description: Total number of metrics available
            categories:
              type: array
              items:
                type: string
              description: Available metric categories
            checkTypes:
              type: array
              items:
                type: string
              description: Supported check types
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API Key authentication for Checkly API. You can get your API key at https://app.checklyhq.com/settings/user/api-keys
    accountId:
      type: apiKey
      in: header
      name: X-Checkly-Account
      description: Your Checkly account ID. You can find it at https://app.checklyhq.com/settings/account/general