Product
Represents an individual item for sale in the storefront.
type Product implements Node, ObjectWithMetadata {
id: ID!
metadata: [MetadataItem!]!
privateMetadata: [MetadataItem!]!
name: String!
slug: String!
description: String!
descriptionHtml: String!
currency: String!
chargeTaxes: Boolean!
publicationDate: Date
seoTitle: String
seoDescription: String
visibleInListings: Boolean!
overridePrice: Boolean!
overrideCurrency: Boolean!
externalId: String
externalSource: String
createdAt: DateTime!
updatedAt: DateTime
isPriceOverrideAllowed: Boolean!
isDigital: Boolean!
isShippingRequired: Boolean!
allowSellerVariants: Boolean!
availableForPurchase: Date
sortOrder: Int
status: ProductStatus!
subStatus: ProductSubStatusEnum
productSource: ProductSourceEnum
isPublished: Boolean!
dimensions: ProductDimensions
warnings: [WarningMessageItem!]!
hasWarnings: Boolean!
hasVariantOptions: Boolean!
weight: Weight
thumbnail(
size: Int
): Image
isAvailable: Boolean!
actions: [ProductAction!]!
isAvailableForPurchase: Boolean!
pricing: ProductPricingInfo
minimalVariantPrice: Money
taxType: TaxType
imageById(
id: ID
): ProductImage
seller: Seller
category: Category
productType: ProductType
defaultVariant: ProductVariant
variants: [ProductVariant!]!
images: [ProductImage!]!
videos: [ProductVideo!]!
countableImages(
before: String
after: String
first: Int
last: Int
): ProductImageCountableConnection!
countableVideos(
before: String
after: String
first: Int
last: Int
): ProductVideoCountableConnection!
collections: [Collection!]!
attributes: [SelectedAttribute!]!
variantAttributes: [Attribute!]!
customFields: [SelectedAttribute!]!
productStatusLogs: [ProductStatusLog!]!
purchaseCost: MoneyRange
margin: Margin
warehousesStats: [WarehouseStats!]!
documents: [Document!]!
sales: [Sale!]!
saleMessages: [String!]!
vouchers: [Voucher!]!
webhookHistory(
before: String
after: String
first: Int
last: Int
): ShopifyWebhookTransactionCountableConnection!
}
Fields
Product.id ● ID! non-null scalar
The Globally Unique ID of this object
Product.metadata ● [MetadataItem!]! non-null object
List of public metadata items. Can be accessed without permissions.
Product.privateMetadata ● [MetadataItem!]! non-null object
List of private metadata items. Requires proper staff permissions to access.
Product.name ● String! non-null scalar
Name of the product
Product.slug ● String! non-null scalar
Slug identifier
Product.description ● String! non-null scalar
Description of the product
Product.descriptionHtml ● String! non-null scalar
Description as HTML
Product.currency ● String! non-null scalar
Currency code for pricing
Product.chargeTaxes ● Boolean! non-null scalar
Whether to charge taxes on this product
Product.publicationDate ● Date scalar
Publication date
Product.seoTitle ● String scalar
SEO title
Product.seoDescription ● String scalar
SEO meta description
Product.visibleInListings ● Boolean! non-null scalar
Whether visible in product listings
Product.overridePrice ● Boolean! non-null scalar
Whether price is overridden
Product.overrideCurrency ● Boolean! non-null scalar
Whether currency is overridden
Product.externalId ● String scalar
External system identifier
Product.externalSource ● String scalar
External system source
Product.createdAt ● DateTime! non-null scalar
Creation timestamp
Product.updatedAt ● DateTime scalar
Last update timestamp
Product.isPriceOverrideAllowed ● Boolean! non-null scalar
Whether price override is allowed
Product.isDigital ● Boolean! non-null scalar
Whether this is a digital product
Product.isShippingRequired ● Boolean! non-null scalar
Whether shipping is required
Product.allowSellerVariants ● Boolean! non-null scalar
Whether sellers can add variants
Product.availableForPurchase ● Date scalar
Date when the product becomes available for purchase
Product.sortOrder ● Int scalar
Sort order of the product
Product.status ● ProductStatus! non-null enum
Product status
Product.subStatus ● ProductSubStatusEnum enum
Product sub-status
Product.productSource ● ProductSourceEnum enum
Source of the product
Product.isPublished ● Boolean! non-null scalar
Whether the product is published
Product.dimensions ● ProductDimensions object
Product dimensions
Product.warnings ● [WarningMessageItem!]! non-null object
List of warnings for this product
Product.hasWarnings ● Boolean! non-null scalar
Whether the product has warnings
Product.hasVariantOptions ● Boolean! non-null scalar
Whether this product allows creating variants
Product.weight ● Weight object
Weight of the product
Product.thumbnail ● Image object
Main thumbnail for the product
Product.thumbnail.size ● Int scalar
Product.isAvailable ● Boolean! non-null scalar
Whether the product is in stock and visible
Product.actions ● [ProductAction!]! non-null enum
Available actions for this product
Product.isAvailableForPurchase ● Boolean! non-null scalar
Whether the product is available for purchase
Product.pricing ● ProductPricingInfo object
Product pricing information for storefront display
Product.minimalVariantPrice ● Money object
The price of the cheapest variant (including discounts)
Product.taxType ● TaxType object
A type of tax. Assigned by enabled tax gateway
Product.imageById ● ProductImage object
Get a single product image by ID
Product.imageById.id ● ID scalar
Product.seller ● Seller object
The seller that owns this product
Product.category ● Category object
The category this product belongs to
Product.productType ● ProductType object
The product type
Product.defaultVariant ● ProductVariant object
The default variant for this product
Product.variants ● [ProductVariant!]! non-null object
List of variants for this product
Product.images ● [ProductImage!]! non-null object
List of images for this product
Product.videos ● [ProductVideo!]! non-null object
List of videos for this product
Product.countableImages ● ProductImageCountableConnection! non-null object
Countable edges of images for the product (paginated)
Product.countableImages.before ● String scalar
Returns the items in the list that come before the specified cursor.
Product.countableImages.after ● String scalar
Returns the items in the list that come after the specified cursor.
Product.countableImages.first ● Int scalar
Returns the first n items from the list.
Product.countableImages.last ● Int scalar
Returns the items in the list that come after the specified cursor.
Product.countableVideos ● ProductVideoCountableConnection! non-null object
Countable edges of videos for the product (paginated)
Product.countableVideos.before ● String scalar
Returns the items in the list that come before the specified cursor.
Product.countableVideos.after ● String scalar
Returns the items in the list that come after the specified cursor.
Product.countableVideos.first ● Int scalar
Returns the first n items from the list.
Product.countableVideos.last ● Int scalar
Returns the items in the list that come after the specified cursor.
Product.collections ● [Collection!]! non-null object
List of collections this product belongs to
Product.attributes ● [SelectedAttribute!]! non-null object
List of attributes assigned to this product
Product.variantAttributes ● [Attribute!]! non-null object
Variant attributes available for this product
Product.customFields ● [SelectedAttribute!]! non-null object
List of custom fields assigned to this product
Product.productStatusLogs ● [ProductStatusLog!]! non-null object
Product status change logs
Product.purchaseCost ● MoneyRange object
Purchase cost range (requires MANAGE_PRODUCTS permission)
Product.margin ● Margin object
Margin range (requires MANAGE_PRODUCTS permission)
Product.warehousesStats ● [WarehouseStats!]! non-null object
Warehouse stats (requires MANAGE_PRODUCTS permission)
Product.documents ● [Document!]! non-null object
List of documents associated with the product.
Product.sales ● [Sale!]! non-null object
List of sales associated with the product.
Product.saleMessages ● [String!]! non-null scalar
List of sale messages for the storefront.
Product.vouchers ● [Voucher!]! non-null object
List of vouchers associated with the product.
Product.webhookHistory ● ShopifyWebhookTransactionCountableConnection! non-null object
Shopify webhook events related to this product.
Product.webhookHistory.before ● String scalar
Returns the items in the list that come before the specified cursor.
Product.webhookHistory.after ● String scalar
Returns the items in the list that come after the specified cursor.
Product.webhookHistory.first ● Int scalar
Returns the first n items from the list.
Product.webhookHistory.last ● Int scalar
Returns the items in the list that come after the specified cursor.
Interfaces
Node interface
An object with a Globally Unique ID
ObjectWithMetadata interface
An object that supports metadata.
Returned By
product query
Member Of
AttributeAssign object ● AttributeUnassign object ● MenuItem object ● ProductBulkCreate object ● ProductCountableEdge object ● ProductCreate object ● ProductDelete object ● ProductImageBulkCreate object ● ProductImageCreate object ● ProductImageDelete object ● ProductImageReorder object ● ProductImageUpdate object ● ProductReorderVariants object ● ProductSetAvailabilityForPurchase object ● ProductUpdate object ● ProductVariant object ● ProductVariantReportType object ● ProductVariantSetDefault object ● ProductVideoBulkCreate object ● ProductVideoCreate object ● ProductVideoDelete object ● ProductVideoReorder object ● ProductVideoUpdate object ● WishlistItem object
Implemented By
CustomFieldInstance union ● DocumentTargetInstance union