
# Listar tipos de evento

`GET /v1/event-types` · permiso `events:read` · todos los planes

Devuelve el catálogo de eventos del cliente: cada tipo de evento al que un endpoint de webhook puede suscribirse y que [Listar eventos](../events/list.md) puede devolver. Cada tipo muestra sus versiones de esquema publicadas, de la más antigua a la más reciente, y si es de alto volumen. La referencia legible de cada tipo se encuentra en [Eventos](/docs/events).

El catálogo es el mismo en todos los entornos. Los resultados se ordenan por nombre de tipo, en orden descendente de forma predeterminada (`order=asc` para ascendente), en páginas con cursor.

## Solicitud

| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `limit` | query | no | De 1 a 100 elementos por página; predeterminado 20. |
| `after` | query | no | Cursor de `list_metadata.after` de la página anterior. |
| `before` | query | no | Cursor de `list_metadata.before`; no puede combinarse con `after`. |
| `order` | query | no | `desc` (predeterminado) o `asc`. Un cursor solo funciona con el orden para el que se emitió. |

## Respuesta

`200 OK`. `list_metadata.after` es `null` en la última página; no hay recuento total.

| Campo | Descripción |
|---|---|
| `type` | Tipo de evento, como `user.created`. |
| `schema_versions` | Versiones de esquema publicadas, de la más antigua a la más reciente. Cada una tiene `schema_version` y `schema_id`, el JSON Schema `$id` de esa versión. Un endpoint de webhook que no define `event_schema_versions` para el tipo recibe la primera versión (la más antigua). |
| `high_volume` | `true` para los tipos que no se incluyen cuando un endpoint se suscribe a todos los tipos; elíjalos por nombre (por ejemplo `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"}
}
```

## Errores

| HTTP | código | Cuándo |
|---|---|---|
| 400 | `invalid_cursor` | El cursor está mal formado, pertenece a otro entorno u otro orden de clasificación. |
| 422 | `validation_failed` | Un parámetro de consulta no es válido (`/limit`, `/order`). |
| 401 | `unauthenticated` | Falta la credencial, no es válida o fue revocada. |
| 403 | `insufficient_permissions` | La credencial no tiene `events:read`. |
| 429 | `rate_limited` | Se superó el límite de frecuencia; reintente después del período `Retry-After`. |

## Ejemplo

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