Webhook event types
Active events (Run Health tranche)
Section titled “Active events (Run Health tranche)”| Event | Fires when |
|---|---|
run.failed |
A workspace×capability stream transitions healthy → failing — one alert per incident, not every failed run. 3 consecutive failed runs for the same workspace×capability fire once. A success in between resets the count. A platform-breaking failure (KingMinos storage outage) fires on the first failure. |
run.recovered |
A previously failing stream starts succeeding again (failing → healthy) on its next successful run. |
test.ping |
Delivered only by POST /v1/webhooks/{id}/test — not a subscription type. Ignores enabled_events. |
What counts as a failure
Section titled “What counts as a failure”Only system-level run failures reach the tracker: a run that fails outright (HTTP 5xx, storage errors, deadlines). Business misses stay HTTP 200 answers and vendor rate-limits or timeouts absorbed by the waterfall are not failures. The first alert after the threshold carries consecutive_failures: 3. A storage outage fires immediately and carries the running count — 1 from a clean state, higher if earlier failures had already started counting.
Every run.failed payload pairs a readable reason (≤240 characters, email addresses redacted, never raw JSON) with a remediation — the exact fix, ending in a docs link.
Reserved event names
Section titled “Reserved event names”These names are held in the namespace. Subscribing to one returns 400 with the list of available types. They are not delivered yet — do not build against them:
billing.frozen,billing.unfrozencredits.exhausted,credits.lowvendor.uptime.changedrun.completed(KingMinos answers synchronously; a per-run delivery tranche would be opt-in and capped)