{"name":"FabTally EmailAuth — DMARC/SPF/DKIM validation API for CI/CD & agents","version":"1.0.0","summary":"A machine endpoint that validates email authentication (SPF, DKIM, DMARC, MX, +BIMI/MTA-STS) over public DNS — what MX Toolbox does, but scriptable for CI/CD and agents, with a hard PASS/WARN/FAIL gate you can fail a build on. Flagship POST /v1/email-auth {domain} returns per-mechanism verdicts, a recursive SPF DNS-lookup count vs the RFC 7208 limit of 10, a plain-English summary, and specific fix hints. Individual mechanism endpoints too. Free tier with a per-IP daily quota; unlimited via x402 (USDC on Base) or a prepaid credit key. Stateless, no PII, bad input never charged.","operator":"Sunstone Soft","contact":"hello@fabtally.com","category":"DevOps / email deliverability / security","terms":"Analysis of public DNS records only. No PII, no message content, nothing stored; every request resolves live and is discarded. Informational — not a guarantee of deliverability.","ci":{"githubAction":"A GitHub Action wrapper (action.yml) ships in the repo — fails the build on an overall FAIL (or WARN with fail_on_warn).","curl":"curl -s -XPOST https://emailauth.fabtally.com/v1/email-auth -H 'X-FabTally-Key: fabt_…' -d '{\"domain\":\"example.com\"}' | jq -e '.pass'","gate":"Response fields `overall` (PASS|WARN|FAIL) and `pass` (boolean) are the gate. exit non-zero when pass=false."},"pricing":{"flagship":"$0.003","mechanism":"$0.001","freeTeaserDailyQuota":25,"note":"Volume/CI: prepay credits at https://fabtally.com/buy and send X-FabTally-Key — cheapest per-call path, no quota."},"payment":{"protocol":"x402","x402Version":2,"scheme":"exact","network":"eip155:8453","chainId":"eip155:8453","asset":"USDC","assetAddress":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xccB5d25C698FdfdaA7B21d54088774cF512A90e3","facilitator":"https://facilitator.daydreams.systems","creditRail":{"description":"Prepay by card and send an X-FabTally-Key: fabt_… header instead of x402 — best for CI volume.","buy":"https://fabtally.com/buy","balance":"GET https://fabtally.com/agent/v1/balance"}},"endpoints":[{"key":"email-auth","flagship":true,"method":"POST","url":"https://emailauth.fabtally.com/v1/email-auth","price":"$0.003","priceAtomicUsdc":"3000","free":"https://emailauth.fabtally.com/v1/email-auth/free","getConvenience":"https://emailauth.fabtally.com/v1/email-auth?domain=example.com","description":"Full email-authentication audit for a domain over public DNS: SPF (record, recursive DNS-lookup count vs the RFC 7208 limit of 10, +all/~all/-all, syntax), DKIM (probe common or a provided selector -> key present, length, algorithm), DMARC (p=/sp=/pct, rua/ruf, aspf/adkim alignment), MX presence, and optionally BIMI/MTA-STS. Returns per-mechanism PASS/WARN/FAIL, an overall gate verdict, a plain-English summary, and specific fix hints. Built to be a CI/CD gate.","example":{"domain":"example.com","selector":"(optional DKIM selector)","extras":"true (include BIMI/MTA-STS)"}},{"key":"spf","flagship":false,"method":"POST","url":"https://emailauth.fabtally.com/v1/spf","price":"$0.001","priceAtomicUsdc":"1000","free":"https://emailauth.fabtally.com/v1/spf/free","getConvenience":"https://emailauth.fabtally.com/v1/spf?domain=example.com","description":"SPF analysis: the raw record, a recursive DNS-lookup count (includes/a/mx/ptr/redirect) checked against the RFC 7208 limit of 10, the all-qualifier (+all/~all/-all/?all), duplicate-record and syntax detection, verdict + fixes.","example":{"domain":"example.com"}},{"key":"dmarc","flagship":false,"method":"POST","url":"https://emailauth.fabtally.com/v1/dmarc","price":"$0.001","priceAtomicUsdc":"1000","free":"https://emailauth.fabtally.com/v1/dmarc/free","getConvenience":"https://emailauth.fabtally.com/v1/dmarc?domain=example.com","description":"DMARC analysis: policy (p=), subdomain policy (sp=), pct, rua/ruf report addresses, aspf/adkim alignment mode, duplicate-record detection, PASS/WARN/FAIL verdict + fixes.","example":{"domain":"example.com"}},{"key":"dkim","flagship":false,"method":"POST","url":"https://emailauth.fabtally.com/v1/dkim","price":"$0.001","priceAtomicUsdc":"1000","free":"https://emailauth.fabtally.com/v1/dkim/free","getConvenience":"https://emailauth.fabtally.com/v1/dkim?domain=example.com","description":"DKIM analysis: give a `selector` (from a message's DKIM-Signature s= tag) or let it probe common selectors. Reports whether a key is published, its algorithm (rsa/ed25519), key length in bits, revoked/empty keys, and a verdict + fixes. Selectors are not DNS-enumerable, so a common-selector miss is reported as inconclusive, not a failure.","example":{"domain":"example.com","selector":"google"}}],"fetchedAt":"2026-08-01T04:14:51.955Z"}