
# Lister les types d'événements

`GET /v1/event-types` · autorisation `events:read` · tous les forfaits

Renvoie le catalogue d'événements du client : chaque type d'événement auquel un point de terminaison webhook peut s'abonner et que [Lister les événements](../events/list.md) peut renvoyer. Chaque type indique ses versions de schéma publiées, de la plus ancienne à la plus récente, ainsi que s'il s'agit d'un type à fort volume. La référence lisible de chaque type se trouve sous [Événements](/docs/events).

Le catalogue est identique dans tous les environnements. Les résultats sont triés par nom de type, par ordre décroissant par défaut (`order=asc` pour l'ordre croissant), par pages à curseur.

## Requête

| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| `limit` | query | non | De 1 à 100 éléments par page ; 20 par défaut. |
| `after` | query | non | Curseur issu de `list_metadata.after` de la page précédente. |
| `before` | query | non | Curseur issu de `list_metadata.before` ; ne peut pas être combiné avec `after`. |
| `order` | query | non | `desc` (par défaut) ou `asc`. Un curseur ne fonctionne qu'avec l'ordre pour lequel il a été émis. |

## Réponse

`200 OK`. `list_metadata.after` vaut `null` sur la dernière page ; il n'existe pas de nombre total.

| Champ | Description |
|---|---|
| `type` | Type d'événement, par exemple `user.created`. |
| `schema_versions` | Versions de schéma publiées, de la plus ancienne à la plus récente. Chacune comporte `schema_version` et `schema_id`, le JSON Schema `$id` de cette version. Un point de terminaison webhook qui ne définit pas `event_schema_versions` pour le type reçoit la première version (la plus ancienne). |
| `high_volume` | `true` pour les types qui ne sont pas inclus lorsqu'un point de terminaison s'abonne à tous les types ; choisissez-les par nom (par exemple `authentication.succeeded`). |

```json
{
  "data": [
    {
      "type": "user.created",
      "schema_versions": [
        {"schema_version": 1, "schema_id": "https://docs.keenauth.com/events/user.created.v1.json"}
      ],
      "high_volume": false
    }
  ],
  "list_metadata": {"before": null, "after": "AQAMdXNlci5jcmVhdGVk"}
}
```

## Erreurs

| HTTP | code | Quand |
|---|---|---|
| 400 | `invalid_cursor` | Le curseur est mal formé, appartient à un autre environnement ou à un autre ordre de tri. |
| 422 | `validation_failed` | Un paramètre de requête est invalide (`/limit`, `/order`). |
| 401 | `unauthenticated` | Les identifiants sont absents, invalides ou révoqués. |
| 403 | `insufficient_permissions` | Les identifiants ne disposent pas de `events:read`. |
| 429 | `rate_limited` | La limite de débit a été dépassée ; réessayez après la période `Retry-After`. |

## Exemple

```bash
curl "https://api.eu.keenauth.com/v1/event-types?order=asc&limit=100" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

CLI : `keenauth event-types list --order asc --limit 100`
