# Email Authentication Posture Check (SPF/DMARC/DKIM/MX)

> Email Authentication Posture Check (SPF/DMARC/DKIM/MX) is a paid API for AI agents from email-auth.use.x402atlas.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Parses and grades SPF, DMARC, DKIM, and MX records for any domain, identifying deliverability and anti-spoofing configuration gaps.

## Facts

- Endpoint: GET https://email-auth.use.x402atlas.com/check
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/email-authentication-posture-check-spf-dmarc-dkim-mx-ed2449c6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_TIxiLD0OvAAnMFIWCm6Af

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 email-authentication-posture-check-spf-dmarc-dkim-mx-ed2449c6
```

Example prompt: Can you check the email authentication posture for acme.com — I want to see if their SPF, DMARC, and DKIM records are properly configured and whether there are any deliverability or spoofing gaps?

## When to prefer this

Use this endpoint when you need a fast, structured, automated audit of a domain's email authentication configuration — especially for security operations, deliverability troubleshooting, phishing risk assessment, or bulk domain monitoring pipelines. It is ideal when you need clean JSON output suitable for automation rather than a human-readable web report.

## Known failure modes

- Domain not found or does not exist — returns error indicating invalid domain
- Domain has no DNS records — returns empty or missing record fields
- DKIM selector not found when explicitly specified — returns DKIM check failure
- Network/DNS resolution timeout — returns timeout error
- Invalid domain format provided (e.g. includes scheme or is an IP literal) — returns validation error

## How this service works

Email authentication posture check: parses SPF, DMARC and DKIM plus MX for any domain and grades deliverability/anti-spoofing gaps (SPF +all, SPF >10 lookups, DMARC p=none, missing DKIM). Clean JSON for deliverability and security-ops automation.

## Output

A structured JSON object containing parsed SPF, DMARC, DKIM, and MX records for the specified domain, along with a deliverability/anti-spoofing grade and a list of detected configuration gaps (e.g. SPF uses +all, SPF exceeds 10 DNS lookups, DMARC policy is 'none', DKIM missing).

## 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-]{1,63}(\\.[A-Za-z0-9-]{1,63})*$",
       "maxLength": 253,
       "description": "Domain to check — hostname only, no scheme/IP literal, no trailing dot, no localhost, no local/internal/reserved suffix (.local, .internal, .localdomain, .lan, .test)"
      },
      "selector": {
       "type": "string",
       "description": "Optional DKIM selector to check authoritatively; if omitted, a common-selector list is probed"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "domain",
      "queried_at",
      "accepts_mail",
      "mx",
      "spf",
      "dmarc",
      "dkim",
      "warnings"
     ],
     "properties": {
      "mx": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "host": {
          "type": "string"
         },
         "pref": {
          "type": "integer",
          "maximum": 65535,
          "minimum": 0
         }
        }
       }
      },
      "spf": {
       "type": [
        "object",
        "null"
       ],
       "properties": {
        "record": {
         "type": "string"
        },
        "mechanisms": {
         "type": "array",
         "items": {
          "type": "object",
          "properties": {
           "kind": {
            "enum": [
             "include",
             "a",
             "mx",
             "ip4",
             "ip6",
             "all",
             "exists",
             "ptr",
             "redirect",
             "exp",
             "unknown"
            ],
            "type": "string"
           },
           "value": {
            "type": "string"
           },
           "qualifier": {
            "enum": [
             "+",
             "-",
             "~",
             "?"
            
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "mx": [
   {
    "host": "aspmx.l.google.com.",
    "pref": 1
   }
  ],
  "spf": {
   "record": "v=spf1 include:_spf.google.com ~all",
   "mechanisms": [
    {
     "kind": "include",
     "value": "_spf.google.com",
     "qualifier": "+",
     "causes_dns": true
    },
    {
     "kind": "all",
     "value": "",
     "qualifier": "~",
     "causes_dns": false
    }
   ],
   "dns_lookups": 1,
   "all_qualifier": "~all"
  },
  "dkim": {
   "found": [
    {
     "record": "v=DKIM1; k=rsa; p=MIGfMA0GCSq...",
     "selector": "google"
    }
   ],
   "checked_selectors": [
    "default",
    "google",
    "selector1",
    "selector2",
    "k1",
    "dkim",
    "mail"
   ]
  },
  "dmarc": {
   "pct": 100,
   "rua": [
    "mailto:dmarc@example.com"
   ],
   "ruf": [],
   "aspf": "s",
   "adkim": "s",
   "policy": "reject",
   "record": "v=DMARC1; p=reject; pct=100; rua=mailto:dmarc@example.com; adkim=s; aspf=s",
   "subdomain_policy": ""
  },
  "domain": "example.com",
  "warnings": [],
  "queried_at": "2026-07-02T12:00:00Z",
  "accepts_mail": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/email-authentication-posture-check-spf-dmarc-dkim-mx-ed2449c6/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from email-auth.use.x402atlas.com](https://www.zero.xyz/host/email-auth.use.x402atlas.com/llms.txt)
