---
title: "Changes to Batch assign/unassign rewards"
method: POST
path: "/v2/loyalties/programs/{programId}/rewards/batch"
---

# Changes to Batch assign/unassign rewards

`POST /v2/loyalties/programs/{programId}/rewards/batch`

> Every recorded change to this endpoint, newest first.

## Timeline

Changed in 2 of 62 revisions.

- **2026-07-17** (v2) `4cbaee5a82d5` — 8 info
- **2026-07-06** (v2) `341403eb19e5` — 13 breaking, 6 warning, 4 info

## Changes

- **2026-07-17** (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-06** (v2) `341403eb19e5` — 13 breaking, 6 warning, 4 info
  - the request property `assign` became not nullable
  - the request property `unassign` became not nullable
  - the response property `code` became optional for the status `400`
  - the response property `code` became optional for the status `404`
  - the response property `code` became optional for the status `500`
  - the response property `key` became optional for the status `400`
  - the response property `key` became optional for the status `404`
  - the response property `key` became optional for the status `500`
  - the response property `message` became optional for the status `400`
  - the response property `message` became optional for the status `404`
  - the response property `message` became optional for the status `500`
  - response property `assigned` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `unassigned` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - removed the optional property `resource_id` from the response with the `400` status
  - removed the optional property `resource_id` from the response with the `404` status
  - removed the optional property `resource_id` from the response with the `500` status
  - removed the optional property `resource_type` from the response with the `400` status
  - removed the optional property `resource_type` from the response with the `404` status
  - removed the optional property `resource_type` from the response with the `500` status
  - api operation id `batchProcessRewards` removed and replaced with `batchProgramRewardAssignments`
  - request property `assign` list-of-types was widened by adding types `null` to media type `application/json`
  - request property `unassign` list-of-types was widened by adding types `null` to media type `application/json`
  - added the non-success response with the status `409`

---

[Operation](https://skmtc.dev/voucherifyio/apis/voucherify-loyalty-v2-api/docs/v2/loyalties/programs/:programId/rewards/batch/post.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/batch/post)
