openapi: 3.2.0 info: title: Checkly Public Check sessions 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: - name: Check sessions paths: /v1/check-sessions/trigger: post: summary: Trigger a new check session operationId: postV1ChecksessionsTrigger description: 'Starts a check session for each check that matches the provided target filters. If no filters are given, matches all eligible checks. This endpoint does not wait for the check session to complete. Use the `GET /v1/check-sessions/{checkSessionId}/completion` or `GET /v1/check-sessions/{checkSessionId}` endpoints to track progress if needed. Standard alerting rules apply to finished check runs. Equivalent to the _Schedule Now_ button in the UI.' tags: - Check sessions requestBody: content: application/json: schema: $ref: '#/components/schemas/TriggerCheckSessionRequestPayload' responses: '201': description: Returns a check session for each check matching target conditions. content: application/json: schema: $ref: '#/components/schemas/TriggerCheckSessionResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '402': description: Payment Required content: application/json: schema: $ref: '#/components/schemas/PaymentRequiredError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Returned when there are no matching checks. content: application/json: schema: $ref: '#/components/schemas/NoMatchingChecksFoundErrorResponse' '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/TooManyRequestsError' deprecated: true /v1/check-sessions/{checkSessionId}: get: summary: Retrieve a check session operationId: getV1ChecksessionsChecksessionid description: 'Retrieves a check session. Results may be incomplete if the check session is still in progress. Once a check session has finished, results will include at least one check result for each run location: one result with `resultType` equal to `"FINAL"`, and zero or more results with `resultType` equal to `"ATTEMPT"` (one for each failed attempt, if any). Each result contains just enough information to quickly determine whether the check run was successful or not. To dive even deeper into individual results, use the `GET /v1/check-results/{checkId}/{checkResultId}` endpoint to retrieve detailed data about a specific result.' parameters: - name: checkSessionId in: path schema: type: string description: The unique identifier of the check session. x-format: guid: true description: The unique identifier of the check session. required: true tags: - Check sessions responses: '200': description: The current state of the check session. content: application/json: schema: $ref: '#/components/schemas/FindOneCheckSessionResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: No such check session exists. content: application/json: schema: $ref: '#/components/schemas/CheckSessionNotFoundErrorResponse' '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/TooManyRequestsError' deprecated: true /v1/check-sessions/{checkSessionId}/cancel: post: summary: Cancel a check session operationId: postV1ChecksessionsChecksessionidCancel description: 'Cancels in-progress Playwright Check Suite runs within the specified check session. Use the optional `sequenceId` field in the request body to cancel only specific parallel runs within the session; omit it to cancel everything still running. Returns `204 No Content` once the cancellation requests have been dispatched. Returns `404 Not Found` if the check session does not exist.' tags: - Check sessions responses: '204': description: Cancellation accepted. '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' parameters: - schema: type: string format: uuid description: Check session ID. required: true description: Check session ID. name: checkSessionId 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 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CheckSessionsV1CancelRequest' /v1/check-sessions/{checkSessionId}/completion: get: summary: Await the completion of a check session operationId: getV1ChecksessionsChecksessionidCompletion description: '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.' parameters: - name: checkSessionId in: path schema: type: string description: The unique identifier of the check session. x-format: guid: true description: The unique identifier of the check session. required: true - name: maxWaitSeconds in: query schema: type: number description: The maximum time to wait for completion, in seconds. example: 30 minimum: 1 maximum: 30 description: The maximum time to wait for completion, in seconds. tags: - Check sessions responses: '200': description: Returned when the check session has finished running. content: application/json: schema: $ref: '#/components/schemas/AwaitCheckSessionCompletionResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: No such check session exists. content: application/json: schema: $ref: '#/components/schemas/CheckSessionNotFoundErrorResponse' '408': description: '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.' content: application/json: schema: $ref: '#/components/schemas/AwaitCheckSessionCompletionTryAgainResponse' '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/TooManyRequestsError' deprecated: true /v2/check-sessions/trigger: post: summary: Trigger a new check session operationId: postV2ChecksessionsTrigger description: 'Starts a check session for each check that matches the provided target filters. If no filters are given, matches all eligible checks. This endpoint does not wait for the check session to complete. Use the `GET /v2/check-sessions/{checkSessionId}/completion` or `GET /v2/check-sessions/{checkSessionId}` endpoints to track progress. Use `POST /v1/check-sessions/{checkSessionId}/cancel` to cancel an in-progress check session. Standard alerting rules apply to finished check runs. Equivalent to the _Schedule Now_ button in the UI.' tags: - Check sessions responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/CheckSessionsV2TriggerResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '402': description: Payment Required 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' parameters: - 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 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CheckSessionsV2TriggerRequest' /v2/check-sessions/{checkSessionId}: get: summary: Retrieve a check session operationId: getV2ChecksessionsChecksessionid description: 'Retrieves a check session. Results may be incomplete if the check session is still in progress. Once a check session has finished, results will include at least one check result for each run location: one result with `resultType` equal to `"FINAL"`, and zero or more results with `resultType` equal to `"ATTEMPT"` (one for each failed attempt, if any). Each result contains just enough information to quickly determine whether the check run was successful or not. To dive even deeper into individual results, use the `GET /v1/check-results/{checkId}/{checkResultId}` endpoint to retrieve detailed data about a specific result. 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.' tags: - Check sessions responses: '200': description: Successful content: application/json: schema: $ref: '#/components/schemas/CheckSessionsV2FindOneResponse' '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' parameters: - schema: type: string format: uuid description: Check session ID. required: true description: Check session ID. name: checkSessionId 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 /v2/check-sessions/{checkSessionId}/completion: get: summary: Await the completion of a check session operationId: getV2ChecksessionsChecksessionidCompletion description: '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.' tags: - Check sessions responses: '200': description: Successful content: application/json: schema: $ref: '#/components/schemas/CheckSessionsV2CompletionResponse' '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' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/ApiError' '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ApiError' parameters: - schema: type: string format: uuid description: Check session ID. required: true description: Check session ID. name: checkSessionId in: path - schema: type: integer minimum: 1 maximum: 30 description: Maximum time to wait for completion before returning a retryable timeout response. required: false description: Maximum time to wait for completion before returning a retryable timeout response. name: maxWaitSeconds in: query - 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 components: schemas: attributes: type: object TriggerCheckSessionResponse: type: object description: Returns a check session for each check matching target conditions. properties: sessions: $ref: '#/components/schemas/sessions' required: - sessions Model30: type: string description: The final status of the check session. example: PASSED enum: - FAILED - PASSED - DEGRADED - TIMED_OUT - CANCELLED TriggerCheckSessionRequestPayload: type: object properties: target: $ref: '#/components/schemas/TriggerCheckSessionTarget' refreshCache: type: boolean description: If true, the runner will skip existing caches and install dependencies from scratch. This applies only to Playwright Check Suites. default: false CheckSessionsV2FindOneResponse: type: object properties: checkSessionId: type: string format: uuid checkSessionLink: type: string format: uri checkId: type: string format: uuid checkType: type: string enum: - AGENTIC - API - BROWSER - HEARTBEAT - ICMP - MULTI_STEP - TCP - PLAYWRIGHT - URL - DNS - SSL - GRPC - TRACEROUTE name: type: string status: type: string enum: - STARTED - PROGRESS - FAILED - PASSED - DEGRADED - PROGRESS_FAILED - PROGRESS_DEGRADED - TIMED_OUT - CANCELLED startedAt: type: string format: date-time stoppedAt: type: - string - 'null' format: date-time timeElapsed: type: number runLocations: type: array items: type: string runSource: type: - string - 'null' enum: - 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 results: type: array items: $ref: '#/components/schemas/CheckSessionsV2CheckResult' required: - checkSessionId - checkSessionLink - checkId - checkType - status - startedAt - stoppedAt - timeElapsed - runLocations - runSource - results checkId: type: array description: Match checks with the given identifiers. example: - a4cd4ad9-4815-4a9e-92d2-0a7c562ee69a x-constraint: single: true items: type: string x-format: guid: true Model23: type: array x-constraint: single: true items: type: string Model2: type: string enum: - Too Many Requests 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 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 Model24: type: string example: API enum: - AGENTIC - API - BROWSER - ICMP - MULTI_STEP - TCP - PLAYWRIGHT - TRACEROUTE - URL - DNS - SSL - GRPC CheckSessionsV1CancelRequest: type: object properties: sequenceId: type: array items: type: string format: uuid minItems: 1 description: Subset of sequence IDs to cancel. Omit to cancel all in-progress sequences. additionalProperties: false CheckSessionsV2CheckSession: type: object properties: checkSessionId: type: string format: uuid checkSessionLink: type: string format: uri checkId: type: string format: uuid checkType: type: string enum: - AGENTIC - API - BROWSER - HEARTBEAT - ICMP - MULTI_STEP - TCP - PLAYWRIGHT - URL - DNS - SSL - GRPC - TRACEROUTE name: type: string status: type: string enum: - STARTED - PROGRESS - FAILED - PASSED - DEGRADED - PROGRESS_FAILED - PROGRESS_DEGRADED - TIMED_OUT - CANCELLED startedAt: type: string format: date-time stoppedAt: type: - string - 'null' format: date-time timeElapsed: type: number runLocations: type: array items: type: string runSource: type: - string - 'null' enum: - 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 required: - checkSessionId - checkSessionLink - checkId - checkType - status - startedAt - stoppedAt - timeElapsed - runLocations - runSource PaymentRequiredError: type: object properties: statusCode: type: number enum: - 402 error: $ref: '#/components/schemas/Model3' message: type: string example: Payment Required attributes: $ref: '#/components/schemas/attributes' required: - statusCode - error results: type: array description: The results of the check session. Only partial results are available until the check session has completed. items: $ref: '#/components/schemas/CheckSessionConciseCheckResult' CheckSessionNotFoundErrorResponse: type: object description: No such check session exists. properties: statusCode: type: number enum: - 404 error: type: string example: Not Found message: type: string example: No such check session. required: - statusCode resultType: type: - string - 'null' description: The type of the result. example: FINAL enum: - FINAL - ATTEMPT - ALL Model27: type: string description: The status of the check session. example: PASSED enum: - STARTED - PROGRESS - FAILED - PASSED - DEGRADED - PROGRESS_FAILED - PROGRESS_DEGRADED - TIMED_OUT - CANCELLED FindOneCheckSessionResponse: type: object description: The current state of the check session. properties: checkSessionId: type: string description: The unique identifier of the check session. example: 8166fa86-c9b4-4162-8541-d380c6c212d8 x-format: guid: true checkSessionLink: type: string description: A link to the check session. example: https://app.checklyhq.com/accounts/1397c172-1938-4973-a225-5862298e571a/checks/a4cd4ad9-4815-4a9e-92d2-0a7c562ee69a/check-sessions/8166fa86-c9b4-4162-8541-d380c6c212d8 x-format: uri: true checkId: type: string description: The ID of the check. example: a4cd4ad9-4815-4a9e-92d2-0a7c562ee69a x-format: guid: true checkType: $ref: '#/components/schemas/Model26' name: type: string example: Example API Check status: $ref: '#/components/schemas/Model27' startedAt: type: string format: date-time description: The date and time when the session started. example: '2025-08-28T18:23:40.262Z' stoppedAt: type: - string - 'null' format: date-time description: The date and time when the session stopped. example: '2025-08-28T18:28:40.993Z' timeElapsed: type: number description: The time the check session took, in milliseconds. example: 300731 runLocations: $ref: '#/components/schemas/runLocations' runSource: $ref: '#/components/schemas/runSource' results: $ref: '#/components/schemas/results' required: - checkSessionId - checkSessionLink - checkId - checkType - status - startedAt - timeElapsed - runLocations Model25: type: string description: The status of the check session. example: PASSED enum: - STARTED - PROGRESS - FAILED - PASSED - DEGRADED - PROGRESS_FAILED - PROGRESS_DEGRADED - TIMED_OUT - CANCELLED runLocations: type: array description: The run locations of the check session. example: - us-east-1 - eu-central-1 items: type: string NoMatchingChecksFoundErrorResponse: type: object description: Returned when there are no matching checks. properties: statusCode: type: number enum: - 404 error: type: string example: Not Found message: type: string example: No matching checks were found. required: - statusCode CheckSessionsV2CompletionResponse: type: object properties: checkSessionId: type: string format: uuid checkSessionLink: type: string format: uri checkId: type: string format: uuid checkType: type: string enum: - AGENTIC - API - BROWSER - HEARTBEAT - ICMP - MULTI_STEP - TCP - PLAYWRIGHT - URL - DNS - SSL - GRPC - TRACEROUTE name: type: string status: type: string enum: - PASSED - FAILED - DEGRADED - TIMED_OUT - CANCELLED startedAt: type: string format: date-time stoppedAt: type: string format: date-time timeElapsed: type: number runLocations: type: array items: type: string runSource: type: - string - 'null' enum: - 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 results: type: array items: $ref: '#/components/schemas/CheckSessionsV2CheckResult' required: - checkSessionId - checkSessionLink - checkId - checkType - status - startedAt - stoppedAt - timeElapsed - runLocations - runSource - results sessions: type: array description: A list of check sessions, with one check session for each check. items: $ref: '#/components/schemas/CheckSession' Model31: type: array description: The results of the check session. items: $ref: '#/components/schemas/CheckSessionConciseCheckResult' Model26: type: string example: API enum: - AGENTIC - API - BROWSER - ICMP - MULTI_STEP - TCP - PLAYWRIGHT - TRACEROUTE - URL - DNS - SSL - GRPC runSource: type: - string - 'null' description: The source that triggered the check session. example: TRIGGER_API enum: - 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 CheckSessionsV2CheckResult: type: object properties: checkResultId: type: string format: uuid checkResultLink: type: string format: uri checkId: type: string 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 resultType: type: - string - 'null' enum: - FINAL - ATTEMPT - null hasErrors: type: boolean hasFailures: type: boolean isDegraded: type: boolean aborted: type: boolean isCancelled: type: boolean responseTime: type: - number - 'null' 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 - 'null' format: date-time description: When the check run started. stoppedAt: type: - string - 'null' format: date-time description: When the check run finished. Subtract `startedAt` for the total wall-clock duration of the run. required: - checkResultId - checkResultLink - checkId - checkType - name - runLocation - resultType - hasErrors - hasFailures - isDegraded - aborted - isCancelled ForbiddenError: type: object properties: statusCode: type: number enum: - 403 error: $ref: '#/components/schemas/Model1' message: type: string example: Forbidden required: - statusCode - error Model28: type: string example: API enum: - AGENTIC - API - BROWSER - ICMP - MULTI_STEP - TCP - PLAYWRIGHT - TRACEROUTE - URL - DNS - SSL - GRPC ApiError: type: object properties: statusCode: type: number error: type: string message: type: string required: - statusCode - error - message AwaitCheckSessionCompletionTryAgainResponse: type: object description: '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.' properties: statusCode: type: number enum: - 408 error: type: string example: Request Time-out message: type: string example: Check session is still in progress, but maximum per-request wait time was exceeded. Please retry. required: - statusCode AwaitCheckSessionCompletionResponse: type: object description: Returned when the check session has finished running. properties: checkSessionId: type: string description: The unique identifier of the check session. example: 8166fa86-c9b4-4162-8541-d380c6c212d8 x-format: guid: true checkSessionLink: type: string description: A link to the check session. example: https://app.checklyhq.com/accounts/1397c172-1938-4973-a225-5862298e571a/checks/a4cd4ad9-4815-4a9e-92d2-0a7c562ee69a/check-sessions/8166fa86-c9b4-4162-8541-d380c6c212d8 x-format: uri: true checkId: type: string description: The ID of the check. example: a4cd4ad9-4815-4a9e-92d2-0a7c562ee69a x-format: guid: true checkType: $ref: '#/components/schemas/Model29' name: type: string example: Example API Check status: $ref: '#/components/schemas/Model30' startedAt: type: string format: date-time description: The date and time when the session started. example: '2025-08-28T18:23:40.262Z' stoppedAt: type: string format: date-time description: The date and time when the session stopped. example: '2025-08-28T18:28:40.993Z' timeElapsed: type: number description: The time the check session took, in milliseconds. example: 300731 runLocations: $ref: '#/components/schemas/runLocations' runSource: $ref: '#/components/schemas/runSource' results: $ref: '#/components/schemas/Model31' required: - checkSessionId - checkSessionLink - checkId - checkType - status - startedAt - stoppedAt - timeElapsed - runLocations CheckSession: type: object properties: checkSessionId: type: string description: The unique identifier of the check session. example: 8166fa86-c9b4-4162-8541-d380c6c212d8 x-format: guid: true checkSessionLink: type: string description: A link to the check session. example: https://app.checklyhq.com/accounts/1397c172-1938-4973-a225-5862298e571a/checks/a4cd4ad9-4815-4a9e-92d2-0a7c562ee69a/check-sessions/8166fa86-c9b4-4162-8541-d380c6c212d8 x-format: uri: true checkId: type: string description: The ID of the check. example: a4cd4ad9-4815-4a9e-92d2-0a7c562ee69a x-format: guid: true checkType: $ref: '#/components/schemas/Model24' name: type: string example: Example API Check status: $ref: '#/components/schemas/Model25' startedAt: type: string format: date-time description: The date and time when the session started. example: '2025-08-28T18:23:40.262Z' stoppedAt: type: - string - 'null' format: date-time description: The date and time when the session stopped. example: '2025-08-28T18:28:40.993Z' timeElapsed: type: number description: The time the check session took, in milliseconds. example: 300731 runLocations: $ref: '#/components/schemas/runLocations' runSource: $ref: '#/components/schemas/runSource' required: - checkSessionId - checkSessionLink - checkId - checkType - status - startedAt - timeElapsed - runLocations Model3: type: string enum: - Payment Required matchTags: type: array description: 'Match checks with the given tags. Group tags also match. The value is a two-dimensional array. The top level array defines `OR` conditions, and the second level `AND` conditions. Tags can also be prefixed with `!` to only match checks without those tags. Example: `[[a, b], [a, c, !d]]` means `(a && b) || (a && c && !d)`.' example: - - production - '!skip-e2e' items: $ref: '#/components/schemas/Model23' error: type: string enum: - Unauthorized CheckSessionsV2TriggerRequest: type: object properties: target: type: object properties: matchTags: type: array items: type: array items: type: string description: Tags used to select checks to trigger. Each nested array is matched as one tag group. checkId: type: array items: type: string format: uuid description: Check ID or list of check IDs to trigger. description: Optional filters selecting which checks to trigger. refreshCache: type: boolean default: false description: Refresh the selected checks cache before triggering the sessions. TriggerCheckSessionTarget: type: object properties: matchTags: $ref: '#/components/schemas/matchTags' checkId: $ref: '#/components/schemas/checkId' Model1: type: string enum: - Forbidden CheckSessionConciseCheckResult: type: object properties: checkResultId: type: string description: The ID of the check result. example: 22be3b52-5ec2-4894-9086-b5b4a8b00a89 x-format: guid: true checkResultLink: type: string description: A link to the check result. example: https://app.checklyhq.com/accounts/1397c172-1938-4973-a225-5862298e571a/checks/a4cd4ad9-4815-4a9e-92d2-0a7c562ee69a/check-sessions/8166fa86-c9b4-4162-8541-d380c6c212d8/results/22be3b52-5ec2-4894-9086-b5b4a8b00a89 x-format: uri: true checkId: type: string description: The ID of the check. example: a4cd4ad9-4815-4a9e-92d2-0a7c562ee69a x-format: guid: true checkType: $ref: '#/components/schemas/Model28' name: type: string example: Example API Check runLocation: type: string description: The location where the check ran. example: us-east-1 resultType: $ref: '#/components/schemas/resultType' hasErrors: type: boolean description: Whether the result has errors. example: false hasFailures: type: boolean description: Whether the result has failures. example: false isDegraded: type: boolean description: Whether the result is degraded. example: false aborted: type: boolean description: Whether the check was aborted. example: false isCancelled: type: boolean description: Whether the check was cancelled before completion. example: false responseTime: type: - number - 'null' 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.' example: 1234 startedAt: type: - string - 'null' format: date-time description: The date and time when the check run started. example: '2025-08-28T18:23:40.262Z' stoppedAt: type: - string - 'null' format: date-time description: The date and time when the check run finished. Subtract startedAt for the total wall-clock duration of the run. example: '2025-08-28T18:23:41.496Z' required: - checkResultId - checkResultLink - checkId - checkType - runLocation - resultType - hasErrors - hasFailures - isDegraded - aborted - isCancelled Model29: type: string example: API enum: - AGENTIC - API - BROWSER - ICMP - MULTI_STEP - TCP - PLAYWRIGHT - TRACEROUTE - URL - DNS - SSL - GRPC CheckSessionsV2TriggerResponse: type: object properties: sessions: type: array items: $ref: '#/components/schemas/CheckSessionsV2CheckSession' required: - sessions 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.
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]"
'