---
title: "Changes to Update program reward assignment"
method: PUT
path: "/v2/loyalties/programs/{programId}/rewards/{rewardId}"
---

# Changes to Update program reward assignment

`PUT /v2/loyalties/programs/{programId}/rewards/{rewardId}`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 26 of 220 revisions.

- **2026-10-14** (v2) `6a418ac8b7b1`: 7 breaking, 3 warning, 1 info
- **2026-10-14** (v2) `1e528b6c500d`: 3 breaking, 1 warning, 7 info
- **2026-10-14** (v2) `ec801ade260d`: 7 breaking, 3 warning, 1 info
- **2026-10-14** (v2) `84ad572f8dcb`: 3 breaking, 1 warning, 7 info
- **2026-10-13** (v2) `24e063a72189`: 7 breaking, 3 warning, 1 info
- **2026-10-13** (v2) `a1c9646d5aff`: 3 breaking, 1 warning, 7 info
- **2026-10-13** (v2) `ed683aacf90a`: 7 breaking, 3 warning, 1 info
- **2026-10-13** (v2) `f5f32d0e9a51`: 4 breaking, 2 info
- **2026-10-13** (v2) `de060723f9b5`: 4 breaking, 1 warning, 1 info
- **2026-10-13** (v2) `8c0fffd38a43`: 4 breaking, 2 info
- **2026-10-13** (v2) `c300e88a17f0`: 4 breaking, 1 warning, 1 info
- **2026-10-13** (v2) `0f9c09c099aa`: 4 breaking, 2 info
- **2026-10-13** (v2) `1293925d79e2`: 4 breaking, 1 warning, 1 info
- **2026-10-12** (v2) `d050da3a1603`: 4 breaking, 8 info
- **2026-10-12** (v2) `c56e6909b766`: 10 breaking, 1 warning, 1 info
- **2026-10-12** (v2) `1578dece77c9`: 4 breaking, 2 info
- **2026-10-12** (v2) `1ff051999cd4`: 6 info
- **2026-10-09** (v2) `5eda9210e23b`: 6 breaking
- **2026-10-09** (v2) `36f198b8c5d5`: 6 info
- **2026-10-09** (v2) `da670ff2cbf9`: 6 breaking
- **2026-10-09** (v2) `e4586926a399`: 6 info
- **2026-10-09** (v2) `f42cfc43942f`: 6 breaking
- **2026-10-09** (v2) `a4e994b61a37`: 6 info
- **2026-10-07** (v2) `338a5e34004e`: 2 info
- **2026-07-20** (v2) `4cbaee5a82d5`: 8 info
- **2026-07-09** (v2) `341403eb19e5`: 1 info

## Changes

- **2026-10-14** (v2) `6a418ac8b7b1`: 7 breaking, 3 warning, 1 info
  - added `#/components/schemas/ProgramRewardAssignmentUpdateRequest` to the request body `allOf` list
  - removed the required property `created_at` from the response with the `200` status
  - removed the required property `object` from the response with the `200` status
  - removed the required property `redeemed` from the response with the `200` status
  - removed the required property `reward_id` from the response with the `200` status
  - removed the required property `stock` from the response with the `200` status
  - removed the required property `updated_at` from the response with the `200` status
  - deleted the `path` request parameter `programId`
  - deleted the `path` request parameter `rewardId`
  - removed the request property `stock`
  - added `#/components/schemas/ProgramRewardAssignment` to the response body `allOf` list for the response status `200`
- **2026-10-14** (v2) `1e528b6c500d`: 3 breaking, 1 warning, 7 info
  - added the new path request parameter `programId`
  - added the new path request parameter `rewardId`
  - added the new required request property `stock`
  - removed `#/components/schemas/ProgramRewardAssignmentUpdateRequest` from the request body `allOf` list
  - removed `#/components/schemas/ProgramRewardAssignment` from the response body `allOf` list for the response status `200`
  - added the required property `created_at` to the response with the `200` status
  - added the required property `object` to the response with the `200` status
  - added the required property `redeemed` to the response with the `200` status
  - added the required property `reward_id` to the response with the `200` status
  - added the required property `stock` to the response with the `200` status
  - added the required property `updated_at` to the response with the `200` status
- **2026-10-14** (v2) `ec801ade260d`: 7 breaking, 3 warning, 1 info
  - added `#/components/schemas/ProgramRewardAssignmentUpdateRequest` to the request body `allOf` list
  - removed the required property `created_at` from the response with the `200` status
  - removed the required property `object` from the response with the `200` status
  - removed the required property `redeemed` from the response with the `200` status
  - removed the required property `reward_id` from the response with the `200` status
  - removed the required property `stock` from the response with the `200` status
  - removed the required property `updated_at` from the response with the `200` status
  - deleted the `path` request parameter `programId`
  - deleted the `path` request parameter `rewardId`
  - removed the request property `stock`
  - added `#/components/schemas/ProgramRewardAssignment` to the response body `allOf` list for the response status `200`
- **2026-10-14** (v2) `84ad572f8dcb`: 3 breaking, 1 warning, 7 info
  - added the new path request parameter `programId`
  - added the new path request parameter `rewardId`
  - added the new required request property `stock`
  - removed `#/components/schemas/ProgramRewardAssignmentUpdateRequest` from the request body `allOf` list
  - removed `#/components/schemas/ProgramRewardAssignment` from the response body `allOf` list for the response status `200`
  - added the required property `created_at` to the response with the `200` status
  - added the required property `object` to the response with the `200` status
  - added the required property `redeemed` to the response with the `200` status
  - added the required property `reward_id` to the response with the `200` status
  - added the required property `stock` to the response with the `200` status
  - added the required property `updated_at` to the response with the `200` status
- **2026-10-13** (v2) `24e063a72189`: 7 breaking, 3 warning, 1 info
  - added `#/components/schemas/ProgramRewardAssignmentUpdateRequest` to the request body `allOf` list
  - removed the required property `created_at` from the response with the `200` status
  - removed the required property `object` from the response with the `200` status
  - removed the required property `redeemed` from the response with the `200` status
  - removed the required property `reward_id` from the response with the `200` status
  - removed the required property `stock` from the response with the `200` status
  - removed the required property `updated_at` from the response with the `200` status
  - deleted the `path` request parameter `programId`
  - deleted the `path` request parameter `rewardId`
  - removed the request property `stock`
  - added `#/components/schemas/ProgramRewardAssignment` to the response body `allOf` list for the response status `200`
- **2026-10-13** (v2) `a1c9646d5aff`: 3 breaking, 1 warning, 7 info
  - added the new path request parameter `programId`
  - added the new path request parameter `rewardId`
  - added the new required request property `stock`
  - removed `#/components/schemas/ProgramRewardAssignmentUpdateRequest` from the request body `allOf` list
  - removed `#/components/schemas/ProgramRewardAssignment` from the response body `allOf` list for the response status `200`
  - added the required property `created_at` to the response with the `200` status
  - added the required property `object` to the response with the `200` status
  - added the required property `redeemed` to the response with the `200` status
  - added the required property `reward_id` to the response with the `200` status
  - added the required property `stock` to the response with the `200` status
  - added the required property `updated_at` to the response with the `200` status
- **2026-10-13** (v2) `ed683aacf90a`: 7 breaking, 3 warning, 1 info
  - added `#/components/schemas/ProgramRewardAssignmentUpdateRequest` to the request body `allOf` list
  - removed the required property `created_at` from the response with the `200` status
  - removed the required property `object` from the response with the `200` status
  - removed the required property `redeemed` from the response with the `200` status
  - removed the required property `reward_id` from the response with the `200` status
  - removed the required property `stock` from the response with the `200` status
  - removed the required property `updated_at` from the response with the `200` status
  - deleted the `path` request parameter `programId`
  - deleted the `path` request parameter `rewardId`
  - removed the request property `stock`
  - added `#/components/schemas/ProgramRewardAssignment` to the response body `allOf` list for the response status `200`
- **2026-10-13** (v2) `f5f32d0e9a51`: 4 breaking, 2 info
  - added the new required request property `stock/limited/quantity`
  - removed `#/components/schemas/ProgramRewardAssignmentStockLimited, subschema #2` from the `stock/limited` request property `oneOf` list
  - the `stock/limited` request property type changed from no type to `object`
  - the `stock/limited` response's property type changed from no type to `object` for status `200`
  - removed `#/components/schemas/ProgramRewardAssignmentStockLimited, subschema #2` from the `stock/limited` response property `oneOf` list for the response status `200`
  - added the required property `stock/limited/quantity` to the response with the `200` status
- **2026-10-13** (v2) `de060723f9b5`: 4 breaking, 1 warning, 1 info
  - the `stock/limited` request property type changed from `object` to no type
  - added `#/components/schemas/ProgramRewardAssignmentStockLimited, subschema #2` to the `stock/limited` response property `oneOf` list for the response status `200`
  - the `stock/limited` response's property type changed from `object` to no type for status `200`
  - removed the required property `stock/limited/quantity` from the response with the `200` status
  - removed the request property `stock/limited/quantity`
  - added `#/components/schemas/ProgramRewardAssignmentStockLimited, subschema #2` to the `stock/limited` request property `oneOf` list
- **2026-10-13** (v2) `8c0fffd38a43`: 4 breaking, 2 info
  - added the new required request property `stock/limited/quantity`
  - removed `#/components/schemas/ProgramRewardAssignmentStockLimited, subschema #2` from the `stock/limited` request property `oneOf` list
  - the `stock/limited` request property type changed from no type to `object`
  - the `stock/limited` response's property type changed from no type to `object` for status `200`
  - removed `#/components/schemas/ProgramRewardAssignmentStockLimited, subschema #2` from the `stock/limited` response property `oneOf` list for the response status `200`
  - added the required property `stock/limited/quantity` to the response with the `200` status
- **2026-10-13** (v2) `c300e88a17f0`: 4 breaking, 1 warning, 1 info
  - the `stock/limited` request property type changed from `object` to no type
  - added `#/components/schemas/ProgramRewardAssignmentStockLimited, subschema #2` to the `stock/limited` response property `oneOf` list for the response status `200`
  - the `stock/limited` response's property type changed from `object` to no type for status `200`
  - removed the required property `stock/limited/quantity` from the response with the `200` status
  - removed the request property `stock/limited/quantity`
  - added `#/components/schemas/ProgramRewardAssignmentStockLimited, subschema #2` to the `stock/limited` request property `oneOf` list
- **2026-10-13** (v2) `0f9c09c099aa`: 4 breaking, 2 info
  - added the new required request property `stock/limited/quantity`
  - removed `#/components/schemas/ProgramRewardAssignmentStockLimited, subschema #2` from the `stock/limited` request property `oneOf` list
  - the `stock/limited` request property type changed from no type to `object`
  - the `stock/limited` response's property type changed from no type to `object` for status `200`
  - removed `#/components/schemas/ProgramRewardAssignmentStockLimited, subschema #2` from the `stock/limited` response property `oneOf` list for the response status `200`
  - added the required property `stock/limited/quantity` to the response with the `200` status
- **2026-10-13** (v2) `1293925d79e2`: 4 breaking, 1 warning, 1 info
  - the `stock/limited` request property type changed from `object` to no type
  - added `#/components/schemas/ProgramRewardAssignmentStockLimited, subschema #2` to the `stock/limited` response property `oneOf` list for the response status `200`
  - the `stock/limited` response's property type changed from `object` to no type for status `200`
  - removed the required property `stock/limited/quantity` from the response with the `200` status
  - removed the request property `stock/limited/quantity`
  - added `#/components/schemas/ProgramRewardAssignmentStockLimited, subschema #2` to the `stock/limited` request property `oneOf` list
- **2026-10-12** (v2) `d050da3a1603`: 4 breaking, 8 info
  - added the new required request property `stock/limited/quantity`
  - removed `#/components/schemas/ProgramRewardAssignmentStockLimited, subschema #2` from the `stock/limited` request property `oneOf` list
  - the `stock/limited` request property type changed from no type to `object`
  - the `stock/limited` response's property type changed from no type to `object` for status `200`
  - the response property `created_at` became required for the status `200`
  - the response property `object` became required for the status `200`
  - the response property `redeemed` became required for the status `200`
  - the response property `reward_id` became required for the status `200`
  - the response property `stock` became required for the status `200`
  - the response property `updated_at` became required for the status `200`
  - removed `#/components/schemas/ProgramRewardAssignmentStockLimited, subschema #2` from the `stock/limited` response property `oneOf` list for the response status `200`
  - added the required property `stock/limited/quantity` to the response with the `200` status
- **2026-10-12** (v2) `c56e6909b766`: 10 breaking, 1 warning, 1 info
  - the `stock/limited` request property type changed from `object` to no type
  - the response property `created_at` became optional for the status `200`
  - the response property `object` became optional for the status `200`
  - the response property `redeemed` became optional for the status `200`
  - the response property `reward_id` became optional for the status `200`
  - the response property `stock` became optional for the status `200`
  - the response property `updated_at` became optional for the status `200`
  - added `#/components/schemas/ProgramRewardAssignmentStockLimited, subschema #2` to the `stock/limited` response property `oneOf` list for the response status `200`
  - the `stock/limited` response's property type changed from `object` to no type for status `200`
  - removed the required property `stock/limited/quantity` from the response with the `200` status
  - removed the request property `stock/limited/quantity`
  - added `#/components/schemas/ProgramRewardAssignmentStockLimited, subschema #2` to the `stock/limited` request property `oneOf` list
- **2026-10-12** (v2) `1578dece77c9`: 4 breaking, 2 info
  - added the new required request property `stock/limited/quantity`
  - removed `#/components/schemas/ProgramRewardAssignmentStockLimited, subschema #2` from the `stock/limited` request property `oneOf` list
  - the `stock/limited` request property type changed from no type to `object`
  - the `stock/limited` response's property type changed from no type to `object` for status `200`
  - removed `#/components/schemas/ProgramRewardAssignmentStockLimited, subschema #2` from the `stock/limited` response property `oneOf` list for the response status `200`
  - added the required property `stock/limited/quantity` to the response with the `200` status
- **2026-10-12** (v2) `1ff051999cd4`: 6 info
  - the response property `created_at` became required for the status `200`
  - the response property `object` became required for the status `200`
  - the response property `redeemed` became required for the status `200`
  - the response property `reward_id` became required for the status `200`
  - the response property `stock` became required for the status `200`
  - the response property `updated_at` became required for the status `200`
- **2026-10-09** (v2) `5eda9210e23b`: 6 breaking
  - the response property `created_at` became optional for the status `200`
  - the response property `object` became optional for the status `200`
  - the response property `redeemed` became optional for the status `200`
  - the response property `reward_id` became optional for the status `200`
  - the response property `stock` became optional for the status `200`
  - the response property `updated_at` became optional for the status `200`
- **2026-10-09** (v2) `36f198b8c5d5`: 6 info
  - the response property `created_at` became required for the status `200`
  - the response property `object` became required for the status `200`
  - the response property `redeemed` became required for the status `200`
  - the response property `reward_id` became required for the status `200`
  - the response property `stock` became required for the status `200`
  - the response property `updated_at` became required for the status `200`
- **2026-10-09** (v2) `da670ff2cbf9`: 6 breaking
  - the response property `created_at` became optional for the status `200`
  - the response property `object` became optional for the status `200`
  - the response property `redeemed` became optional for the status `200`
  - the response property `reward_id` became optional for the status `200`
  - the response property `stock` became optional for the status `200`
  - the response property `updated_at` became optional for the status `200`
- **2026-10-09** (v2) `e4586926a399`: 6 info
  - the response property `created_at` became required for the status `200`
  - the response property `object` became required for the status `200`
  - the response property `redeemed` became required for the status `200`
  - the response property `reward_id` became required for the status `200`
  - the response property `stock` became required for the status `200`
  - the response property `updated_at` became required for the status `200`
- **2026-10-09** (v2) `f42cfc43942f`: 6 breaking
  - the response property `created_at` became optional for the status `200`
  - the response property `object` became optional for the status `200`
  - the response property `redeemed` became optional for the status `200`
  - the response property `reward_id` became optional for the status `200`
  - the response property `stock` became optional for the status `200`
  - the response property `updated_at` became optional for the status `200`
- **2026-10-09** (v2) `a4e994b61a37`: 6 info
  - the response property `created_at` became required for the status `200`
  - the response property `object` became required for the status `200`
  - the response property `redeemed` became required for the status `200`
  - the response property `reward_id` became required for the status `200`
  - the response property `stock` became required for the status `200`
  - the response property `updated_at` became required for the status `200`
- **2026-10-07** (v2) `338a5e34004e`: 2 info
  - the endpoint scheme security `X-App-Id AND X-App-Token` was added to the API
  - the endpoint scheme security `bearerAuth` was added to the API
- **2026-07-20** (v2) `4cbaee5a82d5`: 8 info
  - added the optional property `resource_id` to the response with the `400` status
  - added the optional property `resource_id` to the response with the `404` status
  - added the optional property `resource_id` to the response with the `409` status
  - added the optional property `resource_id` to the response with the `500` status
  - added the optional property `resource_type` to the response with the `400` status
  - added the optional property `resource_type` to the response with the `404` status
  - added the optional property `resource_type` to the response with the `409` status
  - added the optional property `resource_type` to the response with the `500` status
- **2026-07-09** (v2) `341403eb19e5`: 1 info
  - endpoint added

---

[Operation](https://skmtc.dev/voucherifyio/apis/voucherify-loyalty-v2-api/docs/v2/loyalties/programs/:programId/rewards/:rewardId/put.md) - [API](https://skmtc.dev/voucherifyio/apis/voucherify-loyalty-v2-api.md) - [Page](https://skmtc.dev/voucherifyio/apis/voucherify-loyalty-v2-api/changes/v2/loyalties/programs/:programId/rewards/:rewardId/put)
