# Webhook-Benachrichtigungen

Ein Webhook-Kanal sendet jede Benachrichtigung als JSON an deinen Endpunkt. [Benachrichtigungskanäle](/de/planning/notification-channels) beschreibt, wie du den Kanal hinzufügst und festlegst, was an ihn geht; diese Seite beschreibt, was dein Endpunkt empfängt.

## Bevor du beginnst

<PlanAvailability feature="WebhookChannel" plan="Starter" />

- Dein Endpunkt ist unter einer öffentlichen Adresse erreichbar und antwortet innerhalb von 10 Sekunden.

## Die Anfrage

Jede Benachrichtigung ist ein `POST` mit einem JSON-Body:

```json
{
  "event_type": "budget_alert",
  "schema_version": 1,
  "subject": "Budget 'Platform' reached 80% threshold",
  "content": "Current spend: EUR 825.00 of EUR 1,000.00",
  "html_content": "<p>Current spend: <b>EUR 825.00</b> of EUR 1,000.00</p>",
  "timestamp": "2026-10-12T09:00:00.0000000Z",
  "app_id": "app_Xk2pQ9vLr4mN8tY1wZ3aBc"
}
```

| Feld | Bedeutung |
|---|---|
| `event_type` | Worum es in der Benachrichtigung geht; siehe die Tabelle unten. Verzweige danach statt nach dem Betreff. |
| `schema_version` | Die Version dieses Bodys. Sie ist `1` und steigt nur, wenn ein Feld seine Bedeutung ändert oder wegfällt; ein neues Feld oder ein neuer Ereignistyp erhöht sie nicht. |
| `subject`, `content`, `html_content` | Die Benachrichtigung, wie ein Mensch sie liest, als Klartext und als HTML. Der Wortlaut kann sich ändern. |
| `timestamp` | Wann dieser Versuch gesendet wurde, in UTC. |
| `app_id` | Der Kanal, an den die Benachrichtigung ging. |

Die Anfrage trägt zwei Header:

| Header | Wert |
|---|---|
| `X-Costfluent-Event` | Der `event_type`, damit ein Router verteilen kann, ohne den Body zu lesen. |
| `X-Costfluent-Delivery` | Bei jedem Versuch derselben Benachrichtigung gleich, damit dein Endpunkt eine Wiederholung verwerfen kann. Ein Kanaltest hat keinen. |

## Ereignistypen

| `event_type` | Gesendet, wenn |
|---|---|
| `budget_alert` | Ein Budget einen seiner Schwellenwerte überschreitet. |
| `cost_alert` | Eine Warnung für Ausgabenschwelle, ungewöhnliche Änderung oder Tag-Abdeckung auslöst. |
| `anomaly` | Eine Kostenanomalie in einem Workspace erkannt wird, dessen Anomalie-Benachrichtigungen den Kanal nennen. |
| `channel_test` | Jemand beim Kanal **Testen** wählt. |

## Wie es sich verhält

- Jede `2xx`-Antwort ist eine Zustellung. Ein anderer Status, eine Weiterleitung oder keine Antwort innerhalb von 10 Sekunden ist ein fehlgeschlagener Versuch, der wie unter [Benachrichtigungskanäle](/de/planning/notification-channels) beschrieben wiederholt wird.
- Einer Weiterleitung wird nie gefolgt.
- Geplante Kostenberichte werden nur per E-Mail zugestellt; kein Webhook empfängt sie.

## Verwandte Seiten

- [Benachrichtigungskanäle](/de/planning/notification-channels)
- [Warnungen](/de/planning/alerts)
- [Versionierung der Public API](/de/api/versioning)
