The input fields required to create or update a product via ProductSet mutation.
Access Scopes
Fields
category:
ID -
The ID of the [category](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17)
that's associated with the product.
claimOwnership:
ProductClaimOwnershipInput -
The input field to enable an app to provide additional product features.
For example, you can specify
[`bundles: true`](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/ProductClaimOwnershipInput#field-bundles)
in the `claimOwnership` field to let an app add a
[product configuration extension](https://shopify.dev/docs/apps/build/product-merchandising/bundles/add-merchant-config-ui).
collections:
ID -
The IDs of collections that this product will be a member of.
combinedListingRole:
CombinedListingsRole -
The role of the product in a product grouping. It can only be set during creation.
customProductType:
String -
The [custom product type](https://help.shopify.com/manual/products/details/product-type)
that merchants define.
descriptionHtml:
String -
The description of the product, with HTML tags.
For example, the description might include bold `<strong></strong>` and italic `<i></i>` text.
giftCard:
Boolean -
Whether the product is a gift card.
giftCardTemplateSuffix:
String -
The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view a gift card in a store.
handle:
String -
A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and numbers, but no spaces.
The handle is used in the online store URL for the product.
For example, if a product is titled "Black Sunglasses", then the handle is `black-sunglasses`.
id:
ID -
The product's ID.
If you're creating a product, then you don't need to pass the `id` as input to the
[`productCreate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productCreate) mutation.
If you're updating a product, then you do need to pass the `id` as input to the
[`productUpdate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productUpdate) mutation
to identify which product you want to update.
mediaIds:
ID -
The IDs of the media to associate with the product.
metafields:
MetafieldInput -
The metafields to associate with this product.
productCategory:
ProductCategoryInput -
The product category in the Shopify product taxonomy.
productOptions:
OptionSetInput -
List of custom product options and option values (maximum of 3 per product).
productType:
String -
The [product type](https://help.shopify.com/manual/products/details/product-type)
that merchants define.
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 (subscription). Products that are sold exclusively on subscription can only be created on online stores. 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 title and description](https://help.shopify.com/manual/promoting-marketing/seo/adding-keywords)
that are associated with a product.
standardizedProductType:
StandardizedProductTypeInput -
The standardized product type in the Shopify product taxonomy.
status:
ProductStatus -
The status of the product.
tags:
String -
A comma-separated list of searchable keywords that are
associated with the product. For example, a merchant might apply the `sports`
and `summer` tags to products that are associated with sportwear for summer.
Updating `tags` overwrites any existing tags that were previously added to the product.
To add new tags without overwriting existing tags, use the
[`tagsAdd`](https://shopify.dev/api/admin-graphql/latest/mutations/tagsadd)
mutation.
templateSuffix:
String -
The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view a product in a store.
title:
String -
The name for the product that displays to customers. The title is used to construct the product's handle.
For example, if a product is titled "Black Sunglasses", then the handle is `black-sunglasses`.
variants:
ProductVariantSetInput -
A list of variants associated with the product.
vendor:
String -
The name of the product's vendor.