---
title: "Update promo code"
method: PATCH
path: "/promo_codes/{id}"
tags: ["Promo codes"]
---

# Update promo code

`PATCH /promo_codes/{id}`

Update whether a promo code can be used at checkout.

Required permissions:
 - `promo_code:update`
 - `access_pass:basic:read`

## Path parameters

- `id` string, required

## Request body

- object — Parameters for UpdatePromoCode
  - `status` 'active' | 'inactive', required — Statuses that can be applied to promo codes through update operations.

## Response `200`

A successful response

- PromoCode — A promo code applies a discount to a plan during checkout. Promo codes can be percentage-based or fixed-amount, and can have usage limits and expiration dates.
  - `amount_off` number, required — The discount amount. Interpretation depends on promo_type: if 'percentage', this is the percentage (e.g., 20 means 20% off); if 'flat_amount', this is dollars off (e.g., 10.00 means $10.00 off).
  - `churned_users_only` boolean, required — Restricts promo use to only users who have churned from the company before.
  - `code` string, nullable, required — The specific code used to apply the promo at checkout.
  - `company` object, required — The company for the promo code.
    - `id` string, required — The unique identifier for the company.
    - `title` string, required — The written name of the company.
  - `created_at` string, date-time, required — The datetime the promo code was created.
  - `currency` 'usd' | 'sgd' | 'inr' | 'aud' | 'brl' | 'cad' | 'dkk' | 'eur' | 'nok' | 'gbp' | 'sek' | 'chf' | 'hkd' | 'huf' | 'jpy' | 'mxn' | 'myr' | 'pln' | 'czk' | 'nzd' | 'aed' | 'eth' | 'ape' | 'cop' | 'ron' | 'thb' | 'bgn' | 'idr' | 'dop' | 'php' | 'try' | 'krw' | 'twd' | 'vnd' | 'pkr' | 'clp' | 'uyu' | 'ars' | 'zar' | 'dzd' | 'tnd' | 'mad' | 'kes' | 'kwd' | 'jod' | 'all' | 'xcd' | 'amd' | 'bsd' | 'bhd' | 'bob' | 'bam' | 'khr' | 'crc' | 'xof' | 'egp' | 'etb' | 'gmd' | 'ghs' | 'gtq' | 'gyd' | 'ils' | 'jmd' | 'mop' | 'mga' | 'mur' | 'mdl' | 'mnt' | 'nad' | 'ngn' | 'mkd' | 'omr' | 'pyg' | 'pen' | 'qar' | 'rwf' | 'sar' | 'rsd' | 'lkr' | 'tzs' | 'ttd' | 'uzs' | 'rub' | 'btc' | 'cny' | 'usdt' | 'kzt' | 'awg' | 'whop_usd' | 'xau', required — The available currencies on the platform
  - `duration` 'forever' | 'once' | 'repeating', required — The duration setting for the promo code
  - `existing_memberships_only` boolean, required — Restricts promo use to only be applied to already purchased memberships.
  - `expires_at` string, date-time, nullable, required — The date/time of when the promo expires.
  - `id` string, required — The unique identifier for the promo code.
  - `new_users_only` boolean, required — Restricts promo use to only users who have never purchased from the company before.
  - `one_per_customer` boolean, required — Restricts promo use to only be applied once per customer.
  - `product` object, nullable, required — The product this promo code applies to
    - `id` string, required — The unique identifier for the product.
    - `title` string, required — The display name of the product shown to customers on the product page and in search results.
  - `promo_duration_months` integer, nullable, required — The number of months the promo is applied for.
  - `promo_type` 'percentage' | 'flat_amount', required — The type of promo code used to discount a plan
  - `status` 'active' | 'inactive' | 'archived', required — Statuses for promo codes
  - `stock` integer, required — The quantity limit on the number of uses.
  - `unlimited_stock` boolean, required — Whether or not the promo code has unlimited stock.
  - `uses` integer, required — The amount of times the promo codes has been used.

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `422` — Verification required
- `429` — Too many requests
- `500` — Internal server error

---

[API](https://skmtc.dev/whop/apis/whop-api.md) · [All operations](https://skmtc.dev/whop/apis/whop-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/whop/whop-api/revisions/099fdc3be422/schema)
