curl --request PUT \
--url https://{cluster}.voucherify.io/v2/loyalties/benefits/{benefitId} \
--header 'Content-Type: application/json' \
--header 'X-App-Id: <api-key>' \
--header 'X-App-Token: <api-key>' \
--data '
{
"name": "<string>",
"points": {
"value": 4503599627370495,
"card_definition_id": "<string>"
},
"points_proportional": {
"card_definition_id": "<string>",
"order": {},
"customer": {
"metadata": {
"every": 4503599627370496,
"value": 4503599627370495.5,
"property": "<string>"
}
},
"custom_event": {
"metadata": {
"every": 4503599627370496,
"value": 4503599627370495.5,
"property": "<string>"
}
},
"order_items": {}
},
"material": {
"product": {
"id": "<string>"
},
"sku": {
"product_id": "<string>",
"id": "<string>"
}
},
"digital": {
"gift_vouchers": {
"campaign_id": "<string>",
"balance": 4503599627370495.5
},
"discount_coupons": {
"campaign_id": "<string>"
}
},
"stock": {
"limited": {
"quantity": 4503599627370495
}
}
}
'{
"id": "<string>",
"name": "<string>",
"type": "POINTS",
"status": "DRAFT",
"stock": {
"type": "UNLIMITED",
"limited": {
"quantity": 4503599627370495
}
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"object": "benefit",
"points": {
"value": 4503599627370495,
"card_definition_id": "<string>"
},
"points_proportional": {
"calculation_type": "PRE_DISCOUNT_ORDER_AMOUNT",
"card_definition_id": "<string>",
"order": {
"amount": {
"every": 4503599627370496,
"value": 4503599627370495.5
},
"total_amount": {
"every": 4503599627370496,
"value": 4503599627370495.5
},
"metadata": {
"every": 4503599627370496,
"value": 4503599627370495.5,
"property": "<string>"
}
},
"customer": {
"metadata": {
"every": 4503599627370496,
"value": 4503599627370495.5,
"property": "<string>"
}
},
"custom_event": {
"metadata": {
"every": 4503599627370496,
"value": 4503599627370495.5,
"property": "<string>"
}
},
"order_items": {
"amount": {
"every": 4503599627370496,
"value": 4503599627370495.5,
"applicable_to": [
{
"type": "product",
"product": {
"id": "<string>"
},
"sku": {
"id": "<string>"
},
"products_collection": {
"id": "<string>"
}
}
]
},
"subtotal_amount": {
"every": 4503599627370496,
"value": 4503599627370495.5,
"applicable_to": [
{
"type": "product",
"product": {
"id": "<string>"
},
"sku": {
"id": "<string>"
},
"products_collection": {
"id": "<string>"
}
}
]
},
"quantity": {
"every": 4503599627370496,
"value": 4503599627370495.5,
"applicable_to": [
{
"type": "product",
"product": {
"id": "<string>"
},
"sku": {
"id": "<string>"
},
"products_collection": {
"id": "<string>"
}
}
]
}
}
},
"material": {
"type": "PRODUCT",
"product": {
"id": "<string>"
},
"sku": {
"product_id": "<string>",
"id": "<string>"
}
},
"digital": {
"type": "GIFT_VOUCHERS",
"gift_vouchers": {
"campaign_id": "<string>",
"balance": 4503599627370495.5
},
"discount_coupons": {
"campaign_id": "<string>"
}
}
}{
"code": 123,
"key": "<string>",
"message": "<string>",
"details": "<string>",
"request_id": "<string>",
"resource_id": "<string>",
"resource_type": "<string>"
}{
"code": 123,
"key": "<string>",
"message": "<string>",
"details": "<string>",
"request_id": "<string>",
"resource_id": "<string>",
"resource_type": "<string>"
}{
"code": 123,
"key": "<string>",
"message": "<string>",
"details": "<string>",
"request_id": "<string>",
"resource_id": "<string>",
"resource_type": "<string>"
}{
"code": 123,
"key": "<string>",
"message": "<string>",
"details": "<string>",
"request_id": "<string>",
"resource_id": "<string>",
"resource_type": "<string>"
}{
"code": 500,
"key": "api_error",
"message": "Something went wrong. Don't worry, your campaigns are still safe and the Voucherify Team has been notified. Check out our Help Center and forums for help, or head back to home."
}Update benefit
This documentation is in progress. The parameters, fields, request and response bodies, and other data may be subject to change. If you need more information or you want to share feedback, contact Voucherify support or your Technical Account Manager.
Updates a benefit. When the benefit is in DRAFT status all properties can be updated.
When the benefit is not in DRAFT status, only name, stock, points, points_proportional, and digital may be updated (400 invalid_payload
otherwise). Referenced resources (card definition, product/SKU, campaign) are validated
the same way as on create; a points-based benefit can only reference an ACTIVE card
definition (423 resource_locked otherwise). The benefit name must remain unique per
project (409 duplicate_found).
curl --request PUT \
--url https://{cluster}.voucherify.io/v2/loyalties/benefits/{benefitId} \
--header 'Content-Type: application/json' \
--header 'X-App-Id: <api-key>' \
--header 'X-App-Token: <api-key>' \
--data '
{
"name": "<string>",
"points": {
"value": 4503599627370495,
"card_definition_id": "<string>"
},
"points_proportional": {
"card_definition_id": "<string>",
"order": {},
"customer": {
"metadata": {
"every": 4503599627370496,
"value": 4503599627370495.5,
"property": "<string>"
}
},
"custom_event": {
"metadata": {
"every": 4503599627370496,
"value": 4503599627370495.5,
"property": "<string>"
}
},
"order_items": {}
},
"material": {
"product": {
"id": "<string>"
},
"sku": {
"product_id": "<string>",
"id": "<string>"
}
},
"digital": {
"gift_vouchers": {
"campaign_id": "<string>",
"balance": 4503599627370495.5
},
"discount_coupons": {
"campaign_id": "<string>"
}
},
"stock": {
"limited": {
"quantity": 4503599627370495
}
}
}
'{
"id": "<string>",
"name": "<string>",
"type": "POINTS",
"status": "DRAFT",
"stock": {
"type": "UNLIMITED",
"limited": {
"quantity": 4503599627370495
}
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"object": "benefit",
"points": {
"value": 4503599627370495,
"card_definition_id": "<string>"
},
"points_proportional": {
"calculation_type": "PRE_DISCOUNT_ORDER_AMOUNT",
"card_definition_id": "<string>",
"order": {
"amount": {
"every": 4503599627370496,
"value": 4503599627370495.5
},
"total_amount": {
"every": 4503599627370496,
"value": 4503599627370495.5
},
"metadata": {
"every": 4503599627370496,
"value": 4503599627370495.5,
"property": "<string>"
}
},
"customer": {
"metadata": {
"every": 4503599627370496,
"value": 4503599627370495.5,
"property": "<string>"
}
},
"custom_event": {
"metadata": {
"every": 4503599627370496,
"value": 4503599627370495.5,
"property": "<string>"
}
},
"order_items": {
"amount": {
"every": 4503599627370496,
"value": 4503599627370495.5,
"applicable_to": [
{
"type": "product",
"product": {
"id": "<string>"
},
"sku": {
"id": "<string>"
},
"products_collection": {
"id": "<string>"
}
}
]
},
"subtotal_amount": {
"every": 4503599627370496,
"value": 4503599627370495.5,
"applicable_to": [
{
"type": "product",
"product": {
"id": "<string>"
},
"sku": {
"id": "<string>"
},
"products_collection": {
"id": "<string>"
}
}
]
},
"quantity": {
"every": 4503599627370496,
"value": 4503599627370495.5,
"applicable_to": [
{
"type": "product",
"product": {
"id": "<string>"
},
"sku": {
"id": "<string>"
},
"products_collection": {
"id": "<string>"
}
}
]
}
}
},
"material": {
"type": "PRODUCT",
"product": {
"id": "<string>"
},
"sku": {
"product_id": "<string>",
"id": "<string>"
}
},
"digital": {
"type": "GIFT_VOUCHERS",
"gift_vouchers": {
"campaign_id": "<string>",
"balance": 4503599627370495.5
},
"discount_coupons": {
"campaign_id": "<string>"
}
}
}{
"code": 123,
"key": "<string>",
"message": "<string>",
"details": "<string>",
"request_id": "<string>",
"resource_id": "<string>",
"resource_type": "<string>"
}{
"code": 123,
"key": "<string>",
"message": "<string>",
"details": "<string>",
"request_id": "<string>",
"resource_id": "<string>",
"resource_type": "<string>"
}{
"code": 123,
"key": "<string>",
"message": "<string>",
"details": "<string>",
"request_id": "<string>",
"resource_id": "<string>",
"resource_type": "<string>"
}{
"code": 123,
"key": "<string>",
"message": "<string>",
"details": "<string>",
"request_id": "<string>",
"resource_id": "<string>",
"resource_type": "<string>"
}{
"code": 500,
"key": "api_error",
"message": "Something went wrong. Don't worry, your campaigns are still safe and the Voucherify Team has been notified. Check out our Help Center and forums for help, or head back to home."
}Authorizations
Path Parameters
Unique benefit ID, prefixed with lben_.
^lben_[a-f0-9]+$Body
Request body schema for PUT /v2/loyalties/benefits/{benefitId}.
Benefit name. Must be unique within the project.
1 - 200Benefit type. Determines which configuration object is required.
POINTS, POINTS_PROPORTIONAL, MATERIAL, DIGITAL Fixed points configuration (for type POINTS).
Show child attributes
Show child attributes
Proportional points configuration (for type POINTS_PROPORTIONAL).
Show child attributes
Show child attributes
Material (physical product/SKU) configuration (for type MATERIAL).
Show child attributes
Show child attributes
Digital (campaign-based) configuration (for type DIGITAL).
Show child attributes
Show child attributes
Stock configuration.
Show child attributes
Show child attributes
Response
The updated benefit
Response body schema for PUT /v2/loyalties/benefits/{benefitId}.
Unique benefit ID, prefixed with lben_.
^lben_[a-f0-9]+$Benefit name, unique within the project.
Benefit type.
POINTS, POINTS_PROPORTIONAL, MATERIAL, DIGITAL Current benefit status. DELETED appears only in the response of the delete endpoint and in activity snapshots.
DRAFT, ACTIVE, DELETED Stock configuration. Always present. Null stock is returned as UNLIMITED with limited omitted.
Show child attributes
Show child attributes
Timestamp of when the benefit was created, in ISO 8601 format.
Timestamp of the last update, in ISO 8601 format. null when the benefit was never updated.
Type of the object. Always benefit.
"benefit"Fixed points configuration. Present only when type is POINTS.
Show child attributes
Show child attributes
Proportional points configuration. Present only when type is POINTS_PROPORTIONAL.
Show child attributes
Show child attributes
Material configuration. Present only when type is MATERIAL.
Show child attributes
Show child attributes
Digital configuration. Present only when type is DIGITAL.
Show child attributes
Show child attributes

