> ## Documentation Index
> Fetch the complete documentation index at: https://checklyhq.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve a check result

> Show details of a specific check result.



## OpenAPI

````yaml get /v1/check-results/{checkId}/{checkResultId}
openapi: 3.0.0
info:
  title: Checkly Public API
  version: v1
  description: >-
    These are the docs for the newly released Checkly Public API. If you have
    any questions, please do not hesitate to get in touch with us.
servers:
  - url: https://api.checklyhq.com
security:
  - Bearer: []
tags: []
paths:
  /v1/check-results/{checkId}/{checkResultId}:
    get:
      tags:
        - Check results
      summary: Retrieve a check result
      description: Show details of a specific check result.
      operationId: getV1CheckresultsCheckidCheckresultid
      parameters:
        - name: x-checkly-account
          in: header
          schema:
            type: string
            description: >-
              Your Checkly account ID, you can find it at
              https://app.checklyhq.com/settings/account/general
            x-format:
              guid: true
          description: >-
            Your Checkly account ID, you can find it at
            https://app.checklyhq.com/settings/account/general
        - name: checkId
          in: path
          schema:
            type: string
            x-format:
              guid: true
          required: true
        - name: checkResultId
          in: path
          schema:
            type: string
            x-format:
              guid: true
          required: true
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckResult'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsError'
components:
  schemas:
    CheckResult:
      type: object
      properties:
        id:
          type: string
          description: The unique ID of this result.
        name:
          type: string
          description: The name of the check.
        checkId:
          type: string
          description: The ID of the check.
        hasFailures:
          type: boolean
          description: >-
            Describes if any failure has occurred during this check run. This is
            should be your mainmain focus for assessing API or browser check
            behaviour. Assertions that fail, timeouts or failing scripts all
            resolve tothis value being true.
        hasErrors:
          type: boolean
          description: >-
            Describes if an internal error has occured in Checkly's backend.
            This should be false in almost all cases.
        isDegraded:
          type: boolean
          description: >-
            A check is degraded if it is over the degradation limit set by the
            "degradedResponseTime" field on the check. Applies only to API
            checks.
          nullable: true
        isCancelled:
          type: boolean
          description: Whether the run was cancelled before completion.
        overMaxResponseTime:
          type: boolean
          description: >-
            Set to true if the response time is over the limit set by the
            "maxResponseTime" field on the check. Applies only to API checks.
          nullable: true
        runLocation:
          type: string
          description: What data center location this check result originated from.
        startedAt:
          type: string
          nullable: true
          format: date-time
        stoppedAt:
          type: string
          nullable: true
          format: date-time
        created_at:
          type: string
          format: date-time
        responseTime:
          type: number
          description: >-
            Describes the time it took to execute relevant parts of this check.
            Any setup timeor system time needed to start executing this check in
            the Checkly backend is not part of this.
        apiCheckResult:
          $ref: '#/components/schemas/CheckResultAPI'
        browserCheckResult:
          $ref: '#/components/schemas/CheckResultBrowser'
        multiStepCheckResult:
          $ref: '#/components/schemas/MultiStepResultBrowser'
        agenticCheckResult:
          $ref: '#/components/schemas/CheckResultAgentic'
        playwrightCheckResult:
          $ref: '#/components/schemas/CheckResultPlaywright'
        checkRunId:
          type: number
          description: The id of the specific check run that created this check result.
        attempts:
          type: number
          description: >-
            How often this check was retried. This will be larger than 0 when
            double checking is enabled.
        resultType:
          $ref: '#/components/schemas/resultType'
        sequenceId:
          type: string
          description: >-
            The sequence ID of the check run. This is used to group check runs
            with multiple attempts together.
          example: 2dbfa2a3-5477-45ea-ac33-ee55b8ea66ff
          nullable: true
          x-format:
            guid: true
        traceId:
          type: string
          description: >-
            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).
          example: a1b2c3d4e5f67890abcdef0123456789
          nullable: true
        errorGroupIds:
          $ref: '#/components/schemas/errorGroupIds'
      required:
        - resultType
        - traceId
    UnauthorizedError:
      type: object
      properties:
        statusCode:
          type: number
          enum:
            - 401
        error:
          $ref: '#/components/schemas/error'
        message:
          type: string
          example: Bad Token
        attributes:
          $ref: '#/components/schemas/attributes'
      required:
        - statusCode
        - error
    ForbiddenError:
      type: object
      properties:
        statusCode:
          type: number
          enum:
            - 403
        error:
          $ref: '#/components/schemas/Model1'
        message:
          type: string
          example: Forbidden
      required:
        - statusCode
        - error
    NotFoundError:
      type: object
      properties:
        statusCode:
          type: number
          enum:
            - 404
        error:
          $ref: '#/components/schemas/Model3'
        message:
          type: string
          example: Not Found
      required:
        - statusCode
        - error
    TooManyRequestsError:
      type: object
      properties:
        statusCode:
          type: number
          enum:
            - 429
        error:
          $ref: '#/components/schemas/Model2'
        message:
          type: string
          example: Too Many Requests
        attributes:
          $ref: '#/components/schemas/attributes'
      required:
        - statusCode
        - error
    CheckResultAPI:
      type: object
      description: The response data for an API check.
      nullable: true
      properties:
        assertions:
          $ref: '#/components/schemas/assertions'
        request:
          $ref: '#/components/schemas/request'
        response:
          $ref: '#/components/schemas/response'
        requestError:
          type: string
          description: Describes if an error occurred on the request.
          example: null
          nullable: true
        jobLog:
          $ref: '#/components/schemas/jobLog'
        jobAssets:
          $ref: '#/components/schemas/jobAssets'
        pcapDataUrl:
          type: string
          description: Packet capture data if available as redirect/download URL.
          nullable: true
    CheckResultBrowser:
      type: object
      description: The response data for a browser check.
      example: null
      nullable: true
      properties:
        type:
          type: string
          description: The type of framework the check is using.
          example: PLAYWRIGHT
        traceSummary:
          $ref: '#/components/schemas/traceSummary'
        pages:
          $ref: '#/components/schemas/pages'
        playwrightTestVideos:
          $ref: '#/components/schemas/playwrightTestVideos'
        errors:
          $ref: '#/components/schemas/errors'
        endTime:
          type: number
          description: End time of the check run.
          example: 1648573423995
        startTime:
          type: number
          description: Start time of the check run.
          example: 1648573423994
        runtimeVersion:
          type: string
          description: Active runtime version.
          example: '2023.09'
        jobLog:
          $ref: '#/components/schemas/Model53'
        jobAssets:
          $ref: '#/components/schemas/jobAssets'
        playwrightTestTraces:
          $ref: '#/components/schemas/playwrightTestTraces'
        playwrightTestJsonReportFile:
          type: string
          description: Playwright Test JSON report.
          example: >-
            https://api.checklyhq.com/v1/assets/checkRunData/eu-central-1/00000000-0000-0000-0000-0000000000/00000000-0000-0000-0000-0000000000/1675691025832/report.json
    MultiStepResultBrowser:
      type: object
      description: The response data for a multi-step check.
      example: null
      nullable: true
      properties:
        errors:
          $ref: '#/components/schemas/errors'
        endTime:
          type: number
          description: End time of the check run.
          example: 1648573423995
        startTime:
          type: number
          description: Start time of the check run.
          example: 1648573423994
        runtimeVersion:
          type: string
          description: Active runtime version.
          example: '2023.09'
        jobLog:
          $ref: '#/components/schemas/Model54'
        jobAssets:
          $ref: '#/components/schemas/jobAssets'
        playwrightTestTraces:
          $ref: '#/components/schemas/playwrightTestTraces'
        playwrightTestJsonReportFile:
          type: string
          description: Playwright Test JSON report.
          example: >-
            https://api.checklyhq.com/v1/assets/checkRunData/eu-central-1/00000000-0000-0000-0000-0000000000/00000000-0000-0000-0000-0000000000/1675691025832/report.json
    CheckResultAgentic:
      type: object
      description: The response data for an agentic check.
      nullable: true
      properties:
        summary:
          type: string
          description: Human-readable recap of the agent run written by the agent itself.
          example: The homepage loaded correctly and all assertions passed.
          nullable: true
        prompt:
          type: string
          description: The prompt that was executed for this run.
          nullable: true
        assertions:
          $ref: '#/components/schemas/Model55'
        suggestions:
          $ref: '#/components/schemas/suggestions'
        steps:
          $ref: '#/components/schemas/steps'
        errors:
          $ref: '#/components/schemas/Model58'
        artifactManifest:
          $ref: '#/components/schemas/artifactManifest'
    CheckResultPlaywright:
      type: object
      description: The response data for a Playwright check.
      example: null
      nullable: true
      properties:
        errors:
          $ref: '#/components/schemas/Model60'
        playwrightTraceFiles:
          $ref: '#/components/schemas/playwrightTraceFiles'
        jobLog:
          $ref: '#/components/schemas/Model62'
        jobAssets:
          $ref: '#/components/schemas/Model63'
        playwrightTestVideos:
          $ref: '#/components/schemas/Model64'
        playwrightTestTraces:
          $ref: '#/components/schemas/Model65'
        playwrightTestJsonReportFile:
          type: string
          description: Signed URL for the Playwright JSON report.
          nullable: true
    resultType:
      type: string
      description: >-
        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.
      example: FINAL
      default: FINAL
      enum:
        - FINAL
        - ATTEMPT
        - ALL
    errorGroupIds:
      type: array
      description: >-
        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.
      example:
        - 883af87b-ac7c-44e3-9376-b4bece04e788
      nullable: true
      items:
        type: string
        x-format:
          guid: true
    error:
      type: string
      enum:
        - Unauthorized
    attributes:
      type: object
    Model1:
      type: string
      enum:
        - Forbidden
    Model3:
      type: string
      enum:
        - Not Found
    Model2:
      type: string
      enum:
        - Too Many Requests
    assertions:
      type: array
      description: List of API check assertions.
      example:
        - source: STATUS_CODE
          target: 200
      nullable: true
      items:
        type: string
    request:
      type: object
      description: The request for the API.
      properties:
        method:
          type: string
          example: GET
        url:
          type: string
          example: https://api.checklyhq.com
        data:
          type: string
          example: ''
        headers:
          $ref: '#/components/schemas/headers'
        params:
          $ref: '#/components/schemas/params'
    response:
      type: object
      description: The API response.
      properties:
        status:
          type: number
          example: 200
        statusText:
          type: string
          example: OK
        body:
          type: string
          example: <title> Checkly Public API </title>
        headers:
          $ref: '#/components/schemas/headers'
        timings:
          $ref: '#/components/schemas/timings'
        timingPhases:
          $ref: '#/components/schemas/timingPhases'
    jobLog:
      type: object
      description: Check run log results.
      nullable: true
    jobAssets:
      type: array
      description: Assets generated from the check run.
      example: null
      nullable: true
      items:
        type: string
    traceSummary:
      type: object
      description: The summary of errors in the check run.
    pages:
      type: array
      description: List of pages used on the check run.
      example:
        - url: https://www.checklyhq.com/
          webVitals:
            CLS:
              score: GOOD
              value: 0.000146484375
      items:
        type: string
    playwrightTestVideos:
      type: array
      description: List of Playwright Test videos.
      example:
        - >-
          https://api.checklyhq.com/v1/assets/checkRunData/eu-central-1/00000000-0000-0000-0000-0000000000/00000000-0000-0000-0000-0000000000/1675691025832/visit-page-and-take-screenshot-1675691043856.webm
      items:
        type: string
    errors:
      type: array
      description: List of errors on the check run.
      example: []
      items:
        type: string
    Model53:
      type: array
      description: Check run log results.
      example:
        time: 1648573423995
        msg: Starting job
        level: DEBUG
      nullable: true
      items:
        type: string
    playwrightTestTraces:
      type: array
      description: List of Playwright Test traces.
      example:
        - >-
          https://api.checklyhq.com/v1/assets/checkRunData/eu-central-1/00000000-0000-0000-0000-0000000000/00000000-0000-0000-0000-0000000000/1675691025832/visit-page-and-take-screenshot.zip
      items:
        type: string
    Model54:
      type: array
      description: Check run log results.
      example:
        time: 1648573423995
        msg: Starting job
        level: DEBUG
      nullable: true
      items:
        type: string
    Model55:
      type: array
      description: List of assertions the agent evaluated during the run.
      nullable: true
      items:
        $ref: '#/components/schemas/AgenticAssertion'
    suggestions:
      type: array
      description: Suggestions the agent produced for extending the check.
      nullable: true
      items:
        $ref: '#/components/schemas/AgenticSuggestion'
    steps:
      type: array
      description: Sequence of tool calls and messages emitted by the agent.
      nullable: true
      items:
        $ref: '#/components/schemas/AgenticStep'
    Model58:
      type: array
      description: Errors recorded during the run, if any.
      nullable: true
      items:
        $ref: '#/components/schemas/Model57'
    artifactManifest:
      type: object
      description: Map of artifact file paths to human-readable descriptions.
      nullable: true
    Model60:
      type: array
      description: Per-test Playwright errors recorded during the run.
      nullable: true
      items:
        $ref: '#/components/schemas/Model59'
    playwrightTraceFiles:
      type: array
      description: Trace file metadata recorded by the runner.
      nullable: true
      items:
        $ref: '#/components/schemas/Model61'
    Model62:
      type: array
      description: Check run log results.
      nullable: true
      items:
        type: string
    Model63:
      type: array
      description: Assets generated from the check run.
      nullable: true
      items:
        type: string
    Model64:
      type: array
      description: Signed URLs for Playwright test videos.
      nullable: true
      items:
        type: string
    Model65:
      type: array
      description: Signed URLs for Playwright test traces.
      nullable: true
      items:
        type: string
    headers:
      type: object
    params:
      type: object
    timings:
      type: object
    timingPhases:
      type: object
    AgenticAssertion:
      type: object
      properties:
        condition:
          type: string
          description: Human-readable condition the agent evaluated.
          example: The homepage returns an HTTP 200 status
        passed:
          type: boolean
          description: Whether the assertion passed.
          example: true
        actual:
          type: string
          description: What the agent actually observed.
          example: '200'
        expected:
          type: string
          description: What the assertion required.
          example: '200'
    AgenticSuggestion:
      type: object
      properties:
        summary:
          type: string
          description: Human-readable summary of the agent's suggestion.
          example: Monitor the checkout flow end-to-end
        prompt:
          type: string
          description: Prompt fragment the user can append to extend the check.
          example: Sign in and verify the checkout page loads
        promptReplacement:
          type: string
          description: >-
            Full replacement prompt the user can apply when the suggestion is a
            correction instead of an append-only fragment.
          example: Sign in with {{TEST_USER_EMAIL}} and verify the checkout page loads
        secrets:
          $ref: '#/components/schemas/secrets'
        category:
          $ref: '#/components/schemas/category'
    AgenticStep:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Model56'
        name:
          type: string
          description: Name of the tool invoked (for tool_call / tool_result steps).
          example: http_request
        input:
          $ref: '#/components/schemas/input'
        output:
          type: string
          description: Output text or message body.
        timestamp:
          type: string
          description: ISO timestamp when the step was emitted.
          example: '2026-04-06T14:15:22.000Z'
        sequenceNumber:
          type: integer
          description: Monotonic sequence number within a run.
          example: 3
    Model57:
      type: object
    Model59:
      type: object
    Model61:
      type: object
      properties:
        url:
          type: string
        name:
          type: string
        filename:
          type: string
    secrets:
      type: array
      description: Environment variable names the suggestion would require.
      example:
        - TEST_USER_EMAIL
        - TEST_USER_PASSWORD
      items:
        type: string
    category:
      type: string
      description: Category of the suggestion.
      example: credentials
      enum:
        - credentials
        - endpoint
        - configuration
    Model56:
      type: string
      description: Kind of step emitted by the agent.
      example: tool_call
      enum:
        - tool_call
        - tool_result
        - message
    input:
      type: object
      description: Input passed to the tool, when applicable.
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: Bearer
      description: >-
        The Checkly Public API uses API keys to authenticate requests. You can
        get the API Key
        [here](https://app.checklyhq.com/settings/user/api-keys). Your API key
        is like a password:  keep it secure!

        Authentication to the API is performed using the Bearer auth method in
        the Authorization header and using the account ID.

        For example, set **Authorization** header while using cURL: `curl -H
        "Authorization: Bearer [apiKey]" "X-Checkly-Account: [accountId]"` 

````