
# Einen markierten Authentifikator reaktivieren

`POST /v1/users/{user_id}/authenticators/{authenticator_id}:reactivate` · Berechtigung `user-credentials:write`

Setzt einen Authentifikator im Status `clone_suspected` (Anomalie beim Signaturzähler eines Passkeys) auf Entscheidung eines Administrators wieder auf `active`; der Zähler wird auf den neuesten Wert ausgerichtet und ein Audit-Eintrag geschrieben. Ist der Authentifikator nicht `clone_suspected`, schlägt der Aufruf mit `409` fehl. Die Anfrage enthält keinen Body.

## Anfrage

| Parameter | In | Pflicht | Beschreibung |
|---|---|---|---|
| `user_id` | path | ja | Benutzer-ID, Präfix `usr_`. |
| `authenticator_id` | path | ja | Authentifikator-ID, Präfix `cred_`. |

Die Anfrage enthält keinen Body.

## Antwort

`200 OK`. Der Body ist der aktualisierte Authentifikator.

Wenn dem Schlüssel die Berechtigung `users:read_pii` fehlt, wird `label` auf Initialen (`A. L.`) reduziert.

```json
{
  "id": "cred_0a1b2c3d4e5f6g7h8j9k0m1n2p",
  "type": "webauthn",
  "role": "both",
  "label": "Laptop",
  "status": "active",
  "synced": true,
  "created_at": "2026-01-15T09:30:00Z",
  "last_used_at": "2026-02-01T08:00:00Z",
  "revoked_at": null,
  "revoked_by": null,
  "revoke_reason": null
}
```

`type`: `webauthn`, `totp`, `sms`, `email`, `push` · `role`: `first_factor`, `second_factor`, `both` · `status`: `pending`, `active`, `revoked`, `clone_suspected`

## Fehler

Jeder Fehler ist ein `application/problem+json`-Body mit einem stabilen `code`.

| HTTP | `code` | Wann |
|---|---|---|
| 409 | `conflict` | Der Authentifikator befindet sich nicht im Status `clone_suspected`. |
| 404 | `not_found` | Der Benutzer oder der Authentifikator existiert nicht in dieser Umgebung, der Authentifikator gehört nicht zu diesem Benutzer oder eine ID ist fehlerhaft. |
| 401 | `unauthenticated` | Der API-Schlüssel fehlt, ist ungültig oder wurde widerrufen. |
| 403 | `insufficient_permissions` | Dem Schlüssel fehlt die Berechtigung `user-credentials:write`. |
| 429 | `rate_limited` | Das Ratenlimit wurde überschritten; beachten Sie `Retry-After`. |
| 503 | `service_unavailable` | Eine Abhängigkeit ist vorübergehend nicht verfügbar; versuchen Sie es später erneut. |

## Beispiel

```bash
curl -X POST https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p/authenticators/cred_0a1b2c3d4e5f6g7h8j9k0m1n2p:reactivate \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)"
```

## Personenbezogene Daten

Dieser Endpunkt verarbeitet personenbezogene Daten: Zugangsdaten. [Personenbezogene Daten in den KeenAuth-APIs](/docs/policies/personal-data) beschreibt, welche Daten gespeichert werden, wie lange sie aufbewahrt und wie sie gelöscht werden. Senden Sie in keinem Feld besondere Kategorien personenbezogener Daten (Gesundheit, biometrische Daten, Religion, politische Meinungen, sexuelle Orientierung).
