stemp Logostemp Developer

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

EventCategoryDescription
user.createdUser ManagementNew user created
user.updatedUser ManagementUser data modified
user.deletedUser ManagementUser deleted
pass.createdWallet PassNew pass created
pass.updatedWallet PassPass updated
pass.installedWallet PassPass added to wallet
pass.uninstalledWallet PassPass removed from wallet
stamp.addedStamp CardStamp added
stamp.reward_triggeredStamp CardReward threshold reached
stamp.card_completedStamp CardCard fully completed
organization.createdOrganizationOrganization created
organization.updatedOrganizationOrganization updated
app.installedAppsApp installed
app.uninstalledAppsApp uninstalled
app.scopes_updatedAppsApp permissions changed