Skip to main content

Configure a webhook

To create a webhook, provide:
  • an HTTPS endpoint URL
  • one or more events to send
Webhook URLs must not include query parameters and must resolve to a public address. HTTP, non-HTTPS schemes, private IP addresses, localhost, cloud metadata endpoints, and shell metacharacters are rejected. After creation, Symbiotic returns a signing secret. Store it securely: it is used to verify that requests came from Symbiotic. You can manage webhooks from the Webhook settings.
Webhooks are shared across all users in an organization. Treat the signing secret as a credential and do not expose it in client-side code or logs.

Available events

You can subscribe to the following events:
  • vulnerability.created
  • vulnerability.remediated
  • vulnerability.ignored
  • vulnerability.unignored
  • training.completed

Webhook format

Webhook requests use JSON and have a common envelope: For vulnerability events, data includes the vulnerability identifiers and timestamps below, as well as nested rule, finding, and remote_issue objects.

Vulnerability created

Vulnerability remediated

The data object uses the same structure as vulnerability.created, with remediated_at instead of created_at.

Vulnerability ignored and unignored

The data object uses the same vulnerability structure, with ignored_at for vulnerability.ignored and unignored_at for vulnerability.unignored.

Training completed

The data object contains:

Verify webhooks

Symbiotic sends the signature in the X-SymbioticSec-Signature header. Verify it with the signing secret shown in your Webhook settings. The signature is an HMAC-SHA256 digest. Symbiotic signs the JSON payload after sorting object keys and serializing with compact separators. Parse the request body as JSON, reproduce that canonical serialization, and compare the expected signature using a constant-time comparison.
Reject the request when the header is missing or the signature does not match. Keep the signing secret private and use HTTPS for your receiving endpoint.