# fetchx402 Uptime Check

> fetchx402 Uptime Check is a paid API for AI agents from api.fetchx402.com, paid per call via x402, $0.015/call, status unknown (last checked 2026-09-15).

Performs a one-shot DNS resolution, leaf TLS inspection, and origin HTTP header probe for a single hostname in one API call to determine if it is up, degraded, or down.

## Facts

- Endpoint: GET https://api.fetchx402.com/v1/bundles/uptime-check
- Price: $0.015/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/fetchx402-uptime-check-2046506d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_BBbH1mnJ1N11JGlxLjGet

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability fetchx402-uptime-check-2046506d
```

Example prompt: Can you check right now whether api.example.com is actually up and reachable — I need to know DNS, TLS, and whether the server is responding, not a cached guess.

## When to prefer this

Choose this endpoint when you need a single authoritative probe covering DNS, TLS, and HTTP origin reachability for one hostname in one call and one payment settle. Prefer it over calling individual DNS, TLS, or header endpoints separately when you need an aggregated up/degraded/down verdict quickly. Use it for incident triage, pre-deployment checks, or third-party dependency monitoring where a cached or inferred status is unacceptable.

## Known failure modes

- Domain is an IP, localhost, or internal/mDNS name — rejected by domain guard validation
- Domain does not resolve in DNS — DNS sub-check fails with NXDOMAIN or timeout error returned in-field
- TLS handshake fails (expired cert, mismatched SAN, untrusted CA) — TLS sub-check fails in-field
- Origin does not respond within timeout — HTTP sub-check fails in-field
- Invalid or malformed domain name provided — request rejected with validation error
- Network-level unreachability from probe infrastructure — returned as down with error detail

## How this service works

One-shot reachability: DNS, leaf TLS, and origin headers for one hostname in a single settle. Use when you need live up/degraded/down and must not guess. Child errors stay in-field; we do not invent data.

## Output

A structured bundle containing: (1) DNS lookup outcome (resolved IPs or error), (2) leaf TLS certificate status (validity, expiry, issuer), and (3) origin HTTP response headers — all labeled with per-field status so degraded or failed sub-checks are surfaced in-field rather than suppressed. The top-level status indicates up, degraded, or down.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "headers": {
     "type": "object",
     "additionalProperties": {
      "type": "string"
     }
    },
    "queryParams": {
     "type": "object",
     "required": [
      "domain"
     ],
     "properties": {
      "domain": {
       "type": "string",
       "description": "Public fully-qualified domain name. Same Domain guards as the child tools. IPs, localhost, and internal/mDNS names are rejected. v1 always probes https://{domain}/ on :443."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "dns": {
   "ttl": 20,
   "type": "A",
   "rcode": "NOERROR",
   "domain": "example.com",
   "records": [
    {
     "address": "104.20.23.154"
    }
   ],
   "resolver": "1.1.1.1"
  },
  "ssl": {
   "sni": "example.com",
   "port": 443,
   "sans": [
    "www.example.org",
    "example.com",
    "example.net",
    "example.org"
   ],
   "cipher": "aes_256_gcm_sha384",
   "domain": "example.com",
   "issuer": "CN=DigiCert Global G3 TLS ECC SHA384 2020 CA1, O=DigiCert Inc, C=US",
   "serial": "0f1a2b3c4d5e6f708192a3b4c5d6e7f8",
   "expired": false,
   "peer_ip": "23.215.0.138",
   "subject": "CN=www.example.org, O=Internet Corporation for Assigned Names and Numbers, C=US",
   "not_after": "2027-01-15T23:59:59Z",
   "not_before": "2026-01-15T00:00:00Z",
   "tls_version": "tlsv1.3",
   "not_yet_valid": false,
   "hostname_match": true,
   "fingerprint_sha256": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
   "signature_algorithm": "ecdsa-with-SHA384"
  },
  "domain": "example.com",
  "headers": {
   "url": "https://example.com/",
   "domain": "example.com",
   "method": "HEAD",
   "status": 200,
   "headers": {
    "server": "ECS (nyb/1D2A)",
    "location": null,
    "content-type": "text/html",
    "x-powered-by": null,
    "cache-control": "max-age=604800",
    "referrer-policy": null,
    "x-frame-options": null,
    "www-authenticate": null,
    "permissions-policy": null,
    "x-content-type-options": null,
    "content-security-policy": null,
    "strict-transport-security": "max-age=31536000",
    "cross-origin-opener-policy": null,
    "access-control-allow-origin": null,
    "cross-origin-resource-policy": null,
    "content-security-policy-report-only": null
   },
   "peer_ip": "23.215.0.138"
  },
  "verdict": "up"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/fetchx402-uptime-check-2046506d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.fetchx402.com](https://www.zero.xyz/host/api.fetchx402.com/llms.txt)
