# Options

> An Option is a dimension along which a product varies, such as Size or Color.

A **Product Option** is a dimension along which a [Product](/api/product-management/products/) varies - for example *Size*, *Color* or *Material*. Each option holds an ordered list of [Option Values](/api/product-management/option-values/) (*S, M, L* or *Red, Blue*), and the combinations of those values across a product's options define its [Variants](/api/product-management/variants/).

Options belong to a single product and are ordered by `position`. The `title` is translatable, so the same option can read *Size* in one locale and *Taille* in another.

## The Product Option object

## How options, values and variants fit together

1. Create an option on the product, e.g. *Size* - [`POST /products/{productId}/product_options`](/api/product-management/options/create/).
2. Add its values, e.g. *S*, *M*, *L* - [`POST /option_values`](/api/product-management/option-values/create/).
3. Create the variants that combine those values, e.g. *Size: M* - [`POST /products/{productId}/variants`](/api/product-management/variants/create/).

A product with options *Size* (S, M, L) and *Color* (Red, Blue) can have up to 6 variants - one per combination.

## Common workflows

- **Set up a sizing dimension.** Create a *Size* option, then add its [Option Values](/api/product-management/option-values/) in display order with the `position` field.
- **Reorder options.** [`PATCH`](/api/product-management/options/update/) the `position` of an option to move it earlier or later in the product's option list.
- **Localize an option name.** Send the `X-Flowkiwi-Locale` header on write to set the `title` for that locale.
