POST /api/v1/generate/{kind}
Pure record builders, no DNS queries. Warnings and errors are returned as structured, machine-readable codes (for example “too-many-lookups”), never as display text; this is intentional so integrations can localize them.
Name Type Required Description kindstringyes -
Plus the fields of one of these variants:
Variant Fields SpfGenerateInputallowA: boolean, allowMx: boolean, ip4: string[], ip6: string[], includes: string[], all: stringDmarcGenerateInputpolicy: string, subdomainPolicy: string, rua: string[], ruf: string[], pct: integer, adkim: string, aspf: string, fo: string, domain: stringCaaGenerateInputissue: string[], issuewild: string[], iodef: string, critical: booleanMtaStsGenerateInputdomain: string, mode: string, mx: string[], maxAgeDays: integer, id: string, tlsRptEmail: string
Status Type Description 200SpfGenerateResult | DmarcGenerateResult | CaaGenerateResult | MtaStsGenerateResultGenerated record(s), shape depends on kind 400objectError 405objectError 429objectError
Field Type Required Description apistringno - kindstringno - warningsIssueCode []no -
Plus the fields of one of these variants:
Variant Fields SpfGenerateResulthost: string, type: string, record: string, lookupCount: integer, errors: IssueCode []DmarcGenerateResulthost: string, type: string, record: string, errors: IssueCode []CaaGenerateResultrecords: GeneratedRecord []MtaStsGenerateResultdnsRecord: GeneratedRecord , policyFile: string, policyUrl: string, tlsRptRecord: GeneratedRecord
curl -X POST " https://dns-doctor.com/api/v1/generate/<kind> " \
-H " Authorization: Bearer $REGFISH_API_KEY " \
-H " Content-Type: application/json " \
Fill in values - the call below updates as you type. Nothing is sent: the API does not currently allow browser requests from this domain (CORS). The API key is not stored.