Skip to main content
Quint has two webhook destinations. They sit in different sections of the Integrations page and carry different things. Creating or changing either needs the Admin or Owner role.

The two webhooks

Custom header values on the generic webhook are treated as secrets. Quint does not show them back to you.

Verify a signed alert delivery

Each alert webhook delivery carries three headers you can check: To verify in plain words:
  1. Read the request body as raw bytes. Do not parse and re-serialise it first; any change to the bytes changes the signature.
  2. Compute HMAC-SHA256 over those bytes with the key Quint showed you when the destination was created or rotated.
  3. Encode the result as lowercase hex and prefix it with sha256=.
  4. Compare it with X-Quint-Signature using a constant-time comparison. Reject the delivery if they differ.
  5. If you also want to reject replays, reject a delivery whose X-Quint-Timestamp is older than you are willing to accept.
During a rotation, verify against X-Quint-Signature with the old key or against X-Quint-Signature-Next with the new key. Either one is enough. Each header carries exactly one value; Quint never joins two signatures into one header.
The key is shown once. If you lose it, click Rotate key and store the new one. The old key keeps working for 72 hours so your receiver does not drop deliveries while you switch; after that it is dropped on its own.

Alert delivery body

An alert delivery is one JSON object with these fields. Fields marked optional are omitted when empty. Approval request deliveries to an alert webhook use a different body. Field reference: ask your Quint contact.

Tool supply-chain findings

An alert for a tool supply-chain finding has one of these subtypes: mcp_tool_redefined (MCP tool redefined), mcp_tool_description_injection (Tool description injection), agent_builtin_tool_drift (Built-in tool changed) or, with an upcoming agent release, mcp_tool_cross_reference (Tool cross-reference). The alert carries tool_name and a one-line message; it carries no labels. The message for a cross-reference names both tools and both servers, unless content suppression is on. With that release, a description flagged the first time Quint saw the tool raises an alert whose message says the tool was first advertised with a description flagged for review. A cross-reference is low severity.

Exported event fields

Every batch exporter, including the generic webhook, sends events in this shape. The generic webhook sends a JSON array of these objects. Splunk receives each one wrapped in the HTTP Event Collector envelope (event, time, index, sourcetype, source). Fields marked optional are omitted when empty. For a tool supply-chain finding, labels holds divergence_type (which finding it is), finding_family = supply_chain and server_id (redacted when content suppression is on). With an upcoming agent release labels also holds:

Admin audit record fields

The second stream every enabled batch exporter receives is the admin audit log: who changed what in the workspace. Token mints, role changes, enforcement changes and sign-ins are recorded here. The generic webhook sends these as a JSON array with the header X-Quint-Stream: admin_audit.

Rotate key and Replace URL

  • Rotate key (alert webhook) creates a new signing key and shows it once. Deliveries carry both signatures for 72 hours, as described above. Store the new key and switch your receiver within that window; the old key then lapses on its own.
  • Replace URL (alert webhook) changes the receiver base URL. Click Send test afterwards and confirm the new receiver verifies the signature.
  • Edit (generic webhook) changes the endpoint URL or custom headers.

Next