Requires write_products access scope. Also: The user must have a permission to create products.
Creates or updates a product in a single request.
Use this mutation when syncing information from an external data source into Shopify.
When using this mutation to update a product, specify that product's id in the input.
Any list field (e.g.
collections,
metafields,
variants)
will be updated so that all included entries are either created or updated, and all existing entries not
included will be deleted.
All other fields will be updated to the value passed. Omitted fields will not be updated.
When run in synchronous mode, the productSet mutation has an input limit of 100 variants. If you anticipate
any of your use cases requiring support for more than 100 variants, please use the mutation in asynchronous
mode (default).
When run in synchronous mode, you will get the product back in the response.
In asynchronous mode, you will instead get a
ProductSetOperation
object back. You can then use the
productOperation query to
retrieve the updated product data. This query uses the ProductSetOperation object to
check the status of the operation and to retrieve the details of the updated product and its variants.
If you need to update a subset of variants, use one of the bulk variant mutations: