# Domain Dossier

> Domain Dossier is a paid API for AI agents from x402.botsmith.dev, paid per call via x402, $0.004/call, status unknown (last checked 2026-09-15).

Returns a comprehensive domain intelligence report including DNS records, email security posture, RDAP registration data, and live TLS certificate details in a single API call.

## Facts

- Endpoint: GET https://x402.botsmith.dev/dossier
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/domain-dossier-868b4515
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_CfjSCaey7dV7GFG93k_rs

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 domain-dossier-868b4515
```

Example prompt: Pull a full domain dossier for openai.com — I want to see all the DNS records, whether they have SPF and DMARC set up, who the registrar is and when it expires, and whether their TLS cert is still healthy.

## When to prefer this

Use this endpoint when you need a comprehensive single-call snapshot of a domain's infrastructure, email security, registration status, and TLS health — especially when you would otherwise need to make four separate lookups (DNS resolver, SPF/DMARC checker, WHOIS/RDAP, and TLS probe). Ideal for domain vetting, phishing investigation, vendor due diligence, or pre-flight checks before trusting an unknown domain.

## Known failure modes

- Domain does not resolve — dns field returns null
- No HTTPS service on port 443 — tls field returns null
- Domain not found in RDAP — registration data absent or partial
- Invalid domain format — rejected by pattern validation before call is made
- RDAP registry timeout — registration block may be incomplete
- Network error reaching upstream DNS or RDAP — 5xx response

## How this service works

Domain Dossier ($0.004/call): Full domain dossier in one call: DNS records (A/AAAA/NS/MX/TXT/CNAME), email security posture (SPF, DMARC policy), RDAP registration data (registrar, age, expiry) and live TLS certificate details. Replaces four separate lookups.

## Output

A structured JSON object with five top-level sections: dns (A, AAAA, NS, MX, TXT, CNAME arrays), email (SPF and DMARC policy details), registration (registrar, creation date, expiry date, domain age via RDAP), and tls (issuer, subject, validFrom, validTo, daysUntilExpiry, altNames) — all fetched live in a single call. DNS and TLS sections are null when the domain doesn't resolve or has no HTTPS listener.

## 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"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "domain"
     ],
     "properties": {
      "domain": {
       "type": "string",
       "pattern": "^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,63}$",
       "maxLength": 253,
       "description": "Domain to investigate, e.g. example.com"
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "domain",
      "dns",
      "email",
      "registration",
      "tls"
     ],
     "properties": {
      "dns": {
       "anyOf": [
        {
         "type": "object",
         "required": [
          "a",
          "aaaa",
          "ns",
          "mx",
          "txt",
          "cname"
         ],
         "properties": {
          "a": {
           "type": "array",
           "items": {
            "type": "string"
           }
          },
          "mx": {
           "type": "array",
           "items": {
            "type": "object",
            "required": [
             "exchange",
             "priority"
            ],
            "properties": {
             "exchange": {
              "type": "string"
             },
             "priority": {
              "type": "number"
             }
            },
            "additionalProperties": false
           }
          },
          "ns": {
           "type": "array",
           "items": {
            "type": "string"
           }
          },
          "txt": {
           "type": "array",
           "items": {
            "type": "string"
           }
          },
          "aaaa": {
           "type": "array",
           "items": {
            "type": "string"
           }
          },
          "cname": {
           "anyOf": [
            {
             "type": "string"
            },
            {
             "type": "null"
            }
           ]
          }
         },
         "additionalProperties": false
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/domain-dossier-868b4515/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.botsmith.dev](https://www.zero.xyz/host/x402.botsmith.dev/llms.txt)
