Navigable
A default cursor that you can use in queries to paginate your results. Each edge in a connection can return a cursor, which is a reference to the edge's position in the connection. You can use an edge's cursor as the starting point to retrieve the nodes before or after it in a connection.
To learn more about using cursor-based pagination, refer to Paginating results with GraphQL.
Anchor to FieldsFields
- Anchor to defaultCursordefault•String!
Cursor non-null A default cursor that returns the single next record, sorted ascending by ID.
Anchor to Types implemented inTypes implemented in
- •OBJECT
A checkout that was abandoned by the customer.
- Anchor to abandonedCheckoutUrlabandoned•URL!
Checkout Url non-null The URL for the buyer to recover their checkout.
- Anchor to billingAddressbilling•Mailing
Address Address The billing address provided by the buyer. Null if the user did not provide a billing address.
- Anchor to completedAtcompleted•Date
At Time The date and time when the buyer completed the checkout. Null if the checkout has not been completed.
- Anchor to createdAtcreated•Date
At Time! non-null The date and time when the checkout was created.
- Anchor to customAttributescustom•[Attribute!]!
Attributes non-null A list of extra information that has been added to the checkout.
- Anchor to customercustomer•Customer
The customer who created this checkout. May be null if the checkout was created from a draft order or via an app.
- Anchor to defaultCursordefault•String!
Cursor non-null A default cursor that returns the single next record, sorted ascending by ID.
- Anchor to discountCodesdiscount•[String!]!
Codes non-null The discount codes entered by the buyer at checkout.
- •ID!non-null
A globally-unique ID.
- Anchor to lineItemsline•Abandoned
Items Checkout Line Item Connection! non-null A list of the line items in this checkout.
- Anchor to namename•String!non-null
Unique merchant-facing identifier for the checkout.
- Anchor to notenote•String!non-null
A merchant-facing note added to the checkout. Not visible to the buyer.
- Anchor to shippingAddressshipping•Mailing
Address Address The shipping address to where the line items will be shipped. Null if the user did not provide a shipping address.
- Anchor to subtotalPriceSetsubtotal•Money
Price Set Bag! non-null The sum of all items in the checkout, including discounts but excluding shipping, taxes and tips.
- Anchor to taxesIncludedtaxes•Boolean!
Included non-null Whether taxes are included in line item and shipping line prices.
- Anchor to taxLinestax•[Tax
Lines Line!]! non-null Individual taxes charged on the checkout.
- Anchor to totalDiscountSettotal•Money
Discount Set Bag! non-null The total amount of discounts to be applied.
- Anchor to totalDutiesSettotal•Money
Duties Set Bag The total duties applied to the checkout.
- Anchor to totalLineItemsPriceSettotal•Money
Line Items Price Set Bag! non-null The sum of the prices of all line items in the checkout.
- Anchor to totalPriceSettotal•Money
Price Set Bag! non-null The sum of all items in the checkout, including discounts, shipping, taxes, and tips.
- Anchor to totalTaxSettotal•Money
Tax Set Bag The total tax applied to the checkout.
- Anchor to updatedAtupdated•Date
At Time! non-null The date and time when the checkout was most recently updated.
- Anchor to lineItemsQuantityline•Int!
Items Quantity non-nullDeprecated
- •OBJECT
An article in the blogging system.
- •Article
Author The name of the author of the article.
- Anchor to blogblog•Blog!non-null
The blog containing the article.
- Anchor to bodybody•HTML!non-null
The text of the article's body, complete with HTML markup.
- Anchor to commentscomments•Comment
Connection! non-null List of the article's comments.
- Anchor to commentsCountcomments•Count
Count Count of comments. Limited to a maximum of 10000 by default.
- Anchor to createdAtcreated•Date
At Time! non-null The date and time (ISO 8601 format) when the article was created.
- Anchor to defaultCursordefault•String!
Cursor non-null A default cursor that returns the single next record, sorted ascending by ID.
- Anchor to eventsevents•Event
Connection! non-null The paginated list of events associated with the host subject.
- Anchor to handlehandle•String!non-null
A unique, human-friendly string for the article that's automatically generated from the article's title. The handle is used in the article's URL.
- •ID!non-null
A globally-unique ID.
- Anchor to imageimage•Image
The image associated with the article.
- Anchor to isPublishedis•Boolean!
Published non-null Whether or not the article is visible.
- Anchor to metafieldmetafield•Metafield
A custom field, including its
namespace
andkey
, that's associated with a Shopify resource for the purposes of adding and storing additional information.- Anchor to metafieldsmetafields•Metafield
Connection! non-null A list of custom fields that a merchant associates with a Shopify resource.
- Anchor to metafieldsByIdentifiersmetafields•[Metafield]!
By Identifiers non-null The metafields associated with the resource matching the supplied list of namespaces and keys.
- Anchor to publishedAtpublished•Date
At Time The date and time (ISO 8601 format) when the article became or will become visible. Returns null when the article isn't visible.
- Anchor to summarysummary•HTML
A summary of the article, which can include HTML markup. The summary is used by the online store theme to display the article on other pages, such as the home page or the main blog page.
- •[String!]!non-null
A comma-separated list of tags. Tags are additional short descriptors formatted as a string of comma-separated values.
- Anchor to templateSuffixtemplate•String
Suffix The name of the template an article is using if it's using an alternate template. If an article is using the default
article.liquid
template, then the value returned isnull
.- Anchor to titletitle•String!non-null
The title of the article.
- Anchor to translationstranslations•[Translation!]!non-null
The published translations associated with the resource.
- Anchor to updatedAtupdated•Date
At Time The date and time (ISO 8601 format) when the article was last updated.
- Anchor to metafieldDefinitionsmetafield•Metafield
Definitions Definition Connection! non-nullDeprecated
- •Article
- •OBJECT
Represents information about a company which is also a customer of the shop.
- Anchor to contactRolescontact•Company
Roles Contact Role Connection! non-null The list of roles for the company contacts.
- Anchor to contactscontacts•Company
Contact Connection! non-null The list of contacts in the company.
- Anchor to contactsCountcontacts•Count
Count The number of contacts that belong to the company.
- Anchor to createdAtcreated•Date
At Time! non-null The date and time (ISO 8601 format) at which the company was created in Shopify.
- Anchor to customerSincecustomer•Date
Since Time! non-null The date and time (ISO 8601 format) at which the company became the customer.
- Anchor to defaultCursordefault•String!
Cursor non-null A default cursor that returns the single next record, sorted ascending by ID.
- Anchor to defaultRoledefault•Company
Role Contact Role The role proposed by default for a contact at the company.
- Anchor to draftOrdersdraft•Draft
Orders Order Connection! non-null The list of the company's draft orders.
- Anchor to eventsevents•Event
Connection! non-null The paginated list of events associated with the host subject.
- Anchor to externalIdexternal•String
Id A unique externally-supplied ID for the company.
- Anchor to hasTimelineCommenthas•Boolean!
Timeline Comment non-null Whether the merchant added a timeline comment to the company.
- •ID!non-null
A globally-unique ID.
- Anchor to lifetimeDurationlifetime•String!
Duration non-null The lifetime duration of the company, since it became a customer of the shop. Examples:
2 days
,3 months
,1 year
.- Anchor to locationslocations•Company
Location Connection! non-null The list of locations in the company.
- Anchor to locationsCountlocations•Count
Count The number of locations that belong to the company.
- Anchor to mainContactmain•Company
Contact Contact The main contact for the company.
- Anchor to metafieldmetafield•Metafield
A custom field, including its
namespace
andkey
, that's associated with a Shopify resource for the purposes of adding and storing additional information.- Anchor to metafieldsmetafields•Metafield
Connection! non-null A list of custom fields that a merchant associates with a Shopify resource.
- Anchor to metafieldsByIdentifiersmetafields•[Metafield]!
By Identifiers non-null The metafields associated with the resource matching the supplied list of namespaces and keys.
- Anchor to namename•String!non-null
The name of the company.
- Anchor to notenote•String
A note about the company.
- Anchor to ordersorders•Order
Connection! non-null The list of the company's orders.
- Anchor to ordersCountorders•Count
Count The total number of orders placed for this company, across all its locations.
- Anchor to totalSpenttotal•Money
Spent V2! non-null The total amount spent by this company, across all its locations.
- Anchor to updatedAtupdated•Date
At Time! non-null The date and time (ISO 8601 format) at which the company was last modified.
- Anchor to contactCountcontact•Int!
Count non-nullDeprecated - Anchor to metafieldDefinitionsmetafield•Metafield
Definitions Definition Connection! non-nullDeprecated
- •OBJECT
A location or branch of a company that's a customer of the shop. Configuration of B2B relationship, for example prices lists and checkout settings, may be done for a location.
- Anchor to billingAddressbilling•Company
Address Address The address used as billing address for the location.
- Anchor to buyerExperienceConfigurationbuyer•Buyer
Experience Configuration Experience Configuration The configuration for the buyer's B2B checkout.
- Anchor to catalogscatalogs•Catalog
Connection! non-null The list of catalogs associated with the company location.
- Anchor to catalogsCountcatalogs•Count
Count The number of catalogs associated with the company location. Limited to a maximum of 10000 by default.
- Anchor to companycompany•Company!non-null
The company that the company location belongs to.
- Anchor to createdAtcreated•Date
At Time! non-null The date and time (ISO 8601 format) at which the company location was created in Shopify.
- Anchor to currencycurrency•Currency
Code! non-null The location's currency based on the shipping address. If the shipping address is empty, then the value is the shop's primary market.
- Anchor to defaultCursordefault•String!
Cursor non-null A default cursor that returns the single next record, sorted ascending by ID.
- Anchor to draftOrdersdraft•Draft
Orders Order Connection! non-null The list of draft orders for the company location.
- Anchor to eventsevents•Event
Connection! non-null The paginated list of events associated with the host subject.
- Anchor to externalIdexternal•String
Id A unique externally-supplied ID for the company location.
- Anchor to hasPriceListhas•Boolean!
Price List non-null Whether the company location has a price list with the specified ID.
- Anchor to priceListIdprice•ID!
List Id required The price list ID to check.
Arguments
- Anchor to hasTimelineCommenthas•Boolean!
Timeline Comment non-null Whether the merchant added a timeline comment to the company location.
- •ID!non-null
A globally-unique ID.
- Anchor to inCatalogin•Boolean!
Catalog non-null Whether the company location is assigned a specific catalog.
- Anchor to catalogIdcatalog•ID!
Id required The ID of the catalog.
Arguments
- Anchor to localelocale•String
The preferred locale of the company location.
- Anchor to metafieldmetafield•Metafield
A custom field, including its
namespace
andkey
, that's associated with a Shopify resource for the purposes of adding and storing additional information.- Anchor to metafieldsmetafields•Metafield
Connection! non-null A list of custom fields that a merchant associates with a Shopify resource.
- Anchor to metafieldsByIdentifiersmetafields•[Metafield]!
By Identifiers non-null The metafields associated with the resource matching the supplied list of namespaces and keys.
- Anchor to namename•String!non-null
The name of the company location.
- Anchor to notenote•String
A note about the company location.
- Anchor to ordersorders•Order
Connection! non-null The list of orders for the company location.
- Anchor to ordersCountorders•Count
Count The total number of orders placed for the location.
- Anchor to phonephone•String
The phone number of the company location.
- Anchor to priceListsprice•Price
Lists List Connection! non-null The list of price lists for the company location.
- Anchor to roleAssignmentsrole•Company
Assignments Contact Role Assignment Connection! non-null The list of roles assigned to the company location.
- Anchor to shippingAddressshipping•Company
Address Address The address used as shipping address for the location.
- Anchor to staffMemberAssignmentsstaff•Company
Member Assignments Location Staff Member Assignment Connection! non-null The list of staff members assigned to the company location.
- Anchor to taxSettingstax•Company
Settings Location Tax Settings! non-null The tax settings for the company location.
- Anchor to totalSpenttotal•Money
Spent V2! non-null The total amount spent by the location.
- Anchor to updatedAtupdated•Date
At Time! non-null The date and time (ISO 8601 format) at which the company location was last modified.
- Anchor to marketmarket•Market!non-nullDeprecated
- Anchor to metafieldDefinitionsmetafield•Metafield
Definitions Definition Connection! non-nullDeprecated - Anchor to orderCountorder•Int!
Count non-nullDeprecated - Anchor to taxExemptionstax•[Tax
Exemptions Exemption!]! non-nullDeprecated - Anchor to taxRegistrationIdtax•String
Registration Id Deprecated
- •OBJECT
An app extension page for the customer account navigation menu.
- Anchor to appExtensionUuidapp•String
Extension Uuid The UUID of the app extension.
- Anchor to defaultCursordefault•String!
Cursor non-null A default cursor that returns the single next record, sorted ascending by ID.
- Anchor to handlehandle•String!non-null
A unique, human-friendly string for the customer account page.
- •ID!non-null
The unique ID for the customer account page.
- Anchor to titletitle•String!non-null
The title of the customer account page.
- •OBJECT
A native page for the customer account navigation menu.
- Anchor to defaultCursordefault•String!
Cursor non-null A default cursor that returns the single next record, sorted ascending by ID.
- Anchor to handlehandle•String!non-null
A unique, human-friendly string for the customer account page.
- •ID!non-null
The unique ID for the customer account page.
- Anchor to pageTypepage•Customer
Type Account Native Page Page Type! non-null The type of customer account native page.
- Anchor to titletitle•String!non-null
The title of the customer account page.
- •OBJECT
An order that a merchant creates on behalf of a customer. Draft orders are useful for merchants that need to do the following tasks:
- Create new orders for sales made by phone, in person, by chat, or elsewhere. When a merchant accepts payment for a draft order, an order is created.
- Send invoices to customers to pay with a secure checkout link.
- Use custom items to represent additional costs or products that aren't displayed in a shop's inventory.
- Re-create orders manually from active sales channels.
- Sell products at discount or wholesale rates.
- Take pre-orders.
For draft orders in multiple currencies
is the source of truth for what a customer is going to be charged and
is an estimate of what the merchant might receive in their shop currency.
Caution: Only use this data if it's required for your app's functionality. Shopify will restrict access to scopes for apps that don't have a legitimate use for the associated data.
Draft orders created on or after April 1, 2025 will be automatically purged after one year of inactivity.
- Anchor to acceptAutomaticDiscountsaccept•Boolean
Automatic Discounts Whether or not to accept automatic discounts on the draft order during calculation. If false, only discount codes and custom draft order discounts (see
) will be applied. If true, eligible automatic discounts will be applied in addition to discount codes and custom draft order discounts.
- Anchor to allowDiscountCodesInCheckoutallow•Boolean!
Discount Codes In Checkout non-null Whether discount codes are allowed during checkout of this draft order.
- Anchor to allVariantPricesOverriddenall•Boolean!
Variant Prices Overridden non-null Whether all variant prices have been overridden.
- Anchor to amountDueLaterSetamount•Money
Due Later Set Bag! non-null The amount due later. When there are payment terms, this is the total price minus the deposit amount (if any). When there are no payment terms, this is 0.
- Anchor to amountDueNowSetamount•Money
Due Now Set Bag! non-null The amount due now. When there are payment terms this is the value of the deposit (0 by default). When there are no payment terms, this is the total price.
- Anchor to anyVariantPricesOverriddenany•Boolean!
Variant Prices Overridden non-null Whether any variant prices have been overridden.
- Anchor to appliedDiscountapplied•Draft
Discount Order Applied Discount The custom order-level discount applied.
- Anchor to billingAddressbilling•Mailing
Address Address The billing address of the customer.
- Anchor to billingAddressMatchesShippingAddressbilling•Boolean!
Address Matches Shipping Address non-null Whether the billing address matches the shipping address.
- Anchor to bypassCartValidationsbypass•Boolean
Cart Validations Whether to bypass cart validations on this draft order.
- Anchor to completedAtcompleted•Date
At Time The date and time when the draft order was converted to a new order, and had it's status changed to Completed.
- Anchor to createdAtcreated•Date
At Time! non-null The date and time when the draft order was created in Shopify.
- Anchor to currencyCodecurrency•Currency
Code Code! non-null The shop currency used for calculation.
- Anchor to customAttributescustom•[Attribute!]!
Attributes non-null The custom information added to the draft order on behalf of the customer.
- Anchor to customercustomer•Customer
The customer who will be sent an invoice.
- Anchor to defaultCursordefault•String!
Cursor non-null A default cursor that returns the single next record, sorted ascending by ID.
- Anchor to depositdeposit•Deposit
Configuration The portion required to be paid at checkout.
- Anchor to discountCodesdiscount•[String!]!
Codes non-null All discount codes applied.
- Anchor to emailemail•String
The email address of the customer, which is used to send notifications.
- Anchor to eventsevents•Event
Connection! non-null The list of events associated with the draft order.
- Anchor to hasTimelineCommenthas•Boolean!
Timeline Comment non-null Whether the merchant has added timeline comments to the draft order.
- •ID!non-null
A globally-unique ID.
- Anchor to invoiceEmailTemplateSubjectinvoice•String!
Email Template Subject non-null The subject defined for the draft invoice email template.
- Anchor to invoiceSentAtinvoice•Date
Sent At Time The date and time when the invoice was last emailed to the customer.
- Anchor to invoiceUrlinvoice•URL
Url The link to the checkout, which is sent to the customer in the invoice email.
- Anchor to legacyResourceIdlegacy•Unsigned
Resource Id Int64! non-null The ID of the corresponding resource in the REST Admin API.
- Anchor to lineItemsline•Draft
Items Order Line Item Connection! non-null The list of the line items in the draft order.
- Anchor to lineItemsSubtotalPriceline•Money
Items Subtotal Price Bag! non-null A subtotal of the line items and corresponding discounts, excluding include shipping charges, shipping discounts, taxes, or order discounts.
- Anchor to localizedFieldslocalized•Localized
Fields Field Connection! non-null List of localized fields for the resource.
- Anchor to metafieldmetafield•Metafield
A custom field, including its
namespace
andkey
, that's associated with a Shopify resource for the purposes of adding and storing additional information.- Anchor to metafieldsmetafields•Metafield
Connection! non-null A list of custom fields that a merchant associates with a Shopify resource.
- Anchor to metafieldsByIdentifiersmetafields•[Metafield]!
By Identifiers non-null The metafields associated with the resource matching the supplied list of namespaces and keys.
- Anchor to namename•String!non-null
The identifier for the draft order, which is unique within the store. For example, #D1223.
- Anchor to note2note2•String
The text from an optional note attached to the draft order.
- Anchor to orderorder•Order
The order that was created from the draft order.
- Anchor to paymentTermspayment•Payment
Terms Terms The associated payment terms for this draft order.
- Anchor to phonephone•String
The assigned phone number.
- Anchor to platformDiscountsplatform•[Draft
Discounts Order Platform Discount!]! non-null The list of platform discounts applied.
- Anchor to poNumberpo•String
Number The purchase order number.
- Anchor to presentmentCurrencyCodepresentment•Currency
Currency Code Code! non-null The payment currency used for calculation.
- Anchor to purchasingEntitypurchasing•Purchasing
Entity Entity The purchasing entity.
- Anchor to readyready•Boolean!non-null
Whether the draft order is ready and can be completed. Draft orders might have asynchronous operations that can take time to finish.
- Anchor to reserveInventoryUntilreserve•Date
Inventory Until Time The time after which inventory will automatically be restocked.
- Anchor to shippingAddressshipping•Mailing
Address Address The shipping address of the customer.
- Anchor to shippingLineshipping•Shipping
Line Line The line item containing the shipping information and costs.
- Anchor to statusstatus•Draft
Order Status! non-null The status of the draft order.
- Anchor to subtotalPriceSetsubtotal•Money
Price Set Bag! non-null The subtotal, of the line items and their discounts, excluding shipping charges, shipping discounts, and taxes.
- •[String!]!non-null
The comma separated list of tags associated with the draft order. Updating
tags
overwrites any existing tags that were previously added to the draft order. To add new tags without overwriting existing tags, use the tagsAdd mutation.- Anchor to taxesIncludedtaxes•Boolean!
Included non-null Whether the line item prices include taxes.
- Anchor to taxExempttax•Boolean!
Exempt non-null Whether the draft order is tax exempt.
- Anchor to taxLinestax•[Tax
Lines Line!]! non-null The list of of taxes lines charged for each line item and shipping line.
- Anchor to totalDiscountsSettotal•Money
Discounts Set Bag! non-null Total discounts.
- Anchor to totalLineItemsPriceSettotal•Money
Line Items Price Set Bag! non-null Total price of line items.
- Anchor to totalPriceSettotal•Money
Price Set Bag! non-null The total price, includes taxes, shipping charges, and discounts.
- Anchor to totalQuantityOfLineItemstotal•Int!
Quantity Of Line Items non-null The sum of individual line item quantities. If the draft order has bundle items, this is the sum containing the quantities of individual items in the bundle.
- Anchor to totalShippingPriceSettotal•Money
Shipping Price Set Bag! non-null The total shipping price.
- Anchor to totalTaxSettotal•Money
Tax Set Bag! non-null The total tax.
- Anchor to totalWeighttotal•Unsigned
Weight Int64! non-null The total weight in grams of the draft order.
- Anchor to transformerFingerprinttransformer•String
Fingerprint Fingerprint of the current cart. In order to have bundles work, the fingerprint must be passed to each request as it was previously returned, unmodified.
- Anchor to updatedAtupdated•Date
At Time! non-null The date and time when the draft order was last changed. The format is YYYY-MM-DD HH:mm:ss. For example, 2016-02-05 17:04:01.
- Anchor to visibleToCustomervisible•Boolean!
To Customer non-null Whether the draft order will be visible to the customer on the self-serve portal.
- Anchor to warningswarnings•[Draft
Order Warning!]! non-null The list of warnings raised while calculating.
- Anchor to localizationExtensionslocalization•Localization
Extensions Extension Connection! non-nullDeprecated - Anchor to marketNamemarket•String!
Name non-nullDeprecated - Anchor to marketRegionCountryCodemarket•Country
Region Country Code Code! non-nullDeprecated - Anchor to subtotalPricesubtotal•Money!
Price non-nullDeprecated - Anchor to totalPricetotal•Money!
Price non-nullDeprecated - Anchor to totalShippingPricetotal•Money!
Shipping Price non-nullDeprecated - Anchor to totalTaxtotal•Money!
Tax non-nullDeprecated
- •OBJECT
A page on the Online Store.
- Anchor to bodybody•HTML!non-null
The text content of the page, complete with HTML markup.
- Anchor to bodySummarybody•String!
Summary non-null The first 150 characters of the page body. If the page body contains more than 150 characters, additional characters are truncated by ellipses.
- Anchor to createdAtcreated•Date
At Time! non-null The date and time (ISO 8601 format) of the page creation.
- Anchor to defaultCursordefault•String!
Cursor non-null A default cursor that returns the single next record, sorted ascending by ID.
- Anchor to eventsevents•Event
Connection! non-null The paginated list of events associated with the host subject.
- Anchor to handlehandle•String!non-null
A unique, human-friendly string for the page. In themes, the Liquid templating language refers to a page by its handle.
- •ID!non-null
A globally-unique ID.
- Anchor to isPublishedis•Boolean!
Published non-null Whether or not the page is visible.
- Anchor to metafieldmetafield•Metafield
A custom field, including its
namespace
andkey
, that's associated with a Shopify resource for the purposes of adding and storing additional information.- Anchor to metafieldsmetafields•Metafield
Connection! non-null A list of custom fields that a merchant associates with a Shopify resource.
- Anchor to metafieldsByIdentifiersmetafields•[Metafield]!
By Identifiers non-null The metafields associated with the resource matching the supplied list of namespaces and keys.
- Anchor to publishedAtpublished•Date
At Time The date and time (ISO 8601 format) when the page became or will become visible. Returns null when the page isn't visible.
- Anchor to templateSuffixtemplate•String
Suffix The suffix of the template that's used to render the page.
- Anchor to titletitle•String!non-null
Title of the page.
- Anchor to translationstranslations•[Translation!]!non-null
The published translations associated with the resource.
- Anchor to updatedAtupdated•Date
At Time! non-null The date and time (ISO 8601 format) of the latest page update.
- Anchor to metafieldDefinitionsmetafield•Metafield
Definitions Definition Connection! non-nullDeprecated
- •OBJECT
The
Product
object lets you manage products in a merchant’s store.Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. You can use product variants to create or update different versions of the same product. You can also add or update product media. Products can be organized by grouping them into a collection.
Learn more about working with Shopify's product model, including limitations and considerations.
- Anchor to availablePublicationsCountavailable•Count
Publications Count The number of publications that a resource is published to, without feedback errors.
- Anchor to bundleComponentsbundle•Product
Components Bundle Component Connection! non-null A list of components that are associated with a product in a bundle.
- Anchor to categorycategory•Taxonomy
Category The category of a product from Shopify's Standard Product Taxonomy.
- Anchor to collectionscollections•Collection
Connection! non-null A list of collections that include the product.
- Anchor to combinedListingcombined•Combined
Listing Listing A special product type that combines separate products from a store into a single product listing. Combined listings are connected by a shared option, such as color, model, or dimension.
- Anchor to combinedListingRolecombined•Combined
Listing Role Listings Role The role of the product in a combined listing.
If
null
, then the product isn't part of any combined listing.- Anchor to compareAtPriceRangecompare•Product
At Price Range Compare At Price Range The compare-at price range of the product in the shop's default currency.
- Anchor to contextualPricingcontextual•Product
Pricing Contextual Pricing! non-null The pricing that applies to a customer in a specific context. For example, a price might vary depending on the customer's location. Only active markets are considered in the price resolution.
- Anchor to createdAtcreated•Date
At Time! non-null The date and time when the product was created.
- Anchor to defaultCursordefault•String!
Cursor non-null A default cursor that returns the single next record, sorted ascending by ID.
- Anchor to descriptiondescription•String!non-null
A single-line description of the product, with HTML tags removed.
- Anchor to truncateAttruncate•Int
At Truncates a string after the given length.
Arguments
- Anchor to descriptionHtmldescription•HTML!
Html non-null The description of the product, with HTML tags. For example, the description might include bold
<strong></strong>
and italic<i></i>
text.- Anchor to eventsevents•Event
Connection! non-null The paginated list of events associated with the host subject.
- Anchor to featuredMediafeatured•Media
Media The featured media associated with the product.
- Anchor to feedbackfeedback•Resource
Feedback The information that lets merchants know what steps they need to take to make sure that the app is set up correctly.
For example, if a merchant hasn't set up a product correctly in the app, then the feedback might include a message that says "You need to add a price to this product".
- Anchor to giftCardTemplateSuffixgift•String
Card Template Suffix The theme template that's used when customers view the gift card in a store.
- Anchor to handlehandle•String!non-null
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.- Anchor to hasOnlyDefaultVarianthas•Boolean!
Only Default Variant non-null Whether the product has only a single variant with the default option and value.
- Anchor to hasOutOfStockVariantshas•Boolean!
Out Of Stock Variants non-null Whether the product has variants that are out of stock.
- Anchor to hasVariantsThatRequiresComponentshas•Boolean!
Variants That Requires Components non-null Whether at least one of the product variants requires bundle components.
Learn more about store eligibility for bundles.
- •ID!non-null
A globally-unique ID.
- Anchor to inCollectionin•Boolean!
Collection non-null Whether the product is in a specified collection.
- •ID!required
The ID of the collection to check. For example,
.
Arguments
- •ID!
- Anchor to isGiftCardis•Boolean!
Gift Card non-null Whether the product is a gift card.
- Anchor to legacyResourceIdlegacy•Unsigned
Resource Id Int64! non-null The ID of the corresponding resource in the REST Admin API.
- Anchor to mediamedia•Media
Connection! non-null The media associated with the product. Valid media are images, 3D models, videos.
- Anchor to metafieldmetafield•Metafield
A custom field, including its
namespace
andkey
, that's associated with a Shopify resource for the purposes of adding and storing additional information.- Anchor to metafieldsmetafields•Metafield
Connection! non-null A list of custom fields that a merchant associates with a Shopify resource.
- Anchor to metafieldsByIdentifiersmetafields•[Metafield]!
By Identifiers non-null The metafields associated with the resource matching the supplied list of namespaces and keys.
- Anchor to onlineStorePreviewUrlonline•URL
Store Preview Url The preview URL for the online store.
- Anchor to onlineStoreUrlonline•URL
Store Url The product's URL on the online store. If
null
, then the product isn't published to the online store sales channel.- Anchor to optionsoptions•[Product
Option!]! non-null A list of product options. The limit is defined by the shop's resource limits for product options (
).
- Anchor to priceRangeV2price•Product
Range V2 Price Range V2! non-null The minimum and maximum prices of a product, expressed in decimal numbers. For example, if the product is priced between $10.00 and $50.00, then the price range is $10.00 - $50.00.
- Anchor to productComponentsproduct•Product
Components Component Type Connection! non-null A list of products that contain at least one variant associated with at least one of the current products' variants via group relationship.
- Anchor to productComponentsCountproduct•Count
Components Count A count of unique products that contain at least one variant associated with at least one of the current products' variants via group relationship.
- Anchor to productParentsproduct•Product
Parents Connection! non-null A list of products that has a variant that contains any of this product's variants as a component.
- Anchor to productTypeproduct•String!
Type non-null The product type that merchants define.
- Anchor to publishedAtpublished•Date
At Time The date and time when the product was published to the online store.
- Anchor to publishedInContextpublished•Boolean!
In Context non-null Whether the product is published for a customer only in a specified context. For example, a product might be published for a customer only in a specific location.
- Anchor to contextcontext•Contextual
Publication Context! required The context used to determine publication status.
Arguments
- Anchor to publishedOnCurrentPublicationpublished•Boolean!
On Current Publication non-null Whether the resource is published to the app's publication. For example, the resource might be published to the app's online store channel.
- Anchor to publishedOnPublicationpublished•Boolean!
On Publication non-null Whether the resource is published to a specified publication.
- Anchor to publicationIdpublication•ID!
Id required The ID of the publication to check. For example,
.
Arguments
- Anchor to requiresSellingPlanrequires•Boolean!
Selling Plan non-null Whether the product can only be purchased with a selling plan. Products that are sold on subscription (
) can be updated only for online stores. If you update a product to be subscription-only (
), then the product is unpublished from all channels, except the online store.
- Anchor to resourcePublicationOnCurrentPublicationresource•Resource
Publication On Current Publication Publication V2 The resource that's either published or staged to be published to the publication.
- Anchor to resourcePublicationsresource•Resource
Publications Publication Connection! non-null The list of resources that are published to a publication.
- Anchor to resourcePublicationsCountresource•Count
Publications Count The number of publications that a resource is published to, without feedback errors.
- Anchor to resourcePublicationsV2resource•Resource
Publications V2 Publication V2Connection! non-null The list of resources that are either published or staged to be published to a publication.
- Anchor to restrictedForResourcerestricted•Restricted
For Resource For Resource Whether the merchant can make changes to the product when they edit the order associated with the product. For example, a merchant might be restricted from changing product details when they edit an order.
- Anchor to sellingPlanGroupsselling•Selling
Plan Groups Plan Group Connection! non-null A list of all selling plan groups that are associated with the product either directly, or through the product's variants.
- Anchor to sellingPlanGroupsCountselling•Count
Plan Groups Count A count of selling plan groups that are associated with the product.
- •SEO!non-null
The SEO title and description that are associated with a product.
- Anchor to statusstatus•Product
Status! non-null The product status, which controls visibility across all sales channels.
- •[String!]!non-null
A comma-separated list of searchable keywords that are associated with the product. For example, a merchant might apply the
sports
andsummer
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 themutation.
- Anchor to templateSuffixtemplate•String
Suffix The theme template that's used when customers view the product in a store.
- Anchor to titletitle•String!non-null
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
.- Anchor to totalInventorytotal•Int!
Inventory non-null The quantity of inventory that's in stock.
- Anchor to tracksInventorytracks•Boolean!
Inventory non-null Whether inventory tracking has been enabled for the product.
- Anchor to translationstranslations•[Translation!]!non-null
The published translations associated with the resource.
- Anchor to unpublishedPublicationsunpublished•Publication
Publications Connection! non-null The list of publications that the resource isn't published to.
- Anchor to updatedAtupdated•Date
At Time! non-null The date and time when the product was last modified. A product's
value can change for different reasons. For example, if an order is placed for a product that has inventory tracking set up, then the inventory adjustment is counted as an update.
- Anchor to variantsvariants•Product
Variant Connection! non-null A list of variants associated with the product. If querying a single product at the root, you can fetch up to 2000 variants.
- Anchor to variantsCountvariants•Count
Count The number of variants that are associated with the product.
- Anchor to vendorvendor•String!non-null
The name of the product's vendor.
- Anchor to bodyHtmlbody•String
Html Deprecated - Anchor to customProductTypecustom•String
Product Type Deprecated - Anchor to descriptionPlainSummarydescription•String!
Plain Summary non-nullDeprecated - Anchor to featuredImagefeatured•Image
Image Deprecated - Anchor to imagesimages•Image
Connection! non-nullDeprecated - Anchor to metafieldDefinitionsmetafield•Metafield
Definitions Definition Connection! non-nullDeprecated - Anchor to priceRangeprice•Product
Range Price Range! non-nullDeprecated - Anchor to productCategoryproduct•Product
Category Category Deprecated - Anchor to productPublicationsproduct•Product
Publications Publication Connection! non-nullDeprecated - Anchor to publicationCountpublication•Int!
Count non-nullDeprecated - Anchor to onlyPublishedonly•Boolean
Published Default:true Include only the resource's publications that are published. If false, then return all the resource's publications including future publications.
Arguments
- Anchor to publicationspublications•Product
Publication Connection! non-nullDeprecated - Anchor to publishedOnChannelpublished•Boolean!
On Channel non-nullDeprecated - Anchor to channelIdchannel•ID!
Id required The ID of the channel to check.
Arguments
- Anchor to publishedOnCurrentChannelpublished•Boolean!
On Current Channel non-nullDeprecated - Anchor to sellingPlanGroupCountselling•Int!
Plan Group Count non-nullDeprecated - Anchor to standardizedProductTypestandardized•Standardized
Product Type Product Type Deprecated - Anchor to storefrontIdstorefront•Storefront
Id ID! non-nullDeprecated - Anchor to totalVariantstotal•Int!
Variants non-nullDeprecated - Anchor to unpublishedChannelsunpublished•Channel
Channels Connection! non-nullDeprecated
- •OBJECT
The
object represents a version of a product that comes in more than one option, such as size or color. For example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one product variant and a large, blue t-shirt would be another.
Use the
object to manage the full lifecycle and configuration of a product's variants. Common use cases for using the
object include:
- Tracking inventory for each variant
- Setting unique prices for each variant
- Assigning barcodes and SKUs to connect variants to fulfillment services
- Attaching variant-specific images and media
- Setting delivery and tax requirements
- Supporting product bundles, subscriptions, and selling plans
A
is associated with a parent
Product
object.serves as the central link between a product's merchandising configuration, inventory, pricing, fulfillment, and sales channels within the GraphQL Admin API schema. Each variant can reference other GraphQL types such as:
: Used for inventory tracking
Image
: Used for variant-specific images: Used for subscriptions and selling plans
Learn more about Shopify's product model.
- Anchor to availableForSaleavailable•Boolean!
For Sale non-null Whether the product variant is available for sale.
- Anchor to barcodebarcode•String
The value of the barcode associated with the product.
- Anchor to compareAtPricecompare•Money
At Price The compare-at price of the variant in the default shop currency.
- Anchor to contextualPricingcontextual•Product
Pricing Variant Contextual Pricing! non-null The pricing that applies for a customer in a given context. As of API version 2025-04, only active markets are considered in the price resolution.
- Anchor to createdAtcreated•Date
At Time! non-null The date and time when the variant was created.
- Anchor to defaultCursordefault•String!
Cursor non-null A default cursor that returns the single next record, sorted ascending by ID.
- Anchor to deliveryProfiledelivery•Delivery
Profile Profile The delivery profile for the variant.
- Anchor to deliveryPromiseParticipantsdelivery•[Delivery
Promise Participants Promise Participant!]! non-null The delivery promise participants for the product variant.
- Anchor to displayNamedisplay•String!
Name non-null Display name of the variant, based on product's title + variant's title.
- Anchor to eventsevents•Event
Connection! non-null The paginated list of events associated with the host subject.
- •ID!non-null
A globally-unique ID.
- Anchor to imageimage•Image
The featured image for the variant.
- Anchor to inventoryIteminventory•Inventory
Item Item! non-null The inventory item, which is used to query for inventory information.
- Anchor to inventoryPolicyinventory•Product
Policy Variant Inventory Policy! non-null Whether customers are allowed to place an order for the product variant when it's out of stock.
- Anchor to inventoryQuantityinventory•Int
Quantity The total sellable quantity of the variant.
- Anchor to legacyResourceIdlegacy•Unsigned
Resource Id Int64! non-null The ID of the corresponding resource in the REST Admin API.
- Anchor to mediamedia•Media
Connection! non-null The media associated with the product variant.
- Anchor to metafieldmetafield•Metafield
A custom field, including its
namespace
andkey
, that's associated with a Shopify resource for the purposes of adding and storing additional information.- Anchor to metafieldsmetafields•Metafield
Connection! non-null A list of custom fields that a merchant associates with a Shopify resource.
- Anchor to metafieldsByIdentifiersmetafields•[Metafield]!
By Identifiers non-null The metafields associated with the resource matching the supplied list of namespaces and keys.
- Anchor to positionposition•Int!non-null
The order of the product variant in the list of product variants. The first position in the list is 1.
- Anchor to priceprice•Money!non-null
The price of the product variant in the default shop currency.
- Anchor to productproduct•Product!non-null
The product that this variant belongs to.
- Anchor to productParentsproduct•Product
Parents Connection! non-null A list of products that have product variants that contain this variant as a product component.
- Anchor to productVariantComponentsproduct•Product
Variant Components Variant Component Connection! non-null A list of the product variant components.
- Anchor to requiresComponentsrequires•Boolean!
Components non-null Whether a product variant requires components. The default value is
false
. Iftrue
, then the product variant can only be purchased as a parent bundle with components and it will be omitted from channels that don't support bundles.- Anchor to selectedOptionsselected•[Selected
Options Option!]! non-null List of product options applied to the variant.
- Anchor to sellableOnlineQuantitysellable•Int!
Online Quantity non-null The total sellable quantity of the variant for online channels. This doesn't represent the total available inventory or capture limitations based on customer location.
- Anchor to sellingPlanGroupsselling•Selling
Plan Groups Plan Group Connection! non-null A list of all selling plan groups defined in the current shop associated with the product variant.
- Anchor to sellingPlanGroupsCountselling•Count
Plan Groups Count Count of selling plan groups associated with the product variant.
- Anchor to showUnitPriceshow•Boolean!
Unit Price non-null Whether to show the unit price for this product variant.
- •String
A case-sensitive identifier for the product variant in the shop. Required in order to connect to a fulfillment service.
- Anchor to taxabletaxable•Boolean!non-null
Whether a tax is charged when the product variant is sold.
- Anchor to titletitle•String!non-null
The title of the product variant.
- Anchor to translationstranslations•[Translation!]!non-null
The published translations associated with the resource.
- Anchor to unitPriceunit•Money
Price V2 The unit price value for the variant based on the variant measurement.
- Anchor to unitPriceMeasurementunit•Unit
Price Measurement Price Measurement The unit price measurement for the variant.
- Anchor to updatedAtupdated•Date
At Time! non-null The date and time (ISO 8601 format) when the product variant was last modified.
- Anchor to metafieldDefinitionsmetafield•Metafield
Definitions Definition Connection! non-nullDeprecated - Anchor to presentmentPricespresentment•Product
Prices Variant Price Pair Connection! non-nullDeprecated - Anchor to sellingPlanGroupCountselling•Int!
Plan Group Count non-nullDeprecated - Anchor to storefrontIdstorefront•Storefront
Id ID! non-nullDeprecated - Anchor to taxCodetax•String
Code Deprecated