Requires read_products
access scope.
The ProductVariant
object represents a version of a product that comes in more than one option, such as size or color. For example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one product variant and a large, blue t-shirt would be another.
Use the ProductVariant
object to manage the full lifecycle and configuration of a product's variants. Common use cases for using the ProductVariant
object include:
A ProductVariant
is associated with a parent Product
object. ProductVariant
serves as the central link between a product's merchandising configuration, inventory, pricing, fulfillment, and sales channels within the GraphQL Admin API schema. Each variant can reference other GraphQL types such as:
InventoryItem
: Used for inventory trackingImage
: Used for variant-specific imagesSellingPlanGroup
: Used for subscriptions and selling plansLearn more about Shopify's product model.
Whether the product variant is available for sale.
The value of the barcode associated with the product.
The compare-at price of the variant in the default shop currency.
The pricing that applies for a customer in a given context. As of API version 2025-04, only active markets are considered in the price resolution.
The date and time when the variant was created.
A default cursor that returns the single next record, sorted ascending by ID.
Display name of the variant, based on product's title + variant's title.
The paginated list of events associated with the host subject.
The featured image for the variant.
The inventory item, which is used to query for inventory information.
Whether customers are allowed to place an order for the product variant when it's out of stock.
The total sellable quantity of the variant.
The ID of the corresponding resource in the REST Admin API.
The media associated with the product variant.
A custom field, including its namespace
and key
, that's associated with a Shopify resource for the purposes of adding and storing additional information.
A list of custom fields that a merchant associates with a Shopify resource.
The order of the product variant in the list of product variants. The first position in the list is 1.
The price of the product variant in the default shop currency.
The product that this variant belongs to.
A list of products that have product variants that contain this variant as a product component.
A list of the product variant components.
Whether a product variant requires components. The default value is false
. If true
, then the product variant can only be purchased as a parent bundle with components and it will be omitted from channels that don't support bundles.
List of product options applied to the variant.
A list of all selling plan groups defined in the current shop associated with the product variant.
Count of selling plan groups associated with the product variant.
Whether to show the unit price for this product variant.
A case-sensitive identifier for the product variant in the shop. Required in order to connect to a fulfillment service.
Whether a tax is charged when the product variant is sold.
The title of the product variant.
The published translations associated with the resource.
The unit price value for the variant based on the variant measurement.
The unit price measurement for the variant.
The date and time (ISO 8601 format) when the product variant was last modified.
Retrieves a product variant by its ID.
A product variant is a specific version of a product that comes in more than one option, such as size or color. For example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one product variant and a large, blue t-shirt would be another.
Use the productVariant
query when you need to:
Learn more about working with Shopify's product model.
Return a product variant by an identifier.
Retrieves a list of product variants associated with a product.
A product variant is a specific version of a product that comes in more than one option, such as size or color. For example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one product variant and a large, blue t-shirt would be another.
Use the productVariants
query when you need to:
The productVariants
query supports pagination to handle large product catalogs and saved searches for frequently used product variant queries.
The productVariants
query returns product variants with their associated metadata, including:
Learn more about working with Shopify's product model.
Appends media from a product to variants of the product.
Detaches media from product variants.
Adds multiple selling plan groups to a product variant.
Remove multiple groups from a product variant.
Creates new bundles, updates existing bundles, and removes bundle components for one or multiple bundles.
Creates multiple product variants for a single product in one operation. You can run this mutation directly or as part of a bulk operation for large-scale catalog updates.
Use the productVariantsBulkCreate
mutation to efficiently add new product variants—such as different sizes, colors, or materials—to an existing product. The mutation is helpful if you need to add product variants in bulk, such as importing from an external system.
The mutation supports:
After creating variants, you can make additional changes using one of the following mutations:
productVariantsBulkUpdate
: Updates multiple product variants for a single product in one operation.productSet
: Used to perform multiple operations on products, such as creating or modifying product options and variants.You can also specifically manage product options through related mutations:
Learn more about the product model and adding product data.
Updates multiple product variants for a single product in one operation. You can run this mutation directly or as part of a bulk operation for large-scale catalog updates.
Use the productVariantsBulkUpdate
mutation to efficiently modify product variants—such as different sizes, colors, or materials—associated with an existing product. The mutation is helpful if you need to update a product's variants in bulk, such as importing from an external system.
The mutation supports:
After creating variants, you can make additional changes using the productSet
mutation, which is used to perform multiple operations on products, such as creating or modifying product options and variants.
You can also specifically manage product options through related mutations:
Learn more about the product model and adding product data.
Updates quantity pricing on a price list. You can use the quantityPricingByVariantUpdate
mutation to set fixed prices, quantity rules, and quantity price breaks. This mutation does not allow partial successes. If any of the requested resources fail to update, none of the requested resources will be updated. Delete operations are executed before create operations.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4