---
title: "Await the completion of a check session"
method: GET
path: "/v2/check-sessions/{checkSessionId}/completion"
tags: ["Check sessions"]
---

# Await the completion of a check session

`GET /v2/check-sessions/{checkSessionId}/completion`

Call this endpoint to await the completion of a check session. A successful response will be returned once the check session reaches its final state (i.e. when it passes, fails, degrades, or is cancelled).

If the check session takes a long time to complete, the endpoint will return a timeout error code. You should keep calling the endpoint until you receive a successful response, or a non-timeout related error code. If using *curl*, its `--retry` option is suitable.

The successful response of this endpoint is equivalent to the `GET /v2/check-sessions/{checkSessionId}` endpoint's response for a completed check session.

The `status` field may return `CANCELLED` for sessions cancelled via `POST /v1/check-sessions/{checkSessionId}/cancel`, and each per-result object includes an `isCancelled` boolean.

## Path parameters

- `checkSessionId` string, uuid, required — Check session ID.

## Query parameters

- `maxWaitSeconds` integer — Maximum time to wait for completion before returning a retryable timeout response.

## 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

- CheckSessionsV2CompletionResponse
  - `checkSessionId` string, uuid, required
  - `checkSessionLink` string, uri, required
  - `checkId` string, uuid, required
  - `checkType` 'AGENTIC' | 'API' | 'BROWSER' | 'HEARTBEAT' | 'ICMP' | 'MULTI_STEP' | 'TCP' | 'PLAYWRIGHT' | 'URL' | 'DNS' | 'SSL' | 'GRPC' | 'TRACEROUTE', required
  - `name` string
  - `status` 'PASSED' | 'FAILED' | 'DEGRADED' | 'TIMED_OUT' | 'CANCELLED', required
  - `startedAt` string, date-time, required
  - `stoppedAt` string, date-time, required
  - `timeElapsed` number, required
  - `runLocations` string[], required
  - `runSource` 'CLI_DEPLOY' | 'DEPLOYMENT' | 'DEPLOYMENT_CACHE_WARMER' | 'EDITOR' | 'GROUP_RUN_ALL' | 'LEGACY_TRIGGER' | 'SCHEDULER' | 'SCHEDULE_NOW' | 'TEST_NO_RECORD' | 'TEST_RECORD' | 'TRIGGER_NO_RECORD' | 'TRIGGER_RECORD' | 'TRIGGER_API' | 'null', nullable, required
  - `results` CheckSessionsV2CheckResult[], required
    - `checkResultId` string, uuid, required
    - `checkResultLink` string, uri, required
    - `checkId` string, uuid, required
    - `checkType` 'AGENTIC' | 'API' | 'BROWSER' | 'HEARTBEAT' | 'ICMP' | 'MULTI_STEP' | 'TCP' | 'PLAYWRIGHT' | 'URL' | 'DNS' | 'SSL' | 'GRPC' | 'TRACEROUTE', required
    - `name` string, required
    - `runLocation` string, required
    - `resultType` 'FINAL' | 'ATTEMPT' | 'null', nullable, required
    - `hasErrors` boolean, required
    - `hasFailures` boolean, required
    - `isDegraded` boolean, required
    - `aborted` boolean, required
    - `isCancelled` boolean, required
    - `responseTime` number, nullable — 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` string, date-time, nullable — When the check run started.
    - `stoppedAt` string, date-time, nullable — When the check run finished. Subtract `startedAt` for the total wall-clock duration of the run.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `408` — Request Timeout
- `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)
