
# Réactiver un authentificateur signalé

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

Remet un authentificateur en statut `clone_suspected` (anomalie du compteur de signature d'une clé d'accès) au statut `active`, sur décision d'un administrateur ; le compteur est aligné sur la dernière valeur et un enregistrement d'audit est écrit. Si l'authentificateur n'est pas `clone_suspected`, l'appel échoue avec `409`. La requête ne prend aucun corps.

## Requête

| Paramètre | Dans | Requis | Description |
|---|---|---|---|
| `user_id` | path | oui | Identifiant de l'utilisateur, préfixé `usr_`. |
| `authenticator_id` | path | oui | Identifiant de l'authentificateur, préfixé `cred_`. |

La requête ne prend aucun corps.

## Réponse

`200 OK`. Le corps est l'authentificateur mis à jour.

Lorsque la clé ne possède pas l'autorisation `users:read_pii`, `label` est réduit à des initiales (`A. L.`).

```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`

## Erreurs

Chaque erreur est un corps `application/problem+json` accompagné d'un `code` stable.

| HTTP | `code` | Quand |
|---|---|---|
| 409 | `conflict` | L'authentificateur n'est pas au statut `clone_suspected`. |
| 404 | `not_found` | L'utilisateur ou l'authentificateur n'existe pas dans cet environnement, l'authentificateur n'appartient pas à cet utilisateur, ou un identifiant est mal formé. |
| 401 | `unauthenticated` | La clé API est absente, invalide ou révoquée. |
| 403 | `insufficient_permissions` | La clé ne possède pas l'autorisation `user-credentials:write`. |
| 429 | `rate_limited` | La limite de débit a été dépassée ; respectez `Retry-After`. |
| 503 | `service_unavailable` | Une dépendance est temporairement indisponible ; réessayez plus tard. |

## Exemple

```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)"
```

## Données personnelles

Ce point de terminaison contient des données personnelles : identifiants. [Données personnelles dans les API KeenAuth](/docs/policies/personal-data) décrit ce qui est stocké, la durée de conservation et la manière dont elles sont supprimées. N'envoyez aucune catégorie particulière de données personnelles (santé, données biométriques, religion, opinions politiques, orientation sexuelle) dans aucun champ.
