API-documentatie

Koppel SPF Pletter aan je eigen tools

Elke route hieronder is gedocumenteerd met echte voorbeelden van verzoek en antwoord. Dezelfde endpoints — met exacte schema's en direct uitproberen — staan in de interactieve OpenAPI-documentatie op /api/py/docs.

Authenticatie

Server-naar-server-aanroepen gebruiken een API-sleutel in de x-api-key-header. Maak er een aan via Profiel → API-sleutels als je bent ingelogd — de sleutel zelf zie je alleen bij het aanmaken; wij bewaren enkel de hash, dus trek 'm in en maak een nieuwe aan als je 'm kwijtraakt.

curl -H "x-api-key: YOUR_KEY" \
  "https://your-deployment/api/py/lookups/example.com"

Rate limits

Elk endpoint hieronder is per aanroeper begrensd. Ga je eroverheen, dan volgt een 429 met een Retry-After-header.

EndpointStandaardlimiet
GET /api/py/dns/{record_type}, GET /api/py/lookups/{domain}60/min
GET /api/py/flatten-preview20/min
GET /api/py/lookups-preview20/min
POST /api/py/contact5/min

Anoniem: plet-preview

Geen authenticatie nodig. Plet het SPF-record van een domein en geeft de herkende afzenders, waarschuwingen en het aantal lookups na het pletten terug. Een domein dat meer dan één SPF-record publiceert is een permerror waarbij er niets te pletten valt: dat geeft een 400 met error op multiple_spf_records en de botsende records in spf_records.

GET /api/py/flatten-preview?domain=example.com

{
  "domain": "example.com",
  "flattened_spf": "v=spf1 ip4:... -all",
  "lookup_count": 3,
  "recognized": [...],
  "warnings": []
}

API-sleutel: DNS opvragen

Vraag elk ondersteund recordtype rechtstreeks op. record_type is een van SPF, TXT, A, AAAA, MX, NS, CNAME. Publiceert een domein meer dan één SPF-record, dan is dat een permerror — multiple_records is dan true en lookup_count is 0.

GET /api/py/dns/SPF?domain=example.com
x-api-key: YOUR_KEY

{
  "record_type": "SPF",
  "domain": "example.com",
  "spf_records": ["v=spf1 ..."],
  "lookup_count": 1,
  "multiple_records": false
}

API-sleutel: lookup-boom

Dezelfde berekening als de anonieme preview, maar aanroepen met een API-sleutel worden vastgelegd als lookup-historie bij de organisatie van die sleutel — gebruik deze als je je verbruik wilt bijhouden.

GET /api/py/lookups/example.com
x-api-key: YOUR_KEY

Al het overige

Routes onder /api/py/orgs, /api/py/monitored, /api/py/keys en /api/py/admin/* bedienen het dashboard van SPF Pletter zelf. Die werken vandaag alleen met een sessiecookie en horen niet bij het stabiele koppelvlak dat hier beschreven staat.