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

# Await the completion of a check session

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

> **Deprecated.**

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 or fails).

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 /v1/check-sessions/{checkSessionId}` endpoint's response for a completed check session.

## Path parameters

- `checkSessionId` string, required — The unique identifier of the check session.

## Query parameters

- `maxWaitSeconds` number — The maximum time to wait for completion, in seconds.

## Response `200`

Returned when the check session has finished running.

- AwaitCheckSessionCompletionResponse — Returned when the check session has finished running.
  - `checkSessionId` string, required — The unique identifier of the check session.
  - `checkSessionLink` string, required — A link to the check session.
  - `checkId` string, required — The ID of the check.
  - `checkType` 'AGENTIC' | 'API' | 'BROWSER' | 'ICMP' | 'MULTI_STEP' | 'TCP' | 'PLAYWRIGHT' | 'TRACEROUTE' | 'URL' | 'DNS' | 'SSL' | 'GRPC', required
  - `name` string
  - `status` 'FAILED' | 'PASSED' | 'DEGRADED' | 'TIMED_OUT' | 'CANCELLED', required — The final status of the check session.
  - `startedAt` string, date-time, required — The date and time when the session started.
  - `stoppedAt` string, date-time, required — The date and time when the session stopped.
  - `timeElapsed` number, required — The time the check session took, in milliseconds.
  - `runLocations` string[], required — The run locations of the check session.
  - `runSource` 'CLI_DEPLOY' | 'DEPLOYMENT' | 'DEPLOYMENT_CACHE_WARMER' | 'EDITOR' | 'GROUP_RUN_ALL' | 'LEGACY_TRIGGER' | 'SCHEDULER' | 'SCHEDULE_NOW' | 'SLACK_RERUN' | 'TEST_NO_RECORD' | 'TEST_RECORD' | 'TRIGGER_NO_RECORD' | 'TRIGGER_RECORD' | 'TRIGGER_API', nullable — The source that triggered the check session.
  - `results` CheckSessionConciseCheckResult[] — The results of the check session.
    - `checkResultId` string, required — The ID of the check result.
    - `checkResultLink` string, required — A link to the check result.
    - `checkId` string, required — The ID of the check.
    - `checkType` 'AGENTIC' | 'API' | 'BROWSER' | 'ICMP' | 'MULTI_STEP' | 'TCP' | 'PLAYWRIGHT' | 'TRACEROUTE' | 'URL' | 'DNS' | 'SSL' | 'GRPC', required
    - `name` string
    - `runLocation` string, required — The location where the check ran.
    - `resultType` 'FINAL' | 'ATTEMPT' | 'ALL', nullable, required — The type of the result.
    - `hasErrors` boolean, required — Whether the result has errors.
    - `hasFailures` boolean, required — Whether the result has failures.
    - `isDegraded` boolean, required — Whether the result is degraded.
    - `aborted` boolean, required — Whether the check was aborted.
    - `isCancelled` boolean, required — Whether the check was cancelled before completion.
    - `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 — The date and time when the check run started.
    - `stoppedAt` string, date-time, nullable — The date and time when the check run finished. Subtract startedAt for the total wall-clock duration of the run.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — No such check session exists.
- `408` — The check session is still pending, but the server requests a quick break. You should call the endpoint again. Optionally, try to respect the `Retry-After` header. This error code is one of the transient error codes supported by *curl*'s `--retry` option.
- `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)
