---
title: "Retrieve a check result"
method: GET
path: "/v1/check-results/{checkId}/{checkResultId}"
tags: ["Check results"]
---

# Retrieve a check result

`GET /v1/check-results/{checkId}/{checkResultId}`

## Request

- Base URL: `https://api.checklyhq.com`
- URL: `https://api.checklyhq.com/v1/check-results/{checkId}/{checkResultId}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/checklyhq/apis/checkly-public-api/docs/v1/check-results/:checkId/:checkResultId/get.ts> (a function with typed inputs; its response is checked against the schema)

Show details of a specific check result.

## Path parameters

- `checkId` string, uuid, required
- `checkResultId` string, uuid, required

## Headers

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

## Response `200`

Successful

- 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 occurred during this check run.
  - `hasErrors` boolean: Describes if an internal error occurred in Checkly's backend.
  - `isDegraded` boolean, nullable: Whether the check is over its degradation limit.
  - `isCancelled` boolean: Whether the run was cancelled before completion.
  - `overMaxResponseTime` boolean, nullable: Whether the response time exceeded its limit.
  - `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; for browser, multi-step, Playwright and agentic checks it is the run wall-clock duration.
  - `apiCheckResult` CheckResultAPI, nullable: The response data for an API check.
    - `assertions` CheckResultFreeformObject[], nullable: List of API check assertions.
    - `request` object: The request for the API.
      - `method` string
      - `url` string
      - `data` string
      - `headers` CheckResultFreeformObject
      - `params` CheckResultFreeformObject
    - `response` object: 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` object, nullable
      - `timings` object, nullable
      - `timingPhases` object, nullable
    - `requestError` string, nullable: Describes if an error occurred on the request.
    - `jobLog` object, nullable: Check run log results.
    - `jobAssets` unknown[], nullable: Assets generated from the check run.
      - unknown
    - `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` object: The summary of errors in the check run.
    - `pages` CheckResultFreeformObject[]: List of pages used on the check run.
    - `playwrightTestVideos` string[]: List of Playwright Test videos.
    - `errors` unknown[]: List of errors on the check run.
      - unknown
    - `endTime` number: End time of the check run.
    - `startTime` number: Start time of the check run.
    - `runtimeVersion` string: Active runtime version.
    - `jobLog` unknown[], nullable: Check run log results.
      - unknown
    - `jobAssets` unknown[], nullable: Assets generated from the check run.
      - unknown
    - `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` unknown[]: List of errors on the check run.
      - unknown
    - `endTime` number: End time of the check run.
    - `startTime` number: Start time of the check run.
    - `runtimeVersion` string: Active runtime version.
    - `jobLog` unknown[], nullable: Check run log results.
      - unknown
    - `jobAssets` unknown[], nullable: Assets generated from the check run.
      - unknown
    - `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.
    - `prompt` string, nullable: The prompt that was executed for this run.
    - `assertions` AgenticAssertion[], nullable: List of assertions evaluated by the agent.
      - `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 produced by the agent.
      - `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.
      - `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.
      - `type` 'tool_call' | 'tool_result' | 'message': Kind of step emitted by the agent.
      - `name` string: Name of the tool invoked.
      - `input` object: 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` CheckResultFreeformObject[], nullable: Errors recorded during the run.
    - `artifactManifest` object, nullable: Map of artifact file paths to descriptions.
  - `playwrightCheckResult` CheckResultPlaywright, nullable: The response data for a Playwright check.
    - `errors` CheckResultFreeformObject[], nullable: Per-test Playwright errors recorded during the run.
    - `playwrightTraceFiles` CheckResultPlaywrightTraceFile[], nullable: Trace file metadata recorded by the runner.
      - `url` string
      - `name` string
      - `filename` string
    - `jobLog` unknown[], nullable: Check run log results.
      - unknown
    - `jobAssets` unknown[], nullable: Assets generated from the check run.
      - unknown
    - `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` object, nullable: Latency statistics for the final reached hop.
    - `timingPhases` object, nullable: Timing phases for the run.
    - `requestError` string, nullable: Describes if an error occurred on the request.
    - `request` object, nullable: The traceroute request that was executed.
    - `assertions` CheckResultFreeformObject[], nullable: Assertions evaluated for the run.
    - `response` object, 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` object, nullable
      - `hops` CheckResultFreeformObject[], nullable
      - `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` object, nullable: Timing phases for the run.
    - `requestError` string, nullable: Describes if an error occurred on the request.
    - `request` object, nullable: The gRPC request that was executed.
    - `assertions` CheckResultFreeformObject[], nullable: Assertions evaluated for the run.
    - `response` object, nullable: The detailed gRPC response artifact.
      - `grpcMode` string
      - `host` string
      - `resolvedIp` string
      - `port` number
      - `grpcMethod` string
      - `responseMessage` string
      - `grpcStatusCode` number
      - `grpcStatusMessage` string
      - `healthStatus` number, nullable
      - `healthStatusLabel` string
      - `metadata` CheckResultFreeformObject[], nullable
      - `discoveredMethods` string[], nullable
      - `requestError` string, nullable
      - `timingPhases` object, nullable
  - `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.
    - `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.
    - `requestError` string, nullable: Describes if an error occurred on the request.
    - `request` object, nullable: The SSL request that was executed.
    - `assertions` CheckResultFreeformObject[], nullable: Assertions evaluated for the run.
    - `response` object, 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.
      - `chainTrustReason` string: Typed reason the chain is untrusted.
      - `chainTrustDetail` string: Human-readable explanation of why the chain is untrusted.
      - `incompleteChain` boolean: Whether the server omitted an intermediate certificate.
      - `missingIntermediate` string: Issuer of the missing intermediate certificate.
      - `securityBaseline` object, nullable
      - `certificate` object, nullable
      - `chain` CheckResultFreeformObject[], nullable
  - `checkRunId` number: The id of the specific check run that created this result.
  - `attempts` number: How often this check was retried.
  - `resultType` 'FINAL' | 'ATTEMPT' | 'ALL', required: The type of result.
  - `sequenceId` string, uuid, nullable: The sequence ID of the check run.
  - `traceId` string, nullable, required: OpenTelemetry trace ID associated with this check result.
  - `errorGroupIds` string[], nullable: IDs of error groups associated with this check result.

## Other responses

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

## Changes

- **2026-10-31** `bc90d1bfa738`: 5 info
  - added the optional property `errorCode` to the response with the `400` status
  - added the optional property `errorCode` to the response with the `401` status
  - added the optional property `errorCode` to the response with the `403` status
  - added the optional property `errorCode` to the response with the `404` status
  - …1 more
- **2026-08-12** `87d29dc7b4fe`: 32 breaking, 2 warning, 29 info
  - for the `path` request parameter `checkId`, the minLength was increased from `0` to `1`
  - for the `path` request parameter `checkResultId`, the minLength was increased from `0` to `1`
  - for the `header` request parameter `x-checkly-account`, the format changed from no format to `uuid`
  - for the `path` request parameter `checkId`, the format changed from no format to `uuid`
  - …59 more
- **2026-08-05** `9e903da4f3da`: 1 info
  - added the optional property `apiCheckResult/response/bodyEncoding` to the response with the `200` status
- **2026-07-13** `a4fea1ad9b9a`: 3 info
  - added the optional property `grpcCheckResult` to the response with the `200` status
  - added the optional property `sslCheckResult` to the response with the `200` status
  - added the optional property `tracerouteCheckResult` to the response with the `200` status

[Operation history](https://skmtc.dev/checklyhq/apis/checkly-public-api/changes/v1/check-results/:checkId/:checkResultId/get.md)

---

[API](https://skmtc.dev/checklyhq/apis/checkly-public-api.md) - [All operations](https://skmtc.dev/checklyhq/apis/checkly-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/checklyhq/apis/checkly-public-api/revisions/bc90d1bfa738?raw)
