---
title: "Modify an existing Product Option."
method: PUT
path: "/products/{id}/options/{option_id}.json"
tags: ["Product Options"]
---

# Modify an existing Product Option.

`PUT /products/{id}/options/{option_id}.json`

## Request

- Base URL: `https://api.jumpseller.com/v1`
- URL: `https://api.jumpseller.com/v1/products/{id}/options/{option_id}.json`
- Auth: one of:
  - HTTP basic
  - API key in query parameter `login` and API key in query parameter `authtoken`
  - OAuth 2
    - Authorization code: `https://accounts.jumpseller.com/oauth/authorize`
    - Token URL: `https://accounts.jumpseller.com/oauth/token` scopes: `write_products`

## Path parameters

- `id` integer, required
- `option_id` integer, required

## Request body

- ProductOptionEdit
  - `option` ProductOptionEditFields
    - `name` string: Name of the product option
    - `position` integer: Position of the product option
    - `option_type` 'option' | 'input' | 'text' | 'file' | 'color' | 'checklist': Type of the product option
    - `addon_price` number, float, nullable: Optional addon price added to the product base price when this option is selected by the customer. Currently used with checklist options.
    - `filters_visibility` boolean: Indicates if the option is shown in the storefront filters

## Response `200`

OK

- ProductOption
  - `option` ProductOptionFields
    - `id` integer: Unique identifier of the product option
    - `name` string: Name of the product option
    - `position` integer: Position of the product option
    - `option_type` 'option' | 'input' | 'text' | 'file' | 'color' | 'checklist': Type of the product option
    - `addon_price` number, float, nullable: Optional addon price added to the product base price when this option is selected by the customer. Currently used with checklist options.
    - `values` object[]
      - `id` integer: Unique identifier of the product option value
      - `name` string: Name of the product option value

## Other responses

- `404`: Product or Product Option Not Found.

## Changes

- **2026-10-15** `53dc9f2c1329`: 4 warning, 1 info
  - removed the optional property `option/values/items/custom` from the response with the `200` status
  - removed the optional property `option/values/items/position` from the response with the `200` status
  - removed the optional property `option/values/items/product_option` from the response with the `200` status
  - removed the optional property `option/values/items/variants` from the response with the `200` status
  - …1 more
- **2026-09-28** `6d9bc2d4601a`: 2 info
  - added the optional property `option/values/items/variants/items/variant/created_at` to the response with the `200` status
  - added the optional property `option/values/items/variants/items/variant/updated_at` to the response with the `200` status

[Operation history](https://skmtc.dev/jumpseller/apis/jumpseller-api/changes/products/:id/options/:option_id.json/put.md)

---

[API](https://skmtc.dev/jumpseller/apis/jumpseller-api.md) - [All operations](https://skmtc.dev/jumpseller/apis/jumpseller-api/llms.txt) - [OpenAPI document](https://skmtc.dev/jumpseller/apis/jumpseller-api/revisions/09f991a20d74?raw)
