Skip to main content

Verification Headers

  • X-CW-Webhook-Timestamp
  • X-CW-Webhook-Signature

Signature Algorithm

  1. Compute body_hash = SHA256(raw_request_body) as lowercase hex.
  2. Build signing string: "<timestamp>.<event_type>.<body_hash>".
  3. Compute HMAC_SHA256(signing_string, webhook_signing_secret) as lowercase hex.
  4. Compare against X-CW-Webhook-Signature in constant time.

Node.js Example

Python Example

Replay Protection

  • Reject events older than your allowed timestamp skew window.
  • Store processed event IDs and ignore duplicates.
  • Keep a durable event-processing audit trail.