Skip to main content
WEBHOOK

Headers

X-Perkstar-Event
enum<string>
required

Stable dotted wire-format name for an outbound event.

Available options:
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
X-Perkstar-Webhook-Id
string
required
X-Perkstar-Delivery-Id
string
required

Stable across automatic retries; matches body id.

X-Perkstar-Timestamp
string
required
Pattern: ^[0-9]+$
X-Perkstar-Signature
string
required

HMAC header in t=<unix-seconds>,v1=<hex> form.

Body

application/json
id
string
required

Stable identity for this event representation. Live callback automatic retries reuse the same callback delivery ID.

type
enum<string>
required

Stable dotted wire-format name for an outbound event.

Available options:
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
created
integer<int64>
required

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.

orgId
string
required

Perkstar organisation that owns the event.

data
object
required

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