Webhook Events
Complete reference of all webhook event types and their payloads.
Webhook Events Reference
This page lists all webhook event types available on the stemp platform. For setup instructions and signature verification, see the Webhooks guide.
Event Envelope
Every webhook delivery uses the same envelope format:
{
"id": "evt_abc123",
"type": "user.created",
"timestamp": "2026-01-15T10:30:00Z",
"data": {
// Event-specific payload
}
}User Events
user.created
Triggered when a new user is created in your organization.
{
"id": "evt_abc123",
"type": "user.created",
"timestamp": "2026-01-15T10:30:00Z",
"data": {
"id": "usr_xyz789",
"object": "user",
"email": "jane@example.com",
"name": "Jane Doe",
"phone": "+491701234567",
"externalId": "cust_123",
"createdAt": "2026-01-15T10:30:00Z"
}
}user.updated
Triggered when user data is modified (name, email, phone, metadata).
{
"id": "evt_abc124",
"type": "user.updated",
"timestamp": "2026-01-15T11:00:00Z",
"data": {
"id": "usr_xyz789",
"object": "user",
"email": "jane.doe@example.com",
"name": "Jane Doe",
"phone": "+491701234567",
"externalId": "cust_123",
"updatedAt": "2026-01-15T11:00:00Z"
}
}user.deleted
Triggered when a user is deleted. All associated wallet passes are revoked.
{
"id": "evt_abc125",
"type": "user.deleted",
"timestamp": "2026-01-15T12:00:00Z",
"data": {
"id": "usr_xyz789",
"object": "user"
}
}Wallet Pass Events
pass.created
Triggered when a new wallet pass is created for a user.
{
"id": "evt_def123",
"type": "pass.created",
"timestamp": "2026-01-15T10:35:00Z",
"data": {
"id": "wp_abc456",
"object": "wallet_pass",
"userId": "usr_xyz789",
"templateId": "tpl_abc123",
"qrCodeValue": "ste.mp/Ab1x",
"createdAt": "2026-01-15T10:35:00Z"
}
}pass.updated
Triggered when a wallet pass is updated (e.g., template changes pushed to the pass).
{
"id": "evt_def124",
"type": "pass.updated",
"timestamp": "2026-01-15T11:00:00Z",
"data": {
"id": "wp_abc456",
"object": "wallet_pass",
"userId": "usr_xyz789",
"templateId": "tpl_abc123",
"updatedAt": "2026-01-15T11:00:00Z"
}
}pass.installed
Triggered when a user adds the pass to their Apple Wallet or Google Wallet.
{
"id": "evt_def125",
"type": "pass.installed",
"timestamp": "2026-01-15T10:40:00Z",
"data": {
"id": "wp_abc456",
"object": "wallet_pass",
"userId": "usr_xyz789",
"platform": "APPLE",
"installedAt": "2026-01-15T10:40:00Z"
}
}The platform field is either APPLE or GOOGLE.
pass.uninstalled
Triggered when a user removes the pass from their wallet.
{
"id": "evt_def126",
"type": "pass.uninstalled",
"timestamp": "2026-01-16T08:00:00Z",
"data": {
"id": "wp_abc456",
"object": "wallet_pass",
"userId": "usr_xyz789",
"platform": "APPLE",
"uninstalledAt": "2026-01-16T08:00:00Z"
}
}Stamp Card Events
stamp.added
Triggered when a stamp is added to a user's stamp card.
{
"id": "evt_ghi123",
"type": "stamp.added",
"timestamp": "2026-01-15T14:00:00Z",
"data": {
"walletPassId": "wp_abc456",
"userId": "usr_xyz789",
"currentStamps": 5,
"maxStamps": 10,
"totalStampsCollected": 15,
"note": "Purchase at Main St. location"
}
}stamp.reward_triggered
Triggered when a user reaches the stamp threshold and earns a reward.
{
"id": "evt_ghi124",
"type": "stamp.reward_triggered",
"timestamp": "2026-01-15T14:30:00Z",
"data": {
"walletPassId": "wp_abc456",
"userId": "usr_xyz789",
"currentStamps": 10,
"maxStamps": 10,
"timesCompleted": 2,
"totalStampsCollected": 20
}
}stamp.card_completed
Triggered when a stamp card is fully completed (all stamps collected).
{
"id": "evt_ghi125",
"type": "stamp.card_completed",
"timestamp": "2026-01-15T14:30:00Z",
"data": {
"walletPassId": "wp_abc456",
"userId": "usr_xyz789",
"timesCompleted": 2,
"totalStampsCollected": 20
}
}Organization Events
organization.created
Triggered when a new organization is created.
{
"id": "evt_jkl123",
"type": "organization.created",
"timestamp": "2026-01-15T09:00:00Z",
"data": {
"id": "org_abc123",
"object": "organization",
"name": "Acme Coffee",
"slug": "acme-coffee",
"createdAt": "2026-01-15T09:00:00Z"
}
}organization.updated
Triggered when organization details are changed (name, logo, etc.).
{
"id": "evt_jkl124",
"type": "organization.updated",
"timestamp": "2026-01-15T10:00:00Z",
"data": {
"id": "org_abc123",
"object": "organization",
"name": "Acme Coffee Co.",
"slug": "acme-coffee",
"updatedAt": "2026-01-15T10:00:00Z"
}
}App Events
app.installed
Triggered when an app is installed by an organization.
{
"id": "evt_mno123",
"type": "app.installed",
"timestamp": "2026-01-15T10:00:00Z",
"data": {
"installationId": "ins_abc123",
"appId": "app_xyz789",
"appName": "POS Connector",
"scopesGranted": ["pass:read", "pass:create", "loyalty:manage"],
"installedAt": "2026-01-15T10:00:00Z"
}
}app.uninstalled
Triggered when an app is uninstalled.
{
"id": "evt_mno124",
"type": "app.uninstalled",
"timestamp": "2026-02-01T08:00:00Z",
"data": {
"installationId": "ins_abc123",
"appId": "app_xyz789",
"appName": "POS Connector",
"uninstalledAt": "2026-02-01T08:00:00Z"
}
}app.scopes_updated
Triggered when an installed app's permissions are changed.
{
"id": "evt_mno125",
"type": "app.scopes_updated",
"timestamp": "2026-02-15T10:00:00Z",
"data": {
"installationId": "ins_abc123",
"appId": "app_xyz789",
"previousScopes": ["pass:read", "pass:create"],
"currentScopes": ["pass:read", "pass:create", "loyalty:manage"],
"updatedAt": "2026-02-15T10:00:00Z"
}
}Event Type Summary
| Event | Category | Description |
|---|---|---|
user.created | User Management | New user created |
user.updated | User Management | User data modified |
user.deleted | User Management | User deleted |
pass.created | Wallet Pass | New pass created |
pass.updated | Wallet Pass | Pass updated |
pass.installed | Wallet Pass | Pass added to wallet |
pass.uninstalled | Wallet Pass | Pass removed from wallet |
stamp.added | Stamp Card | Stamp added |
stamp.reward_triggered | Stamp Card | Reward threshold reached |
stamp.card_completed | Stamp Card | Card fully completed |
organization.created | Organization | Organization created |
organization.updated | Organization | Organization updated |
app.installed | Apps | App installed |
app.uninstalled | Apps | App uninstalled |
app.scopes_updated | Apps | App permissions changed |