API-reference
REST + Sanctum bearer-tokens. JSON-only.
Authenticatie
Genereer per user een token in /admin/api-tokens. Stuur 'm mee als
Authorization: Bearer <token> op elke request. Tokens erven de
rechten van de owning user binnen z'n tenant.
Rate-limits
- 120 req/min per token op de meeste endpoints.
- 30 req/min op
POST /api/v1/scans(synchroon, hogere kost per call).
GET /api/v1/me
Connectivity-check + token-validatie.
curl -H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json" \
https://app.senderproof.eu/api/v1/me
{
"user": { "id": 12, "email": "you@acme.com", "name": "Jane" },
"tenant_id": 5,
"super_admin": false
}
POST /api/v1/scans
Start een DMARC/SPF/DKIM/MX/MTA-STS/TLS-RPT/BIMI/DNSSEC-scan op één of meer domeinen.
curl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"domains": ["acme.com"]}' \
https://app.senderproof.eu/api/v1/scans
Eén domain: synchroon (201 met volledig resultaat). Meerdere: asynchroon
(202 met scan-IDs; poll via GET /api/v1/scans/<id>).
GET /api/v1/scans/{id}
Haal scan-resultaat op (status: pending / running / done / failed).
GET /api/v1/domains/{domain}/scan
Meest recente succesvolle scan voor een domein. Handig om scan-resultaten te embedden in eigen dashboards zonder nieuwe scan te triggeren.
Foutmodel
HTTP 401 { "message": "Unauthenticated." }
HTTP 422 { "message": "Validation failed", "errors": { "domains.0": ["..."] } }
HTTP 429 { "message": "Too Many Requests" }
Webhook-events
Komt in Sprint 4 — abonneer op DMARC alert-rules, scan-completion, en brand-watch hits.