OBJECT

Product

A product represents an individual item for sale in a Shopify store. Products are often physical, but they don't have to be. For example, a digital download (such as a movie, music or ebook file) also qualifies as a product, as do services (such as equipment rental, work for hire, customization of another product or an extended warranty).

link GraphQL Schema definition

  • type Product implements Node {
  • # List of collections a product belongs to.
  • #
  • # Arguments
  • # first: [Not documented]
  • # after: [Not documented]
  • # reverse: [Not documented]
  • collections(first: Int!, after: String, reverse: Boolean): CollectionConnection!
  • # The date and time when the product was created.
  • createdAt: DateTime!
  • # Stripped description of the product, single line with HTML tags removed.
  • #
  • # Arguments
  • # truncateAt: Truncates string after the given length.
  • description(truncateAt: Int): String!
  • # The description of the product, complete with HTML formatting.
  • descriptionHtml: HTML!
  • # A human-friendly unique string for the Product automatically generated from its
  • # title.
  • # They are used by the Liquid templating language to refer to objects.
  • handle: String!
  • id: ID!
  • # List of images associated with the product.
  • #
  • # Arguments
  • # first: [Not documented]
  • # after: [Not documented]
  • # reverse: [Not documented]
  • # maxWidth: Image width in pixels between 1 and 2048
  • # maxHeight: Image height in pixels between 1 and 2048
  • # crop: If specified, crop the image keeping the specified region
  • # scale: Image size multiplier retina displays. Must be between 1
  • # and 3
  • images(
  • first: Int!,
  • after: String,
  • reverse: Boolean,
  • maxWidth: Int,
  • maxHeight: Int,
  • crop: CropRegion,
  • scale: Int
  • ): ImageConnection!
  • # Lst of custom product options (maximum of 3 per product).
  • #
  • # Arguments
  • # first: Truncate the array result to this size
  • options(first: Int): [ProductOption!]!
  • # A categorization that a product can be tagged with, commonly used for filtering
  • # and searching.
  • productType: String!
  • # The date and time when the product was published to the Online Store channel.
  • # A value of `null` indicates that the product is not published to Online Store.
  • publishedAt: DateTime!
  • # A categorization that a product can be tagged with, commonly used for filtering
  • # and searching.
  • # Each comma-separated tag has a character limit of 255.
  • tags: [String!]!
  • # The product’s title.
  • title: String!
  • # The date and time when the product was last modified.
  • updatedAt: DateTime!
  • # Find a product’s variant based on its selected options.
  • # This is useful for converting a user’s selection of product options into a
  • # single matching variant.
  • # If there is not a variant for the selected options, `null` will be returned.
  • #
  • # Arguments
  • # selectedOptions: [Not documented]
  • variantBySelectedOptions(
  • selectedOptions: [SelectedOptionInput!]!
  • ): ProductVariant
  • # List of the product’s variants.
  • #
  • # Arguments
  • # first: [Not documented]
  • # after: [Not documented]
  • # reverse: [Not documented]
  • variants(first: Int!, after: String, reverse: Boolean): ProductVariantConnection!
  • # The product’s vendor name.
  • vendor: String!
  • }