# Domain Dossier — Composite Domain Intelligence Report

> Domain Dossier — Composite Domain Intelligence Report is a paid API for AI agents from x402.agentutility.ai, paid per call via x402, $0.04/call, status unknown (last checked 2026-11-03).

Runs WHOIS, DNS, TLS, domain age, risk, and DMARC checks in parallel and merges them into a single structured domain intelligence report

## Facts

- Endpoint: POST https://x402.agentutility.ai/domain-dossier?utm_source=zero.xyz
- Price: $0.04/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-03
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/domain-dossier-composite-domain-intelligence-report-e04ec6b3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_omkFJj5eZ6OwB6XQgUDVs

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-composite-domain-intelligence-report-e04ec6b3 -d '<json body>'
```

Example prompt: Can you pull a full domain dossier on 'suspicioussite.xyz' — I want to see WHOIS registration, DNS records, TLS cert status, how old the domain is, any risk flags, and what its email authentication grade looks like?

## When to prefer this

Use this endpoint when you need a comprehensive domain intelligence snapshot in a single call and want to avoid orchestrating six separate API calls yourself. It is ideal for security triage, fraud detection, phishing investigation, vendor due diligence, and brand protection workflows where speed and completeness matter. Prefer it over individual WHOIS, DNS, or TLS endpoints when you need the full picture at once and are comfortable with a composite result that may be partially degraded if one sub-check fails.

## Known failure modes

- Domain does not exist — WHOIS or DNS lookups return no data, partial results returned with degraded=true
- TLS component fails if domain has no HTTPS endpoint — tls section may be null or absent
- DMARC/SPF not configured — email_auth section returns low grade or empty records
- Timeout on one or more sub-checks — degraded=true with failed component flagged in components array
- Invalid domain format input — request rejected with validation error
- Rate limiting or upstream resolver failures causing partial degradation

## How this service works

Builds a full domain report in one call: WHOIS, DNS, TLS, age, risk, and DMARC. Composite: one call runs whois + dns-lookup + ssl-cert-info + domain-age-check + domain-risk-check + dmarc-check in parallel and merges them into {registration, dns, tls, age, risk, email_auth}. One request replaces six separate lookups for security, fraud, and due-diligence agents. Use it as a domain intelligence API, phishing triage bundle, or brand-protection domain workup.

## Output

A merged JSON object with six sections: registration (registrar, nameservers, registered date), dns (flattened record types, total count), tls (days until expiry, issuer name), age (age in days, registered date, days until expiry), risk (flags array, EPP statuses, DNSSEC signed boolean), and email_auth (SPF qualifier, overall grade, numeric score). Also includes a degraded boolean indicating if any sub-checks failed and a components array with per-check timing and status.

## 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",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "required": [
      "domain"
     ],
     "properties": {
      "domain": {
       "type": "string",
       "description": "Domain to profile, e.g. 'example.com'. Max 253 chars."
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "age": {
       "type": "object",
       "properties": {
        "age_days": {
         "type": "integer"
        },
        "registered_date": {
         "type": "string"
        },
        "days_until_expiry": {
         "type": "integer"
        }
       }
      },
      "dns": {
       "type": "object",
       "properties": {
        "flat": {
         "type": "object",
         "properties": {
          "a": {
           "type": "array",
           "items": {
            "type": "string"
           }
          },
          "mx": {
           "type": "array",
           "items": {
            "type": "string"
           }
          }
         }
        },
        "total_records": {
         "type": "integer"
        }
       }
      },
      "tls": {
       "type": "object",
       "properties": {
        "days_until_expiry": {
         "type": "integer"
        },
        "issuer_common_name": {
         "type": "string"
        }
       }
      },
      "risk": {
       "type": "object",
       "properties": {
        "flags": {
         "type": "array"
        },
        "statuses": {
         "type": "array",
         "items": {
          "type": "string"
         }
        },
        "dnssec_signed": {
         "type": "boolean"
        }
       }
      },
      "domain": {
       "type": "string"
      },
      "degraded": {
       "type": "boolean"
      },
      "components": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "ms": {
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "age": {
   "age_days": 11223,
   "registered_date": "1995-08-14T04:00:00Z",
   "days_until_expiry": 98
  },
  "dns": {
   "flat": {
    "a": [
     "93.184.216.34"
    ],
    "mx": [
     "0 ."
    ]
   },
   "total_records": 5
  },
  "tls": {
   "days_until_expiry": 60,
   "issuer_common_name": "DigiCert TLS RSA CA"
  },
  "risk": {
   "flags": [],
   "statuses": [
    "client delete prohibited"
   ],
   "dnssec_signed": true
  },
  "domain": "example.com",
  "degraded": false,
  "components": [
   {
    "ms": 812,
    "ok": true,
    "name": "whois"
   },
   {
    "ms": 143,
    "ok": true,
    "name": "dns-lookup"
   }
  ],
  "email_auth": {
   "spf": {
    "all_qualifier": "~all"
   },
   "grade": "A",
   "score": 85
  },
  "composed_of": [
   "whois",
   "dns-lookup",
   "ssl-cert-info",
   "domain-age-check",
   "domain-risk-check",
   "dmarc-check"
  ],
  "registration": {
   "registrar": {
    "name": "IANA"
   },
   "nameservers": [
    "A.IANA-SERVERS.NET"
   ],
   "registered_date": "1995-08-14T04:00:00Z"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/domain-dossier-composite-domain-intelligence-report-e04ec6b3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.agentutility.ai](https://www.zero.xyz/host/x402.agentutility.ai/llms.txt)
