Skip to Content
v0.8.0 · shippedNative iOS / Android / Flutter / Capacitor SDKs, A2A discovery, SOC 2 readiness, residency, BYO storage, BYOK. Read the changelog →
Plugin marketplaceWebhook events

Webhook events

Every event ships with this envelope:

interface MushiEvent<TName extends MushiEventName, TData> { event: TName project_id: string occurred_at: string // ISO 8601 UTC data: TData }

Event reference

EventWhendata shape (subset)
report.createdA new report row is inserted{ report_id, severity, title, url }
report.classifiedclassify-report finishes successfully{ report_id, taxonomy_path, confidence }
report.status_changedStatus updated via API or admin{ report_id, from, to, actor_id }
fix.proposedOrchestrator opens a draft PR{ report_id, attempt_id, pr_url }
fix.appliedDraft PR merged{ report_id, attempt_id, pr_url, sha }
fix.failedOrchestrator gives up after retry budget{ report_id, attempt_id, reason }
judge.score_recordedjudge-batch records a score{ report_id, score, prompt_version }

Subscribing to a subset

Pass events: ['report.created', 'fix.applied'] when installing the plugin and Mushi will only dispatch those. Empty array = subscribe to everything (default for first-party plugins).

Last updated on