# createOptionValues (https://developer.godaddy.com/en/docs/references/rest/catalog/option/mutations/createOptionValues)

***

title: createOptionValues
description: "Create multiple new Option Values in a single transaction."
full: true
----------

mutation

Requires `commerce.product:write`.

Create multiple new Option Values in a single transaction.

For `SimpleMoneyInput.value`, send `1999` for $19.99 USD, not `19.99`.

## Required headers

| Header       | Required | Description                                                                                                                     |
| ------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `x-store-id` | Yes      | ID of the store the operation targets. Omitting it returns HTTP 200 with a GraphQL error: `extensions.code: "UNAUTHENTICATED"`. |

Go to [Authentication](https://developer.godaddy.com/docs/api-users/auth) for credential setup.

## Arguments

* `input` `[MutationCreateOptionValueInput!]!` **required**
  * `label` `String!` **required**
  * `optionId` `String!` **required**
  * `metafields` `[CreateMetafieldInput!]` **optional**
    * `key` `String!` **required**
    * `namespace` `String!` **required**
    * `type` `String!` **required** — Metafield value type. Live catalog validation accepts lowercase values such as `boolean`, `string`, `stringMultiLine`, `number`, `numberDecimal`, `date`, `dateTime`, `json`, `measurement`, `url`, `reference`, `money`, `list.string`, `list.number`, `list.numberDecimal`. Uppercase `STRING` is rejected.
    * `value` `String!` **required**
  * `name` `String` **optional**
  * `position` `Int` **optional**
  * `prices` `[CreateOptionValuePriceInput!]` **optional**
    * `value` `SimpleMoneyInput!` **required**
      * `currencyCode` `String!` **required**
      * `value` `Float!` **required** — Integer minor units in the smallest currency unit (for USD, cents: `1999` = $19.99). Send `1999`, not `19.99`.
    * `compareAtValue` `SimpleMoneyInput` **optional**
      * `currencyCode` `String!` **required**
      * `value` `Float!` **required** — Integer minor units in the smallest currency unit (for USD, cents: `1999` = $19.99). Send `1999`, not `19.99`.

## Possible returns

* `OptionValue` `[OptionValue!]`

- `createdAt` `DateTime!` **non-null** — The timestamp of when the Option Value was created.
- `id` `ID!` **non-null** — The UUID of the Option Value.
- `label` `String` **nullable** — The display label of the Option Value.
- `metafields` `OptionValueMetafieldsConnection` **nullable**
- `name` `String!` **non-null** — A unique name of the Option Value.
- `option` `ListOption` **nullable** — The option that this value belongs to.
- `position` `Int` **nullable** — The position of the option value.
- `prices` `OptionValuePricesConnection` **nullable** — These are all the prices the Option Value can be sold at. The price can be different based the channel where it is listed or if there is a promotion running.
- `updatedAt` `DateTime!` **non-null** — The timestamp of when the Option Value was updated.
