# The details of a specific product category within the Shopify product taxonomy. type ProductCategory { # The product taxonomy node associated with the product category. productTaxonomyNode: ProductTaxonomyNode } # Properties used by customers to select a product variant. # Products can have multiple options, like different sizes or colors. type SelectedOption { # The product option’s name. name: String! # The product option’s value. value: String! } # The price of a product variant in a specific country. # Prices vary between countries. type ProductVariantContextualPricing { # The final compare-at price after all adjustments are applied. compareAtPrice: MoneyV2 # The final price after all adjustments are applied. price: MoneyV2! } # The context data that determines the pricing of a variant. input ContextualPricingContext { # The country code used to fetch country-specific prices. country: CountryCode # The CompanyLocation ID used to fetch company location specific prices. companyLocationId: ID } # The set of rules that are used to determine which products are included in the collection. type CollectionRuleSet { # Whether products must match any or all of the rules to be included in the collection. # If true, then products must match at least one of the rules to be included in the collection. # If false, then products must match all of the rules to be included in the collection. appliedDisjunctively: Boolean! # The rules used to assign products to the collection. rules: [CollectionRule!]! } # The set of rules that are used to determine which products are included in the collection. type CollectionRule { # Whether products must match any or all of the rules to be included in the collection. # If true, then products must match at least one of the rules to be included in the collection. # If false, then products must match all of the rules to be included in the collection. appliedDisjunctively: Boolean! # The rules used to assign products to the collection. rules: [CollectionRule!]! } # The price of a product in a specific country. # Prices vary between countries. type ProductContextualPricing { # The pricing of the variant with the highest price in the given context. maxVariantPricing: ProductVariantContextualPricing # The pricing of the variant with the lowest price in the given context. minVariantPricing: ProductVariantContextualPricing # The price range of the product with prices formatted as decimals. priceRange: ProductPriceRangeV2! } # The price range of the product. type ProductPriceRangeV2 { # The highest variant's price. maxVariantPrice: MoneyV2! # The lowest variant's price. minVariantPrice: MoneyV2! } # Represents a Shopify product taxonomy node. type ProductTaxonomyNode implements Node { # The full name of the product taxonomy node. # For example, Animals & Pet Supplies > Pet Supplies > Dog Supplies > Dog Beds. fullName: String! # The ID of the product taxonomy node. id: ID! # Whether the node is a leaf node. isLeaf: Boolean! # Whether the node is a root node. isRoot: Boolean! # The name of the product taxonomy node. For example, Dog Beds. name: String! } # An auto-generated type for paginating through multiple InventoryLevels. type InventoryLevelConnection { # A list of edges. edges: [InventoryLevelEdge!]! # A list of the nodes contained in InventoryLevelEdge. nodes: [InventoryLevel!]! # Information to aid in pagination. pageInfo: PageInfo! } # An auto-generated type which holds one InventoryLevel and a cursor during pagination. type InventoryLevelEdge { # A cursor for use in pagination. cursor: String! # The item at the end of InventoryLevelEdge. node: InventoryLevel! } # An auto-generated type for paginating through multiple Products. type ProductConnection { # A list of edges. edges: [ProductEdge!]! # A list of the nodes contained in ProductEdge. nodes: [Product!]! # Information to aid in pagination. pageInfo: PageInfo! } # An auto-generated type which holds one Product and a cursor during pagination. type ProductEdge { # A cursor for use in pagination. cursor: String! # The item at the end of ProductEdge. node: Product! } # An auto-generated type for paginating through multiple Collections. type CollectionConnection { # A list of edges. edges: [CollectionEdge!]! # A list of the nodes contained in CollectionEdge. nodes: [Collection!]! # Information to aid in pagination. pageInfo: PageInfo! } # An auto-generated type which holds one Collection and a cursor during pagination. type CollectionEdge { # A cursor for use in pagination. cursor: String! # The item at the end of CollectionEdge. node: Collection! } # An auto-generated type for paginating through multiple ProductVariants. type ProductVariantConnection { # A list of edges. edges: [ProductVariantEdge!]! # A list of the nodes contained in ProductVariantEdge. nodes: [ProductVariant!]! # Information to aid in pagination. pageInfo: PageInfo! } # An auto-generated type which holds one ProductVariant and a cursor during pagination. type ProductVariantEdge { # A cursor for use in pagination. cursor: String! # The item at the end of ProductVariantEdge. node: ProductVariant! } # An auto-generated type for paginating through multiple SavedSearches. type SavedSearchConnection { # A list of edges. edges: [SavedSearchEdge!]! # A list of the nodes contained in SavedSearchEdge. nodes: [SavedSearch!]! # Information to aid in pagination. pageInfo: PageInfo! } # An auto-generated type which holds one SavedSearch and a cursor during pagination. type SavedSearchEdge { # A cursor for use in pagination. cursor: String! # The item at the end of SavedSearchEdge. node: SavedSearch! } # An auto-generated type for paginating through multiple Images. type ImageConnection { # A list of edges. edges: [ImageEdge!]! # A list of the nodes contained in ImageEdge. nodes: [Image!]! # Information to aid in pagination. pageInfo: PageInfo! } # An auto-generated type which holds one Image and a cursor during pagination. type ImageEdge { # A cursor for use in pagination. cursor: String! # The item at the end of ImageEdge. node: Image! } # An auto-generated type for paginating through multiple Media. type MediaConnection { # A list of edges. edges: [MediaEdge!]! # A list of the nodes contained in MediaEdge. nodes: [Media!]! # Information to aid in pagination. pageInfo: PageInfo! } # An auto-generated type which holds one Media and a cursor during pagination. type MediaEdge { # A cursor for use in pagination. cursor: String! # The item at the end of MediaEdge. node: Media! }