All releases
Feature

Waitlist webhooks: Send test with the result, an event log and replay

Waitlist webhooks now work like Mail and Auth: describe each event, test an endpoint and see what your server answered, and replay anything from a 30-day event log. Deliveries are signed with Standard Webhooks; the older routes are deprecated with a sunset on 2027-01-15.

/v1/workspaces/:workspaceId/webhooks/endpoints manages up to 10 endpoints per workspace, each with its own URL, description, events and signing secret. GET …/webhooks/event-types describes entry.created, entry.approved and entry.rejected with an example payload. Every event carries workspace_id and waitlist_id.

POST …/webhooks/endpoints/:id/test sends a signed example right away and returns what your receiver answered. GET …/webhooks/events lists the last 30 days of events with the state of each delivery and when the next retry is due, and POST …/webhooks/events/:id/replay sends one again. Secret rotation now has a grace period during which both secrets sign.

Deliveries carry the Standard Webhooks headers webhook-id, webhook-timestamp and webhook-signature, and the body has the standard id, type, created_at and data fields.

Deprecated: /v1/workspaces/:workspaceId/webhooks and …/webhooks/:id and their sub-routes keep working, now with Deprecation and Sunset headers, until 2027-01-15. Your existing webhooks became endpoints with the same ids, URLs, events and secrets. Until the same date they keep receiving the X-Waitlist-Signature, X-Waitlist-Event and X-Waitlist-Event-Id headers, and every body keeps the old top-level event, occurred_at and entry fields. X-Waitlist-Delivery-Attempt is no longer sent. See the webhooks guide.