API version: unstable
API version: 2021-01 Release candidate
API version: 2020-10 Latest
API version: 2020-07
API version: 2020-04
API version: 2020-01
API version: 2019-10 Unsupported
API version: 2019-07 Unsupported

productUpdate mutation

Version unstable

Updates a product. Products that are sold exclusively on subscription (requiresSellingPlan: true) can be updated only on online stores. If you update a product to be sold only on a subscription, then the product is unpublished from all channels except the online store.

Required access

write_products access scope.

Interactive example

This is an example mutation query. Use the embedded interactive tool below to edit the query.

Hint: use Ctrl + Space for autocompleting fields.


Arguments

input ( ProductInput! ) required

The updated properties for a product.

ProductInput fields

bodyHtml (String)

A description of the product. Supports HTML formatting. This argument is deprecated: Use descriptionHtml instead.

collectionsToJoin ([ID!])

The IDs of the collections that this product will be added to.

collectionsToLeave ([ID!])

The IDs of collections that will no longer include the product.

descriptionHtml (String)

The description of the product, complete with HTML formatting.

giftCard (Boolean)

Whether the product is a gift card.

giftCardTemplateSuffix (String)

The theme template used when viewing the gift card in a store.

handle (String)

A unique human-friendly string for the product. Automatically generated from the product's title.

id (ID)

Specifies the product to update in productUpdate or creates a new product if absent in productCreate.

images ([ImageInput!])

The images to associate with the product.

metafields ([MetafieldInput!])

The metafields to associate with this product.

options ([String!])

List of custom product options (maximum of 3 per product).

privateMetafields ([PrivateMetafieldInput!])

The private metafields to associated with this product.

productPublications ([ProductPublicationInput!])

A list of the channels where the product is published. This argument is deprecated: Use PublishablePublish instead.

productType (String)

The product type specified by the merchant.

publications ([ProductPublicationInput!])

A list of the channels where the product is published. This argument is deprecated: Use PublishablePublish instead.

publishDate (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

publishOn (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

published (Boolean)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

publishedAt (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

redirectNewHandle (Boolean)

Whether a redirect is required after a new handle has been provided. If true, then the old handle is redirected to the new one automatically.

requiresSellingPlan (Boolean)

Whether the product can only be purchased with a selling plan. If set to true on an already existing product, then the product will be marked unavailable on channels that don't support subscriptions.

seo (SEOInput)

The SEO information associated with the product.

status (ProductStatus)

The status of the product.

tags ([String!])

A comma separated list tags that have been added to the product.

templateSuffix (String)

The theme template used when viewing the product in a store.

title (String)

The title of the product.

variants ([ProductVariantInput!])

A list of variants associated with the product.

vendor (String)

The name of the product's vendor.

Return fields

product (Product)

The updated product.

userErrors ([UserError!]!)

List of errors that occurred executing the mutation.

Version 2021-01 (Release candidate)

Updates a product. Products that are sold exclusively on subscription (requiresSellingPlan: true) can be updated only on online stores. If you update a product to be sold only on a subscription, then the product is unpublished from all channels except the online store.

Required access

write_products access scope.

Interactive example

This is an example mutation query. Use the embedded interactive tool below to edit the query.

Hint: use Ctrl + Space for autocompleting fields.


Arguments

input ( ProductInput! ) required

The updated properties for a product.

ProductInput fields

bodyHtml (String)

A description of the product. Supports HTML formatting. This argument is deprecated: Use descriptionHtml instead.

collectionsToJoin ([ID!])

The IDs of the collections that this product will be added to.

collectionsToLeave ([ID!])

The IDs of collections that will no longer include the product.

descriptionHtml (String)

The description of the product, complete with HTML formatting.

giftCard (Boolean)

Whether the product is a gift card.

giftCardTemplateSuffix (String)

The theme template used when viewing the gift card in a store.

handle (String)

A unique human-friendly string for the product. Automatically generated from the product's title.

id (ID)

Specifies the product to update in productUpdate or creates a new product if absent in productCreate.

images ([ImageInput!])

The images to associate with the product.

metafields ([MetafieldInput!])

The metafields to associate with this product.

options ([String!])

List of custom product options (maximum of 3 per product).

privateMetafields ([PrivateMetafieldInput!])

The private metafields to associated with this product.

productPublications ([ProductPublicationInput!])

A list of the channels where the product is published. This argument is deprecated: Use PublishablePublish instead.

productType (String)

The product type specified by the merchant.

publications ([ProductPublicationInput!])

A list of the channels where the product is published. This argument is deprecated: Use PublishablePublish instead.

publishDate (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

publishOn (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

published (Boolean)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

publishedAt (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

redirectNewHandle (Boolean)

Whether a redirect is required after a new handle has been provided. If true, then the old handle is redirected to the new one automatically.

requiresSellingPlan (Boolean)

Whether the product can only be purchased with a selling plan. If set to true on an already existing product, then the product will be marked unavailable on channels that don't support subscriptions.

seo (SEOInput)

The SEO information associated with the product.

status (ProductStatus)

The status of the product.

tags ([String!])

A comma separated list tags that have been added to the product.

templateSuffix (String)

The theme template used when viewing the product in a store.

title (String)

The title of the product.

variants ([ProductVariantInput!])

A list of variants associated with the product.

vendor (String)

The name of the product's vendor.

Return fields

product (Product)

The updated product.

userErrors ([UserError!]!)

List of errors that occurred executing the mutation.

Version 2020-10 (Latest)

Updates a product. Products that are sold exclusively on subscription (requiresSellingPlan: true) can be updated only on online stores. If you update a product to be sold only on a subscription, then the product is unpublished from all channels except the online store.

Required access

write_products access scope.

Interactive example

This is an example mutation query. Use the embedded interactive tool below to edit the query.

Hint: use Ctrl + Space for autocompleting fields.


Arguments

input ( ProductInput! ) required

The updated properties for a product.

ProductInput fields

bodyHtml (String)

A description of the product. Supports HTML formatting. This argument is deprecated: Use descriptionHtml instead.

collectionsToJoin ([ID!])

The IDs of the collections that this product will be added to.

collectionsToLeave ([ID!])

The IDs of collections that will no longer include the product.

descriptionHtml (String)

The description of the product, complete with HTML formatting.

giftCard (Boolean)

Whether the product is a gift card.

giftCardTemplateSuffix (String)

The theme template used when viewing the gift card in a store.

handle (String)

A unique human-friendly string for the product. Automatically generated from the product's title.

id (ID)

Specifies the product to update in productUpdate or creates a new product if absent in productCreate.

images ([ImageInput!])

The images to associate with the product.

metafields ([MetafieldInput!])

The metafields to associate with this product.

options ([String!])

List of custom product options (maximum of 3 per product).

privateMetafields ([PrivateMetafieldInput!])

The private metafields to associated with this product.

productPublications ([ProductPublicationInput!])

A list of the channels where the product is published. This argument is deprecated: Use PublishablePublish instead.

productType (String)

The product type specified by the merchant.

publications ([ProductPublicationInput!])

A list of the channels where the product is published. This argument is deprecated: Use PublishablePublish instead.

publishDate (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

publishOn (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

published (Boolean)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

publishedAt (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

redirectNewHandle (Boolean)

Whether a redirect is required after a new handle has been provided. If true, then the old handle is redirected to the new one automatically.

seo (SEOInput)

The SEO information associated with the product.

status (ProductStatus)

The status of the product.

tags ([String!])

A comma separated list tags that have been added to the product.

templateSuffix (String)

The theme template used when viewing the product in a store.

title (String)

The title of the product.

variants ([ProductVariantInput!])

A list of variants associated with the product.

vendor (String)

The name of the product's vendor.

Return fields

product (Product)

The updated product.

userErrors ([UserError!]!)

List of errors that occurred executing the mutation.

Version 2020-07

Updates a product. Products that are sold exclusively on subscription (requiresSellingPlan: true) can be updated only on online stores. If you update a product to be sold only on a subscription, then the product is unpublished from all channels except the online store.

Required access

write_products access scope.

Interactive example

This is an example mutation query. Use the embedded interactive tool below to edit the query.

Hint: use Ctrl + Space for autocompleting fields.


Arguments

input ( ProductInput! ) required

The updated properties for a product.

ProductInput fields

bodyHtml (String)

A description of the product. Supports HTML formatting. This argument is deprecated: Use descriptionHtml instead.

collectionsToJoin ([ID!])

The IDs of the collections that this product will be added to.

collectionsToLeave ([ID!])

The IDs of collections that will no longer include the product.

descriptionHtml (String)

The description of the product, complete with HTML formatting.

giftCard (Boolean)

Whether the product is a gift card.

giftCardTemplateSuffix (String)

The theme template used when viewing the gift card in a store.

handle (String)

A unique human-friendly string for the product. Automatically generated from the product's title.

id (ID)

Specifies the product to update in productUpdate or creates a new product if absent in productCreate.

images ([ImageInput!])

The images to associate with the product.

metafields ([MetafieldInput!])

The metafields to associate with this product.

options ([String!])

List of custom product options (maximum of 3 per product).

privateMetafields ([PrivateMetafieldInput!])

The private metafields to associated with this product.

productPublications ([ProductPublicationInput!])

A list of the channels where the product is published. This argument is deprecated: Use PublishablePublish instead.

productType (String)

The product type specified by the merchant.

publications ([ProductPublicationInput!])

A list of the channels where the product is published. This argument is deprecated: Use PublishablePublish instead.

publishDate (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

publishOn (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

published (Boolean)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

publishedAt (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

redirectNewHandle (Boolean)

Whether a redirect is required after a new handle has been provided. If true, then the old handle is redirected to the new one automatically.

seo (SEOInput)

The SEO information associated with the product.

tags ([String!])

A comma separated list tags that have been added to the product.

templateSuffix (String)

The theme template used when viewing the product in a store.

title (String)

The title of the product.

variants ([ProductVariantInput!])

A list of variants associated with the product.

vendor (String)

The name of the product's vendor.

Return fields

product (Product)

The updated product.

userErrors ([UserError!]!)

List of errors that occurred executing the mutation.

Version 2020-04

Updates a product. Products that are sold exclusively on subscription (requiresSellingPlan: true) can be updated only on online stores. If you update a product to be sold only on a subscription, then the product is unpublished from all channels except the online store.

Required access

write_products access scope.

Interactive example

This is an example mutation query. Use the embedded interactive tool below to edit the query.

Hint: use Ctrl + Space for autocompleting fields.


Arguments

input ( ProductInput! ) required

The updated properties for a product.

ProductInput fields

bodyHtml (String)

A description of the product. Supports HTML formatting. This argument is deprecated: Use descriptionHtml instead.

collectionsToJoin ([ID!])

The IDs of the collections that this product will be added to.

collectionsToLeave ([ID!])

The IDs of collections that will no longer include the product.

descriptionHtml (String)

The description of the product, complete with HTML formatting.

giftCard (Boolean)

Whether the product is a gift card.

giftCardTemplateSuffix (String)

The theme template used when viewing the gift card in a store.

handle (String)

A unique human-friendly string for the product. Automatically generated from the product's title.

id (ID)

Specifies the product to update in productUpdate or creates a new product if absent in productCreate.

images ([ImageInput!])

The images to associate with the product.

metafields ([MetafieldInput!])

The metafields to associate with this product.

options ([String!])

List of custom product options (maximum of 3 per product).

privateMetafields ([PrivateMetafieldInput!])

The private metafields to associated with this product.

productPublications ([ProductPublicationInput!])

A list of the channels where the product is published. This argument is deprecated: Use PublishablePublish instead.

productType (String)

The product type specified by the merchant.

publications ([ProductPublicationInput!])

A list of the channels where the product is published. This argument is deprecated: Use PublishablePublish instead.

publishDate (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

publishOn (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

published (Boolean)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

publishedAt (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

redirectNewHandle (Boolean)

Whether a redirect is required after a new handle has been provided. If true, then the old handle is redirected to the new one automatically.

seo (SEOInput)

The SEO information associated with the product.

tags ([String!])

A comma separated list tags that have been added to the product.

templateSuffix (String)

The theme template used when viewing the product in a store.

title (String)

The title of the product.

variants ([ProductVariantInput!])

A list of variants associated with the product.

vendor (String)

The name of the product's vendor.

Return fields

product (Product)

The updated product.

userErrors ([UserError!]!)

List of errors that occurred executing the mutation.

Version 2020-01

Updates a product. Products that are sold exclusively on subscription (requiresSellingPlan: true) can be updated only on online stores. If you update a product to be sold only on a subscription, then the product is unpublished from all channels except the online store.

Required access

write_products access scope.

Interactive example

This is an example mutation query. Use the embedded interactive tool below to edit the query.

Hint: use Ctrl + Space for autocompleting fields.


Arguments

input ( ProductInput! ) required

The updated properties for a product.

ProductInput fields

bodyHtml (String)

A description of the product. Supports HTML formatting. This argument is deprecated: Use descriptionHtml instead.

collectionsToJoin ([ID!])

The IDs of the collections that this product will be added to.

collectionsToLeave ([ID!])

The IDs of collections that will no longer include the product.

descriptionHtml (String)

The description of the product, complete with HTML formatting.

giftCard (Boolean)

Whether the product is a gift card.

giftCardTemplateSuffix (String)

The theme template used when viewing the gift card in a store.

handle (String)

A unique human-friendly string for the product. Automatically generated from the product's title.

id (ID)

Specifies the product to update in productUpdate or creates a new product if absent in productCreate.

images ([ImageInput!])

The images to associate with the product.

metafields ([MetafieldInput!])

The metafields to associate with this product.

options ([String!])

List of custom product options (maximum of 3 per product).

privateMetafields ([PrivateMetafieldInput!])

The private metafields to associated with this product.

productPublications ([ProductPublicationInput!])

A list of the channels where the product is published. This argument is deprecated: Use PublishablePublish instead.

productType (String)

The product type specified by the merchant.

publications ([ProductPublicationInput!])

A list of the channels where the product is published. This argument is deprecated: Use PublishablePublish instead.

publishDate (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

publishOn (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

published (Boolean)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

publishedAt (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

redirectNewHandle (Boolean)

Whether a redirect is required after a new handle has been provided. If true, then the old handle is redirected to the new one automatically.

seo (SEOInput)

The SEO information associated with the product.

tags ([String!])

A comma separated list tags that have been added to the product.

templateSuffix (String)

The theme template used when viewing the product in a store.

title (String)

The title of the product.

variants ([ProductVariantInput!])

A list of variants associated with the product.

vendor (String)

The name of the product's vendor.

Return fields

product (Product)

The updated product.

userErrors ([UserError!]!)

List of errors that occurred executing the mutation.

Version 2019-10 (Unsupported)

Updates a product. Products that are sold exclusively on subscription (requiresSellingPlan: true) can be updated only on online stores. If you update a product to be sold only on a subscription, then the product is unpublished from all channels except the online store.

Required access

write_products access scope.

Interactive example

This is an example mutation query. Use the embedded interactive tool below to edit the query.

Hint: use Ctrl + Space for autocompleting fields.


Arguments

input ( ProductInput! ) required

The updated properties for a product.

ProductInput fields

bodyHtml (String)

A description of the product. Supports HTML formatting. This argument is deprecated: Use descriptionHtml instead.

collectionsToJoin ([ID!])

The IDs of the collections that this product will be added to.

collectionsToLeave ([ID!])

The IDs of collections that will no longer include the product.

descriptionHtml (String)

The description of the product, complete with HTML formatting.

giftCard (Boolean)

Whether the product is a gift card.

giftCardTemplateSuffix (String)

The theme template used when viewing the gift card in a store.

handle (String)

A unique human-friendly string for the product. Automatically generated from the product's title.

id (ID)

Specifies the product to update in productUpdate or creates a new product if absent in productCreate.

images ([ImageInput!])

The images to associate with the product.

metafields ([MetafieldInput!])

The metafields to associate with this product.

options ([String!])

List of custom product options (maximum of 3 per product).

privateMetafields ([PrivateMetafieldInput!])

The private metafields to associated with this product.

productPublications ([ProductPublicationInput!])

A list of the channels where the product is published. This argument is deprecated: Use PublishablePublish instead.

productType (String)

The product type specified by the merchant.

publications ([ProductPublicationInput!])

A list of the channels where the product is published. This argument is deprecated: Use PublishablePublish instead.

publishDate (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

publishOn (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

published (Boolean)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

publishedAt (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

redirectNewHandle (Boolean)

Whether a redirect is required after a new handle has been provided. If true, then the old handle is redirected to the new one automatically.

seo (SEOInput)

The SEO information associated with the product.

tags ([String!])

A comma separated list tags that have been added to the product.

templateSuffix (String)

The theme template used when viewing the product in a store.

title (String)

The title of the product.

variants ([ProductVariantInput!])

A list of variants associated with the product.

vendor (String)

The name of the product's vendor.

Return fields

product (Product)

The updated product.

userErrors ([UserError!]!)

List of errors that occurred executing the mutation.

Version 2019-07 (Unsupported)

Updates a product. Products that are sold exclusively on subscription (requiresSellingPlan: true) can be updated only on online stores. If you update a product to be sold only on a subscription, then the product is unpublished from all channels except the online store.

Required access

write_products access scope.

Interactive example

This is an example mutation query. Use the embedded interactive tool below to edit the query.

Hint: use Ctrl + Space for autocompleting fields.


Arguments

input ( ProductInput! ) required

The updated properties for a product.

ProductInput fields

bodyHtml (String)

A description of the product. Supports HTML formatting. This argument is deprecated: Use descriptionHtml instead.

collectionsToJoin ([ID!])

The IDs of the collections that this product will be added to.

collectionsToLeave ([ID!])

The IDs of collections that will no longer include the product.

descriptionHtml (String)

The description of the product, complete with HTML formatting.

giftCard (Boolean)

Whether the product is a gift card.

giftCardTemplateSuffix (String)

The theme template used when viewing the gift card in a store.

handle (String)

A unique human-friendly string for the product. Automatically generated from the product's title.

id (ID)

Specifies the product to update in productUpdate or creates a new product if absent in productCreate.

images ([ImageInput!])

The images to associate with the product.

metafields ([MetafieldInput!])

The metafields to associate with this product.

options ([String!])

List of custom product options (maximum of 3 per product).

privateMetafields ([PrivateMetafieldInput!])

The private metafields to associated with this product.

productPublications ([ProductPublicationInput!])

A list of the channels where the product is published. This argument is deprecated: Use PublishablePublish instead.

productType (String)

The product type specified by the merchant.

publications ([ProductPublicationInput!])

A list of the channels where the product is published. This argument is deprecated: Use PublishablePublish instead.

publishDate (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

publishOn (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

published (Boolean)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

publishedAt (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

redirectNewHandle (Boolean)

Whether a redirect is required after a new handle has been provided. If true, then the old handle is redirected to the new one automatically.

seo (SEOInput)

The SEO information associated with the product.

tags ([String!])

A comma separated list tags that have been added to the product.

templateSuffix (String)

The theme template used when viewing the product in a store.

title (String)

The title of the product.

variants ([ProductVariantInput!])

A list of variants associated with the product.

vendor (String)

The name of the product's vendor.

Return fields

product (Product)

The updated product.

userErrors ([UserError!]!)

List of errors that occurred executing the mutation.

Version 2019-04 (Unsupported)

Updates a product. Products that are sold exclusively on subscription (requiresSellingPlan: true) can be updated only on online stores. If you update a product to be sold only on a subscription, then the product is unpublished from all channels except the online store.

Required access

write_products access scope.

Interactive example

This is an example mutation query. Use the embedded interactive tool below to edit the query.

Hint: use Ctrl + Space for autocompleting fields.


Arguments

input ( ProductInput! ) required

The updated properties for a product.

ProductInput fields

bodyHtml (String)

A description of the product. Supports HTML formatting. This argument is deprecated: Use descriptionHtml instead.

collectionsToJoin ([ID!])

The IDs of the collections that this product will be added to.

collectionsToLeave ([ID!])

The IDs of collections that will no longer include the product.

descriptionHtml (String)

The description of the product, complete with HTML formatting.

giftCard (Boolean)

Whether the product is a gift card.

giftCardTemplateSuffix (String)

The theme template used when viewing the gift card in a store.

handle (String)

A unique human-friendly string for the product. Automatically generated from the product's title.

id (ID)

Specifies the product to update in productUpdate or creates a new product if absent in productCreate.

images ([ImageInput!])

The images to associate with the product.

metafields ([MetafieldInput!])

The metafields to associate with this product.

options ([String!])

List of custom product options (maximum of 3 per product).

privateMetafields ([PrivateMetafieldInput!])

The private metafields to associated with this product.

productPublications ([ProductPublicationInput!])

A list of the channels where the product is published. This argument is deprecated: Use PublishablePublish instead.

productType (String)

The product type specified by the merchant.

publications ([ProductPublicationInput!])

A list of the channels where the product is published. This argument is deprecated: Use PublishablePublish instead.

publishDate (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

publishOn (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

published (Boolean)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

publishedAt (DateTime)

Only products with an active status can be published. This argument is deprecated: Use PublishablePublish instead.

redirectNewHandle (Boolean)

Whether a redirect is required after a new handle has been provided. If true, then the old handle is redirected to the new one automatically.

seo (SEOInput)

The SEO information associated with the product.

tags ([String!])

A comma separated list tags that have been added to the product.

templateSuffix (String)

The theme template used when viewing the product in a store.

title (String)

The title of the product.

variants ([ProductVariantInput!])

A list of variants associated with the product.

vendor (String)

The name of the product's vendor.

Return fields

product (Product)

The updated product.

userErrors ([UserError!]!)

List of errors that occurred executing the mutation.