---
title: "Changes to Update Product"
method: PATCH
path: "/products/{id}"
---

# Changes to Update Product

`PATCH /products/{id}`

> Every recorded change to this endpoint, newest first.
> 74 revisions in range; 1 not diffed.

## Timeline

Changed in 10 of 74 revisions.

- **2026-09-24** `7fcefabddb0a` — 3 warning, 2 info
- **2026-09-12** `1660b8d62204` — 1 info
- **2026-09-10** `2a25564a92d5` — 1 info
- **2026-08-24** `e91d507bda45` — 1 info
- **2026-08-19** `23dfbe1a0d1f` — 2 info
- **2026-08-13** `48408451a1f0` — 1 info
- **2026-08-07** `f1020c3ecda4` — 2 info
- **2026-08-04** `bdd0e2c70d58` — 2 info
- **2026-07-31** `099fdc3be422` — 20 warning
- **2026-07-26** `60bbb4a6ffbc` — 16 breaking, 24 info

## Changes

- **2026-09-24** `7fcefabddb0a` — 3 warning, 2 info
  - the `description` request property's maxLength was set to `1500`
  - the `headline` request property's maxLength was set to `80`
  - the `title` request property's maxLength was set to `80`
  - added the required property `variant_attributes` to the response with the `200` status
  - added the required property `variants` to the response with the `200` status
- **2026-09-12** `1660b8d62204` — 1 info
  - added the new optional request property `gallery_images`
- **2026-09-10** `2a25564a92d5` — 1 info
  - added the required property `average_review_rating` to the response with the `200` status
- **2026-08-24** `e91d507bda45` — 1 info
  - added the required property `default_plan` to the response with the `200` status
- **2026-08-19** `23dfbe1a0d1f` — 2 info
  - added the new optional request property `labels`
  - added the required property `labels` to the response with the `200` status
- **2026-08-13** `48408451a1f0` — 1 info
  - added the new optional request property `banner_image`
- **2026-08-07** `f1020c3ecda4` — 2 info
  - added the optional property `error/code` to the response with the `401` status
  - added the optional property `error/code` to the response with the `404` status
- **2026-08-04** `bdd0e2c70d58` — 2 info
  - the security scope `access_pass:update` was added to the endpoint's security scheme `bearerAuth`
  - the security scope `product:update` was removed from the endpoint's security scheme `bearerAuth`
- **2026-07-31** `099fdc3be422` — 20 warning
  - added the new `apply_now` enum value to the `custom_cta` response property for the response status `200`
  - added the new `call_now` enum value to the `custom_cta` response property for the response status `200`
  - added the new `complete_order` enum value to the `custom_cta` response property for the response status `200`
  - added the new `contact_us` enum value to the `custom_cta` response property for the response status `200`
  - added the new `disabled` enum value to the `global_affiliate_status` response property for the response status `200`
  - added the new `disabled` enum value to the `member_affiliate_status` response property for the response status `200`
  - added the new `donate_now` enum value to the `custom_cta` response property for the response status `200`
  - added the new `enabled` enum value to the `global_affiliate_status` response property for the response status `200`
  - added the new `enabled` enum value to the `member_affiliate_status` response property for the response status `200`
  - added the new `get_access` enum value to the `custom_cta` response property for the response status `200`
  - added the new `get_offer` enum value to the `custom_cta` response property for the response status `200`
  - added the new `join` enum value to the `custom_cta` response property for the response status `200`
  - added the new `order_now` enum value to the `custom_cta` response property for the response status `200`
  - added the new `purchase` enum value to the `custom_cta` response property for the response status `200`
  - added the new `shop_now` enum value to the `custom_cta` response property for the response status `200`
  - added the new `sign_up` enum value to the `custom_cta` response property for the response status `200`
  - added the new `subscribe` enum value to the `custom_cta` response property for the response status `200`
  - added the new `undefined` enum value to the `custom_cta` response property for the response status `200`
  - added the new `undefined` enum value to the `global_affiliate_status` response property for the response status `200`
  - added the new `undefined` enum value to the `member_affiliate_status` response property for the response status `200`
- **2026-07-26** `60bbb4a6ffbc` — 16 breaking, 24 info
  - the response property `custom_cta` became nullable for the status `200`
  - the response property `global_affiliate_status` became nullable for the status `200`
  - the response property `member_affiliate_status` became nullable for the status `200`
  - the response property `owner_user` became nullable for the status `200`
  - the response property `visibility` became nullable for the status `200`
  - the `created_at` response's property format changed from `date-time` to no format for status `200`
  - the `member_count` response's property type changed from `integer` to `number` for status `200`
  - the `published_reviews_count` response's property type changed from `integer` to `number` for status `200`
  - the `updated_at` response's property format changed from `date-time` to no format for status `200`
  - removed the required property `company` from the response with the `200` status
  - removed the required property `owner_user/id` from the response with the `200` status
  - removed the required property `owner_user/name` from the response with the `200` status
  - removed the required property `owner_user/username` from the response with the `200` status
  - removed the required property `product_tax_code/id` from the response with the `200` status
  - removed the required property `product_tax_code/name` from the response with the `200` status
  - removed the required property `product_tax_code/product_type` from the response with the `200` status
  - removed the `apply_now` enum value from the `custom_cta` response property for the response status `200`
  - removed the `archived` enum value from the `visibility` response property for the response status `200`
  - removed the `call_now` enum value from the `custom_cta` response property for the response status `200`
  - removed the `complete_order` enum value from the `custom_cta` response property for the response status `200`
  - removed the `contact_us` enum value from the `custom_cta` response property for the response status `200`
  - removed the `disabled` enum value from the `global_affiliate_status` response property for the response status `200`
  - removed the `disabled` enum value from the `member_affiliate_status` response property for the response status `200`
  - removed the `donate_now` enum value from the `custom_cta` response property for the response status `200`
  - removed the `enabled` enum value from the `global_affiliate_status` response property for the response status `200`
  - removed the `enabled` enum value from the `member_affiliate_status` response property for the response status `200`
  - removed the `get_access` enum value from the `custom_cta` response property for the response status `200`
  - removed the `get_offer` enum value from the `custom_cta` response property for the response status `200`
  - removed the `hidden` enum value from the `visibility` response property for the response status `200`
  - removed the `join` enum value from the `custom_cta` response property for the response status `200`
  - removed the `order_now` enum value from the `custom_cta` response property for the response status `200`
  - removed the `purchase` enum value from the `custom_cta` response property for the response status `200`
  - removed the `quick_link` enum value from the `visibility` response property for the response status `200`
  - removed the `shop_now` enum value from the `custom_cta` response property for the response status `200`
  - removed the `sign_up` enum value from the `custom_cta` response property for the response status `200`
  - removed the `subscribe` enum value from the `custom_cta` response property for the response status `200`
  - removed the `visible` enum value from the `visibility` response property for the response status `200`
  - added the required property `account` to the response with the `200` status
  - added the required property `gallery_images/items/content_type` to the response with the `200` status
  - added the required property `marketplace_status` to the response with the `200` status

---

[Operation](https://skmtc.dev/whop/apis/whop-api/docs/products/:id/patch.md) · [API](https://skmtc.dev/whop/apis/whop-api.md) · [Page](https://skmtc.dev/whop/apis/whop-api/changes/products/:id/patch)
