Skip to main content

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!
}
Show more ↓

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

Was this page helpful?