Skip to main content
PUT
/
management
/
v1
/
projects
/
{projectId}
/
stacking-rules
/
{stackingRulesId}
Update Stacking Rules
curl --request PUT \
  --url https://{cluster}.voucherify.io/management/v1/projects/{projectId}/stacking-rules/{stackingRulesId} \
  --header 'Content-Type: application/json' \
  --header 'X-Management-Id: <api-key>' \
  --header 'X-Management-Token: <api-key>' \
  --data '{
  "exclusive_categories": [
    "<string>"
  ],
  "joint_categories": [
    "<string>"
  ],
  "redeemables_limit": 15,
  "applicable_redeemables_limit": 15,
  "applicable_redeemables_per_category_limit": 15,
  "applicable_redeemables_category_limits": {},
  "applicable_exclusive_redeemables_limit": 3,
  "applicable_exclusive_redeemables_per_category_limit": 15,
  "discount_calculation_mode": "INITIAL_AMOUNT",
  "initial_amount_mode_categories": [
    "<string>"
  ],
  "discounted_amount_mode_categories": [
    "<string>"
  ],
  "redeemables_application_mode": "ALL",
  "redeemables_sorting_rule": "CATEGORY_HIERARCHY",
  "redeemables_products_application_mode": "STACK",
  "redeemables_no_effect_rule": "REDEEM_ANYWAY",
  "no_effect_skip_categories": [
    "<string>"
  ],
  "no_effect_redeem_anyway_categories": [
    "<string>"
  ],
  "redeemables_rollback_order_mode": "WITH_ORDER"
}'
{
  "id": "stk_0e9bdfd48108548fd3",
  "exclusive_categories": [
    "cat_0f2ba1284b565c235c",
    "cat_0d75bdfe4c9030a732"
  ],
  "joint_categories": [
    "cat_0d74559c3e9030da13",
    "cat_0d507a4d6e8a1b7b97"
  ],
  "redeemables_limit": 25,
  "applicable_redeemables_limit": 10,
  "applicable_redeemables_per_category_limit": 2,
  "applicable_redeemables_category_limits": {
    "cat_0d75bdfe4c9030a732": 1,
    "cat_0d7c4d183011d043cc": 2
  },
  "applicable_exclusive_redeemables_limit": 2,
  "applicable_exclusive_redeemables_per_category_limit": 2,
  "discount_calculation_mode": "DISCOUNTED_AMOUNT",
  "initial_amount_mode_categories": [
    "cat_0d507a4d6e8a1b7b97"
  ],
  "discounted_amount_mode_categories": [
    "cat_0d7455f93c1030da4a"
  ],
  "redeemables_application_mode": "PARTIAL",
  "redeemables_sorting_rule": "CATEGORY_HIERARCHY",
  "redeemables_no_effect_rule": "REDEEM_ANYWAY",
  "no_effect_skip_categories": [],
  "no_effect_redeem_anyway_categories": [],
  "redeemables_products_application_mode": "ONCE",
  "redeemables_rollback_order_mode": "WITH_ORDER",
  "grouped_redeemables_sorting_rule": "JOINT_ALWAYS_LAST",
  "created_at": "2024-04-16T20:18:38.213Z",
  "updated_at": "2025-08-28T08:28:53.038Z"
}

Authorizations

X-Management-Id
string
header
required
X-Management-Token
string
header
required

Path Parameters

projectId
string
required
Example:
stackingRulesId
string
required
Example:

Body

application/json
exclusive_categories
string[]
joint_categories
string[]
redeemables_limit
integer
Required range: 1 <= x <= 30
applicable_redeemables_limit
integer
Required range: 1 <= x <= 30
applicable_redeemables_per_category_limit
integer | null
Required range: 1 <= x <= 30
applicable_redeemables_category_limits
object
applicable_exclusive_redeemables_limit
integer
Required range: 1 <= x <= 5
applicable_exclusive_redeemables_per_category_limit
integer | null
Required range: 1 <= x <= 30
discount_calculation_mode
enum<string>
Available options:
INITIAL_AMOUNT,
DISCOUNTED_AMOUNT
initial_amount_mode_categories
string[]
discounted_amount_mode_categories
string[]
redeemables_application_mode
enum<string>
Available options:
ALL,
PARTIAL
redeemables_sorting_rule
enum<string>
Available options:
CATEGORY_HIERARCHY,
REQUESTED_ORDER
redeemables_products_application_mode
enum<string>
Available options:
STACK,
ONCE
redeemables_no_effect_rule
enum<string>
Available options:
REDEEM_ANYWAY,
SKIP
no_effect_skip_categories
string[]
no_effect_redeem_anyway_categories
string[]
redeemables_rollback_order_mode
enum<string>
Available options:
WITH_ORDER,
WITHOUT_ORDER

Response

id
string
required
exclusive_categories
string[]
required
joint_categories
string[]
required
redeemables_limit
integer
required
Required range: 1 <= x <= 30
applicable_redeemables_limit
integer
required
Required range: 1 <= x <= 30
applicable_redeemables_per_category_limit
integer | null
required
Required range: 1 <= x <= 30
applicable_redeemables_category_limits
object
required
applicable_exclusive_redeemables_limit
integer
required
Required range: 1 <= x <= 5
applicable_exclusive_redeemables_per_category_limit
integer | null
required
Required range: 1 <= x <= 30
discount_calculation_mode
enum<string>
required
Available options:
INITIAL_AMOUNT,
DISCOUNTED_AMOUNT
initial_amount_mode_categories
string[]
required
discounted_amount_mode_categories
string[]
required
redeemables_application_mode
enum<string>
required
Available options:
ALL,
PARTIAL
redeemables_sorting_rule
enum<string>
required
Available options:
CATEGORY_HIERARCHY,
REQUESTED_ORDER
redeemables_products_application_mode
enum<string>
required
Available options:
STACK,
ONCE
redeemables_no_effect_rule
enum<string>
required
Available options:
REDEEM_ANYWAY,
SKIP
no_effect_skip_categories
string[]
required
no_effect_redeem_anyway_categories
string[]
required
redeemables_rollback_order_mode
enum<string>
required
Available options:
WITH_ORDER,
WITHOUT_ORDER
created_at
string<date-time>
required
Example:
updated_at
string<date-time>
required