Skip to main content
mutation

Requires write_products access scope. Also: The user must have a permission to duplicate a product.

Duplicates a product.

If you need to duplicate a large product, such as one that has many variants that are active at several locations, you might encounter timeout errors.

To avoid these timeout errors, you can instead duplicate the product asynchronously.

In API version 2024-10 and higher, include synchronous: false argument in this mutation to perform the duplication asynchronously.

In API version 2024-07 and lower, use the asynchronous ProductDuplicateAsyncV2.

Metafield values are not duplicated if the unique values capability is enabled.

BooleanDefault:false

Specifies whether or not to duplicate images.

BooleanDefault:false

Specifies whether or not to duplicate translations.

ProductStatus

The new status of the product. If no value is provided the status will be inherited from the original product.

String!required

The new title of the product.

ID!required

The ID of the product to be duplicated.

BooleanDefault:true

Specifies whether or not to run the mutation synchronously.


Was this section helpful?

Anchor to ProductDuplicatePayload returnsProductDuplicatePayload returns

Job

The asynchronous job that duplicates the product images.

Product

The duplicated product.

Anchor to productDuplicateOperationproductDuplicateOperation
ProductDuplicateOperation

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

Shop!non-null

The user's shop.

[UserError!]!non-null

The list of errors that occurred from executing the mutation.


Was this section helpful?