---
title: "Update program reward assignment"
method: PUT
path: "/v2/loyalties/programs/{programId}/rewards/{rewardId}"
tags: ["Programs"]
---

# Update program reward assignment

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

<Warning>

<Badge color="yellow">BETA endpoint</Badge>

This is a work-in-progress documentation of a BETA endpoint. The parameters, fields, request and response bodies, and other data may subject to change. If you want to share feedback or improvements, contact [Voucherify support](https://www.voucherify.io/contact-support) or your Technical Account Manager.

</Warning>

Updates the stock configuration of a reward assigned to a program.
Returns the updated reward assignment.

## Path parameters

- `programId` string, required
- `rewardId` string, required

## Request body

- ProgramRewardAssignmentUpdateRequest — Payload for updating the stock configuration of a reward assigned to a program.
  - `stock` ProgramRewardAssignmentStock, required — Reward stock configuration. When `type` is `UNLIMITED`, `limited` must not be provided. When `type` is `LIMITED`, `limited` is required.
    - `type` 'UNLIMITED' | 'LIMITED', required — Stock type.
    - `limited` ProgramRewardAssignmentStockLimited — Limited stock configuration.
      - `quantity` integer, required — Available stock quantity.

## Response `200`

The updated reward assignment.

- ProgramRewardAssignment — A reward assigned to a program, with stock configuration and redemption counter.
  - `reward_id` string — Unique reward identifier.
  - `stock` ProgramRewardAssignmentStock — Reward stock configuration. When `type` is `UNLIMITED`, `limited` must not be provided. When `type` is `LIMITED`, `limited` is required.
    - `type` 'UNLIMITED' | 'LIMITED', required — Stock type.
    - `limited` ProgramRewardAssignmentStockLimited — Limited stock configuration.
      - `quantity` integer, required — Available stock quantity.
  - `redeemed` number — Number of times the reward has been redeemed within the program. Defaults to 0.
  - `created_at` string, date-time — Assignment creation timestamp (ISO 8601).
  - `updated_at` string, date-time, nullable — Last update timestamp (ISO 8601), or null when never updated.
  - `object` 'program_reward' — Object type marker.

## Other responses

- `400` — Validation error - request body or query parameters failed validation, or the operation is not allowed in the current resource state.
- `404` — Resource not found.
- `409` — Conflict - e.g. duplicate resource or invalid state transition.
- `500` — Internal server error.

---

[API](https://skmtc.net/voucherifyio/apis/voucherify-loyalty-v2-api.md) · [All operations](https://skmtc.net/voucherifyio/apis/voucherify-loyalty-v2-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/voucherifyio/voucherify-loyalty-v2-api/versions/f6f2f3388362/schema)
