---
title: "Update a voucher"
method: PUT
path: "/vouchers/{id}"
tags: ["Vouchers"]
---

# Update a voucher

`PUT /vouchers/{id}`

## Overview

Modify an existing voucher's settings, including discount values, validity periods, usage limits, and status.

## When to Use

- **Extend validity** - Update voucher end dates
- **Adjust discounts** - Change discount values or types
- **Update limits** - Modify usage limits or minimum spend
- **Status changes** - Activate or deactivate vouchers

## What You Get

- **Confirmation** - Success message when voucher is updated
- **Updated voucher** - Voucher reflects the new settings

## Important Notes

- **Read-only if used** - Vouchers that have been used in bookings cannot be modified (returns 404)
- **All fields required** - Must provide all required fields, not just the ones you want to change

## Quick Start

Provide the voucher ID and updated fields. Returns confirmation of the update.

## Path parameters

- `id` integer, required

## Request body

- object
  - `voucher_code` string, required — A unique code for the new voucher. e.g. manhattan-holidays-100
  - `discount_type` string, required — Type of discount, such as percentage or points redemption
  - `discount_value` number, required — Value of the discount applied by the voucher. For percentage discounts, a value of 10 represents a 10% discount. For points_redemption, it indicates the fixed amount of points to be redeemed e.g. 10 equals 10 points
  - `minimum_spend` number, required — Minimum rate to apply the discount voucher in the voucher currency. e.g. a minimum_spend of USD$100 will only apply for bookings with a price USD$100 or more
  - `maximum_discount_amount` number, required — Maximum discount amount that can be applied using the voucher in voucher currency. e.g. a with a maximum_discount_amount of 50 in USD, will discount from 0 to USD$50
  - `currency` string, required — Currency of the discount
  - `validity_start` string, date, required — Updated start date of the voucher's validity
  - `validity_end` string, date, required — Updated end date of the voucher's validity
  - `usages_limit` number, required — Updated usage limit for the voucher
  - `status` string, required — Updated status of the voucher (e.g., active, inactive)
  - `budget` number — Total monetary pool the voucher can distribute across all redemptions, in the voucher's currency. If not set or 0, there is no monetary limit and usage is only controlled by usages_limit. When set, budget and usages_limit act as independent limits — whichever is exhausted first will reject the voucher.

## Response `200`

Voucher updated successfully

## Other responses

- `400` — Voucher not found
- `404` — Voucher is used in a booking, read-only access allowed

---

[API](https://skmtc.net/liteapi/apis/api-search.md) · [All operations](https://skmtc.net/liteapi/apis/api-search/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/liteapi/api-search/versions/315ba2a4dcf4/schema)
