We have created a Reward Program in Loyalty.
State 1:
{
“program”: {
“id”: “fd3f86f3-c753-45d9-afee-05aa67f8b5b6”,
“status”: “ACTIVE”,
“reward_tiers”: [
{
“id”: “c5693b5c-0bd7-4aad-92db-3921bd32c74a”,
“points”: 2,
“name”: “$1.00 off entire sale”,
“definition”: {
“scope”: “ORDER”,
“discount_type”: “FIXED_AMOUNT”,
“fixed_discount_money”: {
“amount”: 100,
“currency”: “USD”
}
},
“created_at”: “2025-09-29T10:34:20Z”,
“pricing_rule_reference”: {
“object_id”: “3R7KOEZ2G2FHSRGMKPQFM4K2”,
“catalog_version”: 1759142060152
}
}
],
“terminology”: {
“one”: “Point”,
“other”: “Points”
},
“location_ids”: [
“LG5EZBAXEZCZW”,
“RTPCZEZH1ADKQ”
],
“created_at”: “2024-09-30T05:40:58Z”,
“updated_at”: “2025-09-29T10:34:20Z”,
“accrual_rules”: [
{
“accrual_type”: “SPEND”,
“points”: 1,
“spend_data”: {
“amount_money”: {
“amount”: 100,
“currency”: “USD”
},
“tax_mode”: “BEFORE_TAX”
}
}
]
}
}
Then we changed the points value on the reward tier object and saved.
State 2:
{
“program”: {
“id”: “fd3f86f3-c753-45d9-afee-05aa67f8b5b6”,
“status”: “ACTIVE”,
“reward_tiers”: [
{
“id”: “ca4fcad2-e456-4e07-85cf-2ac62e2684ed”,
“points”: 1,
“name”: “$1.00 off entire sale”,
“definition”: {
“scope”: “ORDER”,
“discount_type”: “FIXED_AMOUNT”,
“fixed_discount_money”: {
“amount”: 100,
“currency”: “USD”
}
},
“created_at”: “2025-09-29T11:04:18Z”,
“pricing_rule_reference”: {
“object_id”: “2KYTSJHCUPSPDG4BD67HNSJS”,
“catalog_version”: 1759143858869
}
}
],
“terminology”: {
“one”: “Point”,
“other”: “Points”
},
“location_ids”: [
“LG5EZBAXEZCZW”,
“RTPCZEZH1ADKQ”
],
“created_at”: “2024-09-30T05:40:58Z”,
“updated_at”: “2025-09-29T11:04:19Z”,
“accrual_rules”: [
{
“accrual_type”: “SPEND”,
“points”: 1,
“spend_data”: {
“amount_money”: {
“amount”: 100,
“currency”: “USD”
},
“tax_mode”: “BEFORE_TAX”
}
}
]
}
}
As you can see, the ID of the Reward Tier has changed. This creates a problem for us as we don’t have a way to map to the correct reward tier once a change is made.
Square-Version: 2025-05-21
How do we tackle this?