Skip to main content
Log inSign up
union

The main embed of a comment event.

•
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.

addresses•
non-null

A list of addresses associated with the customer.

addressesV2•
non-null

The addresses associated with the customer.

amountSpent•
non-null

The total amount that the customer has spent on orders in their lifetime.

canDelete•
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.

companyContactProfiles•
non-null

A list of the customer's company contact profiles.

createdAt•
non-null

The date and time when the customer was added to the store.

dataSaleOptOut•
non-null

Whether the customer has opted out of having their data sold.

defaultAddress•

The default address associated with the customer.

defaultEmailAddress•

The customer's default email address.

defaultPhoneNumber•

The customer's default phone number.

displayName•
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.

events•
non-null

A list of events associated with the customer.

firstName•

The customer's first name.

id•
non-null

A globally-unique ID.

image•
non-null

The image associated with the customer.

lastName•

The customer's last name.

lastOrder•

The customer's last order.

legacyResourceId•
non-null

The ID of the corresponding resource in the REST Admin API.

lifetimeDuration•
non-null

The amount of time since the customer was first added to the store.

Example: 'about 12 years'.

locale•
non-null

The customer's locale.

mergeable•
non-null

Whether the customer can be merged with another customer.

metafield•

A custom field, including its namespace and key, that's associated with a Shopify resource for the purposes of adding and storing additional information.

metafields•
non-null

A list of custom fields that a merchant associates with a Shopify resource.

metafieldsByIdentifiers•
non-null

The metafields associated with the resource matching the supplied list of namespaces and keys.

multipassIdentifier•

A unique identifier for the customer that's used with Multipass login.

note•

A note about the customer.

numberOfOrders•
non-null

The number of orders that the customer has made at the store in their lifetime.

orders•
non-null

A list of the customer's orders.

paymentMethods•
non-null

A list of the customer's payment methods.

productSubscriberStatus•
non-null

Possible subscriber states of a customer defined by their subscription contracts.

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.

statistics•
non-null

The statistics for a given customer.

storeCreditAccounts•
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.

subscriptionContracts•
non-null

A list of the customer's subscription contracts.

tags•
non-null

A comma separated list of tags that have been added to the customer.

taxExempt•
non-null

Whether the customer is exempt from being charged taxes on their orders.

taxExemptions•
non-null

The list of tax exemptions applied to the customer.

updatedAt•
non-null

The date and time when the customer was last updated.

verifiedEmail•
non-null

Whether the customer has verified their email address. Defaults to true if the customer is created through the Shopify admin or API.

email•

The customer's email address.

emailMarketingConsent•

The current email marketing state for the customer. If the customer doesn't have an email address, then this property is null.

hasTimelineComment•
non-null

Whether the merchant has added timeline comments about the customer on the customer's page.

market•

The market that includes the customer’s default address.

metafieldDefinitions•
non-null

List of metafield definitions.

phone•

The customer's phone number.

smsMarketingConsent•

The current SMS marketing state for the customer's phone number.

If the customer does not have a phone number, then this property is null.

unsubscribeUrl•
non-null

The URL to unsubscribe the customer from the mailing list.

validEmailAddress•
non-null

Whether the email address is formatted correctly.

Returns true when the email is formatted correctly and belongs to an existing domain. This doesn't guarantee that the email address actually exists.

•
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.
  • Save an order as a draft and resume working on it later.

For draft orders in multiple currencies presentment_money is the source of truth for what a customer is going to be charged and shop_money 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.

acceptAutomaticDiscounts•

Whether or not to accept automatic discounts on the draft order during calculation. If false, only discount codes and custom draft order discounts (see appliedDiscount) will be applied. If true, eligible automatic discounts will be applied in addition to discount codes and custom draft order discounts.

allowDiscountCodesInCheckout•
non-null

Whether discount codes are allowed during checkout of this draft order.

allVariantPricesOverridden•
non-null

Whether all variant prices have been overridden.

amountDueLaterSet•
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.

amountDueNowSet•
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.

anyVariantPricesOverridden•
non-null

Whether any variant prices have been overridden.

appliedDiscount•

The custom order-level discount applied.

billingAddress•

The billing address of the customer.

billingAddressMatchesShippingAddress•
non-null

Whether the billing address matches the shipping address.

bypassCartValidations•

Whether to bypass cart validations on this draft order.

completedAt•

The date and time when the draft order was converted to a new order, and had it's status changed to Completed.

createdAt•
non-null

The date and time when the draft order was created in Shopify.

currencyCode•
non-null

The shop currency used for calculation.

customAttributes•
non-null

The custom information added to the draft order on behalf of the customer.

customer•

The customer who will be sent an invoice.

defaultCursor•
non-null

A default cursor that returns the single next record, sorted ascending by ID.

deposit•

The portion required to be paid at checkout.

discountCodes•
non-null

All discount codes applied.

email•

The email address of the customer, which is used to send notifications.

events•
non-null

The list of events associated with the draft order.

hasTimelineComment•
non-null

Whether the merchant has added timeline comments to the draft order.

id•
non-null

A globally-unique ID.

invoiceEmailTemplateSubject•
non-null

The subject defined for the draft invoice email template.

invoiceSentAt•

The date and time when the invoice was last emailed to the customer.

invoiceUrl•

The link to the checkout, which is sent to the customer in the invoice email.

legacyResourceId•
non-null

The ID of the corresponding resource in the REST Admin API.

lineItems•
non-null

The list of the line items in the draft order.

lineItemsSubtotalPrice•
non-null

A subtotal of the line items and corresponding discounts, excluding include shipping charges, shipping discounts, taxes, or order discounts.

localizedFields•
non-null

List of localized fields for the resource.

metafield•

A custom field, including its namespace and key, that's associated with a Shopify resource for the purposes of adding and storing additional information.

metafields•
non-null

A list of custom fields that a merchant associates with a Shopify resource.

metafieldsByIdentifiers•
non-null

The metafields associated with the resource matching the supplied list of namespaces and keys.

name•
non-null

The identifier for the draft order, which is unique within the store. For example, #D1223.

note2•

The text from an optional note attached to the draft order.

order•

The order that was created from the draft order.

paymentTerms•

The associated payment terms for this draft order.

phone•

The assigned phone number.

platformDiscounts•
non-null

The list of platform discounts applied.

poNumber•

The purchase order number.

presentmentCurrencyCode•
non-null

The payment currency used for calculation.

purchasingEntity•

The purchasing entity.

ready•
non-null

Whether the draft order is ready and can be completed. Draft orders might have asynchronous operations that can take time to finish.

reserveInventoryUntil•

The time after which inventory will automatically be restocked.

shippingAddress•

The shipping address of the customer.

shippingLine•

The line item containing the shipping information and costs.

status•
non-null

The status of the draft order.

subtotalPriceSet•
non-null

The subtotal, of the line items and their discounts, excluding shipping charges, shipping discounts, and taxes.

tags•
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.

taxesIncluded•
non-null

Whether the line item prices include taxes.

taxExempt•
non-null

Whether the draft order is tax exempt.

taxLines•
non-null

The list of of taxes lines charged for each line item and shipping line.

totalDiscountsSet•
non-null

Total discounts.

totalLineItemsPriceSet•
non-null

Total price of line items.

totalPriceSet•
non-null

The total price, includes taxes, shipping charges, and discounts.

totalQuantityOfLineItems•
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.

totalShippingPriceSet•
non-null

The total shipping price.

totalTaxSet•
non-null

The total tax.

totalWeight•
non-null

The total weight in grams of the draft order.

transformerFingerprint•

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.

updatedAt•
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.

visibleToCustomer•
non-null

Whether the draft order will be visible to the customer on the self-serve portal.

warnings•
non-null

The list of warnings raised while calculating.

localizationExtensions•
non-null

List of localization extensions for the resource.

marketName•
non-null

The name of the selected market.

marketRegionCountryCode•
non-null

The selected country code that determines the pricing.

subtotalPrice•
non-null

The subtotal, in shop currency, of the line items and their discounts, excluding shipping charges, shipping discounts, and taxes.

totalPrice•
non-null

The total price, in shop currency, includes taxes, shipping charges, and discounts.

totalShippingPrice•
non-null

The total shipping price in shop currency.

totalTax•
non-null

The total tax in shop currency.

•
OBJECT

An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the Order object. Learn more about editing an existing order with the GraphQL Admin API.

Only the last 60 days' worth of orders from a store are accessible from the Order object by default. If you want to access older orders, then you need to request access to all orders. If your app is granted access, then you can add the read_all_orders scope to your app along with read_orders or write_orders. Private apps are not affected by this change and are automatically granted the scope.

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.

additionalFees•
non-null

A list of additional fees applied to the order.

agreements•
non-null

A list of sales agreements associated with the order.

alerts•
non-null

A list of messages that appear on the order page in the Shopify admin.

app•

The application that created the order.

billingAddress•

The billing address of the customer.

billingAddressMatchesShippingAddress•
non-null

Whether the billing address matches the shipping address.

cancellation•

Cancellation details for the order.

cancelledAt•

The date and time when the order was canceled. Returns null if the order wasn't canceled.

cancelReason•

The reason provided when the order was canceled. Returns null if the order wasn't canceled.

canMarkAsPaid•
non-null

Whether the order can be manually marked as paid.

canNotifyCustomer•
non-null

Whether a customer email exists for the order.

capturable•
non-null

Whether payment for the order can be captured.

cartDiscountAmountSet•

The total order-level discount amount, before returns, in shop and presentment currencies.

channelInformation•

Details about the channel that created the order.

clientIp•

The IP address of the API client that created the order.

closed•
non-null

Whether the order is closed.

closedAt•

The date and time when the order was closed. Returns null if the order isn't closed.

confirmationNumber•

A randomly generated alpha-numeric identifier for the order that may be shown to the customer instead of the sequential order name. For example, "XPAV284CT", "R50KELTJP" or "35PKUN0UJ". This value isn't guaranteed to be unique.

confirmed•
non-null

Whether inventory has been reserved for the order.

createdAt•
non-null

Date and time when the order was created in Shopify.

currencyCode•
non-null

The shop currency when the order was placed.

currentCartDiscountAmountSet•
non-null

The current order-level discount amount after all order updates, in shop and presentment currencies.

currentShippingPriceSet•
non-null

The current shipping price after applying refunds and discounts. If the parent order.taxesIncluded field is true, then this price includes taxes. Otherwise, this field is the pre-tax price.

currentSubtotalLineItemsQuantity•
non-null

The sum of the quantities for all line items that contribute to the order's current subtotal price.

currentSubtotalPriceSet•
non-null

The sum of the prices for all line items after discounts and returns, in shop and presentment currencies. If taxesIncluded is true, then the subtotal also includes tax.

currentTaxLines•
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 and title.

currentTotalAdditionalFeesSet•

The total amount of additional fees after returns, in shop and presentment currencies. Returns null if there are no additional fees for the order.

currentTotalDiscountsSet•
non-null

The total amount discounted on the order after returns, in shop and presentment currencies. This includes both order and line level discounts.

currentTotalDutiesSet•

The total amount of duties after returns, in shop and presentment currencies. Returns null if duties aren't applicable.

currentTotalPriceSet•
non-null

The total price of the order, after returns, in shop and presentment currencies. This includes taxes and discounts.

currentTotalTaxSet•
non-null

The sum of the prices of all tax lines applied to line items on the order, after returns, in shop and presentment currencies.

currentTotalWeight•
non-null

The total weight of the order after returns, in grams.

customAttributes•
non-null

A list of additional merchant-facing details that have been added to the order. For example, whether an order is a customer's first.

customer•

The customer that placed the order.

customerAcceptsMarketing•
non-null

Whether the customer agreed to receive marketing materials.

customerJourneySummary•

The customer's visits and interactions with the online store before placing the order.

customerLocale•

A two-letter or three-letter language code, optionally followed by a region modifier.

discountApplications•
non-null

A list of discounts that are applied to the order, not including order edits and refunds.

discountCode•

The discount code used for the order.

discountCodes•
non-null

The discount codes used for the order.

displayAddress•

The primary address of the customer. Returns null if neither the shipping address nor the billing address was provided.

displayFinancialStatus•

The financial status of the order that can be shown to the merchant. This field doesn't capture all the details of an order's financial state. It should only be used for display summary purposes.

displayFulfillmentStatus•
non-null

The fulfillment status for the order that can be shown to the merchant. This field does not capture all the details of an order's fulfillment state. It should only be used for display summary purposes. For a more granular view of the fulfillment status, refer to the FulfillmentOrder object.

displayRefundStatus•

The status of the refund(s) that can be shown to the merchant. Mostly used when a refund is in a deferred state (i.e. it was not yet sent to the payments provider).

disputes•
non-null

A list of the disputes associated with the order.

dutiesIncluded•
non-null

Whether duties are included in the subtotal price of the order.

edited•
non-null

Whether the order has had any edits applied.

email•

The email address associated with the customer.

estimatedTaxes•
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.

events•
non-null

A list of events associated with the order.

fulfillable•
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.

fulfillmentOrders•
non-null

A list of fulfillment orders for a specific order.

FulfillmentOrder API access scopes govern which fulfillments orders are returned. An API client will only receive a subset of the fulfillment orders which belong to an order if they don't have the necessary access scopes to view all of the fulfillment orders. In the case that an API client does not have the access scopes necessary to view any of the fulfillment orders that belong to an order, an empty array will be returned.

fulfillments•
non-null

List of shipments for the order.

fulfillmentsCount•

The count of fulfillments including the cancelled fulfillments.

fullyPaid•
non-null

Whether the order has been paid in full.

hasTimelineComment•
non-null

Whether the merchant added a timeline comment to the order.

id•
non-null

A globally-unique ID.

incotermInformation•

Information about the incoterm used for the order.

legacyResourceId•
non-null

The ID of the corresponding resource in the REST Admin API.

lineItems•
non-null

A list of the order's line items.

localizedFields•
non-null

List of localized fields for the resource.

merchantBusinessEntity•
non-null

The merchant's business entity associated with the order.

merchantEditable•
non-null

Whether the order can be edited by the merchant. For example, canceled orders can’t be edited.

merchantEditableErrors•
non-null

A list of reasons why the order can't be edited. For example, "Canceled orders can't be edited".

merchantOfRecordApp•

The application acting as the Merchant of Record for the order.

metafield•

A custom field, including its namespace and key, that's associated with a Shopify resource for the purposes of adding and storing additional information.

metafields•
non-null

A list of custom fields that a merchant associates with a Shopify resource.

metafieldsByIdentifiers•
non-null

The metafields associated with the resource matching the supplied list of namespaces and keys.

name•
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.

netPaymentSet•
non-null

The net payment for the order, based on the total amount received minus the total amount refunded, in shop and presentment currencies.

nonFulfillableLineItems•
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.

note•

The contents of the note associated with the order.

number•
non-null

The order number used to generate the name using the store's configured order number prefix/suffix. This value isn't unique across multiple stores.

originalTotalAdditionalFeesSet•

The total amount of additional fees at the time of order creation, in shop and presentment currencies. Returns null if additional fees aren't applicable.

originalTotalDutiesSet•

The total amount of duties at the time of order creation, in shop and presentment currencies. Returns null if duties aren't applicable.

originalTotalPriceSet•
non-null

The total price of the order at the time of order creation, in shop and presentment currencies.

paymentCollectionDetails•
non-null

The payment collection details for the order.

paymentGatewayNames•
non-null

A list of the names of all payment gateways used for the order. For example, "Shopify Payments" and "Cash on Delivery (COD)".

paymentTerms•

The payment terms associated with the order.

phone•

The phone number associated with the customer.

poNumber•

The PO number associated with the order.

presentmentCurrencyCode•
non-null

The payment CurrencyCode of the customer for the order.

processedAt•
non-null

The date and time when the order was processed. This date and time might not match the date and time when the order was created.

publication•

The publication that the order was created from.

purchasingEntity•

The purchasing entity for the order.

refundable•
non-null

Whether the order can be refunded.

refundDiscrepancySet•
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.

refunds•
non-null

A list of refunds that have been applied to the order.

registeredSourceUrl•

The URL of the source that the order originated from, if found in the domain registry.

requiresShipping•
non-null

Whether the order has shipping lines or at least one line item on the order that requires shipping.

restockable•
non-null

Whether any line item on the order can be restocked.

retailLocation•

The physical location where a retail order is created or completed, except for draft POS orders completed via the “mark as paid” flow in Admin, which return null. Transactions associated with the order might have been processed at a different location.

returns•
non-null

A list of returns for the order.

returnStatus•
non-null

The order's aggregated return status for display purposes.

risk•
non-null

The risk characteristics for the order.

shippingAddress•

The mailing address of the customer.

shippingLine•

A summary of all shipping costs on the order.

shippingLines•
non-null

A list of the order's shipping lines.

shopifyProtect•

The Shopify Protect details for the order. If Shopify Protect is disabled for the shop, then this will be null.

sourceIdentifier•

A unique POS or third party order identifier. For example, "1234-12-1000" or "111-98567-54". The receipt_number field is derived from this value for POS orders.

sourceName•

The name of the source associated with the order.

staffMember•

The staff member associated with the order.

statusPageUrl•
non-null

The URL where the customer can check the order's current status.

subtotalLineItemsQuantity•
non-null

The sum of the quantities for all line items that contribute to the order's subtotal price.

subtotalPriceSet•

The sum of the prices for all line items after discounts and before returns, in shop and presentment currencies. If taxesIncluded is true, then the subtotal also includes tax.

suggestedRefund•

A suggested refund for the order.

tags•
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.

taxesIncluded•
non-null

Whether taxes are included in the subtotal price of the order.

taxExempt•
non-null

Whether taxes are exempt on the order.

taxLines•
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 and title.

test•
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.

totalCapturableSet•
non-null

The authorized amount that's uncaptured or undercaptured, in shop and presentment currencies. This amount isn't adjusted for returns.

totalCashRoundingAdjustment•
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.

totalDiscountsSet•

The total amount discounted on the order before returns, in shop and presentment currencies. This includes both order and line level discounts.

totalOutstandingSet•
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).

totalPriceSet•
non-null

The total price of the order, before returns, in shop and presentment currencies. This includes taxes and discounts.

totalReceivedSet•
non-null

The total amount received from the customer before returns, in shop and presentment currencies.

totalRefundedSet•
non-null

The total amount that was refunded, in shop and presentment currencies.

totalRefundedShippingSet•
non-null

The total amount of shipping that was refunded, in shop and presentment currencies.

totalShippingPriceSet•
non-null

The total shipping amount before discounts and returns, in shop and presentment currencies.

totalTaxSet•

The total tax amount before returns, in shop and presentment currencies.

totalTipReceivedSet•
non-null

The sum of all tip amounts for the order, in shop and presentment currencies.

totalWeight•

The total weight of the order before returns, in grams.

transactions•
non-null

A list of transactions associated with the order.

transactionsCount•

The number of transactions associated with the order.

unpaid•
non-null

Whether no payments have been made for the order.

updatedAt•
non-null

The date and time when the order was modified last.

cartDiscountAmount•

The total order-level discount amount, before returns, in shop currency.

channel•

The channel that created the order.

customerJourney•

The customer's visits and interactions with the online store before placing the order.

landingPageDisplayText•

The URL of the first page of the online store that the customer visited before they submitted the order.

landingPageUrl•

The first page of the online store that the customer visited before they submitted the order.

localizationExtensions•
non-null

List of localization extensions for the resource.

metafieldDefinitions•
non-null

List of metafield definitions.

netPayment•
non-null

The net payment for the order, based on the total amount received minus the total amount refunded, in shop currency.

physicalLocation•

The fulfillment location that was assigned when the order was created. Orders can have multiple fulfillment orders. These fulfillment orders can each be assigned to a different location which is responsible for fulfilling a subset of the items in an order. The Order.physicalLocation field will only point to one of these locations. Use the FulfillmentOrder object for up to date fulfillment location information.

referralCode•

The marketing referral code from the link that the customer clicked to visit the store. Supports the following URL attributes: "ref", "source", or "r". For example, if the URL is {shop}.myshopify.com/products/slide?ref=j2tj1tn2, then this value is j2tj1tn2.

referrerDisplayText•

A web domain or short description of the source that sent the customer to your online store. For example, "shopify.com" or "email".

referrerUrl•

The URL of the webpage where the customer clicked a link that sent them to your online store.

riskLevel•
non-null

The fraud risk level of the order.

risks•
non-null

A list of risks associated with the order.

subtotalPrice•

The sum of the prices for all line items after discounts and before returns, in shop currency. If taxesIncluded is true, then the subtotal also includes tax.

totalCapturable•
non-null

The authorized amount that's uncaptured or undercaptured, in shop currency. This amount isn't adjusted for returns.

totalDiscounts•

The total amount discounted on the order before returns, in shop currency. This includes both order and line level discounts.

totalPrice•
non-null

The total price of the order, before returns, in shop currency. This includes taxes and discounts.

totalReceived•
non-null

The total amount received from the customer before returns, in shop currency.

totalRefunded•
non-null

The total amount that was refunded, in shop currency.

totalShippingPrice•
non-null

The total shipping amount before discounts and returns, in shop currency.

totalTax•

The total tax amount before returns, in shop currency.

totalTipReceived•
non-null

The sum of all tip amounts for the order, in shop currency.

•
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.

availablePublicationsCount•

The number of publications that a resource is published to, without feedback errors.

bundleComponents•
non-null

A list of components that are associated with a product in a bundle.

category•

The category of a product from Shopify's Standard Product Taxonomy.

collections•
non-null

A list of collections that include the product.

combinedListing•

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.

combinedListingRole•

The role of the product in a combined listing.

If null, then the product isn't part of any combined listing.

compareAtPriceRange•

The compare-at price range of the product in the shop's default currency.

contextualPricing•
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. As of API version 2025-04, only active markets are considered in the price resolution.

createdAt•
non-null

The date and time when the product was created.

defaultCursor•
non-null

A default cursor that returns the single next record, sorted ascending by ID.

description•
non-null

A single-line description of the product, with HTML tags removed.

descriptionHtml•
non-null

The description of the product, with HTML tags. For example, the description might include bold <strong></strong> and italic <i></i> text.

events•
non-null

The paginated list of events associated with the host subject.

featuredMedia•

The featured media associated with the product.

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".

gate•

Returns a gate bound to the subject.

gates•
non-null

Returns a list of gates bound to the subject.

giftCardTemplateSuffix•

The theme template that's used when customers view the gift card in a store.

handle•
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.

hasOnlyDefaultVariant•
non-null

Whether the product has only a single variant with the default option and value.

hasOutOfStockVariants•
non-null

Whether the product has variants that are out of stock.

hasVariantsThatRequiresComponents•
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.

inCollection•
non-null

Whether the product is in a specified collection.

isGiftCard•
non-null

Whether the product is a gift card.

legacyResourceId•
non-null

The ID of the corresponding resource in the REST Admin API.

media•
non-null

The media associated with the product. Valid media are images, 3D models, videos.

metafield•

A custom field, including its namespace and key, that's associated with a Shopify resource for the purposes of adding and storing additional information.

metafields•
non-null

A list of custom fields that a merchant associates with a Shopify resource.

metafieldsByIdentifiers•
non-null

The metafields associated with the resource matching the supplied list of namespaces and keys.

onlineStorePreviewUrl•

The preview URL for the online store.

onlineStoreUrl•

The product's URL on the online store. If null, then the product isn't published to the online store sales channel.

options•
non-null

A list of product options. The limit is defined by the shop's resource limits for product options (Shop.resourceLimits.maxProductOptions).

priceRangeV2•
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.

productComponents•
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.

productComponentsCount•

A count of unique products that contain at least one variant associated with at least one of the current products' variants via group relationship.

productParents•
non-null

A list of products that has a variant that contains any of this product's variants as a component.

productType•
non-null

The product type that merchants define.

publishedAt•

The date and time when the product was published to the online store.

publishedInContext•
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.

publishedOnCurrentPublication•
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.

publishedOnPublication•
non-null

Whether the resource is published to a specified publication.

requiresSellingPlan•
non-null

Whether the product can only be purchased with a selling plan. Products that are sold on subscription (requiresSellingPlan: true) can be updated only for online stores. If you update a product to be subscription-only (requiresSellingPlan:false), then the product is unpublished from all channels, except the online store.

resourcePublicationOnCurrentPublication•

The resource that's either published or staged to be published to the publication.

resourcePublications•
non-null

The list of resources that are published to a publication.

resourcePublicationsCount•

The number of publications that a resource is published to, without feedback errors.

resourcePublicationsV2•
non-null

The list of resources that are either published or staged to be published to a publication.

restrictedForResource•

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.

sellingPlanGroups•
non-null

A list of all selling plan groups that are associated with the product either directly, or through the product's variants.

sellingPlanGroupsCount•

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.

status•
non-null

The product status, which controls visibility across all sales channels.

tags•
non-null

A comma-separated list of searchable keywords that are associated with the product. For example, a merchant might apply the sports and summer 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 the tagsAdd mutation.

templateSuffix•

The theme template that's used when customers view the product in a store.

title•
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.

totalInventory•
non-null

The quantity of inventory that's in stock.

tracksInventory•
non-null

Whether inventory tracking has been enabled for the product.

translations•
non-null

The published translations associated with the resource.

unpublishedPublications•
non-null

The list of publications that the resource isn't published to.

updatedAt•
non-null

The date and time when the product was last modified. A product's updatedAt 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.

variants•
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.

variantsCount•

The number of variants that are associated with the product.

vendor•
non-null

The name of the product's vendor.

bodyHtml•

The description of the product, with HTML tags. For example, the description might include bold <strong></strong> and italic <i></i> text.

customProductType•

The custom product type specified by the merchant.

descriptionPlainSummary•
non-null

Stripped description of the product, single line with HTML tags removed. Truncated to 60 characters.

featuredImage•

The featured image for the product.

images•
non-null

The images associated with the product.

metafieldDefinitions•
non-null

List of metafield definitions.

priceRange•
non-null

The price range of the product.

productCategory•

The product category specified by the merchant.

productPublications•
non-null

A list of the channels where the product is published.

publicationCount•
non-null

The number of publications that a resource is published to, without feedback errors.

publications•
non-null

A list of the channels where the product is published.

publishedOnChannel•
non-null

Whether the resource is published to a specific channel.

publishedOnCurrentChannel•
non-null

Whether the resource is published to a channel. For example, the resource might be published to the online store channel.

sellingPlanGroupCount•
non-null

A count of selling plan groups that are associated with the product.

standardizedProductType•

The standardized product type in the Shopify product taxonomy.

storefrontId•
non-null

The Storefront GraphQL API ID of the Product.

As of the 2022-04 version release, the Storefront GraphQL API will no longer return Base64 encoded IDs to match the behavior of the Admin GraphQL API. Therefore, you can safely use the id field's value instead.

totalVariants•
non-null

The number of variants that are associated with the product.

unpublishedChannels•
non-null

The list of channels that the resource is not published to.

•
OBJECT

Represents a product variant.

availableForSale•
non-null

Whether the product variant is available for sale.

barcode•

The value of the barcode associated with the product.

compareAtPrice•

The compare-at price of the variant in the default shop currency.

contextualPricing•
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.

createdAt•
non-null

The date and time when the variant was created.

defaultCursor•
non-null

A default cursor that returns the single next record, sorted ascending by ID.

deliveryProfile•

The delivery profile for the variant.

deliveryPromiseParticipants•
non-null

The delivery promise participants for the product variant.

displayName•
non-null

Display name of the variant, based on product's title + variant's title.

events•
non-null

The paginated list of events associated with the host subject.

id•
non-null

A globally-unique ID.

image•

The featured image for the variant.

inventoryItem•
non-null

The inventory item, which is used to query for inventory information.

inventoryPolicy•
non-null

Whether customers are allowed to place an order for the product variant when it's out of stock.

inventoryQuantity•

The total sellable quantity of the variant.

legacyResourceId•
non-null

The ID of the corresponding resource in the REST Admin API.

media•
non-null

The media associated with the product variant.

metafield•

A custom field, including its namespace and key, that's associated with a Shopify resource for the purposes of adding and storing additional information.

metafields•
non-null

A list of custom fields that a merchant associates with a Shopify resource.

metafieldsByIdentifiers•
non-null

The metafields associated with the resource matching the supplied list of namespaces and keys.

position•
non-null

The order of the product variant in the list of product variants. The first position in the list is 1.

price•
non-null

The price of the product variant in the default shop currency.

product•
non-null

The product that this variant belongs to.

productParents•
non-null

A list of products that have product variants that contain this variant as a product component.

productVariantComponents•
non-null

A list of the product variant components.

requiresComponents•
non-null

Whether a product variant requires components. The default value is false. If true, 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.

selectedOptions•
non-null

List of product options applied to the variant.

sellableOnlineQuantity•
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.

sellingPlanGroups•
non-null

A list of all selling plan groups defined in the current shop associated with the product variant.

sellingPlanGroupsCount•

Count of selling plan groups associated with the product variant.

sku•

A case-sensitive identifier for the product variant in the shop. Required in order to connect to a fulfillment service.

taxable•
non-null

Whether a tax is charged when the product variant is sold.

taxCode•

The tax code for the product variant.

title•
non-null

The title of the product variant.

translations•
non-null

The published translations associated with the resource.

unitPriceMeasurement•

The unit price measurement for the variant.

updatedAt•
non-null

The date and time (ISO 8601 format) when the product variant was last modified.

metafieldDefinitions•
non-null

List of metafield definitions.

presentmentPrices•
non-null

List of prices and compare-at prices in the presentment currencies for this shop.

sellingPlanGroupCount•
non-null

Count of selling plan groups associated with the product variant.

storefrontId•
non-null

The Storefront GraphQL API ID of the ProductVariant.

As of the 2022-04 version release, the Storefront GraphQL API will no longer return Base64 encoded IDs to match the behavior of the Admin GraphQL API. Therefore, you can safely use the id field's value instead.


Was this section helpful?

Anchor to Fields with this unionFields with this union

•
OBJECT

The object reference associated with the comment event. For example, a product or discount).


Was this section helpful?