v2

latestOpenAPI 3.0.02026-07-261859071.2 MB
Check results

Lists all check results

[DEPRECATED] This endpoint will be removed soon. Please use the GET /v2/check-results/{checkId} endpoint instead. Lists the full, raw check results for a specific check. We keep raw results for 30 days. After 30 days they are erased. However, we keep the rolled up results for an indefinite period. You can filter by check type and result type to narrow down the list. Use the to and from parameters to specify a date range (UNIX timestamp in seconds). Depending on the check type, some fields might be null. This endpoint will return data within a 6-hour timeframe. If the from and to params are set, they must be at most six hours apart. If none are set, we will consider the to param to be now and the from param to be six hours earlier. If only the to param is set we will set from to be six hours earlier. On the contrary, if only the from param is set we will consider the to param to be six hours later. Rate-limiting is applied to this endpoint, you can send 5 requests / 10 seconds at most.

get/v1/check-results/{checkId}

Path parameters

checkIdstring required

Query parameters

limitinteger

Limit the number of results

Limit the number of results

pagenumber

Page number

Page number

fromstring date

Select records up from this UNIX timestamp (>= date). Defaults to now - 6 hours.

Select records up from this UNIX timestamp (>= date). Defaults to now - 6 hours.

tostring date

Optional. Select records up to this UNIX timestamp (< date). Defaults to 6 hours after "from".

Optional. Select records up to this UNIX timestamp (< date). Defaults to 6 hours after "from".

location'us-east-1' | 'us-east-2' | 'us-west-1' | 'us-west-2' | 'ca-central-1' | 'sa-east-1' | 'eu-west-1' | 'eu-central-1' | 'eu-west-2' | 'eu-west-3' | 'eu-north-1' | 'eu-south-1' | 'me-south-1' | 'ap-southeast-1' | 'ap-northeast-1' | 'ap-east-1' | 'ap-southeast-2' | 'ap-southeast-3' | 'ap-northeast-2' | 'ap-northeast-3' | 'ap-south-1' | 'af-south-1'

Provide a data center location, e.g. "eu-west-1" to filter by location

Provide a data center location, e.g. "eu-west-1" to filter by location

checkType'AGENTIC' | 'API' | 'BROWSER' | 'HEARTBEAT' | 'ICMP' | 'MULTI_STEP' | 'TCP' | 'PLAYWRIGHT' | 'TRACEROUTE' | 'URL' | 'DNS' | 'SSL' | 'GRPC'

The type of the check

The type of the check

hasFailuresboolean

Check result has one or more failures

Check result has one or more failures

resultType'FINAL' | 'ATTEMPT' | 'ALL'

The check result type (FINAL,ATTEMPT,ALL)

The check result type (FINAL,ATTEMPT,ALL)

Headers

x-checkly-accountstring

Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general

Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general

Response

Successful

idstring

The unique ID of this result.

namestring

The name of the check.

checkIdstring

The ID of the check.

hasFailuresboolean

Describes if any failure has occurred during this check run. This should be your main focus for assessing API or browser check behaviour. Assertions that fail, timeouts or failing scripts all resolve to this value being true.

hasErrorsboolean

Describes if an internal error has occurred in Checkly's backend. This should be false in almost all cases.

isDegradedboolean nullable

A check is degraded if it is over the degradation limit set by the "degradedResponseTime" field on the check. Applies only to API checks.

isCancelledboolean

Whether the run was cancelled before completion.

overMaxResponseTimeboolean nullable

Set to true if the response time is over the limit set by the "maxResponseTime" field on the check. Applies only to API checks.

runLocationstring

What data center location this check result originated from.

startedAtstring date-time nullable
stoppedAtstring date-time nullable
created_atstring date-time
responseTimenumber

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. Any setup or system time before the check starts executing is not included.

checkRunIdnumber

The id of the specific check run that created this check result.

attemptsnumber

How often this check was retried. This will be larger than 0 when double checking is enabled.

resultType'FINAL' | 'ATTEMPT' | 'ALL' required

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.

sequenceIdstring nullable

The sequence ID of the check run. This is used to group check runs with multiple attempts together.

traceIdstring nullable required

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

errorGroupIdsstring[] nullable

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 response

[
  {
    "apiCheckResult": {
      "assertions": [
        {
          "source": "STATUS_CODE",
          "target": 200
        }
      ],
      "request": {
        "method": "GET",
        "url": "https://api.checklyhq.com"
      },
      "response": {
        "status": 200,
        "statusText": "OK",
        "body": "<title> Checkly Public API </title>"
      }
    },
    "browserCheckResult": {
      "type": "PLAYWRIGHT",
      "pages": [
        {
          "url": "https://www.checklyhq.com/",
          "webVitals": {
            "CLS": {
              "score": "GOOD",
              "value": 0.000146484375
            }
          }
        }
      ],
      "playwrightTestVideos": [
        "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"
      ],
      "errors": [],
      "endTime": 1648573423995,
      "startTime": 1648573423994,
      "runtimeVersion": "2023.09",
      "playwrightTestTraces": [
        "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"
      ],
      "playwrightTestJsonReportFile": "https://api.checklyhq.com/v1/assets/checkRunData/eu-central-1/00000000-0000-0000-0000-0000000000/00000000-0000-0000-0000-0000000000/1675691025832/report.json"
    },
    "multiStepCheckResult": {
      "errors": [],
      "endTime": 1648573423995,
      "startTime": 1648573423994,
      "runtimeVersion": "2023.09",
      "playwrightTestTraces": [
        "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"
      ],
      "playwrightTestJsonReportFile": "https://api.checklyhq.com/v1/assets/checkRunData/eu-central-1/00000000-0000-0000-0000-0000000000/00000000-0000-0000-0000-0000000000/1675691025832/report.json"
    },
    "agenticCheckResult": {
      "summary": "The homepage loaded correctly and all assertions passed.",
      "assertions": [
        {
          "condition": "The homepage returns an HTTP 200 status",
          "passed": true,
          "actual": "200",
          "expected": "200"
        }
      ],
      "suggestions": [
        {
          "summary": "Monitor the checkout flow end-to-end",
          "prompt": "Sign in and verify the checkout page loads",
          "promptReplacement": "Sign in with {{TEST_USER_EMAIL}} and verify the checkout page loads",
          "secrets": [
            "TEST_USER_EMAIL",
            "TEST_USER_PASSWORD"
          ],
          "category": "credentials"
        }
      ],
      "steps": [
        {
          "type": "tool_call",
          "name": "http_request",
          "timestamp": "2026-04-06T14:15:22.000Z",
          "sequenceNumber": 3
        }
      ]
    },
    "tracerouteCheckResult": {
      "totalHops": 12,
      "finalHopLatency": {
        "avgMs": 24.1,
        "bestMs": 22,
        "worstMs": 31.4
      },
      "response": {
        "hostname": "api.checklyhq.com",
        "resolvedIp": "104.18.7.36",
        "totalHops": 12,
        "truncationReason": "max-hops",
        "protocol": "TCP",
        "probeProtocol": "TCP"
      }
    },
    "grpcCheckResult": {
      "grpcStatusCode": 14,
      "healthStatus": 2,
      "timingPhases": {
        "dns": 1.2,
        "connect": 16.8,
        "total": 90
      },
      "response": {
        "grpcMode": "BEHAVIOR",
        "host": "grpc.example.com",
        "resolvedIp": "10.0.0.4",
        "port": 443,
        "grpcMethod": "grpc.health.v1.Health/Check",
        "grpcStatusCode": 14,
        "grpcStatusMessage": "connection refused",
        "healthStatusLabel": "NOT_SERVING"
      }
    },
    "sslCheckResult": {
      "tlsVersion": "TLS 1.3",
      "cipherSuite": "TLS_AES_256_GCM_SHA384",
      "daysUntilExpiry": 12,
      "handshakeTimeMs": 48.2,
      "baselineVerdict": "FAIL",
      "baselineGrade": "C",
      "failureCategory": "expired",
      "response": {
        "resolvedIp": "104.18.7.36",
        "protocol": "TLS 1.3",
        "cipherSuite": "TLS_AES_256_GCM_SHA384",
        "handshakeTimeMs": 48.2,
        "daysUntilExpiry": 12,
        "ocspStatus": "good",
        "chainTrustReason": "missing_intermediate",
        "chainTrustDetail": "the server did not send the intermediate certificate for issuer \"Acme Intermediate CA\"; add it to the chain.",
        "incompleteChain": true,
        "missingIntermediate": "Acme Intermediate CA"
      }
    },
    "resultType": "FINAL",
    "sequenceId": "2dbfa2a3-5477-45ea-ac33-ee55b8ea66ff",
    "traceId": "a1b2c3d4e5f67890abcdef0123456789",
    "errorGroupIds": [
      "883af87b-ac7c-44e3-9376-b4bece04e788"
    ]
  }
]