{"openapi":"3.1.0","info":{"title":"Mail Security Tools API","version":"1.0.0","description":"Free DMARC, SPF, DKIM and MX checks for any domain, from mailsecuritytools.com. Paid (x402 USDC on Base): a $0.01 graded email security score, a $0.01 email address check, and a $1 email security fix plan with the exact DNS records to publish. MCP server at /mcp. Daily monitoring: InboxGuards (inboxguards.com).","contact":{"url":"https://api.mailsecuritytools.com/llms.txt"},"x-guidance":"Free DMARC, SPF, DKIM and MX checks for any domain, from mailsecuritytools.com. Paid (x402 USDC on Base): a $0.01 graded email security score, a $0.01 email address check, and a $1 email security fix plan with the exact DNS records to publish. MCP server at /mcp. Daily monitoring: InboxGuards (inboxguards.com). Call a paid route without payment to get an x402 v2 challenge (402 + PAYMENT-REQUIRED header), pay in USDC, retry with PAYMENT-SIGNATURE. Invalid input -> 400, never charged. More: https://api.mailsecuritytools.com/llms.txt"},"servers":[{"url":"https://api.mailsecuritytools.com"}],"x-discovery":{"wellKnown":"https://api.mailsecuritytools.com/.well-known/x402","llms":"https://api.mailsecuritytools.com/llms.txt"},"paths":{"/v1/score":{"get":{"operationId":"v1_score","summary":"Graded email security score (0-100, A-F) for a domain","description":"Scores SPF (30), DMARC (40), DKIM (25) and MX (5) from live DNS, with findings and the top 3 fixes. Bad input 400, unknown domain 404, never charged.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x2dAF658B01e257206375798a15832E9f547D65dD"}}]},"responses":{"200":{"description":"Success (payment settled)","content":{"application/json":{}}},"400":{"description":"Invalid input. Never charged."},"402":{"description":"Payment required. x402 v2 challenge in the PAYMENT-REQUIRED header."},"404":{"description":"Unknown or deleted test. Never charged."},"409":{"description":"Report not ready (waiting, rejected_or_not_received, or analysis_failed). Never charged."}},"parameters":[{"name":"domain","in":"query","required":true,"schema":{"type":"string","maxLength":320,"description":"Domain (or an email/URL on it), e.g. example.com"},"example":"example.com"}]}},"/v1/email-check":{"get":{"operationId":"v1_email_check","summary":"Email address check: syntax, MX, disposable and role account (no SMTP probe)","description":"Checks one address without sending mail. Verdict ok / risky / undeliverable. Bad syntax 400, never charged.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x2dAF658B01e257206375798a15832E9f547D65dD"}}]},"responses":{"200":{"description":"Success (payment settled)","content":{"application/json":{}}},"400":{"description":"Invalid input. Never charged."},"402":{"description":"Payment required. x402 v2 challenge in the PAYMENT-REQUIRED header."},"404":{"description":"Unknown or deleted test. Never charged."},"409":{"description":"Report not ready (waiting, rejected_or_not_received, or analysis_failed). Never charged."}},"parameters":[{"name":"email","in":"query","required":true,"schema":{"type":"string","maxLength":320,"description":"Email address"},"example":"jane@example.com"}]}},"/v1/fix-plan":{"get":{"operationId":"v1_fix_plan","summary":"Email security fix plan: the exact SPF, DKIM and DMARC records to publish, with steps for your DNS host","description":"Reads live MX, NS, SPF, DKIM and DMARC, detects the mailbox provider and DNS host, and returns the records to publish in order with a staged DMARC rollout. Non-sending domains get a lock-down set. Bad input 400, unknown domain 404, never charged.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1"},"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x2dAF658B01e257206375798a15832E9f547D65dD"}}]},"responses":{"200":{"description":"Success (payment settled)","content":{"application/json":{}}},"400":{"description":"Invalid input. Never charged."},"402":{"description":"Payment required. x402 v2 challenge in the PAYMENT-REQUIRED header."},"404":{"description":"Unknown or deleted test. Never charged."},"409":{"description":"Report not ready (waiting, rejected_or_not_received, or analysis_failed). Never charged."}},"parameters":[{"name":"domain","in":"query","required":true,"schema":{"type":"string","maxLength":320,"description":"Domain (or an email/URL on it), e.g. example.com"},"example":"example.com"}]}}}}