
# E-Mail-Absender-Domain verifizieren

`POST /v1/email-sender-domains/{sender_domain_id}:verify` · Berechtigung `email-sender-domains:write` · alle Tarife

Prüft die DNS-Einträge der Domain jetzt und gibt die aktualisierte Domain zurück. Die Plattform prüft außerdem jede Domain täglich mit denselben Regeln:

- Wenn die beiden DKIM-CNAMEs und der Return-Path-CNAME alle auf die richtigen Ziele zeigen, wird eine `pending_dns`- oder `degraded`-Domain zu `verified`.
- Schlägt eine `verified`-Domain 72 Stunden lang weiterhin fehl, wird sie zu `degraded`, und die E-Mails der Umgebung werden von der Plattform-Domain gesendet, bis die Einträge korrigiert sind.
- DMARC wird in `dmarc_alignment` gemeldet, ist aber nicht erforderlich. Existiert kein `_dmarc`-Eintrag, enthält `records` einen Vorschlag dafür.

Eine von der Plattform deaktivierte Domain kann nicht geprüft werden. Jede Umgebung kann 20 Prüfungen pro Stunde ausführen.

## Anfrage

| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `sender_domain_id` | string | ja | Sender-Domain-ID (`sdom_…`). |
| `Idempotency-Key` | header | nein | Liefert dieselbe Antwort für eine wiederholte Anfrage mit demselben Schlüssel. |

Kein Anfragekörper.

## Antwort

`200 OK` mit der geprüften Absender-Domain und `ETag` auf ihre neue Version gesetzt. Die Felder sind unter [E-Mail-Absender-Domain abrufen](get.md) beschrieben.

```json
{
  "id": "sdom_01k7r9m3q5t8v2w4x6y8z0a2b4",
  "domain": "mail.example.com",
  "status": "verified",
  "active_selector": "akp1",
  "dkim_status": "ok",
  "return_path_status": "ok",
  "dmarc_alignment": "no_record",
  "last_checked_at": "2026-10-19T09:30:00Z",
  "failing_since": null,
  "degraded_since": null,
  "records": [
    {
      "type": "CNAME",
      "name": "akp1._domainkey.mail.example.com",
      "value": "akp1.sdom_01k7r9m3q5t8v2w4x6y8z0a2b4.dkim.eu.keenauth.app",
      "required": true
    },
    {
      "type": "CNAME",
      "name": "akp2._domainkey.mail.example.com",
      "value": "akp2.sdom_01k7r9m3q5t8v2w4x6y8z0a2b4.dkim.eu.keenauth.app",
      "required": true
    },
    {
      "type": "CNAME",
      "name": "rp.mail.example.com",
      "value": "rp.eu.mail.keenauth.app",
      "required": true
    },
    {
      "type": "TXT",
      "name": "_dmarc.mail.example.com",
      "value": "v=DMARC1; p=none",
      "required": false
    }
  ],
  "version": 2,
  "created_at": "2026-10-19T09:00:00Z",
  "updated_at": "2026-10-19T09:30:00Z"
}
```

## Fehler

| HTTP | Code | Wann |
|---|---|---|
| 404 | `not_found` | Die Absender-Domain existiert nicht, gehört zu einer anderen Umgebung oder die ID ist ungültig. |
| 409 | `conflict` | Die Domain wurde von der Plattform deaktiviert. |
| 429 | `rate_limited` | Die Umgebung hat in der letzten Stunde 20 Prüfungen ausgeführt oder das allgemeine Ratenlimit wurde überschritten; wiederholen Sie die Anfrage nach dem Zeitraum aus `Retry-After`. |
| 401 | `unauthenticated` | Die Anmeldedaten fehlen, sind ungültig oder widerrufen. |
| 403 | `insufficient_permissions` | Den Anmeldedaten fehlt die erforderliche Berechtigung. |
| 503 | `service_unavailable` | Ein Dienst ist vorübergehend nicht verfügbar; wiederholen Sie die Anfrage nach dem Zeitraum aus `Retry-After`. |

## Beispiel

```bash
curl -X POST https://api.eu.keenauth.com/v1/email-sender-domains/sdom_01k7r9m3q5t8v2w4x6y8z0a2b4:verify \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

CLI: `keenauth email-sender-domains verify sdom_01k7r9m3q5t8v2w4x6y8z0a2b4`
