---
title: "Lists all check results"
method: GET
path: "/v2/check-results/{checkId}"
tags: ["Check results"]
---

# Lists all check results

`GET /v2/check-results/{checkId}`

Lists the full, raw check results for a specific check. We keep raw results for 30 days. After 30 days they are erased. However, we keep the rolled up results for an indefinite period.
You can filter by check type and result type to narrow down the list. Use the `to` and `from` parameters to specify a date range (UNIX timestamp in seconds). Depending on the check type, some fields might be null.
**Rate-limiting is applied to this endpoint, you can send 60 requests / 60 seconds at most.**

## Path parameters

- `checkId` string, required

## Query parameters

- `limit` integer — Limit the number of results to fetch (default 10)
- `nextId` string — Cursor parameter to fetch the next page of results. The "nextId" parameter is returned in the response of the previous request. If a response includes a "nextId" parameter set to "null", there are no more results to fetch.
- `from` string, date — Select records up from this UNIX timestamp (>= date).
- `to` string, date — Optional. Select records up to this UNIX timestamp (< date).
- `location` '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' — Provide a data center location, e.g. "eu-west-1" to filter by location
- `checkType` 'AGENTIC' | 'API' | 'BROWSER' | 'HEARTBEAT' | 'ICMP' | 'MULTI_STEP' | 'TCP' | 'PLAYWRIGHT' | 'TRACEROUTE' | 'URL' | 'DNS' | 'SSL' | 'GRPC' — The type of the check
- `hasFailures` boolean — Check result has one or more failures
- `resultType` 'FINAL' | 'ATTEMPT' | 'ALL' — The check result type (FINAL,ATTEMPT,ALL)
- `fields` string[] — Comma-separated list of check result fields to include in each entry.

## Headers

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

## Response `200`

Successful

- CheckResultListV2
  - `length` number, required
  - `entries` union[]
    - union
      - CheckResult
        - `id` string — The unique ID of this result.
        - `name` string — The name of the check.
        - `checkId` string — The ID of the check.
        - `hasFailures` boolean — Describes if any failure has occurred during this check run. This should be your main focus for assessing API or browser check behaviour. Assertions that fail, timeouts or failing scripts all resolve to this value being true.
        - `hasErrors` boolean — Describes if an internal error has occurred in Checkly's backend. This should be false in almost all cases.
        - `isDegraded` boolean, nullable — A check is degraded if it is over the degradation limit set by the "degradedResponseTime" field on the check. Applies only to API checks.
        - `isCancelled` boolean — Whether the run was cancelled before completion.
        - `overMaxResponseTime` boolean, nullable — Set to true if the response time is over the limit set by the "maxResponseTime" field on the check. Applies only to API checks.
        - `runLocation` string — What data center location this check result originated from.
        - `startedAt` string, date-time, nullable
        - `stoppedAt` string, date-time, nullable
        - `created_at` string, date-time
        - `responseTime` number — Time the check spent producing its result, in milliseconds. For protocol checks this is the measured operation time (a subset of the run): request time for API and URL checks, connection time for TCP, resolution time for DNS, average latency for ICMP and TRACEROUTE, request timing for GRPC, and TLS handshake time for SSL. For browser, multi-step, Playwright and agentic checks it is the run wall-clock duration. Any setup or system time before the check starts executing is not included.
        - `apiCheckResult` CheckResultAPI, nullable — The response data for an API check.
          - `assertions` string[], nullable — List of API check assertions.
          - `request` Request — The request for the API.
            - `method` string
            - `url` string
            - `data` string
            - `headers` Headers
            - `params` Params
          - `response` Response — The API response.
            - `status` number
            - `statusText` string
            - `body` string
            - `bodyEncoding` 'base64' — Encoding of `body`. Set to `base64` when the body holds base64-encoded raw bytes (raster image responses); absent for plain text bodies.
            - `headers` Headers
            - `timings` Timings
            - `timingPhases` TimingPhases
          - `requestError` string, nullable — Describes if an error occurred on the request.
          - `jobLog` JobLog, nullable — Check run log results.
          - `jobAssets` string[], nullable — Assets generated from the check run.
          - `pcapDataUrl` string, nullable — Packet capture data if available as redirect/download URL.
        - `browserCheckResult` CheckResultBrowser, nullable — The response data for a browser check.
          - `type` string — The type of framework the check is using.
          - `traceSummary` TraceSummary — The summary of errors in the check run.
          - `pages` string[] — List of pages used on the check run.
          - `playwrightTestVideos` string[] — List of Playwright Test videos.
          - `errors` string[] — List of errors on the check run.
          - `endTime` number — End time of the check run.
          - `startTime` number — Start time of the check run.
          - `runtimeVersion` string — Active runtime version.
          - `jobLog` string[], nullable — Check run log results.
          - `jobAssets` string[], nullable — Assets generated from the check run.
          - `playwrightTestTraces` string[] — List of Playwright Test traces.
          - `playwrightTestJsonReportFile` string — Playwright Test JSON report.
        - `multiStepCheckResult` MultiStepResultBrowser, nullable — The response data for a multi-step check.
          - `errors` string[] — List of errors on the check run.
          - `endTime` number — End time of the check run.
          - `startTime` number — Start time of the check run.
          - `runtimeVersion` string — Active runtime version.
          - `jobLog` string[], nullable — Check run log results.
          - `jobAssets` string[], nullable — Assets generated from the check run.
          - `playwrightTestTraces` string[] — List of Playwright Test traces.
          - `playwrightTestJsonReportFile` string — Playwright Test JSON report.
        - `agenticCheckResult` CheckResultAgentic, nullable — The response data for an agentic check.
          - `summary` string, nullable — Human-readable recap of the agent run written by the agent itself.
          - `prompt` string, nullable — The prompt that was executed for this run.
          - `assertions` AgenticAssertion[], nullable — List of assertions the agent evaluated during the run.
            - `condition` string — Human-readable condition the agent evaluated.
            - `passed` boolean — Whether the assertion passed.
            - `actual` string — What the agent actually observed.
            - `expected` string — What the assertion required.
          - `suggestions` AgenticSuggestion[], nullable — Suggestions the agent produced for extending the check.
            - `summary` string — Human-readable summary of the agent's suggestion.
            - `prompt` string — Prompt fragment the user can append to extend the check.
            - `promptReplacement` string — Full replacement prompt the user can apply when the suggestion is a correction instead of an append-only fragment.
            - `secrets` string[] — Environment variable names the suggestion would require.
            - `category` 'credentials' | 'endpoint' | 'configuration' — Category of the suggestion.
          - `steps` AgenticStep[], nullable — Sequence of tool calls and messages emitted by the agent.
            - `type` 'tool_call' | 'tool_result' | 'message' — Kind of step emitted by the agent.
            - `name` string — Name of the tool invoked (for tool_call / tool_result steps).
            - `input` Input — Input passed to the tool, when applicable.
            - `output` string — Output text or message body.
            - `timestamp` string — ISO timestamp when the step was emitted.
            - `sequenceNumber` integer — Monotonic sequence number within a run.
          - `errors` Model59[], nullable — Errors recorded during the run, if any.
          - `artifactManifest` ArtifactManifest, nullable — Map of artifact file paths to human-readable descriptions.
        - `playwrightCheckResult` CheckResultPlaywright, nullable — The response data for a Playwright check.
          - `errors` Model61[], nullable — Per-test Playwright errors recorded during the run.
          - `playwrightTraceFiles` Model63[], nullable — Trace file metadata recorded by the runner.
            - `url` string
            - `name` string
            - `filename` string
          - `jobLog` string[], nullable — Check run log results.
          - `jobAssets` string[], nullable — Assets generated from the check run.
          - `playwrightTestVideos` string[], nullable — Signed URLs for Playwright test videos.
          - `playwrightTestTraces` string[], nullable — Signed URLs for Playwright test traces.
          - `playwrightTestJsonReportFile` string, nullable — Signed URL for the Playwright JSON report.
        - `tracerouteCheckResult` CheckResultTraceroute, nullable — Failure-debug diagnostics for a traceroute check.
          - `totalHops` number — Number of hops recorded on the route.
          - `destinationReached` boolean — Whether the traceroute reached the destination host.
          - `finalHopLatency` FinalHopLatency, nullable — Latency statistics for the final reached hop.
          - `timingPhases` Model68, nullable — Timing phases (e.g. DNS) for the run.
          - `requestError` string, nullable — Describes if an error occurred on the request.
          - `request` Model69, nullable — The traceroute request that was executed.
          - `assertions` Model70[], nullable — Assertions evaluated for the run.
          - `response` Model74, nullable — The detailed traceroute response artifact.
            - `hostname` string
            - `resolvedIp` string
            - `totalHops` number
            - `destinationReached` boolean
            - `truncationReason` string — Why the route was truncated, if it was.
            - `finalHopLatency` Model72, nullable — Latency stats for the final reached hop.
            - `hops` Model73[], nullable — Per-hop results: address, loss, RTT and ASN/geo annotations.
              - …
            - `protocol` string
            - `probeProtocol` string
        - `grpcCheckResult` CheckResultGrpc, nullable — Failure-debug diagnostics for a gRPC check.
          - `grpcStatusCode` number — The gRPC status code of the call.
          - `healthStatus` number, nullable — The numeric serving status returned by the gRPC health probe.
          - `timingPhases` Model75, nullable — Timing phases (dns/connect/total) for the run.
          - `requestError` string, nullable — Describes if an error occurred on the request.
          - `request` Model76, nullable — The gRPC request that was executed.
          - `assertions` Model77[], nullable — Assertions evaluated for the run.
          - `response` Model81, nullable — The detailed gRPC response artifact.
            - `grpcMode` string
            - `host` string
            - `resolvedIp` string
            - `port` number
            - `grpcMethod` string
            - `responseMessage` string — The decoded response message, when captured.
            - `grpcStatusCode` number — gRPC status code (always captured, even on error).
            - `grpcStatusMessage` string — gRPC status message.
            - `healthStatus` number, nullable — Numeric health serving status (HEALTH mode).
            - `healthStatusLabel` string — Human-readable health status.
            - `metadata` Model79[], nullable — Response metadata / trailers as {key,value} entries.
              - …
            - `discoveredMethods` string[], nullable — Methods discovered via server reflection.
            - `requestError` string, nullable
            - `timingPhases` TimingPhases
        - `sslCheckResult` CheckResultSsl, nullable — Failure-debug diagnostics for an SSL check.
          - `tlsVersion` string — Negotiated TLS protocol version.
          - `cipherSuite` string — Negotiated cipher suite.
          - `daysUntilExpiry` number — Days until the leaf certificate expires (negative if expired).
          - `handshakeTimeMs` number — TLS handshake duration in milliseconds.
          - `chainTrusted` boolean — Whether the certificate chain was trusted.
          - `hostnameVerified` boolean — Whether the hostname matched the certificate.
          - `baselineVerdict` string — Overall security-baseline verdict.
          - `baselineGrade` string — Overall security-baseline grade.
          - `failureCategory` string, nullable — Categorised reason the check failed (the failing reason).
          - `requestError` string, nullable — Describes if an error occurred on the request.
          - `request` Model82, nullable — The SSL request that was executed.
          - `assertions` Model83[], nullable — Assertions evaluated for the run.
          - `response` Model86, nullable — The detailed SSL/TLS response artifact.
            - `resolvedIp` string
            - `protocol` string — Negotiated TLS version.
            - `cipherSuite` string
            - `handshakeTimeMs` number
            - `hostnameVerified` boolean
            - `chainTrusted` boolean
            - `daysUntilExpiry` number
            - `ocspStapled` boolean
            - `ocspStatus` string — Decoded stapled OCSP status: good, revoked, or unknown (empty when nothing was stapled).
            - `chainTrustReason` string — Typed reason the chain is untrusted (present only when chainTrusted is false): missing_intermediate, untrusted_root, expired, or other.
            - `chainTrustDetail` string — Human-readable explanation of why the chain is untrusted.
            - `incompleteChain` boolean — Whether the server omitted an intermediate certificate (the classic "works in browsers, fails elsewhere" misconfiguration).
            - `missingIntermediate` string — Issuer of the intermediate certificate the server must add to its chain.
            - `securityBaseline` SecurityBaseline, nullable — Per-rule security-baseline outcomes (verdict/grade plus each rule outcome).
            - `certificate` Certificate, nullable — Leaf certificate details: issuer, subjectCN, SANs, validity, key/signature algorithm.
            - `chain` Model85[], nullable — Summaries of the certificates in the presented chain.
              - …
        - `checkRunId` number — The id of the specific check run that created this check result.
        - `attempts` number — How often this check was retried. This will be larger than 0 when double checking is enabled.
        - `resultType` 'FINAL' | 'ATTEMPT' | 'ALL', required — The type of result. FINAL means this is the final result of the check run. ATTEMPT means this is a result of a double check attempt.
        - `sequenceId` string, nullable — The sequence ID of the check run. This is used to group check runs with multiple attempts together.
        - `traceId` string, nullable, required — OpenTelemetry trace ID associated with this check result. `null` when no trace was recorded for this run (e.g. tracing not enabled in the runner).
        - `errorGroupIds` string[], nullable — IDs of the error groups associated with this check result. Always an array: empty when the result has no associated error groups, single-element when there is one (typical for API/URL/TCP/ICMP checks), or multi-element for Playwright and multistep checks that can produce multiple distinct errors per run. Use these IDs to fetch the corresponding error group via the error-groups endpoint.
      - CheckResultProjection
        - `id` string — The unique ID of this result.
        - `name` string — The name of the check.
        - `checkId` string — The ID of the check.
        - `hasFailures` boolean — Describes if any failure has occurred during this check run. This should be your main focus for assessing API or browser check behaviour. Assertions that fail, timeouts or failing scripts all resolve to this value being true.
        - `hasErrors` boolean — Describes if an internal error has occurred in Checkly's backend. This should be false in almost all cases.
        - `isDegraded` boolean, nullable — A check is degraded if it is over the degradation limit set by the "degradedResponseTime" field on the check. Applies only to API checks.
        - `isCancelled` boolean — Whether the run was cancelled before completion.
        - `overMaxResponseTime` boolean, nullable — Set to true if the response time is over the limit set by the "maxResponseTime" field on the check. Applies only to API checks.
        - `runLocation` string — What data center location this check result originated from.
        - `startedAt` string, date-time, nullable
        - `stoppedAt` string, date-time, nullable
        - `created_at` string, date-time
        - `createdAt` string, date-time
        - `responseTime` number — Time the check spent producing its result, in milliseconds. For protocol checks this is the measured operation time (a subset of the run): request time for API and URL checks, connection time for TCP, resolution time for DNS, average latency for ICMP and TRACEROUTE, request timing for GRPC, and TLS handshake time for SSL. For browser, multi-step, Playwright and agentic checks it is the run wall-clock duration. Any setup or system time before the check starts executing is not included.
        - `apiCheckResult` CheckResultAPI, nullable — The response data for an API check.
          - `assertions` string[], nullable — List of API check assertions.
          - `request` Request — The request for the API.
            - `method` string
            - `url` string
            - `data` string
            - `headers` Headers
            - `params` Params
          - `response` Response — The API response.
            - `status` number
            - `statusText` string
            - `body` string
            - `bodyEncoding` 'base64' — Encoding of `body`. Set to `base64` when the body holds base64-encoded raw bytes (raster image responses); absent for plain text bodies.
            - `headers` Headers
            - `timings` Timings
            - `timingPhases` TimingPhases
          - `requestError` string, nullable — Describes if an error occurred on the request.
          - `jobLog` JobLog, nullable — Check run log results.
          - `jobAssets` string[], nullable — Assets generated from the check run.
          - `pcapDataUrl` string, nullable — Packet capture data if available as redirect/download URL.
        - `browserCheckResult` Model32
          - `checkId` string
          - `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
          - `to` string, date
          - `tags` string[]
          - `series` string[]
          - `pagination` Pagination
            - `page` number
            - `limit` number
          - `metadata` Model31
            - `responseTime` ResponseTime
              - …
            - `availability` Availability
              - …
            - `retries` Retries
              - …
            - `responseTime_avg` ResponseTimeAvg
              - …
            - `responseTime_max` ResponseTimeMax
              - …
            - `responseTime_median` ResponseTimeMedian
              - …
            - `responseTime_min` ResponseTimeMin
              - …
            - `responseTime_p50` ResponseTimeP50
              - …
            - `responseTime_p90` ResponseTimeP90
              - …
            - `responseTime_p95` ResponseTimeP95
              - …
            - `responseTime_p99` ResponseTimeP99
              - …
            - `responseTime_stddev` ResponseTimeStddev
              - …
            - `responseTime_sum` ResponseTimeSum
              - …
        - `multiStepCheckResult` Model34
          - `checkId` string
          - `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
          - `to` string, date
          - `tags` string[]
          - `series` string[]
          - `pagination` Pagination
            - `page` number
            - `limit` number
          - `metadata` object
            - `string` String
              - …
        - `agenticCheckResult` Model37
          - `checkId` string
          - `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
          - `to` string, date
          - `tags` string[]
          - `series` string[]
          - `pagination` Pagination
            - `page` number
            - `limit` number
          - `metadata` Model36
            - `total` Total
              - …
            - `dns` Dns
              - …
            - `connection` Connection
              - …
            - `data` Data
              - …
            - `availability` Availability
              - …
            - `retries` Retries
              - …
            - `total_avg` TotalAvg
              - …
            - `total_max` TotalMax
              - …
            - `total_median` TotalMedian
              - …
            - `total_min` TotalMin
              - …
            - `total_p50` TotalP50
              - …
            - `total_p90` TotalP90
              - …
            - `total_p95` TotalP95
              - …
            - `total_p99` TotalP99
              - …
            - `total_stddev` TotalStddev
              - …
            - `total_sum` TotalSum
              - …
            - `dns_avg` DnsAvg
              - …
            - `dns_max` DnsMax
              - …
            - `dns_median` DnsMedian
              - …
            - `dns_min` DnsMin
              - …
            - `dns_p50` DnsP50
              - …
            - `dns_p90` DnsP90
              - …
            - `dns_p95` DnsP95
              - …
            - `dns_p99` DnsP99
              - …
            - `dns_stddev` DnsStddev
              - …
            - `dns_sum` DnsSum
              - …
            - `connection_avg` ConnectionAvg
              - …
            - `connection_max` ConnectionMax
              - …
            - `connection_median` ConnectionMedian
              - …
            - `connection_min` ConnectionMin
              - …
            - `connection_p50` ConnectionP50
              - …
            - `connection_p90` ConnectionP90
              - …
            - `connection_p95` ConnectionP95
              - …
            - `connection_p99` ConnectionP99
              - …
            - `connection_stddev` ConnectionStddev
              - …
            - `connection_sum` ConnectionSum
              - …
            - `data_avg` DataAvg
              - …
            - `data_max` DataMax
              - …
            - `data_median` DataMedian
              - …
            - `data_min` DataMin
              - …
            - `data_p50` DataP50
              - …
            - `data_p90` DataP90
              - …
            - `data_p95` DataP95
              - …
            - `data_p99` DataP99
              - …
            - `data_stddev` DataStddev
              - …
            - `data_sum` DataSum
              - …
        - `playwrightCheckResult` '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'
        - `tracerouteCheckResult` '2026.04' | '2025.04' | '2024.09' | '2024.02' | '2023.09' | '2023.02' | '2022.10', nullable — The runtime version, i.e. fixed set of runtime dependencies, used to execute checks in this group.
        - `grpcCheckResult` string[], nullable — An array of one or more private locations where to run the checks.
        - `sslCheckResult` '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'
        - `checkRunId` number — The id of the specific check run that created this check result.
        - `attempts` number — How often this check was retried. This will be larger than 0 when double checking is enabled.
        - `resultType` 'FINAL' | 'ATTEMPT' | 'ALL' — The type of result. FINAL means this is the final result of the check run. ATTEMPT means this is a result of a double check attempt.
        - `sequenceId` string, nullable — The sequence ID of the check run. This is used to group check runs with multiple attempts together.
        - `traceId` string, nullable — OpenTelemetry trace ID associated with this check result. `null` when no trace was recorded for this run (e.g. tracing not enabled in the runner).
        - `errorGroupIds` string[], nullable — IDs of the error groups associated with this check result. Always an array: empty when the result has no associated error groups, single-element when there is one (typical for API/URL/TCP/ICMP checks), or multi-element for Playwright and multistep checks that can produce multiple distinct errors per run. Use these IDs to fetch the corresponding error group via the error-groups endpoint.
  - `nextId` string, nullable

## Other responses

- `401` — Unauthorized
- `402` — Payment Required
- `403` — Forbidden
- `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/9e903da4f3da/schema)
