Webhook delivery is on the Phase 2 roadmap. The event shapes on this
page are the current draft and may change before GA. Contact
info@growyourbrand.io to join the
Phase 2 beta.
Event catalog
Envelope
Every event uses the same envelope.data carries the event-specific
payload.
Signature verification
Every request is signed with HMAC-SHA256 over the raw body plus a timestamp. The signature and timestamp ship in headers:- Compute
expected = hex(HMAC_SHA256(secret, timestamp + "." + raw_body)). - Constant-time compare
expectedagainst the value afterv1=. - Reject requests where
abs(now - timestamp) > 300seconds (five minutes) to block replay attacks.
Retry policy
- The endpoint must return
2xxwithin 15 seconds. - Non-2xx or timeout triggers exponential backoff: 30 s, 2 min, 10 min, 1 h, 6 h, 24 h.
- Delivery is retried for up to 72 hours, then the event is marked
delivery_failedand surfaced in the dashboard. - The same
event.idmay be delivered more than once. Consumers must be idempotent onevent.id.
Replay window
The 500 most recent events per endpoint are retained for 30 days. Replay any event from the dashboard or viaPOST /v1/webhooks/events/{event_id}/redeliver once the Phase 2
endpoint ships.