Delivery
Each delivery is an HTTPSPOST with a JSON body:
Respond with any
2xx within ten seconds. Failed deliveries are retried and can be resent from the dashboard or with the resend endpoint.
Verify the signature
Compute HMAC-SHA256 with your webhook secret over the stringtimestamp + "." + raw_body and compare it to the signature in constant time. Reject deliveries whose timestamp is older than five minutes.
Secrets
The signing secret is returned once when the webhook is created and again when rotated. Rotate from the dashboard or with the rotate endpoint; disable and enable without losing the configuration.Testing
The Test action, orPOST /v1/webhooks/{webhookId}/test, sends a webhook.test event so you can verify your endpoint and signature handling before real events flow.