10/29/2025, 12:00:55 AM
New topโlevel queries bulkOperation and bulkOperations allow retrieving individual and paginated bulk operations, with BulkOperationConnection and BulkOperationEdge types added. The bulkOperationRunMutation mutation no longer accepts the groupObjects argument. The bulkOperationRunQuery mutation now defaults groupObjects to false and its description reflects that grouping is optional and slower. Product configuration mutations (productOptionsCreate, productSet, productVariantsBulkCreate, productVariantsBulkUpdate) and the Product.variants field now support up to 2048 variants per product instead of the former 100. The BillingAttemptUserErrorCode enum now includes THROTTLED. The FulfillmentService.permitsSkuSharing field is deprecated and should not be set to false. New error codes COMPARE_QUANTITY_STALE and MarketsSortKeys.STATUS were added.
Returns a specific bulk operation by ID.
Returns the app's bulk operations meeting the specified filters.
Creates and runs a bulk operation mutation.
To learn how to bulk import large volumes of data asynchronously, refer to the
bulk import data guide.
Creates and runs a bulk operation query.
See the bulk operations guide for more details.
Creates one or more options
on a product,
such as size, color, or material. Each option includes a name, position, and a list of values. The combination
of a product option and value creates a product variant.
Use the productOptionsCreate mutation for the following use cases:
Note:
TheproductOptionsCreatemutation enforces strict data integrity for product options and variants.
All option positions must be sequential, and every option should be used by at least one variant.
If you use theCREATEvariant strategy, consider the maximum allowed number of variants for each product is 2048.
After you create product options, you can further manage a product's configuration using related mutations:
productOptionUpdateproductOptionsReorderproductOptionsDeleteproductVariantsBulkCreateproductVariantsBulkUpdateproductSetLearn more about the product model
and adding product data.
Performs multiple operations to create or update products in a single request.
Use the productSet mutation to sync information from an external data source into Shopify, manage large
product catalogs, and perform batch updates. The mutation is helpful for bulk product management, including price
adjustments, inventory updates, and product lifecycle management.
The behavior of productSet depends on the type of field it's modifying:
For list fields: Creates new entries, updates existing entries, and deletes existing entries
that aren't included in the mutation's input. Common examples of list fields includecollections,metafields,
and variants.
For all other field types: Updates only the included fields. Any omitted fields will remain unchanged.
Note:
By default, stores have a limit of 2048 product variants for each product.
You can run productSet in one of the following modes:
ProductSetOperation object.productOperation query to check the status of the operation andIf you need to only manage product variants, then use one of the following mutations:
If you need to only manage product options, then use one of the following mutations:
Learn more about syncing product data from an external source.
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:
Note:
By default, stores have a limit of 2048 product variants for each product.
After creating variants, you can make additional changes using one of the following mutations:
productVariantsBulkUpdate:productSet: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:
Note:
By default, stores have a limit of 2048 product variants for each product.
After creating variants, you can make additional changes using theproductSet 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.
An auto-generated type for paginating through multiple BulkOperations.
An auto-generated type which holds one BulkOperation and a cursor during pagination.
The set of valid sort keys for the BulkOperations query.
THROTTLEDpermitsSkuSharingCOMPARE_QUANTITY_STALESTATUSvariantspublicDisplayName