Skip to main content
The result field on Check resources is tool-specific. Values are normalized JSON (enums become strings, nested objects are plain arrays).

Status check

HTTP reachability check (type: "status").
FieldTypeDescription
upbooleantrue when HTTP status is 2xx or 3xx
codeintegerStatus code; 0 on connection failure
urlstringRequested URL
effective_urlstringFinal URL after redirects
response_timefloatTotal time in milliseconds
redirectedbooleanWhether redirects occurred
redirect_countintegerNumber of redirects
redirectsstring[]Redirect chain (optional)
errorstringPresent on connection/validation failure

Example (up)

{
  "up": true,
  "code": 200,
  "url": "https://example.com",
  "effective_url": "https://example.com",
  "response_time": 142.37,
  "redirected": false,
  "redirect_count": 0
}

Example (down)

{
  "up": false,
  "code": 500,
  "url": "https://example.com",
  "effective_url": "https://example.com",
  "response_time": 523.12,
  "redirected": false,
  "redirect_count": 0,
  "error": "Internal Server Error"
}

SSL check

TLS certificate inspection on port 443 (type: "ssl").
FieldTypeDescription
domainstringDomain checked
ipstringResolved IPv4
is_validbooleanCertificate not expired
issuerstringCA name
issued_tostringCertificate CN
valid_fromstringStart datetime
valid_tostringEnd datetime
days_leftintegerDays until expiry
subjectstringSubject CN
serial_numberstringSerial
fingerprintstringCertificate hash
infoobjectRaw OpenSSL parse output

Example

{
  "domain": "example.com",
  "ip": "93.184.216.34",
  "is_valid": true,
  "issuer": "Let's Encrypt",
  "issued_to": "example.com",
  "valid_from": "2026-04-01T00:00:00+00:00",
  "valid_to": "2026-07-01T00:00:00+00:00",
  "days_left": 35,
  "subject": "CN=example.com",
  "serial_number": "ABC123...",
  "fingerprint": "SHA256:...",
  "info": { /* Raw OpenSSL data */ }
}

DNS check

DNS records via Cloudflare DoH (type: "dns").
FieldTypeDescription
recordsobjectKeys: record types (A, AAAA, MX, …) with record arrays
is_cloudflarebooleanDomain uses Cloudflare DNS/proxy
ip_enrichmentobjectPublic IP enrichment keyed by IP address
hosting_providerobject | nullDetected hosting provider from enriched IP data
reputationobjectDomain and IP reputation details
Record shapes vary by type. Each entry includes host, ttl, type, and type-specific fields such as ip for A/AAAA.

Example

{
  "records": {
    "A": [
      {
        "host": "example.com",
        "ttl": 300,
        "type": "A",
        "ip": "93.184.216.34"
      }
    ],
    "MX": [
      {
        "host": "example.com",
        "ttl": 3600,
        "type": "MX",
        "priority": 10,
        "target": "mail.example.com"
      }
    ]
  },
  "is_cloudflare": false,
  "ip_enrichment": {
    "93.184.216.34": {
      "ip": "93.184.216.34",
      "asn": 15133,
      "asn_name": "EDGECAST",
      "asn_org_name": "Edgecast Inc.",
      "country": "US",
      "country_name": "United States",
      "website": "https://www.edgecast.com/",
      "source": "cloudflare_radar"
    }
  },
  "hosting_provider": {
    "name": "Edgecast Inc.",
    "asn": 15133,
    "country": "US",
    "source": "cloudflare_radar"
  },
  "reputation": {
    "status": "clean",
    "flags": {
      "malware": false,
      "phishing": false
    },
    "risk_score": 0,
    "risk_types": [],
    "suspected_malware_family": null,
    "ip_reputation": {},
    "source": "cloudflare_intel"
  }
}
Site crawl for failing links (type: "broken-links").
FieldTypeDescription
foundintegerCount of broken links
crawledintegerPages crawled
urlsarrayBroken URL details

URL object

Each item in the urls array includes:
  • url - The broken link URL
  • status - HTTP status code
  • source - Page where the link was found
  • Additional context

Example

{
  "found": 3,
  "crawled": 12,
  "urls": [
    {
      "url": "https://example.com/missing-page",
      "status": 404,
      "source": "https://example.com/blog"
    },
    {
      "url": "https://example.com/broken-image.jpg",
      "status": 404,
      "source": "https://example.com/about"
    }
  ]
}
Issue evaluation often uses found against configured thresholds.

Performance check

Lighthouse-based performance audit (type: "performance").
FieldTypeDescription
response_timefloatDirect GET response time (ms)
urlstringAudited URL
speed_metricsobjectLighthouse output

Speed metrics object

FieldTypeDescription
performance_scoreinteger | null0–100 score
core_web_vitalsobjectLab metrics (LCP, INP, CLS, etc.)
real_user_metricsobjectCrUX page data (Google provider)
origin_metricsobjectCrUX origin data
opportunitiesarrayFailed audits with savings hints
Each core web vital entry typically includes value, display_value, and score.

Example

{
  "response_time": 420.5,
  "url": "https://example.com",
  "speed_metrics": {
    "performance_score": 87,
    "core_web_vitals": {
      "lcp": {
        "value": 2400,
        "display_value": "2.4 s",
        "score": 0.92
      },
      "cls": {
        "value": 0.05,
        "display_value": "0.05",
        "score": 0.95
      }
    },
    "opportunities": [
      {
        "id": "render-blocking-resources",
        "title": "Eliminate render-blocking resources",
        "savings": "450 ms"
      }
    ]
  }
}

Errors

When status is failed, the check may include an error field which can be:
  • A simple error string
  • A structured object (for example { "message": "...", "data": "..." })
Use error together with result to diagnose failures.

Example

{
  "uuid": "...",
  "type": "status",
  "status": "failed",
  "result": null,
  "error": {
    "message": "Connection timeout",
    "data": "Failed to connect after 30 seconds"
  },
  "completed_at": "2026-05-28T14:30:00+00:00"
}

Polling check runs

1

Queue checks

POST /sites/{site}/checks returns 202 with check records in pending status.
2

Poll for completion

Poll GET /checks/{uuid} until status is completed or failed.
3

Read results

Read result when completed.
Status checks often complete synchronously. SSL, DNS, broken-links, and performance checks usually run on queues and take longer.

Check status values

StatusDescription
pendingQueued or currently running
completedFinished successfully
failedFinished with error
skippedNot run due to configuration

See also