Skip to main content
Anchor to productOptionsReorder

productOptionsReorder

mutation

Requires write_products access scope. Also: The user must have a permission to update product variants.

Reorders the options and option values on a product, updating the order in which product variants are presented to customers.

The productOptionsReorder mutation accepts a list of product options, each identified by id or name, and an optional list of values (also by id or name) specifying the new order. The order of options in the mutation's input determines their new positions (for example, the first option becomes option1). The order of values within each option determines their new positions. The mutation recalculates the order of variants based on the new option and value order.

Suppose a product has the following variants:

  1. "Red / Small"
  2. "Green / Medium"
  3. "Blue / Small"

You reorder options and values:

options: [
  { name: "Size", values: [{ name: "Small" }, { name: "Medium" }] },
  { name: "Color", values: [{ name: "Green" }, { name: "Red" }, { name: "Blue" }] }
]

The resulting variant order will be:

  1. "Small / Green"
  2. "Small / Red"
  3. "Small / Blue"
  4. "Medium / Green"

Use the productOptionsReorder mutation for the following use cases:

  • Change the order of product options: For example, display "Color" before "Size" in a store.
  • Reorder option values within an option: For example, show "Red" before "Blue" in a color picker.
  • Control the order of product variants: The order of options and their values determines the sequence in which variants are listed and selected.
  • Highlight best-selling options: Present the most popular or relevant options and values first.
  • Promote merchandising strategies: Highlight seasonal colors, limited editions, or featured sizes.

Note

The productOptionsReorder mutation enforces strict data integrity for product options and variants. All option positions must be sequential, and every option should be used by at least one variant.


After you reorder product options, you can further manage a product's configuration using related mutations:

Learn more about the product model and managing product data.

•[OptionReorderInput!]!
required

Options to reorder on the product.

•ID!
required

The ID of the product to update.


Was this section helpful?

Anchor to ProductOptionsReorderPayload returnsProductOptionsReorderPayload returns

•Product

The updated product object.

•[ProductOptionsReorderUserError!]!
non-null

The list of errors that occurred from executing the mutation.


Was this section helpful?