
# Ereignisse mit keenauth events tail verfolgen

`keenauth events tail` liest die Event-API Ihrer Umgebung und gibt jedes Kundenereignis aus, sobald es auftritt, zum Beispiel `user.created`. Die Ereignisse entsprechen den Webhook-Zustellungen: derselbe Envelope und dieselbe `id`. Verwenden Sie den Befehl, um zu sehen, was Ihre Integration empfangen wird, oder um zu prüfen, ob eine Aktion das erwartete Ereignis erzeugt hat. Mit Strg+C beenden Sie den Befehl; er endet dann mit Code 0.

Der Befehl benötigt die Berechtigung `events:read`. Er funktioniert mit einem API-Schlüssel und mit einer Sitzung aus `keenauth login`.

## Verwendung

```sh
keenauth events tail --types user.created,user.updated
```

| Flag | Beschreibung |
|---|---|
| `--types` | Nur diese Ereignistypen, durch Komma getrennt oder wiederholt. |
| `--org` | Nur Ereignisse dieser Organisation (`org_…`). |
| `--payload` | `thin` (Standard) oder `full`. `full` enthält die Ressource und benötigt außerdem die Berechtigung `users:read`. |
| `--after` | Startpunkt: `latest` (Standard) gibt nur Ereignisse aus, die ab jetzt auftreten; ein Cursor aus einem früheren Lauf setzt dort fort. |
| `--interval` | Zeit zwischen zwei Prüfungen, wenn keine neuen Ereignisse vorliegen, von `1s` bis `60s`. Standard: `5s`. |
| `--output`, `-o` | `table`, `json` oder `yaml`. Ohne dieses Flag gibt die CLI in einem Terminal eine Tabelle und sonst JSON aus. |

Ein ungültiger Filter, Cursor oder Intervall beendet den Befehl mit Code 2, bevor eine Anfrage gesendet wird.

## Ausgabe

- `table`: eine Zeile pro Ereignis mit Uhrzeit, Typ, Sequenznummer und Ereignis-ID.
- `json`: jedes Ereignis genau so, wie der Server es gesendet hat, ein JSON-Objekt pro Zeile (newline-delimited JSON). Dies ist der Standard, wenn stdout kein Terminal ist.
- `yaml`: ein YAML-Dokument pro Ereignis, jeweils beginnend mit `---`.

Ereignisse werden in der Ereignisreihenfolge der Umgebung (`seq`) ausgegeben. Wenn Sie den Befehl beenden, gibt er auf stderr den Cursor aus, ab dem Sie fortfahren können:

```text
to continue from here: --after <cursor>
```

Führen Sie später `keenauth events tail --after <cursor>` aus, um die Ereignisse nachträglich auszugeben, die Sie in der Zwischenzeit verpasst haben. Ereignisse werden 30 Tage lang aufbewahrt.

## So folgt der Befehl den Ereignissen

Der Befehl fragt die Ereignisse nach seinem Cursor ab, gibt sie aus und setzt den Cursor auf den Wert, den die Antwort zurückgibt. Meldet die Antwort, dass weitere Ereignisse warten, fragt er sofort erneut nach. Andernfalls wartet er `--interval` und fragt dann erneut.

## Exit-Codes

| Code | Bedeutung |
|---|---|
| `0` | Mit Strg+C beendet. |
| `1` | Ein Serverfehler oder ein Netzwerkfehler, zum Beispiel ein Cursor einer anderen Umgebung. |
| `2` | Verwendungsfehler: ungültiger Filter, Cursor, Intervall oder Ausgabeformat. Es wurde keine Anfrage gesendet. |
| `3` | Die Anmeldedaten fehlen, oder der Server hat mit `401` oder `403` geantwortet. |
| `4` | Der Tarif enthält die Funktion nicht (`403` mit `plan_feature_unavailable`). |
