
# Lister les enregistrements de consentement d'un utilisateur

`GET /v1/users/{user_id}/consent-records` · autorisation `consent-records:read`

Liste les enregistrements de consentement d'un utilisateur (une piste de preuves en ajout seul), du plus récent `occurred_at` au plus ancien, en pages à curseur. Seule la pagination vers l'avant (`after`) est disponible. Un identifiant d'utilisateur mal formé renvoie `404 not_found` ; un utilisateur sans enregistrement, ou absent de cet environnement, obtient une liste vide. Les enregistrements ne contiennent ni adresse IP, ni user agent, ni données de session.

## Requête

Paramètres de chemin :

| Champ | Type | Requis | Description |
|---|---|---|---|
| `user_id` | string | oui | Identifiant de l'utilisateur (`usr_…`). |

Paramètres de requête :

| Champ | Type | Requis | Description |
|---|---|---|---|
| `limit` | integer | non | De 1 à 100, 20 par défaut. |
| `after` | string | non | Curseur opaque issu de `list_metadata.after`. |

## Réponse

`200 OK` avec `data` (enregistrements de consentement) et `list_metadata` (`before` vaut toujours `null`). Aucun nombre total n'est renvoyé.

```json
{
  "data": [
    {
      "id": "crec_01j9xk3m7q8r2s4t6v8w0y2z4b",
      "user_id": "usr_01j9xk3m7q8r2s4t6v8w0y2z4c",
      "subject_type": "document",
      "subject_id": "ldoc_01j9xk3m7q8r2s4t6v8w0y2z4a",
      "subject_version": "2026-10",
      "content_sha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
      "locale": "en",
      "state": "accepted",
      "method": "management_api",
      "application_id": null,
      "occurred_at": "2026-10-05T09:31:12.004211Z"
    }
  ],
  "list_metadata": {
    "before": null,
    "after": null
  }
}
```

## Erreurs

| HTTP | code | Cas |
|---|---|---|
| 400 | `invalid_cursor` | Le curseur est mal formé ou a été émis pour un autre filtre. |
| 404 | `not_found` | L'identifiant de l'utilisateur est mal formé. |
| 422 | `validation_failed` | Un paramètre de requête est invalide. |
| 401 | `unauthenticated` | L'identifiant d'accès est absent, invalide ou révoqué. |
| 403 | `insufficient_permissions` | L'identifiant d'accès ne dispose pas de l'autorisation requise. |
| 429 | `rate_limited` | La limite de débit a été dépassée ; réessayez après le délai indiqué par `Retry-After`. |
| 503 | `service_unavailable` | Une dépendance est temporairement indisponible ; réessayez après le délai indiqué par `Retry-After`. |

## Exemple

```bash
curl "https://api.eu.keenauth.com/v1/users/usr_01j9xk3m7q8r2s4t6v8w0y2z4c/consent-records?limit=20" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

## Données personnelles

Cet endpoint traite des données personnelles : des enregistrements de consentement. [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 pas de catégories particulières de données personnelles (santé, données biométriques, religion, opinions politiques, orientation sexuelle) dans un champ quelconque.
