# Fehlerbehebung

Typische Integrationsfehler eingrenzen.

## Das Event fehlt

Prüfe HTTP-Status und Antwort. `201` mit `{}` bedeutet, dass ein normales Event erstellt wurde. Prüfe danach Projekt, Kanal, Zeitraum und aktive Filter im Dashboard. Neue Kanäle werden automatisch angelegt; inaktive Kanäle weisen neue Events ab.

## Authentifizierung schlägt fehl

`401` bedeutet fehlende oder ungültige Authentifizierung. Prüfe Aktivierung, Ablauf und Sperrstatus des Tokens. `403` betrifft unter anderem die Projektzuordnung oder Mitgliedschaft. API-Token und Access-JWT haben unterschiedliche Aufgaben, siehe [Authentifizierung](/docs/getting-started/authentication).

## JSON wird abgelehnt

Sende `Content-Type: application/json`. Verwende Slugs für Projekte und Kanäle, Zahlen für `timestamp`, boolesche Werte für `notify` und ein Objekt für `tags`. Unbekannte Felder können zu `400` führen. Der [Event-Generator](/docs/guides/event-builder) liefert passende Ausgangsbeispiele.

## Pipeline-Step bleibt blockiert

Prüfe alle `requires`-Vorgänger. Die Stage allein gibt keinen Step frei. Ein optionaler Vorgänger muss ebenfalls abgeschlossen oder explizit übersprungen sein, wenn ein anderer Step auf ihn wartet. Bei `409` den aktuellen Eventzustand mit einem Benutzer-Access-Token lesen und vor erneutem Senden prüfen.

## Webhook schlägt fehl

Prüfe URL, Methode, Eingaben und `expects`. HTTP `200` allein genügt nicht, wenn konfigurierte JSON-Erwartungen scheitern. `success: false` im Action-Ergebnis kennzeichnet eine fehlgeschlagene Ausführung auch bei HTTP `200`. Ein manueller Retry kann bereits erfolgreiche Teilschritte erneut ausführen.

## Sicher wiederholen

Nach einem Timeout des Clients kann der Server den Request bereits verarbeitet haben. Für Event-Erstellung und Insight-Inkremente ist kein allgemeiner Idempotenzschlüssel dokumentiert. Vermeide pauschale automatische Wiederholungen und verwende für externe Webhooks eigene fachliche Idempotenzschlüssel.