Verify and Process Events
Every delivery includes:
X-Webhook-Signature— HMAC-SHA256 hex of the raw request body, keyed with your webhook secret.X-Timestamp— Unix time (seconds) when the event was sent.
Verification requirements:
- Compute the HMAC over the raw bytes, not a re-serialized object.
- Compare with a constant-time equality check.
- Reject requests with missing/invalid signatures (
401), stale timestamps, and secrets that fail to load. - Store secrets in environment variables; rotate via API Settings on a schedule.