Receive a perkstar outbound event
Perkstar POSTs this signed envelope to each active endpoint subscribed
to the event. Client-managed integrations verify
X-Perkstar-Signature against the exact raw body. Approved OAuth
connectors can instead use Perkstar’s server-attested verification
contract without receiving the signing secret. Persist and deduplicate
by id, then return a 2xx response. Automatic retries keep the same
logical delivery id.
Headers
Stable dotted wire-format name for an outbound event.
customer.enrolled, customer.unenrolled, customer.anonymized, customer.group_changed, wallet.installed, card.scanned, card.expired, referral.created, transaction.created, coupon.redeemed, reward.redeemed, tier.changed, ticket.purchased, ticket.cancelled, ticket.refunded, gift.purchased, gift.redeemed, multipass.purchased, membership.purchased, membership.renewed, membership.cancelled, feedback.submitted, automation.fired, broadcast.sent, booking.created, booking.confirmed, booking.attended, booking.no_show, booking.cancelled, webhook.test Stable across automatic retries; matches body id.
^[0-9]+$HMAC header in t=<unix-seconds>,v1=<hex> form.
Body
Stable identity for this event representation. Live callback automatic retries reuse the same callback delivery ID.
Stable dotted wire-format name for an outbound event.
customer.enrolled, customer.unenrolled, customer.anonymized, customer.group_changed, wallet.installed, card.scanned, card.expired, referral.created, transaction.created, coupon.redeemed, reward.redeemed, tier.changed, ticket.purchased, ticket.cancelled, ticket.refunded, gift.purchased, gift.redeemed, multipass.purchased, membership.purchased, membership.renewed, membership.cancelled, feedback.submitted, automation.fired, broadcast.sent, booking.created, booking.confirmed, booking.attended, booking.no_show, booking.cancelled, webhook.test Unix seconds when the source event occurred. For business events,
this is data.occurredAt expressed as Unix seconds and remains
stable across automatic delivery retries.
Perkstar organisation that owns the event.
Event-specific camelCase payload. See the public webhook event
catalogue for required, optional, and nullable fields for every
event type. Business event payloads include occurredAt; the
targeted webhook.test event includes triggeredAt instead.
Response
Event accepted

