# ProductInput - admin-graphql - INPUT_OBJECT Version: 2024-10 ## Description The input fields for creating or updating a product. ### Access Scopes ## Fields * [category](/docs/api/admin-graphql/2024-10/scalars/ID): 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](/docs/api/admin-graphql/2024-10/input-objects/ProductClaimOwnershipInput): 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). * [collectionsToJoin](/docs/api/admin-graphql/2024-10/scalars/ID): ID - A list of collection IDs to associate with the product. * [collectionsToLeave](/docs/api/admin-graphql/2024-10/scalars/ID): ID - The collection IDs to disassociate from the product. * [combinedListingRole](/docs/api/admin-graphql/2024-10/enums/CombinedListingsRole): CombinedListingsRole - The role of the product in a [combined listing](https://shopify.dev/apps/build/product-merchandising/combined-listings). You can specify this field only when you create a product. * [descriptionHtml](/docs/api/admin-graphql/2024-10/scalars/String): String - The description of the product, with HTML tags. For example, the description might include bold `` and italic `` text. * [giftCard](/docs/api/admin-graphql/2024-10/scalars/Boolean): Boolean - Whether the product is a gift card. * [giftCardTemplateSuffix](/docs/api/admin-graphql/2024-10/scalars/String): 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](/docs/api/admin-graphql/2024-10/scalars/String): 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](/docs/api/admin-graphql/2024-10/scalars/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. * [metafields](/docs/api/admin-graphql/2024-10/input-objects/MetafieldInput): MetafieldInput - The [custom fields](https://shopify.dev/docs/apps/build/custom-data) to associate with the product for the purposes of adding and storing additional information. * [productOptions](/docs/api/admin-graphql/2024-10/input-objects/OptionCreateInput): OptionCreateInput - A list of product options and option values. Maximum product options: three. There's no limit on the number of option values. This input is supported only with the [`productCreate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productCreate) mutation. * [productPublications](/docs/api/admin-graphql/2024-10/input-objects/ProductPublicationInput): ProductPublicationInput - A list of the channels where the product is published. * [productType](/docs/api/admin-graphql/2024-10/scalars/String): String - The [product type](https://help.shopify.com/manual/products/details/product-type) that merchants define. * [publications](/docs/api/admin-graphql/2024-10/input-objects/ProductPublicationInput): ProductPublicationInput - A list of the channels where the product is published. * [publishDate](/docs/api/admin-graphql/2024-10/scalars/DateTime): DateTime - Only products with an active status can be published. * [publishOn](/docs/api/admin-graphql/2024-10/scalars/DateTime): DateTime - Only products with an active status can be published. * [published](/docs/api/admin-graphql/2024-10/scalars/Boolean): Boolean - Only products with an active status can be published. * [publishedAt](/docs/api/admin-graphql/2024-10/scalars/DateTime): DateTime - Only products with an active status can be published. * [redirectNewHandle](/docs/api/admin-graphql/2024-10/scalars/Boolean): 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](/docs/api/admin-graphql/2024-10/scalars/Boolean): Boolean - Whether the product can only be purchased with a [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans). Products that are sold on subscription (`requiresSellingPlan: true`) can be updated only for online stores. If you update a product to be subscription-only (`requiresSellingPlan:false`), then the product is unpublished from all channels except the online store. * [seo](/docs/api/admin-graphql/2024-10/input-objects/SEOInput): SEOInput - The [SEO title and description](https://help.shopify.com/manual/promoting-marketing/seo/adding-keywords) that are associated with a product. * [status](/docs/api/admin-graphql/2024-10/enums/ProductStatus): ProductStatus - The [product status](https://help.shopify.com/manual/products/details/product-details-page#product-status), which controls visibility across all sales channels. * [tags](/docs/api/admin-graphql/2024-10/scalars/String): 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](/docs/api/admin-graphql/2024-10/scalars/String): String - The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view a product in a store. * [title](/docs/api/admin-graphql/2024-10/scalars/String): 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`. * [vendor](/docs/api/admin-graphql/2024-10/scalars/String): String - The name of the product's vendor. ## Input objects with this input object * [productCreate](/docs/api/admin-graphql/2024-10/mutations/productCreate) * [productUpdate](/docs/api/admin-graphql/2024-10/mutations/productUpdate) ## Examples