Skip to main content
Anchor to LegacyInteroperability

LegacyInteroperability

interface

Interoperability metadata for types that directly correspond to a REST Admin API resource. For example, on the Product type, LegacyInteroperability returns metadata for the corresponding Product object in the REST Admin API.

•UnsignedInt64!
non-null

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


Was this section helpful?

Anchor to Types implemented inTypes implemented in

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

•[MailingAddress!]!
non-null

A list of addresses associated with the customer.

•MailingAddressConnection!
non-null

The addresses associated with the customer.

•MoneyV2!
non-null

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

•Boolean!
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 companyContactProfilescompanyContactProfiles
•[CompanyContact!]!
non-null

A list of the customer's company contact profiles.

•DateTime!
non-null

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

•Boolean!
non-null

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

•MailingAddress

The default address associated with the customer.

•CustomerEmailAddress

The customer's default email address.

•CustomerPhoneNumber

The customer's default phone number.

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

•EventConnection!
non-null

A list of events associated with the customer.

•String

The customer's first name.

•ID!
non-null

A globally-unique ID.

•Image!
non-null

The image associated with the customer.

•String

The customer's last name.

•Order

The customer's last order.

•UnsignedInt64!
non-null

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

•String!
non-null

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

Example: 'about 12 years'.

•String!
non-null

The customer's locale.

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

•MetafieldConnection!
non-null

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

•String

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

•String

A note about the customer.

•UnsignedInt64!
non-null

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

•OrderConnection!
non-null

A list of the customer's orders.

•CustomerPaymentMethodConnection!
non-null

A list of the customer's payment methods.

Anchor to productSubscriberStatusproductSubscriberStatus
•CustomerProductSubscriberStatus!
non-null

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

•CustomerState!
non-null

The state of the customer's account with the shop.

Please note that this only meaningful when Classic Customer Accounts is active.

•CustomerStatistics!
non-null

The statistics for a given customer.

•StoreCreditAccountConnection!
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 subscriptionContractssubscriptionContracts
•SubscriptionContractConnection!
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.

•Boolean!
non-null

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

•[TaxExemption!]!
non-null

The list of tax exemptions applied to the customer.

•DateTime!
non-null

The date and time when the customer was last updated.

•Boolean!
non-null

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

•String
Deprecated
Anchor to emailMarketingConsentemailMarketingConsent
•CustomerEmailMarketingConsentState
Deprecated
•Boolean!
non-nullDeprecated
•Market
Deprecated
Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•String
Deprecated
•CustomerSmsMarketingConsentState
Deprecated
•URL!
non-nullDeprecated
•Boolean!
non-nullDeprecated
•OBJECT

An order that a merchant creates on behalf of a customer. Draft orders are useful for merchants that need to do the following tasks:

  • Create new orders for sales made by phone, in person, by chat, or elsewhere. When a merchant accepts payment for a draft order, an order is created.
  • Send invoices to customers to pay with a secure checkout link.
  • Use custom items to represent additional costs or products that aren't displayed in a shop's inventory.
  • Re-create orders manually from active sales channels.
  • Sell products at discount or wholesale rates.
  • Take pre-orders.

For draft orders in multiple currencies 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.

Anchor to acceptAutomaticDiscountsacceptAutomaticDiscounts
•Boolean

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.

Anchor to allowDiscountCodesInCheckoutallowDiscountCodesInCheckout
•Boolean!
non-null

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

Anchor to allVariantPricesOverriddenallVariantPricesOverridden
•Boolean!
non-null

Whether all variant prices have been overridden.

Anchor to anyVariantPricesOverriddenanyVariantPricesOverridden
•Boolean!
non-null

Whether any variant prices have been overridden.

•DraftOrderAppliedDiscount

The custom order-level discount applied.

•MailingAddress

The billing address of the customer.

Anchor to billingAddressMatchesShippingAddressbillingAddressMatchesShippingAddress
•Boolean!
non-null

Whether the billing address matches the shipping address.

•DateTime

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

•DateTime!
non-null

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

•CurrencyCode!
non-null

The shop currency used for calculation.

•[Attribute!]!
non-null

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

•Customer

The customer who will be sent an invoice.

•String!
non-null

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

•[String!]!
non-null

All discount codes applied.

•String

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

•EventConnection!
non-null

The list of events associated with the draft order.

•Boolean!
non-null

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

•ID!
non-null

A globally-unique ID.

Anchor to invoiceEmailTemplateSubjectinvoiceEmailTemplateSubject
•String!
non-null

The subject defined for the draft invoice email template.

•DateTime

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

•URL

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

•UnsignedInt64!
non-null

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

•DraftOrderLineItemConnection!
non-null

The list of the line items in the draft order.

Anchor to lineItemsSubtotalPricelineItemsSubtotalPrice
•MoneyBag!
non-null

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

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

•MetafieldConnection!
non-null

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

•String!
non-null

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

•String

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.

•String

The assigned phone number.

•[DraftOrderPlatformDiscount!]!
non-null

The list of platform discounts applied.

•String

The purchase order number.

Anchor to presentmentCurrencyCodepresentmentCurrencyCode
•CurrencyCode!
non-null

The payment currency used for calculation.

•PurchasingEntity

The purchasing entity.

•Boolean!
non-null

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

Anchor to reserveInventoryUntilreserveInventoryUntil
•DateTime

The time after which inventory will automatically be restocked.

•MailingAddress

The shipping address of the customer.

•ShippingLine

The line item containing the shipping information and costs.

•DraftOrderStatus!
non-null

The status of the draft order.

•MoneyBag!
non-null

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

•[String!]!
non-null

The comma separated list of tags associated with the draft order. Updating tags overwrites any existing tags that were previously added to the draft order. To add new tags without overwriting existing tags, use the tagsAdd mutation.

•Boolean!
non-null

Whether the line item prices include taxes.

•Boolean!
non-null

Whether the draft order is tax exempt.

•[TaxLine!]!
non-null

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

•MoneyBag!
non-null

Total discounts.

Anchor to totalLineItemsPriceSettotalLineItemsPriceSet
•MoneyBag!
non-null

Total price of line items.

•MoneyBag!
non-null

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

Anchor to totalQuantityOfLineItemstotalQuantityOfLineItems
•Int!
non-null

The sum of individual line item quantities. If the draft order has bundle items, this is the sum containing the quantities of individual items in the bundle.

Anchor to totalShippingPriceSettotalShippingPriceSet
•MoneyBag!
non-null

The total shipping price.

•MoneyBag!
non-null

The total tax.

•UnsignedInt64!
non-null

The total weight in grams of the draft order.

Anchor to transformerFingerprinttransformerFingerprint
•String

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.

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

•Boolean!
non-null

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

•[DraftOrderWarning!]!
non-null

The list of warnings raised while calculating.

Anchor to localizationExtensionslocalizationExtensions
•LocalizationExtensionConnection!
non-nullDeprecated
•String!
non-nullDeprecated
Anchor to marketRegionCountryCodemarketRegionCountryCode
•CountryCode!
non-nullDeprecated
•Money!
non-nullDeprecated
•Money!
non-nullDeprecated
•Money!
non-nullDeprecated
•Money!
non-nullDeprecated
•OBJECT

Represents a fulfillment. In Shopify, a fulfillment represents a shipment of one or more items in an order. When an order has been completely fulfilled, it means that all the items that are included in the order have been sent to the customer. There can be more than one fulfillment for an order.

•DateTime!
non-null

The date and time when the fulfillment was created.

•DateTime

The date that this fulfillment was delivered.

•FulfillmentDisplayStatus

Human readable display status for this fulfillment.

•DateTime

The estimated date that this fulfillment will arrive.

•FulfillmentEventConnection!
non-null

The history of events associated with this fulfillment.

Anchor to fulfillmentLineItemsfulfillmentLineItems
•FulfillmentLineItemConnection!
non-null

List of the fulfillment's line items.

•FulfillmentOrderConnection!
non-null

A paginated list of fulfillment orders for the fulfillment.

•ID!
non-null

A globally-unique ID.

•DateTime

The date and time when the fulfillment went into transit.

•UnsignedInt64!
non-null

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

•Location

The location that the fulfillment was processed at.

•String!
non-null

Human readable reference identifier for this fulfillment.

•Order!
non-null

The order for which the fulfillment was created.

•FulfillmentOriginAddress

The address at which the fulfillment occurred. This field is intended for tax purposes, as a full address is required for tax providers to accurately calculate taxes. Typically this is the address of the warehouse or fulfillment center. To retrieve a fulfillment location's address, use the assignedLocation field on the FulfillmentOrder object instead.

•Boolean!
non-null

Whether any of the line items in the fulfillment require shipping.

•FulfillmentService

Fulfillment service associated with the fulfillment.

•FulfillmentStatus!
non-null

The status of the fulfillment.

•Int!
non-null

Sum of all line item quantities for the fulfillment.

•[FulfillmentTrackingInfo!]!
non-null

Tracking information associated with the fulfillment, such as the tracking company, tracking number, and tracking URL.

•DateTime!
non-null

The date and time when the fulfillment was last modified.

•OBJECT

Represents the goods available to be shipped to a customer. It holds essential information about the goods, including SKU and whether it is tracked. Learn more about the relationships between inventory objects.

•CountryCode

The ISO 3166-1 alpha-2 country code of where the item originated from.

Anchor to countryHarmonizedSystemCodescountryHarmonizedSystemCodes
•CountryHarmonizedSystemCodeConnection!
non-null

A list of country specific harmonized system codes.

•DateTime!
non-null

The date and time when the inventory item was created.

•Int!
non-null

The number of inventory items that share the same SKU with this item.

Anchor to harmonizedSystemCodeharmonizedSystemCode
•String

The harmonized system code of the item. This must be a number between 6 and 13 digits.

•ID!
non-null

A globally-unique ID.

•URL

The URL that points to the inventory history for the item.

•InventoryLevel

The inventory item's quantities at the specified location.

•InventoryLevelConnection!
non-null

A list of the inventory item's quantities for each location that the inventory item can be stocked at.

•UnsignedInt64!
non-null

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

•Count

The number of locations where this inventory item is stocked.

•InventoryItemMeasurement!
non-null

The packaging dimensions of the inventory item.

Anchor to provinceCodeOfOriginprovinceCodeOfOrigin
•String

The ISO 3166-2 alpha-2 province code of where the item originated from.

•Boolean!
non-null

Whether the inventory item requires shipping.

•String

Inventory item SKU. Case-sensitive string.

•Boolean!
non-null

Whether inventory levels are tracked for the item.

•EditableProperty!
non-null

Whether the value of the tracked field for the inventory item can be changed.

•MoneyV2

Unit cost associated with the inventory item. Note: the user must have "View product costs" permission granted in order to access this field once product granular permissions are enabled.

•DateTime!
non-null

The date and time when the inventory item was updated.

•ProductVariant!
non-null

The variant that owns this inventory item.

•OBJECT

Represents the location where the physical good resides. You can stock inventory at active locations. Active locations that have fulfills_online_orders: true and are configured with a shipping rate, pickup enabled or local delivery will be able to sell from their storefront.

•Boolean!
non-null

Whether the location can be reactivated. If false, then trying to activate the location with the LocationActivate mutation will return an error that describes why the location can't be activated.

•LocationAddress!
non-null

The address of this location.

•Boolean!
non-null

Whether the location address has been verified.

•DateTime!
non-null

The date and time (ISO 8601 format) that the location was added to a shop.

•Boolean!
non-null

Whether this location can be deactivated. If true, then the location can be deactivated by calling the LocationDeactivate mutation. If false, then calling the mutation to deactivate it will return an error that describes why the location can't be deactivated.

•String

The date and time (ISO 8601 format) that the location was deactivated at. For example, 3:30 pm on September 7, 2019 in the time zone of UTC (Universal Time Coordinated) is represented as "2019-09-07T15:50:00Z".

•Boolean!
non-null

Whether this location can be deleted.

•FulfillmentService

Name of the service provider that fulfills from this location.

Anchor to fulfillsOnlineOrdersfulfillsOnlineOrders
•Boolean!
non-null

Whether this location can fulfill online orders.

•Boolean!
non-null

Whether this location has active inventory.

Anchor to hasUnfulfilledOrdershasUnfulfilledOrders
•Boolean!
non-null

Whether this location has orders that need to be fulfilled.

•ID!
non-null

A globally-unique ID.

•InventoryLevel

The quantities of an inventory item at this location.

•InventoryLevelConnection!
non-null

A list of the quantities of the inventory items that can be stocked at this location.

•Boolean!
non-null

Whether the location is active. A deactivated location can be activated (change isActive: true) if it has activatable set to true by calling the locationActivate mutation.

Anchor to isFulfillmentServiceisFulfillmentService
•Boolean!
non-null

Whether this location is a fulfillment service.

•UnsignedInt64!
non-null

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

Anchor to localPickupSettingsV2localPickupSettingsV2
•DeliveryLocalPickupSettings

Local pickup settings for the location.

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

•MetafieldConnection!
non-null

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

•String!
non-null

The name of the location.

•Boolean!
non-null

Whether this location is used for calculating shipping rates. In multi-origin shipping mode, this flag is ignored.

•[LocationSuggestedAddress!]!
non-null

List of suggested addresses for this location (empty if none).

•DateTime!
non-null

The date and time (ISO 8601 format) when the location was last updated.

•Boolean!
non-nullDeprecated
Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•OBJECT

Represents actions that market a merchant's store or products.

•App!
non-null

The app that the marketing event is attributed to.

•String

The unique string identifier of the channel to which this activity belongs. For the correct handle for your channel, contact your partner manager.

•String

A human-readable description of the marketing event.

•DateTime

The date and time when the marketing event ended.

•ID!
non-null

A globally-unique ID.

•UnsignedInt64!
non-null

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

•URL

The URL where the marketing event can be managed.

Anchor to marketingChannelTypemarketingChannelType
•MarketingChannel

The medium through which the marketing activity and event reached consumers. This is used for reporting aggregation.

•URL

The URL where the marketing event can be previewed.

•String

An optional ID that helps Shopify validate engagement data.

•DateTime

The date and time when the marketing event is scheduled to end.

•String!
non-null

Where the MarketingEvent occurred and what kind of content was used. Because utmSource and utmMedium are often used interchangeably, this is based on a combination of marketingChannel, referringDomain, and type to provide a consistent representation for any given piece of marketing regardless of the app that created it.

•DateTime!
non-null

The date and time when the marketing event started.

•MarketingTactic!
non-null

The marketing event type.

•String

The name of the marketing campaign.

•String

The medium that the marketing campaign is using. Example values: cpc, banner.

•String

The referrer of the marketing event. Example values: google, newsletter.

•MarketingChannel
Deprecated
Anchor to targetTypeDisplayTexttargetTypeDisplayText
•String!
non-nullDeprecated
•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.

•String!
non-null

The data stored in the resource, represented as a digest.

•DateTime!
non-null

The date and time when the metafield was created.

•MetafieldDefinition

The metafield definition that the metafield belongs to, if any.

•ID!
non-null

A globally-unique ID.

•JSON!
non-null

The data stored in the metafield in JSON format.

•String!
non-null

The unique identifier for the metafield within its namespace.

•UnsignedInt64!
non-null

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

•String!
non-null

The container for a group of metafields that the metafield is associated with.

•HasMetafields!
non-null

The resource that the metafield is attached to.

•MetafieldOwnerType!
non-null

The type of resource that the metafield is attached to.

•MetafieldReference

Returns a reference object if the metafield definition's type is a resource reference.

•MetafieldReferenceConnection

A list of reference objects if the metafield's type is a resource reference list.

•String!
non-null

The type of data that is stored in the metafield. Refer to the list of supported types.

•DateTime!
non-null

The date and time when the metafield was updated.

•String!
non-null

The data stored in the metafield. Always stored as a string, regardless of the metafield's type.

•String
Deprecated
•OBJECT

The Order object represents a customer's request to purchase one or more products from a store. Use the Order 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.


Note

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 records, then you need to request access to all orders. If your app is granted access, then you can add the read_all_orders, read_orders, and write_orders scopes.



Caution

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

•[AdditionalFee!]!
non-null

A list of additional fees applied to an order, such as duties, import fees, or tax lines.

•SalesAgreementConnection!
non-null

A list of sales agreements associated with the order, such as contracts defining payment terms, or delivery schedules between merchants and customers.

•[ResourceAlert!]!
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.

•OrderApp

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.

•MailingAddress

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 billingAddressMatchesShippingAddressbillingAddressMatchesShippingAddress
•Boolean!
non-null

Whether the billing address matches the shipping address. Returns true if both addresses are the same, and false if they're different or if an address is missing.

•OrderCancellation

Details of an order's cancellation, if it has been canceled. This includes the reason, date, and any staff notes.

•DateTime

The date and time in ISO 8601 format when an order was canceled. Returns null if the order hasn't been canceled.

•OrderCancelReason

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.

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

•Boolean!
non-null

Whether order notifications can be sent to the customer. Returns true if the customer has a valid email address.

•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 cartDiscountAmountSetcartDiscountAmountSet
•MoneyBag

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.

•ChannelInformation

Details about the sales channel that created the order, such as the channel app type and channel name, which helps to track order sources.

•String

The IP address of the customer who placed the order. Useful for fraud detection and geographic analysis.

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

•DateTime

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.

•String

A customer-facing order identifier, often shown instead of the sequential order name. It uses a random alphanumeric format (for example, XPAV284CT) and isn't guaranteed to be unique across orders.

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

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

•CurrencyCode!
non-null

The shop currency when the order was placed. For example, "USD" or "CAD".

Anchor to currentCartDiscountAmountSetcurrentCartDiscountAmountSet
•MoneyBag!
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 cartDiscountAmountSet field.

Anchor to currentShippingPriceSetcurrentShippingPriceSet
•MoneyBag!
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.

Anchor to currentSubtotalLineItemsQuantitycurrentSubtotalLineItemsQuantity
•Int!
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 currentSubtotalPriceSetcurrentSubtotalPriceSet
•MoneyBag!
non-null

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

•[TaxLine!]!
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.

Anchor to currentTotalAdditionalFeesSetcurrentTotalAdditionalFeesSet
•MoneyBag

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 currentTotalDiscountsSetcurrentTotalDiscountsSet
•MoneyBag!
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 currentTotalDutiesSetcurrentTotalDutiesSet
•MoneyBag

The current total duties amount for an order, after any returns or modifications. Modifications include returns, refunds, order edits, and cancellations.

Anchor to currentTotalPriceSetcurrentTotalPriceSet
•MoneyBag!
non-null

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

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

•UnsignedInt64!
non-null

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

•[Attribute!]!
non-null

A list of additional information that has been attached to the order. For example, gift message, delivery instructions, or internal notes.

•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 customerAcceptsMarketingcustomerAcceptsMarketing
•Boolean!
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 customerJourneySummarycustomerJourneySummary
•CustomerJourneySummary

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.

•String

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 discountApplicationsdiscountApplications
•DiscountApplicationConnection!
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.

•String

The discount code used for an order. Returns null if no discount code was applied.

•[String!]!
non-null

The discount codes used for the order. Multiple codes can be applied to a single order.

•MailingAddress

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 displayFinancialStatusdisplayFinancialStatus
•OrderDisplayFinancialStatus

An order's financial status for display in the Shopify admin.

Anchor to displayFulfillmentStatusdisplayFulfillmentStatus
•OrderDisplayFulfillmentStatus!
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 FulfillmentOrder object.

•[OrderDisputeSummary!]!
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.

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

•Boolean!
non-null

Whether the order has had any edits applied. For example, adding or removing line items, updating quantities, or changing prices.

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

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

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

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

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

•[Fulfillment!]!
non-null

A list of shipments for the order. Fulfillments represent the physical shipment of products to customers.

•Count

The total number of fulfillments for the order, including canceled ones.

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

•Boolean!
non-null

Whether the merchant has added a timeline comment to the order.

•ID!
non-null

A globally-unique ID.

•UnsignedInt64!
non-null

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

•LineItemConnection!
non-null

A list of the order's line items. Line items represent the individual products and quantities that make up the order.

•LocalizedFieldConnection!
non-null

List of localized fields for the resource.

Anchor to merchantBusinessEntitymerchantBusinessEntity
•BusinessEntity!
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.

•Boolean!
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 merchantEditableErrorsmerchantEditableErrors
•[String!]!
non-null

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

•OrderApp

The application acting as the Merchant of Record for the order. The Merchant of Record is responsible for tax collection and remittance.

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

•MetafieldConnection!
non-null

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

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

•MoneyBag!
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 nonFulfillableLineItemsnonFulfillableLineItems
•LineItemConnection!
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.

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

•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 originalTotalAdditionalFeesSetoriginalTotalAdditionalFeesSet
•MoneyBag

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 originalTotalDutiesSetoriginalTotalDutiesSet
•MoneyBag

The total amount of duties calculated when an order was created, before any modifications. Modifications include returns, refunds, order edits, and cancellations. Use currentTotalDutiesSet to retrieve the current duties amount after adjustments.

Anchor to originalTotalPriceSetoriginalTotalPriceSet
•MoneyBag!
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 paymentCollectionDetailspaymentCollectionDetails
•OrderPaymentCollectionDetails!
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.

•[String!]!
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, 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.

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

•String

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 presentmentCurrencyCodepresentmentCurrencyCode
•CurrencyCode!
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.

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

•Publication

The sales channel that the order was created from, such as the Online Store or Shopify POS.

•PurchasingEntity

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.

•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 refundDiscrepancySetrefundDiscrepancySet
•MoneyBag!
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.

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

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

•Boolean!
non-null

Whether the order requires physical shipping to the customer. Returns false for digital-only orders (such as gift cards or downloadable products) and true for orders with physical products that need delivery. Use this to determine shipping workflows and logistics requirements.

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

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

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

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

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

•MailingAddress

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.

•ShippingLine

A summary of all shipping costs on the order. Aggregates shipping charges, discounts, and taxes to provide a single view of delivery costs.

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

•ShopifyProtectOrderSummary

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.

•String

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

•String

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.

•StaffMember

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.

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

Arguments

•Audience

Specifies the intended audience for the status page URL.

•NotificationUsage

Specifies the intended notification usage for the status page URL.


Anchor to subtotalLineItemsQuantitysubtotalLineItemsQuantity
•Int!
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.

•MoneyBag

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

•Boolean!
non-null

Whether taxes are included in the subtotal price of the order. When true, the subtotal and line item prices include tax amounts. When false, taxes are calculated and displayed separately.

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

•[TaxLine!]!
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.

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

•MoneyBag!
non-null

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

Anchor to totalCashRoundingAdjustmenttotalCashRoundingAdjustment
•CashRoundingAdjustment!
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.

•MoneyBag

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

•MoneyBag!
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).

•MoneyBag!
non-null

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

•MoneyBag!
non-null

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

•MoneyBag!
non-null

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

Anchor to totalRefundedShippingSettotalRefundedShippingSet
•MoneyBag!
non-null

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

Anchor to totalShippingPriceSettotalShippingPriceSet
•MoneyBag!
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.

•MoneyBag

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

•MoneyBag!
non-null

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

•UnsignedInt64

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

•[OrderTransaction!]!
non-null

A list of transactions associated with the order.

•Count

The number of transactions associated with the order.

•Boolean!
non-null

Whether no payments have been made for the order.

•DateTime!
non-null

The date and time in ISO 8601 format when the order was last modified.

•Money
Deprecated
•Channel
Deprecated
•CustomerJourney
Deprecated
Anchor to landingPageDisplayTextlandingPageDisplayText
•String
Deprecated
•URL
Deprecated
Anchor to localizationExtensionslocalizationExtensions
•LocalizationExtensionConnection!
non-nullDeprecated
Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•Money!
non-nullDeprecated
•Location
Deprecated
•String
Deprecated
•String
Deprecated
•URL
Deprecated
•OrderRiskLevel!
non-nullDeprecated
•[OrderRisk!]!
non-nullDeprecated
•Money
Deprecated
•Money!
non-nullDeprecated
•Money
Deprecated
•Money!
non-nullDeprecated
•Money!
non-nullDeprecated
•Money!
non-nullDeprecated
•Money!
non-nullDeprecated
•Money
Deprecated
•MoneyV2!
non-nullDeprecated
•OBJECT

Price rules are a set of conditions, including entitlements and prerequisites, that must be met in order for a discount code to apply.

We recommend using the types and queries detailed at Getting started with discounts instead. These will replace the GraphQL PriceRule object and REST Admin PriceRule and DiscountCode resources.

•Int

The maximum number of times that the price rule can be allocated onto an order.

•PriceRuleAllocationMethod!
non-null

The method by which the price rule's value is allocated to its entitled items.

•App

The application that created the price rule.

•DiscountCombinesWith!
non-null

The discount classes that you can use in combination with Shopify discount types.

•DateTime!
non-null

The date and time when the price rule was created.

•PriceRuleCustomerSelection!
non-null

The customers that can use this price rule.

•[DiscountClass!]!
non-null

The classes of the discount.

•PriceRuleDiscountCodeConnection!
non-null

List of the price rule's discount codes.

•Count

How many discount codes associated with the price rule.

•DateTime

The date and time when the price rule ends. For open-ended price rules, use null.

•EventConnection!
non-null

The paginated list of events associated with the price rule.

•[PriceRuleFeature!]!
non-null

A list of the price rule's features.

•Boolean!
non-null

Indicates whether there are any timeline comments on the price rule.

•ID!
non-null

A globally-unique ID.

•PriceRuleItemEntitlements!
non-null

The items to which the price rule applies.

•PriceRuleLineItemPrerequisites!
non-null

The items required for the price rule to be applicable.

•UnsignedInt64!
non-null

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

•Boolean!
non-null

Whether the price rule can be applied only once per customer.

Anchor to prerequisiteQuantityRangeprerequisiteQuantityRange
•PriceRuleQuantityRange

The number of the entitled items must fall within this range for the price rule to be applicable.

Anchor to prerequisiteShippingPriceRangeprerequisiteShippingPriceRange
•PriceRuleMoneyRange

The shipping cost must fall within this range for the price rule to be applicable.

Anchor to prerequisiteSubtotalRangeprerequisiteSubtotalRange
•PriceRuleMoneyRange

The sum of the entitled items subtotal prices must fall within this range for the price rule to be applicable.

Anchor to prerequisiteToEntitlementQuantityRatioprerequisiteToEntitlementQuantityRatio
•PriceRulePrerequisiteToEntitlementQuantityRatio

Quantity of prerequisite items required for the price rule to be applicable, compared to quantity of entitled items.

•[PriceRuleShareableUrl!]!
non-null

URLs that can be used to share the discount.

Anchor to shippingEntitlementsshippingEntitlements
•PriceRuleShippingLineEntitlements!
non-null

The shipping lines to which the price rule applies.

•DateTime!
non-null

The date and time when the price rule starts.

•PriceRuleStatus!
non-null

The status of the price rule.

•String

A detailed summary of the price rule.

•PriceRuleTarget!
non-null

The type of lines (line_item or shipping_line) to which the price rule applies.

•String!
non-null

The title of the price rule.

•MoneyV2

The total sales from orders where the price rule was used.

•Int!
non-null

The number of times that the price rule has been used. This value is updated asynchronously and can be different than the actual usage count.

•Int

The maximum number of times that the price rule can be used in total.

•PriceRuleValidityPeriod!
non-null

A time period during which a price rule is applicable.

•PricingValue!
non-null

The value of the price rule.

•DiscountClass!
non-nullDeprecated
Anchor to entitlementToPrerequisiteQuantityRatioentitlementToPrerequisiteQuantityRatio
•PriceRuleEntitlementToPrerequisiteQuantityRatio
Deprecated
•[PriceRuleTrait!]!
non-nullDeprecated
•PriceRuleValue!
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 availablePublicationsCountavailablePublicationsCount
•Count

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

•ProductBundleComponentConnection!
non-null

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

•TaxonomyCategory

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

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

•CombinedListingsRole

The role of the product in a combined listing.

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

•ProductCompareAtPriceRange

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

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

•DateTime!
non-null

The date and time when the product was created.

•String!
non-null

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

•String!
non-null

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

Arguments

•Int

Truncates a string after the given length.


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

•EventConnection!
non-null

The paginated list of events associated with the host subject.

•Media

The featured media associated with the product.

•ResourceFeedback

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 giftCardTemplateSuffixgiftCardTemplateSuffix
•String

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

•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 hasOnlyDefaultVarianthasOnlyDefaultVariant
•Boolean!
non-null

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

Anchor to hasOutOfStockVariantshasOutOfStockVariants
•Boolean!
non-null

Whether the product has variants that are out of stock.

Anchor to hasVariantsThatRequiresComponentshasVariantsThatRequiresComponents
•Boolean!
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.

•Boolean!
non-null

Whether the product is in a specified collection.

Arguments

•ID!
required

The ID of the collection to check. For example, id: "gid://shopify/Collection/123".


•Boolean!
non-null

Whether the product is a gift card.

•UnsignedInt64!
non-null

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

•MediaConnection!
non-null

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

•Count

The total count of media that's associated with a product.

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

•MetafieldConnection!
non-null

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

Anchor to onlineStorePreviewUrlonlineStorePreviewUrl
•URL

The preview URL for the online store.

•URL

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

•[ProductOption!]!
non-null

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

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

•ProductComponentTypeConnection!
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 productComponentsCountproductComponentsCount
•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.

•ProductConnection!
non-null

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

•String!
non-null

The product type that merchants define.

•DateTime

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

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

Arguments

•ContextualPublicationContext!
required

The context used to determine publication status.


Anchor to publishedOnCurrentPublicationpublishedOnCurrentPublication
•Boolean!
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 publishedOnPublicationpublishedOnPublication
•Boolean!
non-null

Whether the resource is published to a specified publication.

Arguments

•ID!
required

The ID of the publication to check. For example, id: "gid://shopify/Publication/123".


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

Anchor to resourcePublicationOnCurrentPublicationresourcePublicationOnCurrentPublication
•ResourcePublicationV2

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

Anchor to resourcePublicationsresourcePublications
•ResourcePublicationConnection!
non-null

The list of resources that are published to a publication.

Anchor to resourcePublicationsCountresourcePublicationsCount
•Count

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

Anchor to resourcePublicationsV2resourcePublicationsV2
•ResourcePublicationV2Connection!
non-null

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

Anchor to restrictedForResourcerestrictedForResource
•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.

•SellingPlanGroupConnection!
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 sellingPlanGroupsCountsellingPlanGroupsCount
•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.

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

•String

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

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

•Int!
non-null

The quantity of inventory that's in stock.

•Boolean!
non-null

Whether inventory tracking has been enabled for the product.

•[Translation!]!
non-null

The published translations associated with the resource.

Anchor to unpublishedPublicationsunpublishedPublications
•PublicationConnection!
non-null

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

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

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

•Count

The number of variants that are associated with the product.

•String!
non-null

The name of the product's vendor.

•String
Deprecated
•String
Deprecated
Anchor to descriptionPlainSummarydescriptionPlainSummary
•String!
non-nullDeprecated
•Image
Deprecated
•ImageConnection!
non-nullDeprecated
Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•ProductPriceRange!
non-nullDeprecated
•ProductCategory
Deprecated
•ProductPublicationConnection!
non-nullDeprecated
•Int!
non-nullDeprecated

Arguments

•Boolean
Default:true

Include only the resource's publications that are published. If false, then return all the resource's publications including future publications.


•ProductPublicationConnection!
non-nullDeprecated
•Boolean!
non-nullDeprecated

Arguments

•ID!
required

The ID of the channel to check.


Anchor to publishedOnCurrentChannelpublishedOnCurrentChannel
•Boolean!
non-nullDeprecated
Anchor to sellingPlanGroupCountsellingPlanGroupCount
•Int!
non-nullDeprecated
Anchor to standardizedProductTypestandardizedProductType
•StandardizedProductType
Deprecated
•StorefrontID!
non-nullDeprecated
•Int!
non-nullDeprecated
•ChannelConnection!
non-nullDeprecated
•OBJECT

The ProductVariant 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 ProductVariant object to manage the full lifecycle and configuration of a product's variants. Common use cases for using the ProductVariant 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 ProductVariant is associated with a parent Product object. ProductVariant 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:

Learn more about Shopify's product model.

•Boolean!
non-null

Whether the product variant is available for sale.

•String

The value of the barcode associated with the product.

•Money

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

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

•DateTime!
non-null

The date and time when the variant was created.

•String!
non-null

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

•DeliveryProfile

The delivery profile for the variant.

•String!
non-null

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

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

•ProductVariantInventoryPolicy!
non-null

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

•Int

The total sellable quantity of the variant.

•UnsignedInt64!
non-null

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

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

•MetafieldConnection!
non-null

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

•Int!
non-null

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

•Money!
non-null

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

•Product!
non-null

The product that this variant belongs to.

•ProductConnection!
non-null

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

Anchor to productVariantComponentsproductVariantComponents
•ProductVariantComponentConnection!
non-null

A list of the product variant components.

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

•[SelectedOption!]!
non-null

List of product options applied to the variant.

Anchor to sellableOnlineQuantitysellableOnlineQuantity
•Int!
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.

•SellingPlanGroupConnection!
non-null

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

Anchor to sellingPlanGroupsCountsellingPlanGroupsCount
•Count

Count of selling plan groups associated with the product variant.

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

•Boolean!
non-null

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

•String!
non-null

The title of the product variant.

•[Translation!]!
non-null

The published translations associated with the resource.

•MoneyV2

The unit price value for the variant based on the variant measurement.

Anchor to unitPriceMeasurementunitPriceMeasurement
•UnitPriceMeasurement

The unit price measurement for the variant.

•DateTime!
non-null

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

Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•ProductVariantPricePairConnection!
non-nullDeprecated
Anchor to sellingPlanGroupCountsellingPlanGroupCount
•Int!
non-nullDeprecated
•StorefrontID!
non-nullDeprecated
•String
Deprecated
•OBJECT

The Refund object represents a financial record of money returned to a customer from an order. It provides a comprehensive view of all refunded amounts, transactions, and restocking instructions associated with returning products or correcting order issues.

The Refund object provides information to:

  • Process customer returns and issue payments back to customers
  • Handle partial or full refunds for line items with optional inventory restocking
  • Refund shipping costs, duties, and additional fees
  • Issue store credit refunds as an alternative to original payment method returns
  • Track and reconcile all financial transactions related to refunds

Each Refund object maintains detailed records of what was refunded, how much was refunded, which payment transactions were involved, and any inventory restocking that occurred. The refund can include multiple components such as product line items, shipping charges, taxes, duties, and additional fees, all calculated with proper currency handling for international orders.

Refunds are always associated with an order and can optionally be linked to a return if the refund was initiated through the returns process. The refund tracks both the presentment currency (what the customer sees) and the shop currency for accurate financial reporting.


Note

The existence of a Refund object doesn't guarantee that the money has been returned to the customer. The actual financial processing happens through associated OrderTransaction objects, which can be in various states, such as pending, processing, success, or failure. To determine if money has actually been refunded, check the status of the associated transactions.


Learn more about managing returns, refunding duties, and processing refunds.

•DateTime

The date and time when the refund was created.

•[RefundDuty!]

A list of the refunded duties as part of this refund.

•ID!
non-null

A globally-unique ID.

•UnsignedInt64!
non-null

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

•String

The optional note associated with the refund.

•Order!
non-null

The order associated with the refund.

•OrderAdjustmentConnection!
non-null

The order adjustments that are attached with the refund.

•RefundLineItemConnection!
non-null

The RefundLineItem resources attached to the refund.

•RefundShippingLineConnection!
non-null

The RefundShippingLine resources attached to the refund.

•Return

The return associated with the refund.

•StaffMember

The staff member who created the refund.

•MoneyBag!
non-null

The total amount across all transactions for the refund, in shop and presentment currencies.

•OrderTransactionConnection!
non-null

The transactions associated with the refund.

•DateTime!
non-null

The date and time when the refund was updated.

•MoneyV2!
non-nullDeprecated
•OBJECT

A saved search is a representation of a search query saved in the admin.

•[SearchFilter!]!
non-null

The filters of a saved search.

•ID!
non-null

A globally-unique ID.

•UnsignedInt64!
non-null

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

•String!
non-null

The name of a saved search.

•String!
non-null

The query string of a saved search. This includes search terms and filters.

•SearchResultType!
non-null

The type of resource this saved search is searching in.

•String!
non-null

The search terms of a saved search.

•OBJECT
Theme app extensions

If your app integrates with a Shopify theme and you plan to submit it to the Shopify App Store, you must use theme app extensions instead of Script tags. Script tags can only be used with vintage themes. Learn more.

Script tag deprecation

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

A script tag represents remote JavaScript code that is loaded into the pages of a shop's storefront or the Order status page of checkout.

•Boolean!
non-null

Whether the Shopify CDN can cache and serve the script tag. If true, then the script will be cached and served by the CDN. The cache expires 15 minutes after the script tag is successfully returned. If false, then the script will be served as is.

•DateTime!
non-null

The date and time when the script tag was created.

•ScriptTagDisplayScope!
non-null

The page or pages on the online store that the script should be included.

•ID!
non-null

A globally-unique ID.

•UnsignedInt64!
non-null

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

•URL!
non-null

The URL to the remote script.

•DateTime!
non-null

The date and time when the script tag was last updated.

•OBJECT

A dispute occurs when a buyer questions the legitimacy of a charge with their financial institution.

•MoneyV2!
non-null

The total amount disputed by the cardholder.

•Date

The deadline for evidence submission.

•Date

The date when evidence was sent. Returns null if evidence hasn't yet been sent.

•Date

The date when this dispute was resolved. Returns null if the dispute isn't yet resolved.

•ID!
non-null

A globally-unique ID.

•DateTime!
non-null

The date when this dispute was initiated.

•UnsignedInt64!
non-null

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

•Order

The order that contains the charge that's under dispute.

•ShopifyPaymentsDisputeReasonDetails!
non-null

The reason of the dispute.

•DisputeStatus!
non-null

The current state of the dispute.

•DisputeType!
non-null

Indicates if this dispute is still in the inquiry phase or has turned into a chargeback.

•OBJECT

Payouts represent the movement of money between a merchant's Shopify Payments balance and their bank account.

•BusinessEntity!
non-null

The business entity associated with the payout.

•ID!
non-null

A globally-unique ID.

•DateTime!
non-null

The exact time when the payout was issued. The payout only contains balance transactions that were available at this time.

•UnsignedInt64!
non-null

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

•MoneyV2!
non-null

The total amount and currency of the payout.

•ShopifyPaymentsPayoutStatus!
non-null

The transfer status of the payout.

•ShopifyPaymentsPayoutSummary!
non-null

The summary of the payout.

•ShopifyPaymentsPayoutTransactionType!
non-null

The direction of the payout.

•ShopifyPaymentsBankAccount
Deprecated
•MoneyV2!
non-nullDeprecated
•OBJECT

A webhook subscription is a persisted data object created by an app using the REST Admin API or GraphQL Admin API. It describes the topic that the app wants to receive, and a destination where Shopify should send webhooks of the specified topic. When an event for a given topic occurs, the webhook subscription sends a relevant payload to the destination. Learn more about the webhooks system.

•ApiVersion!
non-null

The Admin API version that Shopify uses to serialize webhook events. This value is inherited from the app that created the webhook subscription.

•DateTime!
non-null

The date and time when the webhook subscription was created.

•String

A constraint specified using search syntax that ensures only webhooks that match the specified filter are emitted. See our guide on filters for more details.

•WebhookSubscriptionFormat!
non-null

The format in which the webhook subscription should send the data.

•ID!
non-null

A globally-unique ID.

•[String!]!
non-null

The list of fields to be included in the webhook subscription. Only the fields specified will be included in the webhook payload. If null, then all fields will be included. Learn more about modifying webhook payloads.

•UnsignedInt64!
non-null

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

•[String!]!
non-null

The list of namespaces for any metafields that should be included in the webhook subscription.

•[WebhookSubscriptionMetafieldIdentifier!]!
non-null

The list of identifiers specifying metafields to include in the webhook subscription.

•WebhookSubscriptionTopic!
non-null

The type of event that triggers the webhook. The topic determines when the webhook subscription sends a webhook, as well as what class of data object that webhook contains.

•DateTime!
non-null

The date and time when the webhook subscription was updated.

•URL!
non-nullDeprecated
•WebhookSubscriptionEndpoint!
non-nullDeprecated

Was this section helpful?