Spring naar hoofdinhoud
SenderProof

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.