{
"program": {
"id": "lprg_3e8a1c74d952",
"name": "Coffee Club",
"status": "ACTIVE",
"start_date": "2026-01-01T00:00:00.000Z",
"end_date": null,
"validity_hours": {
"type": "ANY_TIME"
},
"metadata": {
"region": "EMEA"
},
"created_at": "2026-01-01T09:00:00.000Z",
"updated_at": "2026-09-09T10:16:12.284Z",
"object": "program"
},
"reward": {
"id": "lrew_3e8a1c74d952",
"name": "Free coffee",
"type": "MATERIAL",
"status": "ACTIVE",
"start_date": null,
"end_date": null,
"validity_hours": {
"type": "ANY_TIME"
},
"material": {
"type": "PRODUCT",
"product": {
"id": "prod_7d2f5a39b461"
}
},
"refunds": {
"type": "REFUNDABLE"
},
"costs": [
{
"id": "lrcst_6a2d9f41c783",
"spending": [
{
"id": "lrspn_8d2f5a39b461",
"name": "Standard cost",
"points": 200,
"card_definition_id": "lcdef_6a2d9f41c783"
}
],
"name": "Standard"
}
],
"metadata": {
"category": "coffee"
},
"created_at": "2026-09-09T10:15:43.091Z",
"updated_at": "2026-09-09T10:16:12.284Z",
"object": "reward",
"purchase_limits": {
"cooldown": {
"type": "NO_COOLDOWN"
},
"frequency": {
"type": "NO_LIMIT",
"limits": []
}
}
},
"program_reward": {
"reward_id": "lrew_3e8a1c74d952",
"stock": {
"type": "UNLIMITED"
},
"redeemed": 0,
"created_at": "2026-09-09T10:15:43.091Z",
"updated_at": null,
"object": "program_reward"
}
}Reward assigned
Event data sent for a Loyalty v2 vl.reward.assigned activity handled by Workflows
WEBHOOK
vl.reward.assigned
{
"program": {
"id": "lprg_3e8a1c74d952",
"name": "Coffee Club",
"status": "ACTIVE",
"start_date": "2026-01-01T00:00:00.000Z",
"end_date": null,
"validity_hours": {
"type": "ANY_TIME"
},
"metadata": {
"region": "EMEA"
},
"created_at": "2026-01-01T09:00:00.000Z",
"updated_at": "2026-09-09T10:16:12.284Z",
"object": "program"
},
"reward": {
"id": "lrew_3e8a1c74d952",
"name": "Free coffee",
"type": "MATERIAL",
"status": "ACTIVE",
"start_date": null,
"end_date": null,
"validity_hours": {
"type": "ANY_TIME"
},
"material": {
"type": "PRODUCT",
"product": {
"id": "prod_7d2f5a39b461"
}
},
"refunds": {
"type": "REFUNDABLE"
},
"costs": [
{
"id": "lrcst_6a2d9f41c783",
"spending": [
{
"id": "lrspn_8d2f5a39b461",
"name": "Standard cost",
"points": 200,
"card_definition_id": "lcdef_6a2d9f41c783"
}
],
"name": "Standard"
}
],
"metadata": {
"category": "coffee"
},
"created_at": "2026-09-09T10:15:43.091Z",
"updated_at": "2026-09-09T10:16:12.284Z",
"object": "reward",
"purchase_limits": {
"cooldown": {
"type": "NO_COOLDOWN"
},
"frequency": {
"type": "NO_LIMIT",
"limits": []
}
}
},
"program_reward": {
"reward_id": "lrew_3e8a1c74d952",
"stock": {
"type": "UNLIMITED"
},
"redeemed": 0,
"created_at": "2026-09-09T10:15:43.091Z",
"updated_at": null,
"object": "program_reward"
}
}The
This event can trigger a workflow when Loyalty activity is configured with the Rewards group and the
vl.reward.assigned event indicates that a Loyalty v2 reward was assigned to a program.
This page documents only the event data nested under
data. See Introduction to webhooks for the shared webhook structure, and Workflows webhooks for the full Workflows webhook payload.vl.reward.assigned activity type. If the workflow reaches a Webhook callout action, Voucherify sends a webhook to the action’s target URL.
The example shows the content of data. It contains snapshots recorded with the activity. It is not wrapped in an activity property.
This operation also creates a separate vl.program.reward.assigned activity. Use the Program reward assigned event to handle that event type.Body
application/json
Event data object schema for vl.reward.assigned.
Loyalty v2 program snapshot recorded with the activity.
Show child attributes
Show child attributes
A reward, as returned by the API.
Show child attributes
Show child attributes
Assignment of a reward to a Loyalty v2 program.
Show child attributes
Show child attributes
Response
Webhook accepted
Last modified on September 25, 2026

