---
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}`

<Info>

<Badge color="gray">Documentation in progress</Badge>

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

</Info>

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/revisions/69be73b5cff0/schema)
