DMARC Management API

DMARC-Domains per API hinzufügen, verifizieren und verwalten. Aggregate-Reports und Statistiken programmatisch abrufen.

Überblick

Die DMARC Management API bietet volle programmatische Kontrolle über Ihr DMARC-Monitoring.

MethodeEndpunktBeschreibung
GET/api/v1/dmarc/domainsAlle Domains listen
POST/api/v1/dmarc/domainsNeue Domain hinzufügen
GET/api/v1/dmarc/domains/{id}Domain-Details abrufen
DELETE/api/v1/dmarc/domains/{id}Domain + alle Reports löschen
POST/api/v1/dmarc/domains/{id}/verifyDomain-Inhaberschaft verifizieren (DNS)
GET/api/v1/dmarc/domains/{id}/reportsAggregate-Reports abrufen (paginiert)
GET/api/v1/dmarc/domains/{id}/tls-reportsTLS-RPT Reports abrufen (TLS-Fehler)
GET/api/v1/dmarc/domains/{id}/statsPass-Raten & Top-Absender

Setup-Workflow

  1. POST /api/v1/dmarc/domains — Domain hinzufügen, DNS-Anleitung erhalten
  2. TXT-Records im DNS anlegen (Verifizierung + DMARC)
  3. POST /api/v1/dmarc/domains/{id}/verify — Inhaberschaft verifizieren
  4. 24-72h warten bis erste Reports eingehen
  5. GET /api/v1/dmarc/domains/{id}/reports — Reports abrufen
  6. GET /api/v1/dmarc/domains/{id}/stats — Statistiken abrufen

Endpunkt-Details

Domain hinzufügen

POST /api/v1/dmarc/domains
Authorization: Bearer IHR_TOKEN
Content-Type: application/json

{ "domain": "example.com" }

Antwort:
{
  "success": true,
  "data": {
    "id": "abc-123",
    "domain": "example.com",
    "verified": false,
    "reportEmail": "d-xxx@dmarc.provider.tools",
    "dmarcRecord": "v=DMARC1; p=none; rua=mailto:...; ruf=mailto:...",
    "setup": {
      "step1": { "host": "_provider-tools.example.com", "type": "TXT", "value": "provider-tools-verify=..." },
      "step2": { "host": "_dmarc.example.com", "type": "TXT", "value": "v=DMARC1; ..." },
      "step3": { "method": "POST", "url": "/api/v1/dmarc/domains/abc-123/verify" }
    }
  }
}

Domain verifizieren

POST /api/v1/dmarc/domains/{domainId}/verify
Authorization: Bearer IHR_TOKEN

// Erfolgreich:
{ "success": true, "verified": true, "message": "Domain verified successfully!" }

// Noch nicht verifiziert:
{ "success": true, "verified": false, "expected": { "host": "...", "value": "..." }, "found": [] }

Statistiken abrufen

GET /api/v1/dmarc/domains/{domainId}/stats?days=30
Authorization: Bearer IHR_TOKEN

Antwort:
{
  "data": {
    "totalMessages": 52340,
    "dkimPassRate": 97,
    "spfPassRate": 95,
    "topSenders": [
      { "organization": "google.com", "messages": 30000, "dkimPassRate": 99, "spfPassRate": 98 }
    ]
  }
}

TLS-RPT Reports abrufen

GET /api/v1/dmarc/domains/{domainId}/tls-reports?days=30
Authorization: Bearer IHR_TOKEN

Antwort:
{
  "data": {
    "domain": "example.com",
    "tlsRptRecord": "v=TLSRPTv1; rua=mailto:t-xxx@dmarc.provider.tools",
    "summary": {
      "totalReports": 12,
      "totalSuccessfulSessions": 45230,
      "totalFailedSessions": 3,
      "failureRate": 0,
      "topReporters": [{"organization": "google.com", "success": 30000, "fail": 1}]
    }
  }
}

TLS-RPT DNS-Record: _smtp._tls.example.com TXT "v=TLSRPTv1; rua=mailto:t-xxx@dmarc.provider.tools"

Domain löschen

DELETE /api/v1/dmarc/domains/{domainId}
Authorization: Bearer IHR_TOKEN

// ACHTUNG: Löscht Domain und ALLE Reports dauerhaft!
{ "success": true, "message": "Domain example.com removed" }