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
}
}User Tag Events
user_tag.assigned
Triggered when a tag is assigned to a user, either via the API or through the console UI.
{
"type": "user_tag.assigned",
"createdAt": "2026-01-20T12:00:00Z",
"data": {
"id": "utag_asn_abc123",
"userId": "usr_xyz789",
"tagSlug": "vip",
"tagName": "VIP",
"organizationId": "org_abc123",
"assignedAt": "2026-01-20T12:00:00Z"
}
}| Field | Description |
|---|---|
id | Unique assignment ID |
userId | The user who was tagged |
tagSlug | Slug identifier of the tag |
tagName | Display name of the tag at the time of assignment |
organizationId | Organization the tag belongs to |
assignedAt | Timestamp of the assignment |
user_tag.unassigned
Triggered when a tag is removed from a user. This also fires for each affected user when a tag is deleted.
{
"type": "user_tag.unassigned",
"createdAt": "2026-02-01T08:00:00Z",
"data": {
"id": "utag_asn_abc123",
"userId": "usr_xyz789",
"tagSlug": "vip",
"tagName": "VIP",
"organizationId": "org_abc123",
"unassignedAt": "2026-02-01T08:00:00Z"
}
}| Field | Description |
|---|---|
id | The assignment ID that was removed |
userId | The user who was untagged |
tagSlug | Slug identifier of the tag |
tagName | Display name of the tag at the time of removal |
organizationId | Organization the tag belongs to |
unassignedAt | Timestamp of the removal |
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 |
user_tag.assigned | User Management | Tag assigned to user |
user_tag.unassigned | User Management | Tag removed from user |
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 |