---
title: Product Variant
description: >-
  Add or update a product's  variants. Variants are the different combinations
  of the product's options. For  example, a t-shirt product with size and color
  options might have a variant in a small size and blue color.
api_version: 2026-07
source_url:
  html: 'https://shopify.dev/docs/api/admin-rest/latest/resources/product-variant'
  md: 'https://shopify.dev/docs/api/admin-rest/latest/resources/product-variant.md'
api_name: admin-rest
api_type: rest
---

The REST Admin API is a legacy API as of October 1, 2024. Starting April 1, 2025, all new public apps must be built exclusively with the [GraphQL Admin API](https://shopify.dev/docs/api/admin-graphql). For details and migration steps, visit our [migration guide](https://shopify.dev/docs/apps/build/graphql/migrate).

# Product Variant

**Requires \`products\` access scope.:**

**Important:**

Listing, creating, updating, and deleting product variants is deprecated as of REST API 2024-04. For more information, refer to the [guide to the new product model](https://shopify.dev/docs/api/admin/migrate/new-product-model).

**Important:**

Apps can no longer set inventory using `inventory_quantity`. For more information, refer to the [`Inventory Level`](https://shopify.dev/api/admin-rest/latest/resources/inventorylevel) resource.

A variant can be added to a Product resource to represent one version of a product with several options. The Product resource will have a variant for every possible combination of its options. Each product can have a maximum of three options and a maximum of 100 variants.

\#

## Endpoints

* [post](https://shopify.dev/docs/api/admin-rest/latest/resources/product-variant.md#post-products-product-id-variants)

  [/admin/api/latest/products/{product\_​id}/variants.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/product-variant.md#post-products-product-id-variants)

  Create a new Product Variant

  [productCreate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productCreate)

  [productVariantsBulkCreate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productVariantsBulkCreate)

* [get](https://shopify.dev/docs/api/admin-rest/latest/resources/product-variant.md#get-products-product-id-variants)

  [/admin/api/latest/products/{product\_​id}/variants.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/product-variant.md#get-products-product-id-variants)

  Retrieves a list of product variants

  [productVariants](https://shopify.dev/docs/api/admin-graphql/latest/queries/productVariants)

* [get](https://shopify.dev/docs/api/admin-rest/latest/resources/product-variant.md#get-products-product-id-variants-count)

  [/admin/api/latest/products/{product\_​id}/variants/count.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/product-variant.md#get-products-product-id-variants-count)

  Receive a count of all Product Variants

  [productVariantsCount](https://shopify.dev/docs/api/admin-graphql/latest/queries/productVariantsCount?example=receive-a-count-of-all-product-variants)

* [get](https://shopify.dev/docs/api/admin-rest/latest/resources/product-variant.md#get-variants-variant-id)

  [/admin/api/latest/variants/{variant\_​id}.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/product-variant.md#get-variants-variant-id)

  Receive a single Product Variant

  [productVariant](https://shopify.dev/docs/api/admin-graphql/latest/queries/productVariant)

* [put](https://shopify.dev/docs/api/admin-rest/latest/resources/product-variant.md#put-variants-variant-id)

  [/admin/api/latest/variants/{variant\_​id}.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/product-variant.md#put-variants-variant-id)

  Modify an existing Product Variant

  [productVariantsBulkUpdate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productVariantsBulkUpdate)

* [del](https://shopify.dev/docs/api/admin-rest/latest/resources/product-variant.md#delete-products-product-id-variants-variant-id)

  [/admin/api/latest/products/{product\_​id}/variants/{variant\_​id}.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/product-variant.md#delete-products-product-id-variants-variant-id)

  Remove an existing Product Variant

  [productVariantsBulkDelete](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productVariantsBulkDelete?example=remove-an-existing-product-variant)

***

## The Product Variant resource

### Properties

***

barcode

->[barcode](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductVariant#field-ProductVariant.fields.barcode)

The barcode, UPC, or ISBN number for the product.

***

compare\_at\_price

->[compareAtPrice](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductVariant#field-ProductVariant.fields.compareAtPrice)

The original price of the item before an adjustment or a sale.

***

created\_at

->[createdAt](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductVariant#field-ProductVariant.fields.createdAt)

The date and time ([ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601)) when the product variant was created.

***

fulfillment\_service

->[fulfillmentService](https://shopify.dev/docs/api/admin-graphql/latest/objects/Location#field-Location.fields.fulfillmentService)

The handle of a fulfillment service that stocks a product variant.

As of API version `2025-01`, all fulfillment services permit SKU sharing. This field returns `gift_card` for gift card variants and `manual` for all other variants. Use the [InventoryLevel](https://shopify.dev/api/admin-rest/latest/resources/inventorylevel) resource to determine where a variant is stocked.

Setting this field activates inventory at the specified fulfillment service's location, but doesn't unstock the variant from other locations. The field value itself still returns `manual` after the write (except for gift card variants, which continue to return `gift_card`). Prefer the [InventoryLevel](https://shopify.dev/api/admin-rest/latest/resources/inventorylevel) resource for managing location assignments explicitly.

Learn more about [managing inventory quantities and states](https://shopify.dev/apps/fulfillment/inventory-management-apps/quantities-states).

***

grams

**deprecated**

The weight of the product variant in grams.

***

id

->[id](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductVariant#field-ProductVariant.fields.id)

The unique numeric identifier for the product variant.

***

image\_id

->[image](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductVariant#field-ProductVariant.fields.image)

The unique numeric identifier for a product's image. The image must be associated to the same product as the variant.

***

inventory\_item\_id

->[inventoryItem](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductVariant#field-ProductVariant.fields.inventoryItem)

The unique identifier for the inventory item, which is used in the Inventory API to query for inventory information.

***

inventory\_management

->[inventoryLevel](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryItem#field-InventoryItem.fields.inventoryLevel)

The fulfillment service that tracks the number of items in stock for the product variant. As of API version `2025-01`, all fulfillment services permit SKU sharing, so this field returns `shopify` for all variants. Use the [InventoryLevel](https://shopify.dev/api/admin-rest/latest/resources/inventorylevel) resource to determine where a variant is stocked. Valid values:

* `shopify`: Shopify tracks inventory for this variant.
* `null`: You aren't tracking inventory on the variant.

***

inventory\_policy

->[inventoryPolicy](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductVariant#field-ProductVariant.fields.inventoryPolicy)

Whether customers are allowed to place an order for the product variant when it's out of stock. Valid values:

* `deny`: Customers are not allowed to place orders for the product variant if it's out of stock.
* `continue`: Customers are allowed to place orders for the product variant if it's out of stock.

Default value: `deny`.

***

inventory\_quantity

**read-only**

->[inventoryQuantity](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductVariant#field-ProductVariant.fields.inventoryQuantity)

An aggregate of inventory across all locations. To adjust inventory at a specific location, use the [InventoryLevel](https://shopify.dev/docs/admin-api/rest/reference/inventory/inventorylevel) resource.

***

old\_inventory\_quantity

**deprecated**

This property is deprecated. Use the [InventoryLevel](https://shopify.dev/docs/admin-api/rest/reference/inventory/inventorylevel) resource instead.

***

{}

## The Product Variant resource

```json
{
  "barcode": "1234_pink",
  "compare_at_price": "299.00",
  "created_at": "2012-08-24T14:01:47-04:00",
  "fulfillment_service": "manual",
  "grams": 567,
  "id": 808950810,
  "image_id": 434522,
  "inventory_item_id": 342916,
  "inventory_management": "shopify",
  "inventory_policy": "continue",
  "inventory_quantity": 10,
  "old_inventory_quantity": 5,
  "option": {
    "option1": "Pink"
  },
  "presentment_prices": {
    "presentment_prices": [
      {
        "price": {
          "currency_code": "USD",
          "amount": "199.99"
        },
        "compare_at_price": {
          "currency_code": "USD",
          "amount": "249.99"
        }
      },
      {
        "price": {
          "currency_code": "EUR",
          "amount": "158.95"
        },
        "compare_at_price": {
          "currency_code": "EUR",
          "amount": "198.95"
        }
      },
      {
        "price": {
          "currency_code": "GBP",
          "amount": "143.00"
        },
        "compare_at_price": {
          "currency_code": "GBP",
          "amount": "179.00"
        }
      },
      {
        "price": {
          "currency_code": "JPY",
          "amount": "22400"
        },
        "compare_at_price": {
          "currency_code": "JPY",
          "amount": "28000"
        }
      }
    ]
  },
  "position": 1,
  "price": "199.00",
  "product_id": 632910392,
  "requires_shipping": true,
  "sku": "IPOD2008PINK",
  "taxable": true,
  "tax_code": "DA040000",
  "title": "Pink",
  "updated_at": "2012-08-24T14:01:47-04:00",
  "weight": 100,
  "weight_unit": "oz"
}
```

***

## postCreate a new Product Variant

[productCreate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productCreate)

[productVariantsBulkCreate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productVariantsBulkCreate)

Creates a new product variant

### Parameters

***

api\_version

**string**

**required**

***

product\_id

**string**

**required**

***

### Examples

### Create a new product variant

### Path parameters

product\_​id=​632910392

**string**

**required**

### Create a new product variant with a metafield

### Path parameters

product\_​id=​632910392

**string**

**required**

### Create a new product variant with an image

### Path parameters

product\_​id=​632910392

**string**

**required**

post

## /admin/api/2026-07/products/632910392/variants.​json

```bash
curl -d '{"variant":{"option1":"Yellow","price":"1.00"}}' \
-X POST "https://your-development-store.myshopify.com/admin/api/2026-07/products/632910392/variants.json" \
-H "X-Shopify-Access-Token: {access_token}" \
-H "Content-Type: application/json"
```

{}

## Response

JSON

```json
HTTP/1.1 201 Created
{
  "variant": {
    "id": 1070325021,
    "product_id": 632910392,
    "title": "Yellow",
    "price": "1.00",
    "position": 5,
    "inventory_policy": "deny",
    "compare_at_price": null,
    "option1": "Yellow",
    "option2": null,
    "option3": null,
    "created_at": "2026-07-06T11:02:08-04:00",
    "updated_at": "2026-07-06T11:02:08-04:00",
    "taxable": true,
    "barcode": null,
    "fulfillment_service": "manual",
    "grams": 0,
    "inventory_management": "shopify",
    "requires_shipping": true,
    "sku": null,
    "weight": 0,
    "weight_unit": "lb",
    "inventory_item_id": 1070325021,
    "inventory_quantity": 0,
    "old_inventory_quantity": 0,
    "presentment_prices": [
      {
        "price": {
          "amount": "1.00",
          "currency_code": "USD"
        },
        "compare_at_price": null
      }
    ],
    "admin_graphql_api_id": "gid://shopify/ProductVariant/1070325021",
    "image_id": null
  }
}
```

### examples

* #### Create a new product variant

  #####

  ```curl
  curl -d '{"variant":{"option1":"Yellow","price":"1.00"}}' \
  -X POST "https://your-development-store.myshopify.com/admin/api/2026-07/products/632910392/variants.json" \
  -H "X-Shopify-Access-Token: {access_token}" \
  -H "Content-Type: application/json"
  ```

  #### response

  ```json
  HTTP/1.1 201 Created{"variant":{"id":1070325021,"product_id":632910392,"title":"Yellow","price":"1.00","position":5,"inventory_policy":"deny","compare_at_price":null,"option1":"Yellow","option2":null,"option3":null,"created_at":"2026-07-06T11:02:08-04:00","updated_at":"2026-07-06T11:02:08-04:00","taxable":true,"barcode":null,"fulfillment_service":"manual","grams":0,"inventory_management":"shopify","requires_shipping":true,"sku":null,"weight":0,"weight_unit":"lb","inventory_item_id":1070325021,"inventory_quantity":0,"old_inventory_quantity":0,"presentment_prices":[{"price":{"amount":"1.00","currency_code":"USD"},"compare_at_price":null}],"admin_graphql_api_id":"gid://shopify/ProductVariant/1070325021","image_id":null}}
  ```

* #### Create a new product variant with a metafield

  #####

  ```curl
  curl -d '{"variant":{"option1":"Blue","metafields":[{"key":"new","value":"newvalue","type":"single_line_text_field","namespace":"global"}]}}' \
  -X POST "https://your-development-store.myshopify.com/admin/api/2026-07/products/632910392/variants.json" \
  -H "X-Shopify-Access-Token: {access_token}" \
  -H "Content-Type: application/json"
  ```

* #### Create a new product variant with an image

  #####

  ```curl
  curl -d '{"variant":{"image_id":850703190,"option1":"Purple"}}' \
  -X POST "https://your-development-store.myshopify.com/admin/api/2026-07/products/632910392/variants.json" \
  -H "X-Shopify-Access-Token: {access_token}" \
  -H "Content-Type: application/json"
  ```

***

## getRetrieves a list of product variants

[productVariants](https://shopify.dev/docs/api/admin-graphql/latest/queries/productVariants)

Retrieves a list of product variants. **Note:** This endpoint implements pagination by using links that are provided in the response header. To learn more, refer to [Make paginated requests to the REST Admin API](https://shopify.dev/api/usage/pagination-rest).

### Parameters

***

api\_version

**string**

**required**

***

product\_id

**string**

**required**

***

fields

A comma-separated list of fields to include in the response

***

limit

**≤ 250**

**default 50**

Return up to this many results per page

***

presentment\_currencies

Return presentment prices in only certain currencies, specified by a comma-separated list of [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency codes.

***

since\_id

Restrict results to after the specified ID

***

### Examples

### Retrieve all variants for a product

### Path parameters

product\_​id=​632910392

**string**

**required**

### Retrieve all variants for a product after a specified ID

### Path parameters

product\_​id=​632910392

**string**

**required**

### Query parameters

since\_​id=​49148385

Restrict results to after the specified ID

### Retrieve all variants for a product with prices in specified presentment currencies

### Path parameters

product\_​id=​632910392

**string**

**required**

### Query parameters

presentment\_​currencies=​USD,​CAD

Return presentment prices in only certain currencies, specified by a comma-separated list of [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency codes.

get

## /admin/api/2026-07/products/632910392/variants.​json

```bash
curl -X GET "https://your-development-store.myshopify.com/admin/api/2026-07/products/632910392/variants.json" \
-H "X-Shopify-Access-Token: {access_token}"
```

{}

## Response

JSON

```json
HTTP/1.1 200 OK
{
  "variants": [
    {
      "id": 39072856,
      "product_id": 632910392,
      "title": "Green",
      "price": "199.00",
      "position": 3,
      "inventory_policy": "continue",
      "compare_at_price": null,
      "option1": "Green",
      "option2": null,
      "option3": null,
      "created_at": "2026-07-06T10:58:58-04:00",
      "updated_at": "2026-07-06T10:58:58-04:00",
      "taxable": true,
      "barcode": "1234_green",
      "fulfillment_service": "manual",
      "grams": 567,
      "inventory_management": "shopify",
      "requires_shipping": true,
      "sku": "IPOD2008GREEN",
      "weight": 1.25,
      "weight_unit": "lb",
      "inventory_item_id": 39072856,
      "inventory_quantity": 30,
      "old_inventory_quantity": 30,
      "presentment_prices": [
        {
          "price": {
            "amount": "199.00",
            "currency_code": "USD"
          },
          "compare_at_price": null
        }
```

### examples

* #### Retrieve all variants for a product

  #####

  ```curl
  curl -X GET "https://your-development-store.myshopify.com/admin/api/2026-07/products/632910392/variants.json" \
  -H "X-Shopify-Access-Token: {access_token}"
  ```

  #### response

  ```json
  HTTP/1.1 200 OK{"variants":[{"id":39072856,"product_id":632910392,"title":"Green","price":"199.00","position":3,"inventory_policy":"continue","compare_at_price":null,"option1":"Green","option2":null,"option3":null,"created_at":"2026-07-06T10:58:58-04:00","updated_at":"2026-07-06T10:58:58-04:00","taxable":true,"barcode":"1234_green","fulfillment_service":"manual","grams":567,"inventory_management":"shopify","requires_shipping":true,"sku":"IPOD2008GREEN","weight":1.25,"weight_unit":"lb","inventory_item_id":39072856,"inventory_quantity":30,"old_inventory_quantity":30,"presentment_prices":[{"price":{"amount":"199.00","currency_code":"USD"},"compare_at_price":null}],"admin_graphql_api_id":"gid://shopify/ProductVariant/39072856","image_id":null},{"id":49148385,"product_id":632910392,"title":"Red","price":"199.00","position":2,"inventory_policy":"continue","compare_at_price":null,"option1":"Red","option2":null,"option3":null,"created_at":"2026-07-06T10:58:58-04:00","updated_at":"2026-07-06T10:58:58-04:00","taxable":true,"barcode":"1234_red","fulfillment_service":"manual","grams":567,"inventory_management":"shopify","requires_shipping":true,"sku":"IPOD2008RED","weight":1.25,"weight_unit":"lb","inventory_item_id":49148385,"inventory_quantity":20,"old_inventory_quantity":20,"presentment_prices":[{"price":{"amount":"199.00","currency_code":"USD"},"compare_at_price":null}],"admin_graphql_api_id":"gid://shopify/ProductVariant/49148385","image_id":null},{"id":457924702,"product_id":632910392,"title":"Black","price":"199.00","position":4,"inventory_policy":"continue","compare_at_price":null,"option1":"Black","option2":null,"option3":null,"created_at":"2026-07-06T10:58:58-04:00","updated_at":"2026-07-06T10:58:58-04:00","taxable":true,"barcode":"1234_black","fulfillment_service":"manual","grams":567,"inventory_management":"shopify","requires_shipping":true,"sku":"IPOD2008BLACK","weight":1.25,"weight_unit":"lb","inventory_item_id":457924702,"inventory_quantity":40,"old_inventory_quantity":40,"presentment_prices":[{"price":{"amount":"199.00","currency_code":"USD"},"compare_at_price":null}],"admin_graphql_api_id":"gid://shopify/ProductVariant/457924702","image_id":null},{"id":808950810,"product_id":632910392,"title":"Pink","price":"199.00","position":1,"inventory_policy":"continue","compare_at_price":null,"option1":"Pink","option2":null,"option3":null,"created_at":"2026-07-06T10:58:58-04:00","updated_at":"2026-07-06T10:58:58-04:00","taxable":true,"barcode":"1234_pink","fulfillment_service":"manual","grams":567,"inventory_management":"shopify","requires_shipping":true,"sku":"IPOD2008PINK","weight":1.25,"weight_unit":"lb","inventory_item_id":808950810,"inventory_quantity":10,"old_inventory_quantity":10,"presentment_prices":[{"price":{"amount":"199.00","currency_code":"USD"},"compare_at_price":null}],"admin_graphql_api_id":"gid://shopify/ProductVariant/808950810","image_id":562641783}]}
  ```

* #### Retrieve all variants for a product after a specified ID

  #####

  ```curl
  curl -X GET "https://your-development-store.myshopify.com/admin/api/2026-07/products/632910392/variants.json?since_id=49148385" \
  -H "X-Shopify-Access-Token: {access_token}"
  ```

* #### Retrieve all variants for a product with prices in specified presentment currencies

  #####

  ```curl
  curl -X GET "https://your-development-store.myshopify.com/admin/api/2026-07/products/632910392/variants.json?presentment_currencies=USD%2CCAD" \
  -H "X-Shopify-Access-Token: {access_token}"
  ```

***

## getReceive a count of all Product Variants

[productVariantsCount](https://shopify.dev/docs/api/admin-graphql/latest/queries/productVariantsCount?example=receive-a-count-of-all-product-variants)

Retrieves a count of product variants

### Parameters

***

api\_version

**string**

**required**

***

product\_id

**string**

**required**

***

### Examples

### Retrieve a count all variants for a product

### Path parameters

product\_​id=​632910392

**string**

**required**

get

## /admin/api/2026-07/products/632910392/variants/count.​json

```bash
curl -X GET "https://your-development-store.myshopify.com/admin/api/2026-07/products/632910392/variants/count.json" \
-H "X-Shopify-Access-Token: {access_token}"
```

{}

## Response

JSON

```json
HTTP/1.1 200 OK
{
  "count": 4
}
```

### examples

* #### Retrieve a count all variants for a product

  #####

  ```curl
  curl -X GET "https://your-development-store.myshopify.com/admin/api/2026-07/products/632910392/variants/count.json" \
  -H "X-Shopify-Access-Token: {access_token}"
  ```

  #### response

  ```json
  HTTP/1.1 200 OK{"count":4}
  ```

***

## getReceive a single Product Variant

[productVariant](https://shopify.dev/docs/api/admin-graphql/latest/queries/productVariant)

Retrieves a single product variant by ID

### Parameters

***

api\_version

**string**

**required**

***

variant\_id

**string**

**required**

***

fields

A comma-separated list of fields to include in the response

***

### Examples

### Retrieve a product variant by ID

### Path parameters

variant\_​id=​808950810

**string**

**required**

get

## /admin/api/2026-07/variants/808950810.​json

```bash
curl -X GET "https://your-development-store.myshopify.com/admin/api/2026-07/variants/808950810.json" \
-H "X-Shopify-Access-Token: {access_token}"
```

{}

## Response

JSON

```json
HTTP/1.1 200 OK
{
  "variant": {
    "id": 808950810,
    "product_id": 632910392,
    "title": "Pink",
    "price": "199.00",
    "position": 1,
    "inventory_policy": "continue",
    "compare_at_price": null,
    "option1": "Pink",
    "option2": null,
    "option3": null,
    "created_at": "2026-07-06T10:58:58-04:00",
    "updated_at": "2026-07-06T10:58:58-04:00",
    "taxable": true,
    "barcode": "1234_pink",
    "fulfillment_service": "manual",
    "grams": 567,
    "inventory_management": "shopify",
    "requires_shipping": true,
    "sku": "IPOD2008PINK",
    "weight": 1.25,
    "weight_unit": "lb",
    "inventory_item_id": 808950810,
    "inventory_quantity": 10,
    "old_inventory_quantity": 10,
    "presentment_prices": [
      {
        "price": {
          "amount": "199.00",
          "currency_code": "USD"
        },
        "compare_at_price": null
      }
    ],
    "tax_code": "DA040000",
    "admin_graphql_api_id": "gid://shopify/ProductVariant/808950810",
    "image_id": 562641783
  }
}
```

### examples

* #### Retrieve a product variant by ID

  #####

  ```curl
  curl -X GET "https://your-development-store.myshopify.com/admin/api/2026-07/variants/808950810.json" \
  -H "X-Shopify-Access-Token: {access_token}"
  ```

  #### response

  ```json
  HTTP/1.1 200 OK{"variant":{"id":808950810,"product_id":632910392,"title":"Pink","price":"199.00","position":1,"inventory_policy":"continue","compare_at_price":null,"option1":"Pink","option2":null,"option3":null,"created_at":"2026-07-06T10:58:58-04:00","updated_at":"2026-07-06T10:58:58-04:00","taxable":true,"barcode":"1234_pink","fulfillment_service":"manual","grams":567,"inventory_management":"shopify","requires_shipping":true,"sku":"IPOD2008PINK","weight":1.25,"weight_unit":"lb","inventory_item_id":808950810,"inventory_quantity":10,"old_inventory_quantity":10,"presentment_prices":[{"price":{"amount":"199.00","currency_code":"USD"},"compare_at_price":null}],"tax_code":"DA040000","admin_graphql_api_id":"gid://shopify/ProductVariant/808950810","image_id":562641783}}
  ```

***

## putModify an existing Product Variant

[productVariantsBulkUpdate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productVariantsBulkUpdate)

Updates an existing product variant

### Parameters

***

api\_version

**string**

**required**

***

variant\_id

**string**

**required**

***

### Examples

### Add a metafield to an existing variant

### Path parameters

variant\_​id=​808950810

**string**

**required**

### Add an existing image to an existing variant

### Path parameters

variant\_​id=​808950810

**string**

**required**

### Update the title and price of an existing variant

### Path parameters

variant\_​id=​808950810

**string**

**required**

put

## /admin/api/2026-07/variants/808950810.​json

```bash
curl -d '{"variant":{"id":808950810,"metafields":[{"key":"new","value":"newvalue","type":"single_line_text_field","namespace":"global"}]}}' \
-X PUT "https://your-development-store.myshopify.com/admin/api/2026-07/variants/808950810.json" \
-H "X-Shopify-Access-Token: {access_token}" \
-H "Content-Type: application/json"
```

{}

## Response

JSON

```json
HTTP/1.1 200 OK
{
  "variant": {
    "id": 808950810,
    "product_id": 632910392,
    "title": "Pink",
    "price": "199.00",
    "position": 1,
    "inventory_policy": "continue",
    "compare_at_price": null,
    "option1": "Pink",
    "option2": null,
    "option3": null,
    "created_at": "2026-07-06T10:58:58-04:00",
    "updated_at": "2026-07-06T10:58:58-04:00",
    "taxable": true,
    "barcode": "1234_pink",
    "fulfillment_service": "manual",
    "grams": 567,
    "inventory_management": "shopify",
    "requires_shipping": true,
    "sku": "IPOD2008PINK",
    "weight": 1.25,
    "weight_unit": "lb",
    "inventory_item_id": 808950810,
    "inventory_quantity": 10,
    "old_inventory_quantity": 10,
    "presentment_prices": [
      {
        "price": {
          "amount": "199.00",
          "currency_code": "USD"
        },
        "compare_at_price": null
      }
    ],
    "admin_graphql_api_id": "gid://shopify/ProductVariant/808950810",
    "image_id": 562641783
  }
}
```

### examples

* #### Add a metafield to an existing variant

  #####

  ```curl
  curl -d '{"variant":{"id":808950810,"metafields":[{"key":"new","value":"newvalue","type":"single_line_text_field","namespace":"global"}]}}' \
  -X PUT "https://your-development-store.myshopify.com/admin/api/2026-07/variants/808950810.json" \
  -H "X-Shopify-Access-Token: {access_token}" \
  -H "Content-Type: application/json"
  ```

  #### response

  ```json
  HTTP/1.1 200 OK{"variant":{"id":808950810,"product_id":632910392,"title":"Pink","price":"199.00","position":1,"inventory_policy":"continue","compare_at_price":null,"option1":"Pink","option2":null,"option3":null,"created_at":"2026-07-06T10:58:58-04:00","updated_at":"2026-07-06T10:58:58-04:00","taxable":true,"barcode":"1234_pink","fulfillment_service":"manual","grams":567,"inventory_management":"shopify","requires_shipping":true,"sku":"IPOD2008PINK","weight":1.25,"weight_unit":"lb","inventory_item_id":808950810,"inventory_quantity":10,"old_inventory_quantity":10,"presentment_prices":[{"price":{"amount":"199.00","currency_code":"USD"},"compare_at_price":null}],"admin_graphql_api_id":"gid://shopify/ProductVariant/808950810","image_id":562641783}}
  ```

* #### Add an existing image to an existing variant

  #####

  ```curl
  curl -d '{"variant":{"id":808950810,"image_id":562641783}}' \
  -X PUT "https://your-development-store.myshopify.com/admin/api/2026-07/variants/808950810.json" \
  -H "X-Shopify-Access-Token: {access_token}" \
  -H "Content-Type: application/json"
  ```

* #### Update the title and price of an existing variant

  #####

  ```curl
  curl -d '{"variant":{"id":808950810,"option1":"Not Pink","price":"99.00"}}' \
  -X PUT "https://your-development-store.myshopify.com/admin/api/2026-07/variants/808950810.json" \
  -H "X-Shopify-Access-Token: {access_token}" \
  -H "Content-Type: application/json"
  ```

***

## delRemove an existing Product Variant

[productVariantsBulkDelete](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productVariantsBulkDelete?example=remove-an-existing-product-variant)

### Parameters

***

api\_version

**string**

**required**

***

product\_id

**string**

**required**

***

variant\_id

**string**

**required**

***

### Examples

### Delete a product variant

del

## /admin/api/2026-07/products/632910392/variants/808950810.​json

```bash
curl -X DELETE "https://your-development-store.myshopify.com/admin/api/2026-07/products/632910392/variants/808950810.json" \
-H "X-Shopify-Access-Token: {access_token}"
```

{}

## Response

JSON

```json
HTTP/1.1 200 OK
{}
```

### examples

* #### Delete a product variant

  #####

  ```curl
  curl -X DELETE "https://your-development-store.myshopify.com/admin/api/2026-07/products/632910392/variants/808950810.json" \
  -H "X-Shopify-Access-Token: {access_token}"
  ```

  #### response

  ```json
  HTTP/1.1 200 OK{}
  ```
