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

# Retrieve a test session result

> Retrieves detailed data for a single result within a test session, including check-type details and uploaded asset references when available.



## OpenAPI

````yaml get /v1/test-sessions/{testSessionId}/results/{testSessionResultId}
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/test-sessions/{testSessionId}/results/{testSessionResultId}:
    get:
      tags:
        - Test sessions
      summary: Retrieve a test session result
      description: >-
        Retrieves detailed data for a single result within a test session,
        including check-type details and uploaded asset references when
        available.
      operationId: getV1TestsessionsTestsessionidResultsTestsessionresultid
      parameters:
        - schema:
            type: string
            format: uuid
            description: Test session ID.
          required: true
          description: Test session ID.
          name: testSessionId
          in: path
        - schema:
            type: string
            format: uuid
            description: Test session result ID.
          required: true
          description: Test session result ID.
          name: testSessionResultId
          in: path
        - schema:
            type: string
            format: uuid
            description: >-
              Your Checkly account ID, you can find it at
              https://app.checklyhq.com/settings/account/general
          required: false
          description: >-
            Your Checkly account ID, you can find it at
            https://app.checklyhq.com/settings/account/general
          name: x-checkly-account
          in: header
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FindOneTestSessionResultResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    FindOneTestSessionResultResponse:
      type: object
      properties:
        testSessionResultId:
          type: string
          format: uuid
        testSessionResultLink:
          type: string
          format: uri
        checkId:
          type: string
          nullable: true
          format: uuid
        checkType:
          type: string
          enum:
            - AGENTIC
            - API
            - BROWSER
            - HEARTBEAT
            - ICMP
            - MULTI_STEP
            - TCP
            - PLAYWRIGHT
            - URL
            - DNS
            - SSL
            - GRPC
            - TRACEROUTE
        name:
          type: string
        runLocation:
          type: string
        errorGroupIds:
          type: array
          items:
            type: string
            format: uuid
          description: IDs of the test-session error groups associated with this result.
        resultType:
          type: string
          enum:
            - FINAL
            - ATTEMPT
            - PENDING
        status:
          type: string
          enum:
            - RUNNING
            - FAILED
            - PASSED
            - CANCELLED
        hasErrors:
          type: boolean
        hasFailures:
          type: boolean
        isDegraded:
          type: boolean
        aborted:
          type: boolean
        responseTime:
          type: number
          nullable: true
          description: >-
            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. Null until the check has finished. For the
            total wall-clock time a check run took, use `stoppedAt` -
            `startedAt`.
        startedAt:
          type: string
          nullable: true
          format: date-time
          description: When the check run started. Null until the check has started.
        stoppedAt:
          type: string
          nullable: true
          format: date-time
          description: >-
            When the check run finished. Subtract `startedAt` for the total
            wall-clock duration of the run. Null until the check has finished.
        id:
          type: string
          format: uuid
          description: >-
            Alias of testSessionResultId for check-result detail response
            parity.
        privateLocationId:
          type: string
          nullable: true
          format: uuid
        filePath:
          type: string
          nullable: true
        isCancelled:
          type: boolean
        overMaxResponseTime:
          type: boolean
        attempts:
          type: integer
          minimum: 0
        sequenceId:
          type: string
          nullable: true
          format: uuid
        scheduleError:
          type: string
          nullable: true
        traceId:
          type: string
          nullable: true
        created_at:
          type: string
          nullable: false
          format: date-time
        updated_at:
          type: string
          nullable: true
          format: date-time
        apiCheckResult:
          $ref: '#/components/schemas/TestSessionApiResultDetails'
        browserCheckResult:
          $ref: '#/components/schemas/TestSessionBrowserResultDetails'
        multiStepCheckResult:
          $ref: '#/components/schemas/TestSessionMultiStepResultDetails'
        playwrightCheckResult:
          $ref: '#/components/schemas/TestSessionPlaywrightResultDetails'
        agenticCheckResult:
          $ref: '#/components/schemas/TestSessionAgenticResultDetails'
      required:
        - testSessionResultId
        - testSessionResultLink
        - checkType
        - errorGroupIds
        - status
        - hasErrors
        - hasFailures
        - isDegraded
        - aborted
        - id
        - isCancelled
        - overMaxResponseTime
        - attempts
        - traceId
        - created_at
    ApiError:
      type: object
      properties:
        statusCode:
          type: number
        error:
          type: string
        message:
          type: string
      required:
        - statusCode
        - error
        - message
    TestSessionApiResultDetails:
      type: object
      nullable: true
      properties:
        assertions:
          type: array
          nullable: true
          items:
            type: object
            properties: {}
            additionalProperties:
              nullable: true
        request:
          type: object
          properties: {}
          additionalProperties:
            nullable: true
        response:
          type: object
          properties: {}
          additionalProperties:
            nullable: true
        requestError:
          type: string
          nullable: true
        jobLog:
          nullable: true
          description: Check run log output, when an uploaded log asset is available.
        jobAssets:
          type: array
          nullable: true
          items:
            type: string
          description: Asset URLs generated from the test-session result.
        pcapDataUrl:
          type: string
          nullable: true
          description: Packet capture data if available as a redirect/download URL.
      additionalProperties:
        nullable: true
    TestSessionBrowserResultDetails:
      type: object
      nullable: true
      properties:
        type:
          type: string
        traceSummary:
          type: object
          properties: {}
          additionalProperties:
            nullable: true
        pages:
          type: array
          items:
            type: object
            properties: {}
            additionalProperties:
              nullable: true
        errors:
          type: array
          items:
            nullable: true
        endTime:
          type: number
        startTime:
          type: number
        runtimeVersion:
          type: string
        jobLog:
          nullable: true
          description: Check run log output, when an uploaded log asset is available.
        jobAssets:
          type: array
          nullable: true
          items:
            type: string
          description: Asset URLs generated from the test-session result.
        pcapDataUrl:
          type: string
          nullable: true
          description: Packet capture data if available as a redirect/download URL.
        playwrightTestVideos:
          type: array
          items:
            type: string
          description: Signed URLs for Playwright test videos.
        playwrightTestTraces:
          type: array
          items:
            type: string
          description: Signed URLs for Playwright test traces.
        playwrightTestJsonReportFile:
          type: string
          description: Signed URL for the Playwright JSON report.
      additionalProperties:
        nullable: true
    TestSessionMultiStepResultDetails:
      type: object
      nullable: true
      properties:
        errors:
          type: array
          items:
            nullable: true
        endTime:
          type: number
        startTime:
          type: number
        runtimeVersion:
          type: string
        jobLog:
          nullable: true
          description: Check run log output, when an uploaded log asset is available.
        jobAssets:
          type: array
          nullable: true
          items:
            type: string
          description: Asset URLs generated from the test-session result.
        pcapDataUrl:
          type: string
          nullable: true
          description: Packet capture data if available as a redirect/download URL.
        playwrightTestVideos:
          type: array
          items:
            type: string
          description: Signed URLs for Playwright test videos.
        playwrightTestTraces:
          type: array
          items:
            type: string
          description: Signed URLs for Playwright test traces.
        playwrightTestJsonReportFile:
          type: string
          description: Signed URL for the Playwright JSON report.
      additionalProperties:
        nullable: true
    TestSessionPlaywrightResultDetails:
      type: object
      nullable: true
      properties:
        errors:
          type: array
          nullable: true
          items:
            nullable: true
        playwrightTraceFiles:
          type: array
          nullable: true
          items:
            type: object
            properties: {}
            additionalProperties:
              nullable: true
        jobLog:
          nullable: true
          description: Check run log output, when an uploaded log asset is available.
        jobAssets:
          type: array
          nullable: true
          items:
            type: string
          description: Asset URLs generated from the test-session result.
        pcapDataUrl:
          type: string
          nullable: true
          description: Packet capture data if available as a redirect/download URL.
        playwrightTestVideos:
          type: array
          items:
            type: string
          description: Signed URLs for Playwright test videos.
        playwrightTestTraces:
          type: array
          items:
            type: string
          description: Signed URLs for Playwright test traces.
        playwrightTestJsonReportFile:
          type: string
          description: Signed URL for the Playwright JSON report.
      additionalProperties:
        nullable: true
    TestSessionAgenticResultDetails:
      type: object
      nullable: true
      properties:
        summary:
          type: string
          nullable: true
        prompt:
          type: string
          nullable: true
        assertions:
          type: array
          nullable: true
          items:
            type: object
            properties: {}
            additionalProperties:
              nullable: true
        suggestions:
          type: array
          nullable: true
          items:
            type: object
            properties: {}
            additionalProperties:
              nullable: true
        steps:
          type: array
          nullable: true
          items:
            type: object
            properties: {}
            additionalProperties:
              nullable: true
        errors:
          type: array
          nullable: true
          items:
            nullable: true
        artifactManifest:
          type: object
          nullable: true
          properties: {}
          additionalProperties:
            nullable: true
        jobLog:
          nullable: true
          description: Check run log output, when an uploaded log asset is available.
        jobAssets:
          type: array
          nullable: true
          items:
            type: string
          description: Asset URLs generated from the test-session result.
        pcapDataUrl:
          type: string
          nullable: true
          description: Packet capture data if available as a redirect/download URL.
      additionalProperties:
        nullable: true
  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]"` 

````