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. For details and migration steps, visit our migration guide.
Product Variant
products
access scope.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.
Apps can no longer set inventory using inventory_quantity
. For more information, refer to the Inventory Level
resource.
Endpoints
- post/admin/api/latest/products/{product_
id}/variants. json Create a new Product Variant - get/admin/api/latest/products/{product_
id}/variants. json Retrieves a list of product variants - get/admin/api/latest/products/{product_
id}/variants/count. json Receive a count of all Product Variants - get/admin/api/latest/variants/{variant_
id}. json Receive a single Product Variant - put/admin/api/latest/variants/{variant_
id}. json Modify an existing Product Variant - del/admin/api/latest/products/{product_
id}/variants/{variant_ id}. json Remove an existing Product Variant
The Product Variant resource
Properties
The barcode, UPC, or ISBN number for the product.
The original price of the item before an adjustment or a sale.
The date and time (ISO 8601 format) when the product variant was created.
The handle of a fulfillment service that stocks a product variant.
This is the handle of a third-party fulfillment service if the following conditions are met:
- The product variant is stocked by a single fulfillment service.
- The FulfillmentService is a third-party fulfillment service. Third-party fulfillment services don't have a handle with the value
manual
. - The fulfillment service hasn't opted into SKU sharing.
manual
.
The relationship between a product variant and a fulfillment service was changed in the 2022-07
API version. A ProductVariant can be stocked by multiple fulfillment services. As a result, we recommend that you use the InventoryLevel resource if you need to determine where a product variant is stocked.
If you previously set this field, then we recommend that you instead connect an inventory item to a location. Each Location is associated with a single FulfillmentService. The value of this field after setting it will be as described above.
If you need to determine whether a product is a gift card, then you should continue to use this field until an alternative is available.
Learn more about managing inventory quantities and states.
The weight of the product variant in grams.
The unique numeric identifier for the product variant.
The unique numeric identifier for a product's image. The image must be associated to the same product as the variant.
The unique identifier for the inventory item, which is used in the Inventory API to query for inventory information.
The fulfillment service that tracks the number of items in stock for the product variant. Valid values:
Show inventory_management properties
shopify
: You are tracking inventory yourself using the admin.null
: You aren't tracking inventory on the variant.- the handle of a fulfillment service that has inventory management enabled: This must be the same fulfillment service referenced by the
fulfillment_service
property.
Whether customers are allowed to place an order for the product variant when it's out of stock. Valid values:
Show inventory_policy properties
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.
deny
.An aggregate of inventory across all locations. To adjust inventory at a specific location, use the InventoryLevel resource.
This property is deprecated. Use the InventoryLevel resource instead.
The Product Variant resource
Anchor to POST request, Create a new Product VariantpostCreate a new Product Variant
Creates a new product variant
Create a new product variant
Create a new product variant
Create a new product variant with a metafield
Create a new product variant with a metafield
Create a new product variant with an image
Create a new product variant with an image
/admin/api/2025-07/products/632910392/variants. json
Response
Anchor to GET request, Retrieves a list of product variantsgetRetrieves a list of product variants
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.
A comma-separated list of fields to include in the response
Return up to this many results per page
Return presentment prices in only certain currencies, specified by a comma-separated list of ISO 4217 currency codes.
Restrict results to after the specified ID
Retrieve all variants for a product
Retrieve all variants for a product
Retrieve all variants for a product after a specified ID
Retrieve all variants for a product after a specified ID
Restrict results to after the specified ID
Retrieve all variants for a product with prices in specified presentment currencies
Retrieve all variants for a product with prices in specified presentment currencies
Return presentment prices in only certain currencies, specified by a comma-separated list of ISO 4217 currency codes.
/admin/api/2025-07/products/632910392/variants. json
Response
Anchor to GET request, Receive a count of all Product VariantsgetReceive a count of all Product Variants
Retrieves a count of product variants
Retrieve a count all variants for a product
Retrieve a count all variants for a product
/admin/api/2025-07/products/632910392/variants/count. json
Response
Anchor to GET request, Receive a single Product VariantgetReceive a single Product Variant
Retrieves a single product variant by ID
A comma-separated list of fields to include in the response
Retrieve a product variant by ID
Retrieve a product variant by ID
/admin/api/2025-07/variants/808950810. json
Response
Anchor to PUT request, Modify an existing Product VariantputModify an existing Product Variant
Updates an existing product variant
Add a metafield to an existing variant
Add a metafield to an existing variant
Add an existing image to an existing variant
Add an existing image to an existing variant
Update the title and price of an existing variant
Update the title and price of an existing variant
/admin/api/2025-07/variants/808950810. json
Response
Anchor to DELETE request, Remove an existing Product VariantdelRemove an existing Product Variant
Delete a product variant
Delete a product variant