---
title: "API checks"
method: GET
path: "/v1/analytics/api-checks/{id}"
tags: ["Analytics"]
---

# API checks

`GET /v1/analytics/api-checks/{id}`

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.
**Rate-limiting is applied to this endpoint, you can send 30 requests / 60 seconds at most.**

## Path parameters

- `id` string, uuid, required

## Query parameters

- `from` string, date — Custom start time of reporting window in unix timestamp format. Setting a custom "from" timestamp overrides the use of any "quickRange".
- `to` string, date — Custom end time of reporting window in unix timestamp format. Setting a custom "to" timestamp overrides the use of any "quickRange".
- `quickRange` 'last24Hours' | 'last7Days' | 'last30Days' | 'thisWeek' | 'thisMonth' | 'lastWeek' | 'lastMonth' — Preset reporting windows are used for quickly generating report on commonly used windows. Can be overridden by using a custom "to" and "from" timestamp.
- `aggregationInterval` number — The time interval to use for aggregating metrics in minutes. For example, five minutes is 5, 24 hours is 1440.
- `filterByStatus` string[] — Filter based on whether a check result was either failing or passing
- `groupBy` 'runLocation' | 'statusCode' — Determines how the series data is grouped. Note that grouped queries are a bit more expensive and might take longer.
- `metrics` string[], required — Available metrics for API Checks. You can pass multiple metrics as a comma separated string.
- `limit` integer — Limit the number of results
- `page` number — Page number

## Headers

- `x-checkly-account` string, uuid — Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general

## Response `200`

Success

- AnalyticsApiCheckResponse
  - `checkId` string, uuid
  - `name` string
  - `checkType` 'AGENTIC' | 'API' | 'BROWSER' | 'HEARTBEAT' | 'ICMP' | 'MULTI_STEP' | 'TCP' | 'PLAYWRIGHT' | 'TRACEROUTE' | 'URL' | 'DNS' | 'SSL' | 'GRPC'
  - `activated` boolean
  - `muted` boolean
  - `frequency` number
  - `from` string, date-time
  - `to` string, date-time
  - `tags` string[]
  - `series` AnalyticsSeriesEntry[]
    - `data` union, required
      - AnalyticsSeriesRow[]
      - AnalyticsSeriesRow
  - `pagination` AnalyticsPagination
    - `page` number
    - `limit` number
  - `metadata` AnalyticsApiCheckMetadata
    - `responseTime` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `wait` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `dns` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `tcp` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `firstByte` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `download` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `availability` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `retries` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `responseTime_avg` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `responseTime_max` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `responseTime_median` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `responseTime_min` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `responseTime_p50` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `responseTime_p90` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `responseTime_p95` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `responseTime_p99` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `responseTime_stddev` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `responseTime_sum` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `wait_avg` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `wait_max` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `wait_median` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `wait_min` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `wait_p50` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `wait_p90` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `wait_p95` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `wait_p99` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `wait_stddev` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `wait_sum` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `dns_avg` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `dns_max` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `dns_median` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `dns_min` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `dns_p50` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `dns_p90` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `dns_p95` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `dns_p99` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `dns_stddev` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `dns_sum` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `tcp_avg` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `tcp_max` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `tcp_median` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `tcp_min` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `tcp_p50` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `tcp_p90` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `tcp_p95` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `tcp_p99` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `tcp_stddev` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `tcp_sum` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `firstByte_avg` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `firstByte_max` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `firstByte_median` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `firstByte_min` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `firstByte_p50` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `firstByte_p90` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `firstByte_p95` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `firstByte_p99` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `firstByte_stddev` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `firstByte_sum` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `download_avg` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `download_max` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `download_median` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `download_min` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `download_p50` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `download_p90` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `download_p95` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `download_p99` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `download_stddev` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'
    - `download_sum` AnalyticsMetricMetadata
      - `unit` 'milliseconds' | 'score' | 'count' | 'percentage'
      - `label` string
      - `aggregation` 'avg' | 'max' | 'median' | 'min' | 'p50' | 'p90' | 'p95' | 'p99' | 'stddev' | 'sum'

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `429` — Too Many Requests

---

[API](https://skmtc.net/checklyhq/apis/checkly-public-api.md) · [All operations](https://skmtc.net/checklyhq/apis/checkly-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/checklyhq/checkly-public-api/revisions/87d29dc7b4fe/schema)
