{"openapi":"3.1.0","info":{"title":"Email & Domain Intelligence API","version":"1.0.0","description":"Check email syntax, MX, SPF, DKIM, DMARC, RDAP registration, and public TLS for a domain. Mailbox existence is not tested, and no reputation score is invented. Paid with x402 exact USDC on Base. No account is required.","contact":{"email":"support@brainiac.software"},"x-guidance":"BRAINIAC.software is a pay-per-call API for software agents. No account or API key is required.\nPayment uses the x402 protocol with exact USDC on Base (chain id 8453). Each POST operation has a fixed USD price.\nHow to call an operation:\n1. POST a JSON body matching the operation's requestBody schema to the operation path. Include an Idempotency-Key header (64 hex characters, 32 random bytes).\n2. If you have not paid, the server responds 402 with payment requirements in the body. Pay the exact amount to the payTo address on Base.\n3. Retry the identical request with the same Idempotency-Key and add a payment-signature header containing the x402 payment payload. On success (200) the operation result is returned.\n4. Reuse the same Idempotency-Key only for retries of the same operation and request body; it will not be charged twice.\nAll outputs are compliance prechecks, drafts, or data lookups for human review. They are not official determinations, legal advice, identity confirmation, or certified filings. Verify time-sensitive or official data with the cited source before acting."},"servers":[{"url":"https://www.brainiac.software"}],"paths":{"/api/v1/email-domain/syntax-validate":{"post":{"operationId":"validate_email_syntax","summary":"Validate email syntax","description":"Check that an address is a bare email with a public domain. The mailbox is not contacted, and a valid result does not mean the address exists.","tags":["email-domain"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"email":{"type":"string","minLength":3,"maxLength":254}},"required":["email"],"additionalProperties":false},"example":{"email":"user@gmail.com"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"sendsMail":{"type":"boolean"},"mailboxChecked":{"type":"boolean"},"status":{"type":"string"},"email":{"type":"string"},"localPart":{"type":"string"},"domain":{"type":"string"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-02T19:00:00.000Z","sendsMail":false,"mailboxChecked":false,"status":"valid","email":"user@gmail.com","localPart":"user","domain":"gmail.com","findings":[{"kind":"present","code":"email_syntax_valid","detail":"The address matches the bare email syntax check. This does not show that the mailbox exists."}],"limitations":["No test message is sent and no mailbox login is attempted.","Syntax and MX records do not show that a mailbox exists.","A reputation verdict is unavailable unless a public unauthenticated source provides one.","Private, loopback, and link-local addresses are not contacted."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/api/v1/email-domain/verify":{"post":{"operationId":"verify_an_email_domain","summary":"Verify an email domain","description":"Resolve a public domain and report whether nameserver, address, and MX records were found. MX presence does not mean a mailbox exists.","tags":["email-domain"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"email":{"type":"string","minLength":3,"maxLength":254},"domain":{"type":"string","minLength":1,"maxLength":253}},"additionalProperties":false},"example":{"domain":"gmail.com"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"sendsMail":{"type":"boolean"},"mailboxChecked":{"type":"boolean"},"status":{"type":"string"},"email":{"type":"string"},"domain":{"type":"string"},"nameservers":{"type":"boolean"},"address":{"type":"boolean"},"mx":{"type":"boolean"},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-02T19:00:00.000Z","sendsMail":false,"mailboxChecked":false,"status":"present","email":"","domain":"gmail.com","nameservers":true,"address":true,"mx":true,"findings":[],"limitations":["No test message is sent and no mailbox login is attempted.","Syntax and MX records do not show that a mailbox exists.","A reputation verdict is unavailable unless a public unauthenticated source provides one.","Private, loopback, and link-local addresses are not contacted.","A domain with MX records is not evidence that any particular mailbox exists."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/email-domain/mx-record-check":{"post":{"operationId":"check_mx_records","summary":"Check MX records","description":"Look up MX hosts, including a null MX, and resolve each public host. Missing records, lookup failures, and non-public hosts are reported separately. No message is sent.","tags":["email-domain"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"domain":{"type":"string","minLength":1,"maxLength":253}},"required":["domain"],"additionalProperties":false},"example":{"domain":"gmail.com"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"sendsMail":{"type":"boolean"},"mailboxChecked":{"type":"boolean"},"status":{"type":"string"},"domain":{"type":"string"},"exchanges":{"type":"array","items":{"type":"object","properties":{"preference":{"type":"number"},"exchange":{"type":"string"},"resolves":{"type":"string"}},"additionalProperties":true}},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-02T19:00:00.000Z","sendsMail":false,"mailboxChecked":false,"status":"present","domain":"gmail.com","exchanges":[{"preference":5,"exchange":"gmail-smtp-in.l.google.com","resolves":"yes"},{"preference":20,"exchange":"alt2.gmail-smtp-in.l.google.com","resolves":"yes"},{"preference":30,"exchange":"alt3.gmail-smtp-in.l.google.com","resolves":"yes"},{"preference":40,"exchange":"alt4.gmail-smtp-in.l.google.com","resolves":"yes"},{"preference":10,"exchange":"alt1.gmail-smtp-in.l.google.com","resolves":"yes"}],"findings":[],"limitations":["No test message is sent and no mailbox login is attempted.","Syntax and MX records do not show that a mailbox exists.","A reputation verdict is unavailable unless a public unauthenticated source provides one.","Private, loopback, and link-local addresses are not contacted."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/email-domain/spf-record-analyze":{"post":{"operationId":"analyze_an_spf_record","summary":"Analyze an SPF record","description":"Read the published SPF policy and expand redirect or include targets for one level, up to eight lookups. +all is reported as a misconfiguration.","tags":["email-domain"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"domain":{"type":"string","minLength":1,"maxLength":253}},"required":["domain"],"additionalProperties":false},"example":{"domain":"gmail.com"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"sendsMail":{"type":"boolean"},"mailboxChecked":{"type":"boolean"},"status":{"type":"string"},"domain":{"type":"string"},"record":{"type":"string"},"all":{"type":"string"},"lookups":{"type":"number"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-02T19:00:00.000Z","sendsMail":false,"mailboxChecked":false,"status":"present","domain":"gmail.com","record":"v=spf1 redirect=_spf.google.com","all":"~all","lookups":2,"findings":[{"kind":"warning","code":"spf_softfail","detail":"The SPF record uses ~all."}],"limitations":["No test message is sent and no mailbox login is attempted.","Syntax and MX records do not show that a mailbox exists.","A reputation verdict is unavailable unless a public unauthenticated source provides one.","Private, loopback, and link-local addresses are not contacted.","SPF includes are expanded for at most one level and eight extra lookups."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/email-domain/dkim-record-check":{"post":{"operationId":"check_dkim_records","summary":"Check DKIM records","description":"Look up DKIM public keys for the supplied selectors. When no selector is supplied, only google, selector1, selector2, s1, s2, and k1 are queried.","tags":["email-domain"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"domain":{"type":"string","minLength":1,"maxLength":253},"selectors":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","minLength":1,"maxLength":63}}},"required":["domain"],"additionalProperties":false},"example":{"domain":"outlook.com","selectors":["selector1"]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"sendsMail":{"type":"boolean"},"mailboxChecked":{"type":"boolean"},"status":{"type":"string"},"domain":{"type":"string"},"selectors":{"type":"array","items":{"type":"object","properties":{"selector":{"type":"string"},"status":{"type":"string"},"keyPresent":{"type":"boolean"}},"additionalProperties":true}},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-02T19:00:00.000Z","sendsMail":false,"mailboxChecked":false,"status":"present","domain":"outlook.com","selectors":[{"selector":"selector1","status":"present","keyPresent":true}],"findings":[],"limitations":["No test message is sent and no mailbox login is attempted.","Syntax and MX records do not show that a mailbox exists.","A reputation verdict is unavailable unless a public unauthenticated source provides one.","Private, loopback, and link-local addresses are not contacted.","When no selector is supplied, only google, selector1, selector2, s1, s2, and k1 are queried."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/email-domain/dmarc-policy-analyze":{"post":{"operationId":"analyze_a_dmarc_policy","summary":"Analyze a DMARC policy","description":"Read the _dmarc TXT record and report p and pct. A missing record, a failed lookup, and p=none are separate results. No aggregate report is sent.","tags":["email-domain"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"domain":{"type":"string","minLength":1,"maxLength":253}},"required":["domain"],"additionalProperties":false},"example":{"domain":"gmail.com"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"sendsMail":{"type":"boolean"},"mailboxChecked":{"type":"boolean"},"status":{"type":"string"},"domain":{"type":"string"},"record":{"type":"string"},"policy":{"type":"string"},"subdomainPolicy":{"type":"string"},"percentage":{"type":"string"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-02T19:00:00.000Z","sendsMail":false,"mailboxChecked":false,"status":"present","domain":"gmail.com","record":"v=DMARC1; p=none; sp=quarantine; rua=mailto:mailauth-reports@google.com","policy":"none","subdomainPolicy":"quarantine","percentage":"","findings":[{"kind":"warning","code":"dmarc_none","detail":"DMARC is published with p=none, so failing mail is not quarantined or rejected by this policy."}],"limitations":["No test message is sent and no mailbox login is attempted.","Syntax and MX records do not show that a mailbox exists.","A reputation verdict is unavailable unless a public unauthenticated source provides one.","Private, loopback, and link-local addresses are not contacted."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/email-domain/reputation-signals":{"post":{"operationId":"report_domain_registration_signals","summary":"Report domain registration signals","description":"Return the RDAP registration date and whether a DNSSEC DS record is published. The reputation verdict stays unavailable because no unauthenticated reputation feed is queried.","tags":["email-domain"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"domain":{"type":"string","minLength":1,"maxLength":253}},"required":["domain"],"additionalProperties":false},"example":{"domain":"cloudflare.com"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"sendsMail":{"type":"boolean"},"mailboxChecked":{"type":"boolean"},"domain":{"type":"string"},"reputation":{"type":"string"},"registered":{"type":"string"},"dnssec":{"type":"string"},"signals":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-02T19:00:00.000Z","sendsMail":false,"mailboxChecked":false,"domain":"cloudflare.com","reputation":"unavailable","registered":"2009-02-17T22:07:54Z","dnssec":"present","signals":[{"kind":"unavailable","code":"reputation_unavailable","detail":"No unauthenticated public reputation feed was queried. Registration age and DNSSEC are facts, not a reputation verdict."},{"kind":"present","code":"registration_date","detail":"RDAP reports registration on 2009-02-17."},{"kind":"present","code":"dnssec_present","detail":"A DS record is published."}],"limitations":["No test message is sent and no mailbox login is attempted.","Syntax and MX records do not show that a mailbox exists.","A reputation verdict is unavailable unless a public unauthenticated source provides one.","Private, loopback, and link-local addresses are not contacted."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/email-domain/registration-lookup":{"post":{"operationId":"look_up_domain_registration","summary":"Look up domain registration","description":"Read public RDAP data for the domain, including registrar, registration and expiration events, status, and nameservers. A not-found response is not proof the domain is unregistered everywhere.","tags":["email-domain"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"domain":{"type":"string","minLength":1,"maxLength":253}},"required":["domain"],"additionalProperties":false},"example":{"domain":"gmail.com"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"sendsMail":{"type":"boolean"},"mailboxChecked":{"type":"boolean"},"domain":{"type":"string"},"status":{"type":"string"},"sourceUrl":{"type":"string"},"name":{"type":"string"},"registrar":{"type":"string"},"registered":{"type":"string"},"expires":{"type":"string"},"statuses":{"type":"array","items":{"type":"string"}},"nameservers":{"type":"array","items":{"type":"string"}},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-02T19:00:00.000Z","sendsMail":false,"mailboxChecked":false,"domain":"gmail.com","status":"found","sourceUrl":"https://rdap.verisign.com/com/v1/domain/gmail.com","name":"GMAIL.COM","registrar":"MarkMonitor Inc.","registered":"1995-08-13T04:00:00Z","expires":"2027-08-12T04:00:00Z","statuses":["client delete prohibited","client transfer prohibited","client update prohibited","server delete prohibited","server transfer prohibited","server update prohibited"],"nameservers":["ns1.google.com","ns2.google.com","ns3.google.com","ns4.google.com"],"findings":[],"limitations":["No test message is sent and no mailbox login is attempted.","Syntax and MX records do not show that a mailbox exists.","A reputation verdict is unavailable unless a public unauthenticated source provides one.","Private, loopback, and link-local addresses are not contacted.","Registration data comes from the public RDAP redirect for the domain."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/api/v1/email-domain/tls-inspect":{"post":{"operationId":"inspect_domain_tls","summary":"Inspect domain TLS","description":"Connect to port 443 of a public address for the domain and read the certificate. Certificate transparency names come from public crt.sh results. No other port is contacted.","tags":["email-domain"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"domain":{"type":"string","minLength":1,"maxLength":253}},"required":["domain"],"additionalProperties":false},"example":{"domain":"gmail.com"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"sendsMail":{"type":"boolean"},"mailboxChecked":{"type":"boolean"},"domain":{"type":"string"},"status":{"type":"string"},"protocol":{"type":"string"},"issuer":{"type":"string"},"subject":{"type":"string"},"validFrom":{"type":"string"},"validTo":{"type":"string"},"hostnameMatches":{"type":"boolean"},"names":{"type":"array","items":{"type":"string"}},"findings":{"type":"array","items":{}},"ctStatus":{"type":"string"},"certificates":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-02T19:00:00.000Z","sendsMail":false,"mailboxChecked":false,"domain":"gmail.com","status":"present","protocol":"TLSv1.3","issuer":"WE2","subject":"gmail.com","validFrom":"Oct  7 19:09:06 2026 GMT","validTo":"Dec 30 19:09:05 2026 GMT","hostnameMatches":true,"names":["gmail.com","*.gmail.com"],"findings":[],"ctStatus":"unavailable","certificates":[],"limitations":["No test message is sent and no mailbox login is attempted.","Syntax and MX records do not show that a mailbox exists.","A reputation verdict is unavailable unless a public unauthenticated source provides one.","Private, loopback, and link-local addresses are not contacted.","Certificate transparency data is read from crt.sh without authentication. A failed transparency lookup does not change the live certificate result."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/api/v1/email-domain/deliverability-report":{"post":{"operationId":"report_email_deliverability_checks","summary":"Report email deliverability checks","description":"Combine syntax, MX, SPF, DKIM, DMARC, RDAP, and TLS checks. No message is sent, the mailbox is not checked, and a clear report does not promise delivery.","tags":["email-domain"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"email":{"type":"string","minLength":3,"maxLength":254},"domain":{"type":"string","minLength":1,"maxLength":253},"selectors":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","minLength":1,"maxLength":63}}},"additionalProperties":false},"example":{"email":"user@outlook.com","selectors":["selector1"]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"sendsMail":{"type":"boolean"},"mailboxChecked":{"type":"boolean"},"assessment":{"type":"string"},"summary":{"type":"string"},"email":{"type":"string"},"domain":{"type":"string"},"sections":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"status":{"type":"string"}},"additionalProperties":true}},"counts":{"type":"object","properties":{"misconfigured":{"type":"number"},"lookup_failed":{"type":"number"},"missing":{"type":"number"},"warning":{"type":"number"}},"additionalProperties":true},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-02T19:00:00.000Z","sendsMail":false,"mailboxChecked":false,"assessment":"incomplete","summary":"A mail record is missing, a lookup did not finish, or a published policy is only partial. No message was sent, and the mailbox was not checked.","email":"user@outlook.com","domain":"outlook.com","sections":[{"name":"syntax","status":"present"},{"name":"mx","status":"present"},{"name":"spf","status":"present"},{"name":"dkim","status":"present"},{"name":"dmarc","status":"present"},{"name":"registration","status":"present"},{"name":"tls","status":"present"},{"name":"reputation","status":"unavailable"}],"counts":{"misconfigured":0,"lookup_failed":0,"missing":0,"warning":1},"findings":[{"kind":"present","code":"email_syntax_valid","detail":"The address matches the bare email syntax check. This does not show that the mailbox exists."},{"kind":"warning","code":"dmarc_none","detail":"DMARC is published with p=none, so failing mail is not quarantined or rejected by this policy."}],"limitations":["No test message is sent and no mailbox login is attempted.","Syntax and MX records do not show that a mailbox exists.","A reputation verdict is unavailable unless a public unauthenticated source provides one.","Private, loopback, and link-local addresses are not contacted.","The report does not send mail and does not assign a reputation score."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.12"},"protocols":[{"x402":{}}]}}}},"components":{"schemas":{"ApiError":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{}}}}}}}}