Overview
Webhooks deliver events to your endpoint as they happen. Use them to trigger remediation workflows, update dashboards, or notify your team.Events
Payload format
Every delivery is aPOST with a stable JSON envelope. The data object is event-specific and documented per event below.
scan.created
A pentest was created and queued.scan.completed, scan.failed, scan.cancelled
A pentest status changed. The three events share the same payload shape;status is completed, failed, or cancelled respectively.
vulnerability.created
A vulnerability was created for a pentest.vulnerability.status_changed
A vulnerability status was changed.vulnerability.severity_changed
A vulnerability severity was changed with an override reason.Create a webhook
webhooks:write
The response includes a secret field — store it securely. It will not be shown again.
Per-business_unit routing
By default a subscription is org-wide: it fires for every matching event in your organization. On Enterprise plans you can scope a subscription to a singlebusiness_unit so it only receives events whose assets belong to that business unit — useful when you run multiple end-customers in one organization and want each to receive only their own events.
- Omit
business_unit(or set it tonull) for an org-wide subscription — this is the default and matches existing behavior. - Set
business_unitto a string to receive only events whose resolved business units include that value. An event’s business units are derived from the assets (domains/repositories) involved. - Setting
business_unitrequires the Enterprise plan (therbacfeature). Requests on other plans return403. - To convert a scoped subscription back to org-wide,
PATCHit with"business_unit": null.
Set an asset’s
business_unit via POST/PATCH on /v1/domains and /v1/repositories. Tokens scoped to a business_unit only see and manage that unit’s assets, scans, and vulnerabilities.Verify webhook signatures
Every webhook delivery includes signature headers for verification:Signature verification (Node.js)
Delivery and retries
Events are delivered asynchronously with retries and exponential backoff. Use theX-Strix-Delivery header as an idempotency key when processing events to handle potential duplicate deliveries.
Manage webhooks
List webhooks
webhooks:read
Update a webhook
webhooks:write
Rotate webhook secret
secret. The old secret is invalidated immediately.
Required scope: webhooks:write
Delete a webhook
webhooks:write
Inspect deliveries
webhooks:read