Skip to main content
object

Defines errors for ProductSet mutation.

•ProductSetUserErrorCode

The error code.

•[String!]

The path to the input field that caused the error.

•String!
non-null

The error message.


Was this section helpful?

•mutation

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 include collections, 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 100 product variants for each product. You can create a development store and enable the Extended Variants developer preview to create or update a maximum of 2,048 product variants in a single operation.


You can run productSet in one of the following modes:

  • Synchronously: Returns the updated product in the response.
  • Asynchronously: Returns a ProductSetOperation object. Use the productOperation query to check the status of the operation and retrieve details of the updated product and its product variants.

If 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.

Arguments

•ProductSetInput!
required

The properties of the newly created or updated product.

•Boolean
Default:true

Whether the mutation should be run synchronously or asynchronously.

If true, the mutation will return the updated product.

If false, the mutation will return a productSetOperation.

Defaults to true.

Setting synchronous: false may be desirable depending on the input complexity/size, and should be used if you are experiencing timeouts.

Note: When run in the context of a bulk operation, the mutation will always run synchronously and this argument will be ignored.


Fields

•Product

The product object.

•ProductSetOperation

The product set operation, returned when run in asynchronous mode.

•[ProductSetUserError!]!
non-null

The list of errors that occurred from executing the mutation.


Was this section helpful?


Was this section helpful?