---
title: "PATCH /products/{product_id}/variant-option-sets"
method: PATCH
path: "/products/{product_id}/variant-option-sets"
tags: ["Products", "Product Variants"]
---

# PATCH /products/{product_id}/variant-option-sets

`PATCH /products/{product_id}/variant-option-sets`

This endpoint replaces the current variant option sets of a product by the given new variant option sets. Options currently in use by variants cannot be removed. If the product is sold in prepacks, size options cannot be reorganized and new values cannot be inserted into the middle of the size options.

## Path parameters

- `product_id` string, required

## Request body

- PatchVariantOptionSetsRequestV2
  - `variant_option_sets` ExternalProductVariantOptionDefinitionV2[]
    - `name` string — The name of the option (e.g., "Size", "Color").
    - `values` string[] — The available values for this option (e.g., ["Small", "Medium", "Large"]).

## Response `200`

Successful response

- PatchVariantOptionSetsResponseV2
  - `variant_option_sets` ExternalProductVariantOptionDefinitionV2[]
    - `name` string — The name of the option (e.g., "Size", "Color").
    - `values` string[] — The available values for this option (e.g., ["Small", "Medium", "Large"]).

## Other responses

- `400` — Bad Request -- Your request is invalid.
- `401` — Unauthorized -- Your API key is wrong.
- `404` — Not found -- The requested resource could not be found.
- `405` — Method Not Allowed -- You tried to access an entity with an invalid method.
- `429` — Too Many Requests.
- `500` — Internal Server Error -- We had a problem with our server. Try again later.
- `503` — Service Unavailable -- We're temporarily offline for maintenance. Please try again later.

---

[API](https://skmtc.net/faire/apis/faire-external-api.md) · [All operations](https://skmtc.net/faire/apis/faire-external-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/faire/faire-external-api/revisions/19558399745c/schema)
