Skip to main content
Use a signed webhook when a tool pushes events instead of letting Squasher pull them. Squasher checks the signature, the timestamp, and the event id of each delivery before it stores anything. Events that pass are mapped to OCSF 1.9.0 attributes, the same as pulled events.
Push sources are in preview. The API is not final.

Create a push source

Call the pushSources.create operation with the connector id. Squasher returns the push URL and the signing secret. The secret is shown only in this response.
If the vendor makes the secret, send it in secret.

Sign a delivery

For the generic.signed_webhook connector:
  1. Send a JSON object or a JSON array of OCSF events. Each event needs metadata.uid.
  2. Put the current Unix time in seconds in the x-webhook-timestamp header.
  3. Compute HMAC SHA-256 over <timestamp>.<raw body> with the secret. Send sha256=<hex digest> in the x-webhook-signature header.

What Squasher rejects

Rotate the secret

Call pushSources.rotateSecret. The previous secret still verifies for 24 hours, so the sender can switch without lost events.