Metafield Reference
The resource referenced by the metafield value.
Anchor to Possible typesPossible types
- •OBJECT
The
Collection
object represents a group of products that merchants can organize to make their stores easier to browse and help customers find related products. Collections serve as the primary way to categorize and display products across online stores, sales channels, and marketing campaigns.There are two types of collections:
- Custom (manual) collections: You specify the products to include in a collection.
- Smart (automated) collections: You define rules, and products matching those rules are automatically included in the collection.
The
Collection
object provides information to:- Organize products by category, season, or promotion.
- Automate product grouping using rules (for example, by tag, type, or price).
- Configure product sorting and display order (for example, alphabetical, best-selling, price, or manual).
- Manage collection visibility and publication across sales channels.
- Add rich descriptions, images, and metadata to enhance discovery.
NoteCollections can be displayed in a store with Shopify's theme system through Liquid templates and can be customized with template suffixes for unique layouts. They also support advanced features like translated content, resource feedback, and contextual publication for location-based catalogs.
Learn about using metafields with smart collections.
- Anchor to availablePublicationsCountavailable•Count
Publications Count The number of publications that a resource is published to, without feedback errors.
- Anchor to descriptiondescription•String!non-null
A single-line, text-only description of the collection, stripped of any HTML tags and formatting that were included in the description.
- Anchor to truncateAttruncate•Int
At Truncates a string after the given length.
Arguments
- Anchor to descriptionHtmldescription•HTML!
Html non-null The description of the collection, including any HTML tags and formatting. This content is typically displayed to customers, such as on an online store, depending on the theme.
- Anchor to eventsevents•Event
Connection! non-null The paginated list of events associated with the host subject.
- Anchor to feedbackfeedback•Resource
Feedback Information about the collection that's provided through resource feedback.
- Anchor to handlehandle•String!non-null
A unique string that identifies the collection. If a handle isn't specified when a collection is created, it's automatically generated from the collection's original title, and typically includes words from the title separated by hyphens. For example, a collection that was created with the title
Summer Catalog 2022
might have the handlesummer-catalog-2022
.If the title is changed, the handle doesn't automatically change.
The handle can be used in themes by the Liquid templating language to refer to the collection, but using the ID is preferred because it never changes.
- Anchor to hasProducthas•Boolean!
Product non-null Whether the collection includes the specified product.
- •ID!required
The ID of the product to check.
Arguments
- •ID!
- •ID!non-null
A globally-unique ID.
- Anchor to imageimage•Image
The image associated with the collection.
- Anchor to legacyResourceIdlegacy•Unsigned
Resource Id Int64! non-null The ID of the corresponding resource in the REST Admin API.
- 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 productsproducts•Product
Connection! non-null The products that are included in the collection.
- Anchor to productsCountproducts•Count
Count The number of products in the collection.
- 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 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 ruleSetrule•Collection
Set Rule Set For a smart (automated) collection, specifies the rules that determine whether a product is included.
- •SEO!non-null
If the default SEO fields for page title and description have been modified, contains the modified information.
- Anchor to sortOrdersort•Collection
Order Sort Order! non-null The order in which the products in the collection are displayed by default in the Shopify admin and in sales channels, such as an online store.
- Anchor to templateSuffixtemplate•String
Suffix The suffix of the Liquid template being used to show the collection in an online store. For example, if the value is
custom
, then the collection is using thecollection.custom.liquid
template. If the value isnull
, then the collection is using the defaultcollection.liquid
template.- Anchor to titletitle•String!non-null
The name of the collection. It's displayed in the Shopify admin and is typically displayed in sales channels, such as an online store.
- 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 (ISO 8601 format) when the collection was last modified.
- Anchor to metafieldDefinitionsmetafield•Metafield
Definitions Definition 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•Collection
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 storefrontIdstorefront•Storefront
Id ID! non-nullDeprecated - Anchor to unpublishedChannelsunpublished•Channel
Channels Connection! non-nullDeprecated
- •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 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
Represents information about a customer of the shop, such as the customer's contact details, their order history, and whether they've agreed to receive marketing material by email.
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.
- Anchor to addressesaddresses•[Mailing
Address!]! non-null A list of addresses associated with the customer.
- Anchor to addressesV2addresses•Mailing
V2 Address Connection! non-null The addresses associated with the customer.
- Anchor to amountSpentamount•Money
Spent V2! non-null The total amount that the customer has spent on orders in their lifetime.
- Anchor to canDeletecan•Boolean!
Delete non-null Whether the merchant can delete the customer from their store.
A customer can be deleted from a store only if they haven't yet made an order. After a customer makes an order, they can't be deleted from a store.
- Anchor to companyContactProfilescompany•[Company
Contact Profiles Contact!]! non-null A list of the customer's company contact profiles.
- Anchor to createdAtcreated•Date
At Time! non-null The date and time when the customer was added to the store.
- Anchor to dataSaleOptOutdata•Boolean!
Sale Opt Out non-null Whether the customer has opted out of having their data sold.
- Anchor to defaultAddressdefault•Mailing
Address Address The default address associated with the customer.
- Anchor to defaultEmailAddressdefault•Customer
Email Address Email Address The customer's default email address.
- Anchor to defaultPhoneNumberdefault•Customer
Phone Number Phone Number The customer's default phone number.
- Anchor to displayNamedisplay•String!
Name non-null The full name of the customer, based on the values for first_name and last_name. If the first_name and last_name are not available, then this falls back to the customer's email address, and if that is not available, the customer's phone number.
- Anchor to eventsevents•Event
Connection! non-null A list of events associated with the customer.
- Anchor to firstNamefirst•String
Name The customer's first name.
- •ID!non-null
A globally-unique ID.
- Anchor to imageimage•Image!non-null
The image associated with the customer.
- Anchor to lastNamelast•String
Name The customer's last name.
- Anchor to lastOrderlast•Order
Order The customer's last order.
- Anchor to legacyResourceIdlegacy•Unsigned
Resource Id Int64! non-null The ID of the corresponding resource in the REST Admin API.
- Anchor to lifetimeDurationlifetime•String!
Duration non-null The amount of time since the customer was first added to the store.
Example: 'about 12 years'.
- Anchor to localelocale•String!non-null
The customer's locale.
- Anchor to mergeablemergeable•Customer
Mergeable! non-null Whether the customer can be merged with another customer.
- 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 multipassIdentifiermultipass•String
Identifier A unique identifier for the customer that's used with Multipass login.
- Anchor to notenote•String
A note about the customer.
- Anchor to numberOfOrdersnumber•Unsigned
Of Orders Int64! non-null The number of orders that the customer has made at the store in their lifetime.
- Anchor to ordersorders•Order
Connection! non-null A list of the customer's orders.
- Anchor to paymentMethodspayment•Customer
Methods Payment Method Connection! non-null A list of the customer's payment methods.
- Anchor to productSubscriberStatusproduct•Customer
Subscriber Status Product Subscriber Status! non-null Possible subscriber states of a customer defined by their subscription contracts.
- Anchor to statestate•Customer
State! non-null The state of the customer's account with the shop.
Please note that this only meaningful when Classic Customer Accounts is active.
- Anchor to statisticsstatistics•Customer
Statistics! non-null The statistics for a given customer.
- Anchor to storeCreditAccountsstore•Store
Credit Accounts Credit Account Connection! non-null Returns a list of store credit accounts that belong to the owner resource. A store credit account owner can hold multiple accounts each with a different currency.
- Anchor to subscriptionContractssubscription•Subscription
Contracts Contract Connection! non-null A list of the customer's subscription contracts.
- •[String!]!non-null
A comma separated list of tags that have been added to the customer.
- Anchor to taxExempttax•Boolean!
Exempt non-null Whether the customer is exempt from being charged taxes on their orders.
- Anchor to taxExemptionstax•[Tax
Exemptions Exemption!]! non-null The list of tax exemptions applied to the customer.
- Anchor to updatedAtupdated•Date
At Time! non-null The date and time when the customer was last updated.
- Anchor to verifiedEmailverified•Boolean!
Email non-null Whether the customer has verified their email address. Defaults to
true
if the customer is created through the Shopify admin or API.- Anchor to emailemail•StringDeprecated
- Anchor to emailMarketingConsentemail•Customer
Marketing Consent Email Marketing Consent State Deprecated - Anchor to hasTimelineCommenthas•Boolean!
Timeline Comment non-nullDeprecated - Anchor to marketmarket•MarketDeprecated
- Anchor to metafieldDefinitionsmetafield•Metafield
Definitions Definition Connection! non-nullDeprecated - Anchor to phonephone•StringDeprecated
- Anchor to smsMarketingConsentsms•Customer
Marketing Consent Sms Marketing Consent State Deprecated - Anchor to unsubscribeUrlunsubscribe•URL!
Url non-nullDeprecated - Anchor to validEmailAddressvalid•Boolean!
Email Address non-nullDeprecated
- •OBJECT
Represents any file other than HTML.
- •String
A word or phrase to describe the contents or the function of a file.
- Anchor to createdAtcreated•Date
At Time! non-null The date and time (ISO 8601 format) when the file was created.
- Anchor to fileErrorsfile•[File
Errors Error!]! non-null Any errors that have occurred on the file.
- Anchor to fileStatusfile•File
Status Status! non-null The status of the file.
- •ID!non-null
A globally-unique ID.
- Anchor to mimeTypemime•String
Type The generic file's MIME type.
- Anchor to originalFileSizeoriginal•Int
File Size The generic file's size in bytes.
- Anchor to previewpreview•Media
Preview Image The preview image for the media.
- Anchor to updatedAtupdated•Date
At Time! non-null The date and time (ISO 8601 format) when the file was last updated.
- •URL
The generic file's URL.
- •OBJECT
The
object represents an image hosted on Shopify's content delivery network (CDN). Shopify CDN is a content system that serves as the primary way to store, manage, and deliver visual content for products, variants, and other resources across the Shopify platform.
The
object provides information to:
- Store and display product and variant images across online stores, admin interfaces, and mobile apps.
- Retrieve visual branding elements, including logos, banners, favicons, and background images in checkout flows.
- Retrieve signed URLs for secure, time-limited access to original image files.
Each
object provides both the processed image data (with automatic optimization and CDN delivery) and access to the original source file. The image processing is handled asynchronously, so images might not be immediately available after upload. The
status
field indicates when processing is complete and the image is ready for use.The
object implements the
Media
interface alongside other media types, like videos and 3D models.Learn about managing media for products, product variants, and asynchronous media management.
- •String
A word or phrase to share the nature or contents of a media.
- Anchor to createdAtcreated•Date
At Time! non-null The date and time (ISO 8601 format) when the file was created.
- Anchor to fileErrorsfile•[File
Errors Error!]! non-null Any errors that have occurred on the file.
- Anchor to fileStatusfile•File
Status Status! non-null The status of the file.
- •ID!non-null
A globally-unique ID.
- Anchor to imageimage•Image
The image for the media. Returns
null
untilstatus
is.
- Anchor to mediaContentTypemedia•Media
Content Type Content Type! non-null The media content type.
- Anchor to mediaErrorsmedia•[Media
Errors Error!]! non-null Any errors which have occurred on the media.
- Anchor to mediaWarningsmedia•[Media
Warnings Warning!]! non-null The warnings attached to the media.
- Anchor to mimeTypemime•String
Type The MIME type of the image.
- Anchor to originalSourceoriginal•Media
Source Image Original Source The original source of the image.
- Anchor to previewpreview•Media
Preview Image The preview image for the media.
- Anchor to statusstatus•Media
Status! non-null Current status of the media.
- Anchor to updatedAtupdated•Date
At Time! non-null The date and time (ISO 8601 format) when the file was last updated.
- Anchor to metafieldmetafield•MetafieldDeprecated
- Anchor to metafieldsmetafields•Metafield
Connection! non-nullDeprecated
- •OBJECT
Provides an object instance represented by a MetaobjectDefinition.
- Anchor to capabilitiescapabilities•Metaobject
Capability Data! non-null Metaobject capabilities for this Metaobject.
- Anchor to createdBycreated•App!
By non-null The app used to create the object.
- Anchor to createdByAppcreated•App!
By App non-null The app used to create the object.
- Anchor to createdByStaffcreated•Staff
By Staff Member The staff member who created the metaobject.
- Anchor to definitiondefinition•Metaobject
Definition! non-null The MetaobjectDefinition that models this object type.
- Anchor to displayNamedisplay•String!
Name non-null The preferred display name field value of the metaobject.
- Anchor to fieldfield•Metaobject
Field The field for an object key, or null if the key has no field definition.
- Anchor to fieldsfields•[Metaobject
Field!]! non-null All ordered fields of the metaobject with their definitions and values.
- Anchor to handlehandle•String!non-null
The unique handle of the object, useful as a custom ID.
- •ID!non-null
A globally-unique ID.
- Anchor to referencedByreferenced•Metafield
By Relation Connection! non-null List of back references metafields that belong to the resource.
- Anchor to thumbnailFieldthumbnail•Metaobject
Field Field The recommended field to visually represent this metaobject. May be a file reference or color field.
- Anchor to typetype•String!non-null
The type of the metaobject.
- Anchor to updatedAtupdated•Date
At Time! non-null When the object was last updated.
- Anchor to staffMemberstaff•Staff
Member Member Deprecated
- •OBJECT
Represents a Shopify hosted 3D model.
- •String
A word or phrase to describe the contents or the function of a file.
- Anchor to boundingBoxbounding•Model3d
Box Bounding Box The 3d model's bounding box information.
- Anchor to createdAtcreated•Date
At Time! non-null The date and time (ISO 8601 format) when the file was created.
- Anchor to fileErrorsfile•[File
Errors Error!]! non-null Any errors that have occurred on the file.
- Anchor to filenamefilename•String!non-null
The 3d model's filename.
- Anchor to fileStatusfile•File
Status Status! non-null The status of the file.
- •ID!non-null
A globally-unique ID.
- Anchor to mediaContentTypemedia•Media
Content Type Content Type! non-null The media content type.
- Anchor to mediaErrorsmedia•[Media
Errors Error!]! non-null Any errors which have occurred on the media.
- Anchor to mediaWarningsmedia•[Media
Warnings Warning!]! non-null The warnings attached to the media.
- Anchor to originalSourceoriginal•Model3d
Source Source The 3d model's original source.
- Anchor to previewpreview•Media
Preview Image The preview image for the media.
- Anchor to sourcessources•[Model3d
Source!]! non-null The 3d model's sources.
- Anchor to statusstatus•Media
Status! non-null Current status of the media.
- Anchor to updatedAtupdated•Date
At Time! non-null The date and time (ISO 8601 format) when the file was last updated.
- •OBJECT
The
Order
object represents a customer's request to purchase one or more products from a store. Use theOrder
object to handle the complete purchase lifecycle from checkout to fulfillment.Use the
Order
object when you need to:- Display order details on customer account pages or admin dashboards.
- Create orders for phone sales, wholesale customers, or subscription services.
- Update order information like shipping addresses, notes, or fulfillment status.
- Process returns, exchanges, and partial refunds.
- Generate invoices, receipts, and shipping labels.
The
Order
object serves as the central hub connecting customer information, product details, payment processing, and fulfillment data within the GraphQL Admin API schema.NoteOnly the last 60 days' worth of orders from a store are accessible from the
Order
object by default. If you want to access older records, then you need to request access to all orders. If your app is granted access, then you can add the,
, and
scopes.
CautionOnly use orders 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.
Learn more about building apps for orders and fulfillment.
- Anchor to additionalFeesadditional•[Additional
Fees Fee!]! non-null A list of additional fees applied to an order, such as duties, import fees, or tax lines.
- Anchor to agreementsagreements•Sales
Agreement Connection! non-null A list of sales agreements associated with the order, such as contracts defining payment terms, or delivery schedules between merchants and customers.
- Anchor to alertsalerts•[Resource
Alert!]! non-null A list of messages that appear on the Orders page in the Shopify admin. These alerts provide merchants with important information about an order's status or required actions.
- •Order
App The application that created the order. For example, "Online Store", "Point of Sale", or a custom app name. Use this to identify the order source for attribution and fulfillment workflows. Learn more about building apps for orders and fulfillment.
- Anchor to billingAddressbilling•Mailing
Address Address The billing address associated with the payment method selected by the customer for an order. Returns
null
if no billing address was provided during checkout.- Anchor to billingAddressMatchesShippingAddressbilling•Boolean!
Address Matches Shipping Address non-null Whether the billing address matches the shipping address. Returns
true
if both addresses are the same, andfalse
if they're different or if an address is missing.- Anchor to cancellationcancellation•Order
Cancellation Details of an order's cancellation, if it has been canceled. This includes the reason, date, and any staff notes.
- Anchor to cancelledAtcancelled•Date
At Time The date and time in ISO 8601 format when an order was canceled. Returns
null
if the order hasn't been canceled.- Anchor to cancelReasoncancel•Order
Reason Cancel Reason The reason provided for an order cancellation. For example, a merchant might cancel an order if there's insufficient inventory. Returns
null
if the order hasn't been canceled.- Anchor to canMarkAsPaidcan•Boolean!
Mark As Paid non-null Whether an order can be manually marked as paid. Returns
false
if the order is already paid, is canceled, has pending Shopify Payments transactions, or has a negative payment amount.- Anchor to canNotifyCustomercan•Boolean!
Notify Customer non-null Whether order notifications can be sent to the customer. Returns
true
if the customer has a valid email address.- Anchor to capturablecapturable•Boolean!non-null
Whether an authorized payment for an order can be captured. Returns
true
if an authorized payment exists that hasn't been fully captured yet. Learn more about capturing payments.- Anchor to cartDiscountAmountSetcart•Money
Discount Amount Set Bag The total discount amount applied at the time the order was created, displayed in both shop and presentment currencies, before returns, refunds, order edits, and cancellations. This field only includes discounts applied to the entire order.
- Anchor to channelInformationchannel•Channel
Information Information Details about the sales channel that created the order, such as the channel app type and channel name, which helps to track order sources.
- Anchor to clientIpclient•String
Ip The IP address of the customer who placed the order. Useful for fraud detection and geographic analysis.
- Anchor to closedclosed•Boolean!non-null
Whether an order is closed. An order is considered closed if all its line items have been fulfilled or canceled, and all financial transactions are complete.
- Anchor to closedAtclosed•Date
At Time The date and time ISO 8601 format when an order was closed. Shopify automatically records this timestamp when all items have been fulfilled or canceled, and all financial transactions are complete. Returns
null
if the order isn't closed.- Anchor to confirmationNumberconfirmation•String
Number A customer-facing order identifier, often shown instead of the sequential order name. It uses a random alphanumeric format (for example,
) and isn't guaranteed to be unique across orders.
- Anchor to confirmedconfirmed•Boolean!non-null
Whether inventory has been reserved for an order. Returns
true
if inventory quantities for an order's line items have been reserved. Learn more about managing inventory quantities and states.- Anchor to createdAtcreated•Date
At Time! non-null The date and time in ISO 8601 format when an order was created. This timestamp is set when the customer completes checkout and remains unchanged throughout an order's lifecycle.
- Anchor to currencyCodecurrency•Currency
Code Code! non-null The shop currency when the order was placed. For example, "USD" or "CAD".
- Anchor to currentCartDiscountAmountSetcurrent•Money
Cart Discount Amount Set Bag! non-null The current total of all discounts applied to the entire order, after returns, refunds, order edits, and cancellations. This includes discount codes, automatic discounts, and other promotions that affect the whole order rather than individual line items. To get the original discount amount at the time of order creation, use the
field.
- Anchor to currentShippingPriceSetcurrent•Money
Shipping Price Set Bag! non-null The current shipping price after applying refunds and discounts. If the parent
field is true, then this price includes taxes. Otherwise, this field is the pre-tax price.
- Anchor to currentSubtotalLineItemsQuantitycurrent•Int!
Subtotal Line Items Quantity non-null The current sum of the quantities for all line items that contribute to the order's subtotal price, after returns, refunds, order edits, and cancellations.
- Anchor to currentSubtotalPriceSetcurrent•Money
Subtotal Price Set Bag! non-null The total price of the order, after returns and refunds, in shop and presentment currencies. This includes taxes and discounts.
- Anchor to currentTaxLinescurrent•[Tax
Tax Lines Line!]! non-null A list of all tax lines applied to line items on the order, after returns. Tax line prices represent the total price for all tax lines with the same
rate
andtitle
.- Anchor to currentTotalAdditionalFeesSetcurrent•Money
Total Additional Fees Set Bag The current total of all additional fees for an order, after any returns or modifications. Modifications include returns, refunds, order edits, and cancellations. Additional fees can include charges such as duties, import fees, and special handling.
- Anchor to currentTotalDiscountsSetcurrent•Money
Total Discounts Set Bag! non-null The total amount discounted on the order after returns and refunds, in shop and presentment currencies. This includes both order and line level discounts.
- Anchor to currentTotalDutiesSetcurrent•Money
Total Duties Set Bag The current total duties amount for an order, after any returns or modifications. Modifications include returns, refunds, order edits, and cancellations.
- Anchor to currentTotalPriceSetcurrent•Money
Total Price Set Bag! non-null The total price of the order, after returns, in shop and presentment currencies. This includes taxes and discounts.
- Anchor to currentTotalTaxSetcurrent•Money
Total Tax Set Bag! non-null The sum of the prices of all tax lines applied to line items on the order, after returns and refunds, in shop and presentment currencies.
- Anchor to currentTotalWeightcurrent•Unsigned
Total Weight Int64! non-null The total weight of the order after returns and refunds, in grams.
- Anchor to customAttributescustom•[Attribute!]!
Attributes non-null A list of additional information that has been attached to the order. For example, gift message, delivery instructions, or internal notes.
- Anchor to customercustomer•Customer
The customer who placed an order. Returns
null
if an order was created through a checkout without customer authentication, such as a guest checkout. Learn more about customer accounts.- Anchor to customerAcceptsMarketingcustomer•Boolean!
Accepts Marketing non-null Whether the customer agreed to receive marketing emails at the time of purchase. Use this to ensure compliance with marketing consent laws and to segment customers for email campaigns. Learn more about building customer segments.
- Anchor to customerJourneySummarycustomer•Customer
Journey Summary Journey Summary The customer's visits and interactions with the online store before placing the order. Use this to understand customer behavior, attribution sources, and marketing effectiveness to optimize your sales funnel.
- Anchor to customerLocalecustomer•String
Locale The customer's language and region preference at the time of purchase. For example, "en" for English, "fr-CA" for French (Canada), or "es-MX" for Spanish (Mexico). Use this to provide localized customer service and targeted marketing in the customer's preferred language.
- Anchor to discountApplicationsdiscount•Discount
Applications Application Connection! non-null A list of discounts that are applied to the order, excluding order edits and refunds. Includes discount codes, automatic discounts, and other promotions that reduce the order total.
- Anchor to discountCodediscount•String
Code The discount code used for an order. Returns
null
if no discount code was applied.- Anchor to discountCodesdiscount•[String!]!
Codes non-null The discount codes used for the order. Multiple codes can be applied to a single order.
- Anchor to displayAddressdisplay•Mailing
Address Address The primary address of the customer, prioritizing shipping address over billing address when both are available. Returns
null
if neither shipping address nor billing address was provided.- Anchor to displayFinancialStatusdisplay•Order
Financial Status Display Financial Status An order's financial status for display in the Shopify admin.
- Anchor to displayFulfillmentStatusdisplay•Order
Fulfillment Status Display Fulfillment Status! non-null The order's fulfillment status that displays in the Shopify admin to merchants. For example, an order might be unfulfilled or scheduled. For detailed processing, use the
object.
- Anchor to disputesdisputes•[Order
Dispute Summary!]! non-null A list of payment disputes associated with the order, such as chargebacks or payment inquiries. Disputes occur when customers challenge transactions with their bank or payment provider.
- Anchor to dutiesIncludedduties•Boolean!
Included non-null Whether duties are included in the subtotal price of the order. Duties are import taxes charged by customs authorities when goods cross international borders.
- Anchor to editededited•Boolean!non-null
Whether the order has had any edits applied. For example, adding or removing line items, updating quantities, or changing prices.
- Anchor to emailemail•String
The email address associated with the customer for this order. Used for sending order confirmations, shipping notifications, and other order-related communications. Returns
null
if no email address was provided during checkout.- Anchor to estimatedTaxesestimated•Boolean!
Taxes non-null Whether taxes on the order are estimated. This field returns
false
when taxes on the order are finalized and aren't subject to any changes.- Anchor to eventsevents•Event
Connection! non-null A list of events associated with the order. Events track significant changes and activities related to the order, such as creation, payment, fulfillment, and cancellation.
- Anchor to fulfillablefulfillable•Boolean!non-null
Whether there are line items that can be fulfilled. This field returns
false
when the order has no fulfillable line items. For a more granular view of the fulfillment status, refer to the FulfillmentOrder object.- Anchor to fulfillmentOrdersfulfillment•Fulfillment
Orders Order Connection! non-null A list of fulfillment orders for an order. Each fulfillment order groups line items that are fulfilled together, allowing an order to be processed in parts if needed.
- Anchor to fulfillmentsfulfillments•[Fulfillment!]!non-null
A list of shipments for the order. Fulfillments represent the physical shipment of products to customers.
- Anchor to fulfillmentsCountfulfillments•Count
Count The total number of fulfillments for the order, including canceled ones.
- Anchor to fullyPaidfully•Boolean!
Paid non-null Whether the order has been paid in full. This field returns
true
when the total amount received equals or exceeds the order total.- Anchor to hasTimelineCommenthas•Boolean!
Timeline Comment non-null Whether the merchant has added a timeline comment to the order.
- •ID!non-null
A globally-unique ID.
- Anchor to legacyResourceIdlegacy•Unsigned
Resource Id Int64! non-null The ID of the corresponding resource in the REST Admin API.
- Anchor to lineItemsline•Line
Items Item Connection! non-null A list of the order's line items. Line items represent the individual products and quantities that make up the order.
- Anchor to localizedFieldslocalized•Localized
Fields Field Connection! non-null List of localized fields for the resource.
- Anchor to merchantBusinessEntitymerchant•Business
Business Entity Entity! non-null The legal business structure that the merchant operates under for this order, such as an LLC, corporation, or partnership. Used for tax reporting, legal compliance, and determining which business entity is responsible for the order.
- Anchor to merchantEditablemerchant•Boolean!
Editable non-null Whether the order can be edited by the merchant. Returns
false
for orders that can't be modified, such as canceled orders or orders with specific payment statuses.- Anchor to merchantEditableErrorsmerchant•[String!]!
Editable Errors non-null A list of reasons why the order can't be edited. For example, canceled orders can't be edited.
- Anchor to merchantOfRecordAppmerchant•Order
Of Record App App The application acting as the Merchant of Record for the order. The Merchant of Record is responsible for tax collection and remittance.
- 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 namename•String!non-null
The unique identifier for the order that appears on the order page in the Shopify admin and the Order status page. For example, "#1001", "EN1001", or "1001-A". This value isn't unique across multiple stores. Use this field to identify orders in the Shopify admin and for order tracking.
- Anchor to netPaymentSetnet•Money
Payment Set Bag! non-null The net payment for the order, based on the total amount received minus the total amount refunded, in shop and presentment currencies.
- Anchor to nonFulfillableLineItemsnon•Line
Fulfillable Line Items Item Connection! non-null A list of line items that can't be fulfilled. For example, tips and fully refunded line items can't be fulfilled. For a more granular view of the fulfillment status, refer to the FulfillmentOrder object.
- Anchor to notenote•String
The note associated with the order. Contains additional information or instructions added by merchants or customers during the order process. Commonly used for special delivery instructions, gift messages, or internal processing notes.
- Anchor to numbernumber•Int!non-null
The order number used to generate the name using the store's configured order number prefix/suffix. This number isn't guaranteed to follow a consecutive integer sequence (e.g. 1, 2, 3..), nor is it guaranteed to be unique across multiple stores, or even for a single store.
- Anchor to originalTotalAdditionalFeesSetoriginal•Money
Total Additional Fees Set Bag The total amount of all additional fees, such as import fees or taxes, that were applied when an order was created. Returns
null
if additional fees aren't applicable.- Anchor to originalTotalDutiesSetoriginal•Money
Total Duties Set Bag The total amount of duties calculated when an order was created, before any modifications. Modifications include returns, refunds, order edits, and cancellations. Use
to retrieve the current duties amount after adjustments.
- Anchor to originalTotalPriceSetoriginal•Money
Total Price Set Bag! non-null The total price of the order at the time of order creation, in shop and presentment currencies. Use this to compare the original order value against the current total after edits, returns, or refunds.
- Anchor to paymentCollectionDetailspayment•Order
Collection Details Payment Collection Details! non-null The payment collection details for the order, including payment status, outstanding amounts, and collection information. Use this to understand when and how payments should be collected, especially for orders with deferred or installment payment terms.
- Anchor to paymentGatewayNamespayment•[String!]!
Gateway Names non-null A list of the names of all payment gateways used for the order. For example, "Shopify Payments" and "Cash on Delivery (COD)".
- Anchor to paymentTermspayment•Payment
Terms Terms The payment terms associated with the order, such as net payment due dates or early payment discounts. Payment terms define when and how an order should be paid. Returns
null
if no specific payment terms were set for the order.- Anchor to phonephone•String
The phone number associated with the customer for this order. Useful for contacting customers about shipping updates, delivery notifications, or order issues. Returns
null
if no phone number was provided during checkout.- Anchor to poNumberpo•String
Number The purchase order (PO) number that's associated with an order. This is typically provided by business customers who require a PO number for their procurement.
- Anchor to presentmentCurrencyCodepresentment•Currency
Currency Code Code! non-null The currency used by the customer when placing the order. For example, "USD", "EUR", or "CAD". This may differ from the shop's base currency when serving international customers or using multi-currency pricing.
- Anchor to processedAtprocessed•Date
At Time! non-null The date and time in ISO 8601 format when the order was processed. This date and time might not match the date and time when the order was created.
- Anchor to publicationpublication•Publication
The sales channel that the order was created from, such as the Online Store or Shopify POS.
- Anchor to purchasingEntitypurchasing•Purchasing
Entity Entity The business entity that placed the order, including company details and purchasing relationships. Used for B2B transactions to track which company or organization is responsible for the purchase and payment terms.
- Anchor to refundablerefundable•Boolean!non-null
Whether the order can be refunded based on its payment transactions. Returns
false
for orders with no eligible payment transactions, such as fully refunded orders or orders with non-refundable payment methods.- Anchor to refundDiscrepancySetrefund•Money
Discrepancy Set Bag! non-null The difference between the suggested and actual refund amount of all refunds that have been applied to the order. A positive value indicates a difference in the merchant's favor, and a negative value indicates a difference in the customer's favor.
- Anchor to refundsrefunds•[Refund!]!non-null
A list of refunds that have been applied to the order. Refunds represent money returned to customers for returned items, cancellations, or adjustments.
- Anchor to registeredSourceUrlregistered•URL
Source Url The URL of the source that the order originated from, if found in the domain registry. Returns
null
if the source URL isn't in the domain registry.- Anchor to requiresShippingrequires•Boolean!
Shipping non-null Whether the order requires physical shipping to the customer. Returns
false
for digital-only orders (such as gift cards or downloadable products) andtrue
for orders with physical products that need delivery. Use this to determine shipping workflows and logistics requirements.- Anchor to restockablerestockable•Boolean!non-null
Whether any line items on the order can be restocked into inventory. Returns
false
for digital products, custom items, or items that can't be resold.- Anchor to retailLocationretail•Location
Location The physical location where a retail order is created or completed, except for draft POS orders completed using the "mark as paid" flow in the Shopify admin, which return
null
. Transactions associated with the order might have been processed at a different location.- Anchor to returnsreturns•Return
Connection! non-null The returns associated with the order. Contains information about items that customers have requested to return, including return reasons, status, and refund details. Use this to track and manage the return process for order items.
- Anchor to returnStatusreturn•Order
Status Return Status! non-null The order's aggregated return status for display purposes. Indicates the overall state of returns for the order, helping merchants track and manage the return process.
- Anchor to riskrisk•Order
Risk Summary! non-null The risk assessment summary for the order. Provides fraud analysis and risk scoring to help you identify potentially fraudulent orders. Use this to make informed decisions about order fulfillment and payment processing.
- Anchor to shippingAddressshipping•Mailing
Address Address The shipping address where the order will be delivered. Contains the customer's delivery location for fulfillment and shipping label generation. Returns
null
for digital orders or orders that don't require shipping.- Anchor to shippingLineshipping•Shipping
Line Line A summary of all shipping costs on the order. Aggregates shipping charges, discounts, and taxes to provide a single view of delivery costs.
- Anchor to shippingLinesshipping•Shipping
Lines Line Connection! non-null The shipping methods applied to the order. Each shipping line represents a shipping option chosen during checkout, including the carrier, service level, and cost. Use this to understand shipping charges and delivery options for the order.
- Anchor to shopifyProtectshopify•Shopify
Protect Protect Order Summary The Shopify Protect details for the order, including fraud protection status and coverage information. Shopify Protect helps protect eligible orders against fraudulent chargebacks. Returns
null
if Shopify Protect is disabled for the shop or the order isn't eligible for protection. Learn more about Shopify Protect.- Anchor to sourceIdentifiersource•String
Identifier - Anchor to sourceNamesource•String
Name The name of the source associated with the order, such as "web", "mobile_app", or "pos". Use this field to identify the platform where the order was placed.
- Anchor to staffMemberstaff•Staff
Member Member The staff member who created or is responsible for the order. Useful for tracking which team member handled phone orders, manual orders, or order modifications. Returns
null
for orders created directly by customers through the online store.- Anchor to statusPageUrlstatus•URL!
Page Url non-null The URL where customers can check their order's current status, including tracking information and delivery updates. Provides order tracking links in emails, apps, or customer communications.
- Anchor to audienceaudience•Audience
Specifies the intended audience for the status page URL.
- Anchor to notificationUsagenotification•Notification
Usage Usage Specifies the intended notification usage for the status page URL.
Arguments
- Anchor to subtotalLineItemsQuantitysubtotal•Int!
Line Items Quantity non-null The sum of quantities for all line items that contribute to the order's subtotal price. This excludes quantities for items like tips, shipping costs, or gift cards that don't affect the subtotal. Use this to quickly understand the total item count for pricing calculations.
- Anchor to subtotalPriceSetsubtotal•Money
Price Set Bag The sum of the prices for all line items after discounts and before returns, in shop and presentment currencies. If
is
true
, then the subtotal also includes tax.- Anchor to suggestedRefundsuggested•Suggested
Refund Refund A calculated refund suggestion for the order based on specified line items, shipping, and duties. Use this to preview refund amounts, taxes, and processing fees before creating an actual refund.
- •[String!]!non-null
A comma separated list of tags associated with the order. Updating
tags
overwrites any existing tags that were previously added to the order. To add new tags without overwriting existing tags, use the tagsAdd mutation.- Anchor to taxesIncludedtaxes•Boolean!
Included non-null Whether taxes are included in the subtotal price of the order. When
true
, the subtotal and line item prices include tax amounts. Whenfalse
, taxes are calculated and displayed separately.- Anchor to taxExempttax•Boolean!
Exempt non-null Whether taxes are exempt on the order. Returns
true
for orders where the customer or business has a valid tax exemption, such as non-profit organizations or tax-free purchases. Use this to understand if tax calculations were skipped during checkout.- Anchor to taxLinestax•[Tax
Lines Line!]! non-null A list of all tax lines applied to line items on the order, before returns. Tax line prices represent the total price for all tax lines with the same
rate
andtitle
.- Anchor to testtest•Boolean!non-null
Whether the order is a test. Test orders are made using the Shopify Bogus Gateway or a payment provider with test mode enabled. A test order can't be converted into a real order and vice versa.
- Anchor to totalCapturableSettotal•Money
Capturable Set Bag! non-null The authorized amount that's uncaptured or undercaptured, in shop and presentment currencies. This amount isn't adjusted for returns.
- Anchor to totalCashRoundingAdjustmenttotal•Cash
Cash Rounding Adjustment Rounding Adjustment! non-null The total rounding adjustment applied to payments or refunds for an order involving cash payments. Applies to some countries where cash transactions are rounded to the nearest currency denomination.
- Anchor to totalDiscountsSettotal•Money
Discounts Set Bag The total amount discounted on the order before returns, in shop and presentment currencies. This includes both order and line level discounts.
- Anchor to totalOutstandingSettotal•Money
Outstanding Set Bag! non-null The total amount not yet transacted for the order, in shop and presentment currencies. A positive value indicates a difference in the merchant's favor (payment from customer to merchant) and a negative value indicates a difference in the customer's favor (refund from merchant to customer).
- Anchor to totalPriceSettotal•Money
Price Set Bag! non-null The total price of the order, before returns, in shop and presentment currencies. This includes taxes and discounts.
- Anchor to totalReceivedSettotal•Money
Received Set Bag! non-null The total amount received from the customer before returns, in shop and presentment currencies.
- Anchor to totalRefundedSettotal•Money
Refunded Set Bag! non-null The total amount that was refunded, in shop and presentment currencies.
- Anchor to totalRefundedShippingSettotal•Money
Refunded Shipping Set Bag! non-null The total amount of shipping that was refunded, in shop and presentment currencies.
- Anchor to totalShippingPriceSettotal•Money
Shipping Price Set Bag! non-null The total shipping costs returned to the customer, in shop and presentment currencies. This includes fees and any related discounts that were refunded.
- Anchor to totalTaxSettotal•Money
Tax Set Bag The total tax amount before returns, in shop and presentment currencies.
- Anchor to totalTipReceivedSettotal•Money
Tip Received Set Bag! non-null The sum of all tip amounts for the order, in shop and presentment currencies.
- Anchor to totalWeighttotal•Unsigned
Weight Int64 The total weight of the order before returns, in grams.
- Anchor to transactionstransactions•[Order
Transaction!]! non-null A list of transactions associated with the order.
- Anchor to transactionsCounttransactions•Count
Count The number of transactions associated with the order.
- Anchor to unpaidunpaid•Boolean!non-null
Whether no payments have been made for the order.
- Anchor to updatedAtupdated•Date
At Time! non-null The date and time in ISO 8601 format when the order was last modified.
- Anchor to cartDiscountAmountcart•Money
Discount Amount Deprecated - Anchor to channelchannel•ChannelDeprecated
- Anchor to customerJourneycustomer•Customer
Journey Journey Deprecated - Anchor to landingPageDisplayTextlanding•String
Page Display Text Deprecated - Anchor to landingPageUrllanding•URL
Page Url Deprecated - Anchor to localizationExtensionslocalization•Localization
Extensions Extension Connection! non-nullDeprecated - Anchor to metafieldDefinitionsmetafield•Metafield
Definitions Definition Connection! non-nullDeprecated - Anchor to netPaymentnet•Money!
Payment non-nullDeprecated - Anchor to physicalLocationphysical•Location
Location Deprecated - Anchor to referralCodereferral•String
Code Deprecated - Anchor to referrerDisplayTextreferrer•String
Display Text Deprecated - Anchor to referrerUrlreferrer•URL
Url Deprecated - Anchor to riskLevelrisk•Order
Level Risk Level! non-nullDeprecated - Anchor to risksrisks•[Order
Risk!]! non-nullDeprecated - Anchor to subtotalPricesubtotal•Money
Price Deprecated - Anchor to totalCapturabletotal•Money!
Capturable non-nullDeprecated - Anchor to totalDiscountstotal•Money
Discounts Deprecated - Anchor to totalPricetotal•Money!
Price non-nullDeprecated - Anchor to totalReceivedtotal•Money!
Received non-nullDeprecated - Anchor to totalRefundedtotal•Money!
Refunded non-nullDeprecated - Anchor to totalShippingPricetotal•Money!
Shipping Price non-nullDeprecated - Anchor to totalTaxtotal•Money
Tax Deprecated - Anchor to totalTipReceivedtotal•Money
Tip Received V2! 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 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 mediaCountmedia•Count
Count The total count of media that's associated with a product.
- 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 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 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 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
- •OBJECT
Represents a Shopify product taxonomy value.
- •ID!non-null
A globally-unique ID.
- Anchor to namename•String!non-null
The name of the product taxonomy value. For example, Red.
- •ID!
- •OBJECT
Represents a Shopify hosted video.
- •String
A word or phrase to share the nature or contents of a media.
- Anchor to createdAtcreated•Date
At Time! non-null The date and time (ISO 8601 format) when the file was created.
- Anchor to durationduration•Int
The video's duration in milliseconds. This value is
null
unless the video's status field is READY.- Anchor to fileErrorsfile•[File
Errors Error!]! non-null Any errors that have occurred on the file.
- Anchor to filenamefilename•String!non-null
The video's filename.
- Anchor to fileStatusfile•File
Status Status! non-null The status of the file.
- •ID!non-null
A globally-unique ID.
- Anchor to mediaContentTypemedia•Media
Content Type Content Type! non-null The media content type.
- Anchor to mediaErrorsmedia•[Media
Errors Error!]! non-null Any errors which have occurred on the media.
- Anchor to mediaWarningsmedia•[Media
Warnings Warning!]! non-null The warnings attached to the media.
- Anchor to originalSourceoriginal•Video
Source Source The video's original source. This value is
null
unless the video's status field is READY.- Anchor to previewpreview•Media
Preview Image The preview image for the media.
- Anchor to sourcessources•[Video
Source!]! non-null The video's sources. This value is empty unless the video's status field is READY.
- Anchor to statusstatus•Media
Status! non-null Current status of the media.
- Anchor to updatedAtupdated•Date
At Time! non-null The date and time (ISO 8601 format) when the file was last updated.
Anchor to Fields with this unionFields with this union
- •OBJECT
Metafields enable you to attach additional information to a Shopify resource, such as a Product or a Collection. For more information about where you can attach metafields refer to HasMetafields. Some examples of the data that metafields enable you to store are specifications, size charts, downloadable documents, release dates, images, or part numbers. Metafields are identified by an owner resource, namespace, and key. and store a value along with type information for that value.
- •OBJECT
Metafields enable you to attach additional information to a Shopify resource, such as a Product or a Collection. For more information about where you can attach metafields refer to HasMetafields. Some examples of the data that metafields enable you to store are specifications, size charts, downloadable documents, release dates, images, or part numbers. Metafields are identified by an owner resource, namespace, and key. and store a value along with type information for that value.
- •CONNECTION
An auto-generated type for paginating through multiple MetafieldReferences.
- •OBJECT
An auto-generated type which holds one MetafieldReference and a cursor during pagination.
- •OBJECT
Provides a field definition and the data value assigned to it.
- •OBJECT
Provides a field definition and the data value assigned to it.
- •OBJECTDeprecated