Request format
Sequence delivers webhooks asPOST requests with Content-Type: application/json. Every payload has the same envelope:
resource field contains the state of the resource that triggered the event.
Example payload
ABILLING_SCHEDULE_CREATED delivery looks like this. The prices and phases arrays are simplified for readability; in real deliveries they contain the full pricing and phase structure for the schedule.
Sequence-Signature header
Every webhook includes a Sequence-Signature header containing a timestamp and an HMAC signature:
tis the delivery timestamp, in Unix milliseconds.sis an HMAC-SHA256 signature of${t}.${rawBody}, computed using the webhook’s signing secret.
t to mitigate replay attacks.
For working verification code, see Verify the signature in the integration guide.
Delivery
- Acknowledgment. Sequence considers any
2xxresponse a successful delivery. - Retries. Any non-
2xxresponse causes Sequence to retry. Retries continue for up to 24 hours, with exponential backoff.
Event catalog
Customer alias events
Customer webhooks don’t include the customer’s aliases. To find out when an alias changes, subscribe to the alias events. Each one carries the single alias that changed.
These are sent alongside the customer events, not instead of them. For example, updating a customer to add an alias sends both
CUSTOMER_UPDATED and CUSTOMER_ALIAS_CREATED. Archiving a customer sends CUSTOMER_ARCHIVED and no alias events.
The resource is the alias as the customer alias endpoints return it. label is left out when the alias has none, and deletedAt is only included in CUSTOMER_ALIAS_DELETED.
Webhooks can arrive out of order. Use updatedAt to order changes to the same alias: it’s set every time the alias is created, has its label changed, or is deleted.