The access scopes granted to the application by a merchant during installation.
activeSubscriptions•
[AppSubscription!]!
non-null
The active application subscriptions billed to the shop on a recurring basis.
allSubscriptions•
AppSubscriptionConnection!
non-null
All subscriptions created for a shop.
app•
App!
non-null
Application which is installed.
credits•
AppCreditConnection!
non-null
Credits that can be used towards future app purchases.
id•
ID!
non-null
A globally-unique ID.
launchUrl•
URL!
non-null
The URL to launch the application.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
oneTimePurchases•
AppPurchaseOneTimeConnection!
non-null
One-time purchases to a shop.
publication•
Publication
The publication associated with the installed application.
revenueAttributionRecords•
AppRevenueAttributionRecordConnection!
non-null
The records that track the externally-captured revenue for the app. The records are used for revenue attribution purposes.
uninstallUrl•
URL
The URL to uninstall the application.
channel•
Channel
Deprecated
Channel associated with the installed application. Use publication instead.
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
subscriptions•
[AppSubscription!]!
non-nullDeprecated
Subscriptions charge to a shop on a recurring basis. Use activeSubscriptions instead.
Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories.
Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections.
Collections can also be created for a custom group of products. These are called custom or manual collections.
A single-line, text-only description of the collection, stripped of any HTML tags and formatting that were included in the description.
descriptionHtml•
HTML!
non-null
The description of the collection, including any HTML tags and formatting. This content is typically displayed to customers, such as on an online store, depending on the theme.
feedback•
ResourceFeedback
Information about the collection that's provided through resource feedback.
handle•
String!
non-null
A unique string that identifies the collection. If a handle isn't specified when a collection is created, it's automatically generated from the collection's original title, and typically includes words from the title separated by hyphens. For example, a collection that was created with the title Summer Catalog 2022 might have the handle summer-catalog-2022.
If the title is changed, the handle doesn't automatically change.
The handle can be used in themes by the Liquid templating language to refer to the collection, but using the ID is preferred because it never changes.
hasProduct•
Boolean!
non-null
Whether the collection includes the specified product.
id•
ID!
non-null
A globally-unique ID.
image•
Image
The image associated with the collection.
legacyResourceId•
UnsignedInt64!
non-null
The ID of the corresponding resource in the REST Admin API.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
products•
ProductConnection!
non-null
The products that are included in the collection.
productsCount•
Count
The number of products in the collection.
publishedOnCurrentPublication•
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.
publishedOnPublication•
Boolean!
non-null
Whether the resource is published to a specified
publication.
resourcePublications•
ResourcePublicationConnection!
non-null
The list of resources that are published to a
publication.
The list of resources that are either published or staged to be published to a
publication.
ruleSet•
CollectionRuleSet
For a smart (automated) collection, specifies the rules that determine whether a product is included.
seo•
SEO!
non-null
If the default SEO fields for page title and description have been modified, contains the modified information.
sortOrder•
CollectionSortOrder!
non-null
The order in which the products in the collection are displayed by default in the Shopify admin and in sales channels, such as an online store.
templateSuffix•
String
The suffix of the Liquid template being used to show the collection in an online store. For example, if the value is custom, then the collection is using the collection.custom.liquid template. If the value is null, then the collection is using the default collection.liquid template.
title•
String!
non-null
The name of the collection. It's displayed in the Shopify admin and is typically displayed in sales channels, such as an online store.
translations•
[Translation!]!
non-null
The published translations associated with the resource.
unpublishedPublications•
PublicationConnection!
non-null
The list of publications
that the resource isn't published to.
updatedAt•
DateTime!
non-null
The date and time (ISO 8601 format) when the collection was last modified.
metafieldDefinitions•
MetafieldDefinitionConnection!
non-nullDeprecated
List of metafield definitions. This field will be removed in a future version. Use the root metafieldDefinitions field instead.
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
publicationCount•
Int!
non-nullDeprecated
The number of
publications
that a resource is published to, without
feedback errors. Use resourcePublicationsCount instead.
publications•
CollectionPublicationConnection!
non-nullDeprecated
The channels where the collection is published. Use resourcePublications instead.
publishedOnChannel•
Boolean!
non-nullDeprecated
Whether the resource is published to a specific channel. Use publishedOnPublication instead.
publishedOnCurrentChannel•
Boolean!
non-nullDeprecated
Whether the resource is published to a
channel.
For example, the resource might be published to the online store channel. Use publishedOnCurrentPublication instead.
storefrontId•
StorefrontID!
non-nullDeprecated
The Storefront GraphQL API ID of the Collection.
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. Use id instead.
unpublishedChannels•
ChannelConnection!
non-nullDeprecated
The list of channels that the resource is not published to. Use unpublishedPublications instead.
Represents information about a company which is also a customer of the shop.
contactRoles•
CompanyContactRoleConnection!
non-null
The list of roles for the company contacts.
contacts•
CompanyContactConnection!
non-null
The list of contacts in the company.
contactsCount•
Count
The number of contacts that belong to the company.
createdAt•
DateTime!
non-null
The date and time (ISO 8601 format) at which the company was created in Shopify.
customerSince•
DateTime!
non-null
The date and time (ISO 8601 format) at which the company became the customer.
defaultCursor•
String!
non-null
A default cursor that returns the single next record, sorted ascending by ID.
defaultRole•
CompanyContactRole
The role proposed by default for a contact at the company.
draftOrders•
DraftOrderConnection!
non-null
The list of the company's draft orders.
events•
EventConnection!
non-null
The paginated list of events associated with the host subject.
externalId•
String
A unique externally-supplied ID for the company.
hasTimelineComment•
Boolean!
non-null
Whether the merchant added a timeline comment to the company.
id•
ID!
non-null
A globally-unique ID.
lifetimeDuration•
String!
non-null
The lifetime duration of the company, since it became a customer of the shop. Examples: 2 days, 3 months, 1 year.
locations•
CompanyLocationConnection!
non-null
The list of locations in the company.
locationsCount•
Count
The number of locations that belong to the company.
mainContact•
CompanyContact
The main contact for the company.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
name•
String!
non-null
The name of the company.
note•
String
A note about the company.
orders•
OrderConnection!
non-null
The list of the company's orders.
ordersCount•
Count
The total number of orders placed for this company, across all its locations.
totalSpent•
MoneyV2!
non-null
The total amount spent by this company, across all its locations.
updatedAt•
DateTime!
non-null
The date and time (ISO 8601 format) at which the company was last modified.
contactCount•
Int!
non-nullDeprecated
The number of contacts that belong to the company. Use contactsCount instead.
metafieldDefinitions•
MetafieldDefinitionConnection!
non-nullDeprecated
List of metafield definitions. This field will be removed in a future version. Use the root metafieldDefinitions field instead.
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
A location or branch of a company that's a customer of the shop. Configuration of B2B relationship, for example prices lists and checkout settings, may be done for a location.
billingAddress•
CompanyAddress
The address used as billing address for the location.
buyerExperienceConfiguration•
BuyerExperienceConfiguration
The configuration for the buyer's B2B checkout.
catalogs•
CatalogConnection!
non-null
The list of catalogs associated with the company location.
catalogsCount•
Count
The number of catalogs associated with the company location. Limited to a maximum of 10000.
company•
Company!
non-null
The company that the company location belongs to.
createdAt•
DateTime!
non-null
The date and time (ISO 8601 format) at which the company location was created in Shopify.
currency•
CurrencyCode!
non-null
The location's currency based on the shipping address. If the shipping address is empty, then the value is the shop's primary market.
defaultCursor•
String!
non-null
A default cursor that returns the single next record, sorted ascending by ID.
draftOrders•
DraftOrderConnection!
non-null
The list of draft orders for the company location.
events•
EventConnection!
non-null
The paginated list of events associated with the host subject.
externalId•
String
A unique externally-supplied ID for the company location.
hasTimelineComment•
Boolean!
non-null
Whether the merchant added a timeline comment to the company location.
id•
ID!
non-null
A globally-unique ID.
inCatalog•
Boolean!
non-null
Whether the company location is assigned a specific catalog.
locale•
String
The preferred locale of the company location.
market•
Market!
non-null
The market that includes the location's shipping address. If the shipping address is empty, then the value is the shop's primary market.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
name•
String!
non-null
The name of the company location.
note•
String
A note about the company location.
orders•
OrderConnection!
non-null
The list of orders for the company location.
ordersCount•
Count
The total number of orders placed for the location.
phone•
String
The phone number of the company location.
roleAssignments•
CompanyContactRoleAssignmentConnection!
non-null
The list of roles assigned to the company location.
shippingAddress•
CompanyAddress
The address used as shipping address for the location.
totalSpent•
MoneyV2!
non-null
The total amount spent by the location.
updatedAt•
DateTime!
non-null
The date and time (ISO 8601 format) at which the company location was last modified.
metafieldDefinitions•
MetafieldDefinitionConnection!
non-nullDeprecated
List of metafield definitions. This field will be removed in a future version. Use the root metafieldDefinitions field instead.
orderCount•
Int!
non-nullDeprecated
The total number of orders placed for the location. Use ordersCount instead.
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
taxExemptions•
[TaxExemption!]!
non-nullDeprecated
The list of tax exemptions applied to the location. Use taxSettings instead.
taxRegistrationId•
String
Deprecated
The tax registration ID for the company location. Use taxSettings instead.
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•
[MailingAddress!]!
non-null
A list of addresses associated with the customer.
amountSpent•
MoneyV2!
non-null
The total amount that the customer has spent on orders in their lifetime.
canDelete•
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.
companyContactProfiles•
[CompanyContact!]!
non-null
A list of the customer's company contact profiles.
createdAt•
DateTime!
non-null
The date and time when the customer was added to the store.
dataSaleOptOut•
Boolean!
non-null
Whether the customer has opted out of having their data sold.
defaultAddress•
MailingAddress
The default address associated with the customer.
displayName•
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.
events•
EventConnection!
non-null
A list of events associated with the customer.
firstName•
String
The customer's first name.
id•
ID!
non-null
A globally-unique ID.
image•
Image!
non-null
The image associated with the customer.
lastName•
String
The customer's last name.
lastOrder•
Order
The customer's last order.
legacyResourceId•
UnsignedInt64!
non-null
The ID of the corresponding resource in the REST Admin API.
lifetimeDuration•
String!
non-null
The amount of time since the customer was first added to the store.
Example: 'about 12 years'.
locale•
String!
non-null
The customer's locale.
market•
Market
The market that includes the customer’s default address.
mergeable•
CustomerMergeable!
non-null
Whether the customer can be merged with another customer.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
multipassIdentifier•
String
A unique identifier for the customer that's used with Multipass login.
note•
String
A note about the customer.
numberOfOrders•
UnsignedInt64!
non-null
The number of orders that the customer has made at the store in their lifetime.
orders•
OrderConnection!
non-null
A list of the customer's orders.
paymentMethods•
CustomerPaymentMethodConnection!
non-null
A list of the customer's payment methods.
productSubscriberStatus•
CustomerProductSubscriberStatus!
non-null
Possible subscriber states of a customer defined by their subscription contracts.
state•
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.
statistics•
CustomerStatistics!
non-null
The statistics for a given customer.
storeCreditAccounts•
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.
subscriptionContracts•
SubscriptionContractConnection!
non-null
A list of the customer's subscription contracts.
tags•
[String!]!
non-null
A comma separated list of tags that have been added to the customer.
taxExempt•
Boolean!
non-null
Whether the customer is exempt from being charged taxes on their orders.
taxExemptions•
[TaxExemption!]!
non-null
The list of tax exemptions applied to the customer.
updatedAt•
DateTime!
non-null
The date and time when the customer was last updated.
verifiedEmail•
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.
email•
String
Deprecated
The customer's email address. Use defaultEmailAddress.emailAddress instead.
emailMarketingConsent•
CustomerEmailMarketingConsentState
Deprecated
The current email marketing state for the customer.
If the customer doesn't have an email address, then this property is null. Use defaultEmailAddress.marketingState, defaultEmailAddress.marketingOptInLevel, defaultEmailAddress.marketingUpdatedAt, and defaultEmailAddress.sourceLocation instead.
hasTimelineComment•
Boolean!
non-nullDeprecated
Whether the merchant has added timeline comments about the customer on the customer's page. To query for comments on the timeline, use the events connection and a query argument containing verb:comment, or look for a CommentEvent in the __typename of events.
metafieldDefinitions•
MetafieldDefinitionConnection!
non-nullDeprecated
List of metafield definitions. This field will be removed in a future version. Use the root metafieldDefinitions field instead.
phone•
String
Deprecated
The customer's phone number. Use defaultPhoneNumber.phoneNumber instead.
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
smsMarketingConsent•
CustomerSmsMarketingConsentState
Deprecated
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. Use defaultPhoneNumber.marketingState, defaultPhoneNumber.marketingOptInLevel, defaultPhoneNumber.marketingUpdatedAt, defaultPhoneNumber.marketingCollectedFrom, and defaultPhoneNumber.sourceLocation instead.
unsubscribeUrl•
URL!
non-nullDeprecated
The URL to unsubscribe the customer from the mailing list. Use defaultEmailAddress.marketingUnsubscribeUrl instead.
validEmailAddress•
Boolean!
non-nullDeprecated
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. Use defaultEmailAddress.validFormat instead.
The error history on the most recent version of the delivery customization.
functionId•
String!
non-null
The ID of the Shopify Function implementing the delivery customization.
id•
ID!
non-null
A globally-unique ID.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
shopifyFunction•
ShopifyFunction!
non-null
The Shopify Function implementing the delivery customization.
title•
String!
non-null
The title of the delivery customization.
metafieldDefinitions•
MetafieldDefinitionConnection!
non-nullDeprecated
List of metafield definitions. This field will be removed in a future version. Use the root metafieldDefinitions field instead.
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
The DiscountAutomaticNode object enables you to manage automatic discounts that are applied when an order meets specific criteria. You can create amount off, free shipping, or buy X get Y automatic discounts. For example, you can offer customers a free shipping discount that applies when conditions are met. Or you can offer customers a buy X get Y discount that's automatically applied when customers spend a specified amount of money, or a specified quantity of products.
Learn more about working with Shopify's discount model,
including related queries, mutations, limitations, and considerations.
automaticDiscount•
DiscountAutomatic!
non-null
A discount that's applied automatically when an order meets specific criteria. Learn more about automatic discounts.
events•
EventConnection!
non-null
The paginated list of events associated with the host subject.
id•
ID!
non-null
A globally-unique ID.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
metafieldDefinitions•
MetafieldDefinitionConnection!
non-nullDeprecated
List of metafield definitions. This field will be removed in a future version. Use the root metafieldDefinitions field instead.
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
The DiscountCodeNode object enables you to manage code discounts that are applied when customers enter a code at checkout. For example, you can offer discounts where customers have to enter a code to redeem an amount off discount on products, variants, or collections in a store. Or, you can offer discounts where customers have to enter a code to get free shipping. Merchants can create and share discount codes individually with customers.
Learn more about working with Shopify's discount model,
including related queries, mutations, limitations, and considerations.
codeDiscount•
DiscountCode!
non-null
The underlying code discount object.
events•
EventConnection!
non-null
The paginated list of events associated with the host subject.
id•
ID!
non-null
A globally-unique ID.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
metafieldDefinitions•
MetafieldDefinitionConnection!
non-nullDeprecated
List of metafield definitions. This field will be removed in a future version. Use the root metafieldDefinitions field instead.
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
The DiscountNode object enables you to manage discounts, which are applied at checkout or on a cart.
Discounts are a way for merchants to promote sales and special offers, or as customer loyalty rewards. Discounts can apply to orders, products, or shipping, and can be either automatic or code-based. For example, you can offer customers a buy X get Y discount that's automatically applied when purchases meet specific criteria. Or, you can offer discounts where customers have to enter a code to redeem an amount off discount on products, variants, or collections in a store.
Learn more about working with Shopify's discount model,
including related mutations, limitations, and considerations.
The paginated list of events associated with the host subject.
id•
ID!
non-null
A globally-unique ID.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
metafieldDefinitions•
MetafieldDefinitionConnection!
non-nullDeprecated
List of metafield definitions. This field will be removed in a future version. Use the root metafieldDefinitions field instead.
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
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•
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.
allowDiscountCodesInCheckout•
Boolean!
non-null
Whether discount codes are allowed during checkout of this draft order.
appliedDiscount•
DraftOrderAppliedDiscount
The custom order-level discount applied.
billingAddress•
MailingAddress
The billing address of the customer.
billingAddressMatchesShippingAddress•
Boolean!
non-null
Whether the billing address matches the shipping address.
completedAt•
DateTime
The date and time when the draft order was converted to a new order,
and had it's status changed to Completed.
createdAt•
DateTime!
non-null
The date and time when the draft order was created in Shopify.
currencyCode•
CurrencyCode!
non-null
The shop currency used for calculation.
customAttributes•
[Attribute!]!
non-null
The custom information added to the draft order on behalf of the customer.
customer•
Customer
The customer who will be sent an invoice.
defaultCursor•
String!
non-null
A default cursor that returns the single next record, sorted ascending by ID.
discountCodes•
[String!]!
non-null
All discount codes applied.
email•
String
The email address of the customer, which is used to send notifications.
events•
EventConnection!
non-null
The list of events associated with the draft order.
hasTimelineComment•
Boolean!
non-null
Whether the merchant has added timeline comments to the draft order.
id•
ID!
non-null
A globally-unique ID.
invoiceEmailTemplateSubject•
String!
non-null
The subject defined for the draft invoice email template.
invoiceSentAt•
DateTime
The date and time when the invoice was last emailed to the customer.
invoiceUrl•
URL
The link to the checkout, which is sent to the customer in the invoice email.
legacyResourceId•
UnsignedInt64!
non-null
The ID of the corresponding resource in the REST Admin API.
lineItems•
DraftOrderLineItemConnection!
non-null
The list of the line items in the draft order.
lineItemsSubtotalPrice•
MoneyBag!
non-null
A subtotal of the line items and corresponding discounts,
excluding include shipping charges, shipping discounts, taxes, or order discounts.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
name•
String!
non-null
The identifier for the draft order, which is unique within the store. For example, #D1223.
note2•
String
The text from an optional note attached to the draft order.
order•
Order
The order that was created from the draft order.
paymentTerms•
PaymentTerms
The associated payment terms for this draft order.
phone•
String
The assigned phone number.
platformDiscounts•
[DraftOrderPlatformDiscount!]!
non-null
The list of platform discounts applied.
poNumber•
String
The purchase order number.
presentmentCurrencyCode•
CurrencyCode!
non-null
The payment currency used for calculation.
purchasingEntity•
PurchasingEntity
The purchasing entity.
ready•
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.
reserveInventoryUntil•
DateTime
The time after which inventory will automatically be restocked.
shippingAddress•
MailingAddress
The shipping address of the customer.
shippingLine•
ShippingLine
The line item containing the shipping information and costs.
status•
DraftOrderStatus!
non-null
The status of the draft order.
subtotalPriceSet•
MoneyBag!
non-null
The subtotal, of the line items and their discounts, excluding shipping charges, shipping discounts, and taxes.
tags•
[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.
taxesIncluded•
Boolean!
non-null
Whether the line item prices include taxes.
taxExempt•
Boolean!
non-null
Whether the draft order is tax exempt.
taxLines•
[TaxLine!]!
non-null
The list of of taxes lines charged for each line item and shipping line.
totalDiscountsSet•
MoneyBag!
non-null
Total discounts.
totalLineItemsPriceSet•
MoneyBag!
non-null
Total price of line items.
totalPriceSet•
MoneyBag!
non-null
The total price, includes taxes, shipping charges, and discounts.
totalQuantityOfLineItems•
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.
totalShippingPriceSet•
MoneyBag!
non-null
The total shipping price.
totalTaxSet•
MoneyBag!
non-null
The total tax.
totalWeight•
UnsignedInt64!
non-null
The total weight in grams of the draft order.
transformerFingerprint•
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.
updatedAt•
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.
visibleToCustomer•
Boolean!
non-null
Whether the draft order will be visible to the customer on the self-serve portal.
warnings•
[DraftOrderWarning!]!
non-null
The list of warnings raised while calculating.
localizationExtensions•
LocalizationExtensionConnection!
non-nullDeprecated
List of localization extensions for the resource. This connection will be removed in a future version. Use localizedFields instead.
marketName•
String!
non-nullDeprecated
The name of the selected market. This field is now incompatible with Markets.
marketRegionCountryCode•
CountryCode!
non-nullDeprecated
The selected country code that determines the pricing. This field is now incompatible with Markets.
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
subtotalPrice•
Money!
non-nullDeprecated
The subtotal, in shop currency, of the line items and their discounts, excluding shipping charges, shipping discounts, and taxes. Use subtotalPriceSet instead.
totalPrice•
Money!
non-nullDeprecated
The total price, in shop currency, includes taxes, shipping charges, and discounts. Use totalPriceSet instead.
totalShippingPrice•
Money!
non-nullDeprecated
The total shipping price in shop currency. Use totalShippingPriceSet instead.
totalTax•
Money!
non-nullDeprecated
The total tax in shop currency. Use totalTaxSet instead.
The FulfillmentOrder object represents either an item or a group of items in an
Order
that are expected to be fulfilled from the same location.
There can be more than one fulfillment order for an
order
at a given location.
Fulfillment orders represent the work which is intended to be done in relation to an order.
When fulfillment has started for one or more line items, a
Fulfillment
is created by a merchant or third party to represent the ongoing or completed work of fulfillment.
All fulfillment orders related to a given order can be retrieved with the
Order.fulfillmentOrders
connection.
API access scopes
govern which fulfillments orders are returned to clients.
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.
Fulfillment orders assigned to the app for fulfillment
Fulfillment service apps can retrieve the fulfillment orders which have been assigned to their locations with the
assignedFulfillmentOrders
connection.
Use the assignmentStatus argument to control whether all assigned fulfillment orders
should be returned or only those where a merchant has sent a
fulfillment request
and it has yet to be responded to.
The API client must be granted the read_assigned_fulfillment_orders access scope to access
the assigned fulfillment orders.
All fulfillment orders
Apps can retrieve all fulfillment orders with the
fulfillmentOrders
query. This query returns all assigned, merchant-managed, and third-party fulfillment orders on the shop,
which are accessible to the app according to the
fulfillment order access scopes it was granted with.
The lifecycle of a fulfillment order
Fulfillment Order Creation
After an order is created, a background worker performs the order routing process which determines
which locations will be responsible for fulfilling the purchased items.
Once the order routing process is complete, one or more fulfillment orders will be created
and assigned to these locations. It is not possible to manually create fulfillment orders.
Once a fulfillment order has been created, it will have one of two different lifecycles depending on
the type of location which the fulfillment order is assigned to.
The lifecycle of a fulfillment order at a merchant managed location
Fulfillment orders are completed by creating
fulfillments.
Fulfillments represents the work done.
For digital products a merchant or an order management app would create a fulfilment once the digital asset
has been provisioned.
For example, in the case of a digital gift card, a merchant would to do this once
the gift card has been activated - before the email has been shipped.
On the other hand, for a traditional shipped order,
a merchant or an order management app would create a fulfillment after picking and packing the items relating
to a fulfillment order, but before the courier has collected the goods.
The lifecycle of a fulfillment order at a location which is managed by a fulfillment service
For fulfillment orders which are assigned to a location that is managed by a fulfillment service,
a merchant or an Order Management App can
send a fulfillment request
to the fulfillment service which operates the location to request that they fulfill the associated items.
A fulfillment service has the option to
accept
or reject
this fulfillment request.
Once the fulfillment service has accepted the request, the request can no longer be cancelled by the merchant
or order management app and instead a
cancellation request must be submitted
to the fulfillment service.
Once a fulfillment service accepts a fulfillment request,
then after they are ready to pack items and send them for delivery, they create fulfillments with the
fulfillmentCreate
mutation.
They can provide tracking information right away or create fulfillments without it and then
update the tracking information for fulfillments with the
fulfillmentTrackingInfoUpdate
mutation.
Fulfillment orders are governed by the following API access scopes:
The read_merchant_managed_fulfillment_orders and
write_merchant_managed_fulfillment_orders access scopes
grant access to fulfillment orders assigned to merchant-managed locations.
The read_assigned_fulfillment_orders and write_assigned_fulfillment_orders
access scopes are intended for fulfillment services.
These scopes grant access to fulfillment orders assigned to locations that are being managed
by fulfillment services.
The read_third_party_fulfillment_orders and write_third_party_fulfillment_orders
access scopes grant access to fulfillment orders
assigned to locations managed by other fulfillment services.
Fulfillment service app access scopes
Usually, fulfillment services have the write_assigned_fulfillment_orders access scope
and don't have the *_third_party_fulfillment_orders
or *_merchant_managed_fulfillment_orders access scopes.
The app will only have access to the fulfillment orders assigned to their location
(or multiple locations if the app registers multiple fulfillment services on the shop).
The app will not have access to fulfillment orders assigned to merchant-managed locations
or locations owned by other fulfillment service apps.
Order management app access scopes
Order management apps will usually request write_merchant_managed_fulfillment_orders and
write_third_party_fulfillment_orders access scopes. This will allow them to manage all fulfillment orders
on behalf of a merchant.
If an app combines the functions of an order management app and a fulfillment service,
then the app should request all
access scopes to manage all assigned and all unassigned fulfillment orders.
Notifications about fulfillment orders
Fulfillment services are required to
register
a self-hosted callback URL which has a number of uses. One of these uses is that this callback URL will be notified
whenever a merchant submits a fulfillment or cancellation request.
Both merchants and apps can
subscribe
to the
fulfillment order webhooks
to be notified whenever fulfillment order related domain events occur.
The fulfillment order's assigned location. This is the location where the fulfillment is expected to happen.
The fulfillment order's assigned location might change in the following cases:
The fulfillment order has been entirely moved to a new location. For example, the fulfillmentOrderMove mutation has been called, and you see the original fulfillment order in the movedFulfillmentOrder field within the mutation's response.
Work on the fulfillment order hasn't yet begun, which means that the fulfillment order has the
OPEN,
SCHEDULED, or
ON_HOLD
status, and the shop's location properties might be undergoing edits (for example, in the Shopify admin).
channelId•
ID
ID of the channel that created the order.
createdAt•
DateTime!
non-null
Date and time when the fulfillment order was created.
deliveryMethod•
DeliveryMethod
Delivery method of this fulfillment order.
destination•
FulfillmentOrderDestination
The destination where the items should be sent.
fulfillAt•
DateTime
The date and time at which the fulfillment order will be fulfillable. When this date and time is reached, the scheduled fulfillment order is automatically transitioned to open. For example, the fulfill_at date for a subscription order might be the 1st of each month, a pre-order fulfill_at date would be nil, and a standard order fulfill_at date would be the order creation date.
fulfillBy•
DateTime
The latest date and time by which all items in the fulfillment order need to be fulfilled.
fulfillmentHolds•
[FulfillmentHold!]!
non-null
The fulfillment holds applied on the fulfillment order.
fulfillmentOrdersForMerge•
FulfillmentOrderConnection!
non-null
Fulfillment orders eligible for merging with the given fulfillment order.
fulfillments•
FulfillmentConnection!
non-null
A list of fulfillments for the fulfillment order.
id•
ID!
non-null
A globally-unique ID.
internationalDuties•
FulfillmentOrderInternationalDuties
The duties delivery method of this fulfillment order.
lineItems•
FulfillmentOrderLineItemConnection!
non-null
A list of the fulfillment order's line items.
locationsForMove•
FulfillmentOrderLocationForMoveConnection!
non-null
A list of locations that the fulfillment order can potentially move to.
merchantRequests•
FulfillmentOrderMerchantRequestConnection!
non-null
A list of requests sent by the merchant or an order management app to the fulfillment service for the fulfillment order.
order•
Order!
non-null
The order that's associated with the fulfillment order.
orderId•
ID!
non-null
ID of the order that's associated with the fulfillment order.
orderName•
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.
orderProcessedAt•
DateTime!
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.
requestStatus•
FulfillmentOrderRequestStatus!
non-null
The request status of the fulfillment order.
status•
FulfillmentOrderStatus!
non-null
The status of the fulfillment order.
supportedActions•
[FulfillmentOrderSupportedAction!]!
non-null
The actions that can be performed on this fulfillment order.
updatedAt•
DateTime!
non-null
The date and time when the fulfillment order was last updated.
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.
activatable•
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.
address•
LocationAddress!
non-null
The address of this location.
addressVerified•
Boolean!
non-null
Whether the location address has been verified.
createdAt•
DateTime!
non-null
The date and time (ISO 8601 format) that the location was added to a shop.
deactivatable•
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.
deactivatedAt•
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".
deletable•
Boolean!
non-null
Whether this location can be deleted.
fulfillmentService•
FulfillmentService
Name of the service provider that fulfills from this location.
fulfillsOnlineOrders•
Boolean!
non-null
Whether this location can fulfill online orders.
hasActiveInventory•
Boolean!
non-null
Whether this location has active inventory.
hasUnfulfilledOrders•
Boolean!
non-null
Whether this location has orders that need to be fulfilled.
id•
ID!
non-null
A globally-unique ID.
inventoryLevel•
InventoryLevel
The quantities of an inventory item at this location.
inventoryLevels•
InventoryLevelConnection!
non-null
A list of the quantities of the inventory items that can be stocked at this location.
isActive•
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.
isFulfillmentService•
Boolean!
non-null
Whether this location is a fulfillment service.
legacyResourceId•
UnsignedInt64!
non-null
The ID of the corresponding resource in the REST Admin API.
localPickupSettingsV2•
DeliveryLocalPickupSettings
Local pickup settings for the location.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
name•
String!
non-null
The name of the location.
shipsInventory•
Boolean!
non-null
Whether this location is used for calculating shipping rates. In multi-origin shipping mode, this flag is ignored.
suggestedAddresses•
[LocationSuggestedAddress!]!
non-null
List of suggested addresses for this location (empty if none).
updatedAt•
DateTime!
non-null
The date and time (ISO 8601 format) when the location was last updated.
isPrimary•
Boolean!
non-nullDeprecated
Whether the location is your primary location for shipping inventory. The concept of a primary location is deprecated, shipsInventory can be used to get a fallback location
metafieldDefinitions•
MetafieldDefinitionConnection!
non-nullDeprecated
List of metafield definitions. This field will be removed in a future version. Use the root metafieldDefinitions field instead.
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
A short, human-readable unique identifier for the market. This is changeable by the merchant.
id•
ID!
non-null
A globally-unique ID.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
name•
String!
non-null
The name of the market. Not shown to customers.
webPresences•
MarketWebPresenceConnection!
non-null
The market’s web presences, which defines its SEO strategy. This can be a different domain,
subdomain, or subfolders of the primary domain. Each web presence comprises one or more
language variants. If a market doesn't have any web presences, then the market is accessible on the
primary market's domains using country
selectors.
enabled•
Boolean!
non-nullDeprecated
Whether the market is enabled to receive visitors and sales. Note: Regions in inactive
markets can't be selected on the storefront or in checkout. Use status instead.
metafieldDefinitions•
MetafieldDefinitionConnection!
non-nullDeprecated
List of metafield definitions. This field will be removed in a future version. Use the root metafieldDefinitions field instead.
priceList•
PriceList
Deprecated
The market’s price list, which specifies a percentage-based price adjustment as well as
fixed price overrides for specific variants.
Markets with multiple catalogs can have multiple price lists. To query which price lists are connected to
a market, please query for price lists through the catalogs connection. Use catalogs instead.
primary•
Boolean!
non-nullDeprecated
Whether the market is the shop’s primary market. This field is deprecated and will be removed in the future.
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
regions•
MarketRegionConnection!
non-nullDeprecated
The regions that comprise the market. This field is deprecated and will be removed in the future. Use conditions.regionConditions instead.
webPresence•
MarketWebPresence
Deprecated
The market’s web presence, which defines its SEO strategy. This can be a different domain,
subdomain, or subfolders of the primary domain. Each web presence comprises one or more
language variants. If a market doesn't have its own web presence, then the market is accessible on the
primary market's domains using country
selectors.
If it's the primary market and it has multiple web presences, then this field will return the primary domain web presence. Use webPresences instead.
A default cursor that returns the single next record, sorted ascending by ID.
id•
ID!
non-null
A globally-unique ID.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
translations•
[Translation!]!
non-null
The published translations associated with the resource.
metafieldDefinitions•
MetafieldDefinitionConnection!
non-nullDeprecated
List of metafield definitions. This field will be removed in a future version. Use the root metafieldDefinitions field instead.
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
Shopify stores come with a built-in blogging engine, allowing a shop to have one or more blogs. Blogs are meant
to be used as a type of magazine or newsletter for the shop, with content that changes over time.
id•
ID!
non-null
A globally-unique ID.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
translations•
[Translation!]!
non-null
The published translations associated with the resource.
metafieldDefinitions•
MetafieldDefinitionConnection!
non-nullDeprecated
List of metafield definitions. This field will be removed in a future version. Use the root metafieldDefinitions field instead.
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
A default cursor that returns the single next record, sorted ascending by ID.
id•
ID!
non-null
A globally-unique ID.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
translations•
[Translation!]!
non-null
The published translations associated with the resource.
metafieldDefinitions•
MetafieldDefinitionConnection!
non-nullDeprecated
List of metafield definitions. This field will be removed in a future version. Use the root metafieldDefinitions field instead.
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
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•
[AdditionalFee!]!
non-null
A list of additional fees applied to the order.
agreements•
SalesAgreementConnection!
non-null
A list of sales agreements associated with the order.
alerts•
[ResourceAlert!]!
non-null
A list of messages that appear on the order page in the Shopify admin.
app•
OrderApp
The application that created the order.
billingAddress•
MailingAddress
The billing address of the customer.
billingAddressMatchesShippingAddress•
Boolean!
non-null
Whether the billing address matches the shipping address.
cancellation•
OrderCancellation
Cancellation details for the order.
cancelledAt•
DateTime
The date and time when the order was canceled.
Returns null if the order wasn't canceled.
cancelReason•
OrderCancelReason
The reason provided when the order was canceled.
Returns null if the order wasn't canceled.
canMarkAsPaid•
Boolean!
non-null
Whether the order can be manually marked as paid.
canNotifyCustomer•
Boolean!
non-null
Whether a customer email exists for the order.
capturable•
Boolean!
non-null
Whether payment for the order can be captured.
cartDiscountAmountSet•
MoneyBag
The total order-level discount amount, before returns, in shop and presentment currencies.
channelInformation•
ChannelInformation
Details about the channel that created the order.
clientIp•
String
The IP address of the API client that created the order.
closed•
Boolean!
non-null
Whether the order is closed.
closedAt•
DateTime
The date and time when the order was closed.
Returns null if the order isn't closed.
confirmationNumber•
String
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•
Boolean!
non-null
Whether inventory has been reserved for the order.
createdAt•
DateTime!
non-null
Date and time when the order was created in Shopify.
currencyCode•
CurrencyCode!
non-null
The shop currency when the order was placed.
currentCartDiscountAmountSet•
MoneyBag!
non-null
The current order-level discount amount after all order updates, in shop and presentment currencies.
currentSubtotalLineItemsQuantity•
Int!
non-null
The sum of the quantities for all line items that contribute to the order's current subtotal price.
currentSubtotalPriceSet•
MoneyBag!
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•
[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.
currentTotalAdditionalFeesSet•
MoneyBag
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•
MoneyBag!
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•
MoneyBag
The total amount of duties after returns, in shop and presentment currencies.
Returns null if duties aren't applicable.
currentTotalPriceSet•
MoneyBag!
non-null
The total price of the order, after returns, in shop and presentment currencies.
This includes taxes and discounts.
currentTotalTaxSet•
MoneyBag!
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•
UnsignedInt64!
non-null
The total weight of the order after returns, in grams.
customAttributes•
[Attribute!]!
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•
Customer
The customer that placed the order.
customerAcceptsMarketing•
Boolean!
non-null
Whether the customer agreed to receive marketing materials.
customerJourneySummary•
CustomerJourneySummary
The customer's visits and interactions with the online store before placing the order.
customerLocale•
String
A two-letter or three-letter language code, optionally followed by a region modifier.
discountApplications•
DiscountApplicationConnection!
non-null
A list of discounts that are applied to the order, not including order edits and refunds.
discountCode•
String
The discount code used for the order.
discountCodes•
[String!]!
non-null
The discount codes used for the order.
displayAddress•
MailingAddress
The primary address of the customer.
Returns null if neither the shipping address nor the billing address was provided.
displayFinancialStatus•
OrderDisplayFinancialStatus
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•
OrderDisplayFulfillmentStatus!
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.
disputes•
[OrderDisputeSummary!]!
non-null
A list of the disputes associated with the order.
edited•
Boolean!
non-null
Whether the order has had any edits applied.
email•
String
The email address associated with the customer.
estimatedTaxes•
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.
events•
EventConnection!
non-null
A list of events associated with the order.
fulfillable•
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.
fulfillmentOrders•
FulfillmentOrderConnection!
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•
[Fulfillment!]!
non-null
List of shipments for the order.
fulfillmentsCount•
Count
The count of fulfillments including the cancelled fulfillments.
fullyPaid•
Boolean!
non-null
Whether the order has been paid in full.
hasTimelineComment•
Boolean!
non-null
Whether the merchant added a timeline comment to the order.
id•
ID!
non-null
A globally-unique ID.
legacyResourceId•
UnsignedInt64!
non-null
The ID of the corresponding resource in the REST Admin API.
lineItems•
LineItemConnection!
non-null
A list of the order's line items.
merchantEditable•
Boolean!
non-null
Whether the order can be edited by the merchant. For example, canceled orders can’t be edited.
merchantEditableErrors•
[String!]!
non-null
A list of reasons why the order can't be edited. For example, "Canceled orders can't be edited".
merchantOfRecordApp•
OrderApp
The application acting as the Merchant of Record for the order.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
name•
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.
netPaymentSet•
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.
nonFulfillableLineItems•
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.
note•
String
The contents of the note associated with the order.
originalTotalAdditionalFeesSet•
MoneyBag
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•
MoneyBag
The total amount of duties at the time of order creation, in shop and presentment currencies.
Returns null if duties aren't applicable.
originalTotalPriceSet•
MoneyBag!
non-null
The total price of the order at the time of order creation, in shop and presentment currencies.
paymentCollectionDetails•
OrderPaymentCollectionDetails!
non-null
The payment collection details for the order.
paymentGatewayNames•
[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•
PaymentTerms
The payment terms associated with the order.
phone•
String
The phone number associated with the customer.
poNumber•
String
The PO number associated with the order.
presentmentCurrencyCode•
CurrencyCode!
non-null
The payment CurrencyCode of the customer for the order.
processedAt•
DateTime!
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•
Publication
The publication that the order was created from.
purchasingEntity•
PurchasingEntity
The purchasing entity for the order.
refundable•
Boolean!
non-null
Whether the order can be refunded.
refundDiscrepancySet•
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.
refunds•
[Refund!]!
non-null
A list of refunds that have been applied to the order.
registeredSourceUrl•
URL
The URL of the source that the order originated from, if found in the domain registry.
requiresShipping•
Boolean!
non-null
Whether the order has shipping lines or at least one line item on the order that requires shipping.
restockable•
Boolean!
non-null
Whether any line item on the order can be restocked.
retailLocation•
Location
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•
ReturnConnection!
non-null
A list of returns for the order.
returnStatus•
OrderReturnStatus!
non-null
The order's aggregated return status for display purposes.
risk•
OrderRiskSummary!
non-null
The risk characteristics for the order.
shippingAddress•
MailingAddress
The mailing address of the customer.
shippingLine•
ShippingLine
A summary of all shipping costs on the order.
shippingLines•
ShippingLineConnection!
non-null
A list of the order's shipping lines.
shopifyProtect•
ShopifyProtectOrderSummary
The Shopify Protect details for the order. If Shopify Protect is disabled for the shop, then this will be null.
sourceIdentifier•
String
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•
String
The name of the source associated with the order.
staffMember•
StaffMember
The staff member associated with the order.
subtotalLineItemsQuantity•
Int!
non-null
The sum of the quantities for all line items that contribute to the order's subtotal price.
subtotalPriceSet•
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•
SuggestedRefund
A suggested refund for the order.
tags•
[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.
taxesIncluded•
Boolean!
non-null
Whether taxes are included in the subtotal price of the order.
taxExempt•
Boolean!
non-null
Whether taxes are exempt on the order.
taxLines•
[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.
test•
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.
totalCapturableSet•
MoneyBag!
non-null
The authorized amount that's uncaptured or undercaptured, in shop and presentment currencies.
This amount isn't adjusted for returns.
totalDiscountsSet•
MoneyBag
The total amount discounted on the order before returns, in shop and presentment currencies.
This includes both order and line level discounts.
totalOutstandingSet•
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).
totalPriceSet•
MoneyBag!
non-null
The total price of the order, before returns, in shop and presentment currencies.
This includes taxes and discounts.
totalReceivedSet•
MoneyBag!
non-null
The total amount received from the customer before returns, in shop and presentment currencies.
totalRefundedSet•
MoneyBag!
non-null
The total amount that was refunded, in shop and presentment currencies.
totalRefundedShippingSet•
MoneyBag!
non-null
The total amount of shipping that was refunded, in shop and presentment currencies.
totalShippingPriceSet•
MoneyBag!
non-null
The total shipping amount before discounts and returns, in shop and presentment currencies.
totalTaxSet•
MoneyBag
The total tax amount before returns, in shop and presentment currencies.
totalTipReceivedSet•
MoneyBag!
non-null
The sum of all tip amounts for the order, in shop and presentment currencies.
totalWeight•
UnsignedInt64
The total weight of the order before returns, in grams.
transactions•
[OrderTransaction!]!
non-null
A list of transactions associated with the order.
transactionsCount•
Count
The number of transactions associated with the order.
unpaid•
Boolean!
non-null
Whether no payments have been made for the order.
updatedAt•
DateTime!
non-null
The date and time when the order was modified last.
cartDiscountAmount•
Money
Deprecated
The total order-level discount amount, before returns, in shop currency. Use cartDiscountAmountSet instead.
channel•
Channel
Deprecated
The channel that created the order. Use publication instead.
customerJourney•
CustomerJourney
Deprecated
The customer's visits and interactions with the online store before placing the order. Use customerJourneySummary instead.
landingPageDisplayText•
String
Deprecated
The URL of the first page of the online store that the customer visited before they submitted the order. Use customerJourneySummary.lastVisit.landingPageHtml instead
landingPageUrl•
URL
Deprecated
The first page of the online store that the customer visited before they submitted the order. Use customerJourneySummary.lastVisit.landingPage instead
lineItemsMutable•
LineItemMutableConnection!
non-nullDeprecated
A list of the order's line items. Use lineItems instead.
localizationExtensions•
LocalizationExtensionConnection!
non-nullDeprecated
List of localization extensions for the resource. This connection will be removed in a future version. Use localizedFields instead.
metafieldDefinitions•
MetafieldDefinitionConnection!
non-nullDeprecated
List of metafield definitions. This field will be removed in a future version. Use the root metafieldDefinitions field instead.
netPayment•
Money!
non-nullDeprecated
The net payment for the order, based on the total amount received minus the total amount refunded, in shop currency. Use netPaymentSet instead.
physicalLocation•
Location
Deprecated
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. Use fulfillmentOrders to get the fulfillment location for the order
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
referralCode•
String
Deprecated
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. Use customerJourneySummary.lastVisit.referralCode instead
referrerDisplayText•
String
Deprecated
A web domain or short description of the source that sent the customer to your online store. For example, "shopify.com" or "email". Use customerJourneySummary.lastVisit.referralInfoHtml instead
referrerUrl•
URL
Deprecated
The URL of the webpage where the customer clicked a link that sent them to your online store. Use customerJourneySummary.lastVisit.referrerUrl instead
riskLevel•
OrderRiskLevel!
non-nullDeprecated
The fraud risk level of the order. This field is deprecated in favor of OrderRiskAssessment.riskLevel which allows for more granular risk levels, including PENDING and NONE.
risks•
[OrderRisk!]!
non-nullDeprecated
A list of risks associated with the order. This field is deprecated in favor of OrderRiskAssessment, which provides enhanced capabilities such as distinguishing risks from their provider.
subtotalPrice•
Money
Deprecated
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. Use subtotalPriceSet instead.
totalCapturable•
Money!
non-nullDeprecated
The authorized amount that's uncaptured or undercaptured, in shop currency.
This amount isn't adjusted for returns. Use totalCapturableSet instead.
totalDiscounts•
Money
Deprecated
The total amount discounted on the order before returns, in shop currency.
This includes both order and line level discounts. Use totalDiscountsSet instead.
totalPrice•
Money!
non-nullDeprecated
The total price of the order, before returns, in shop currency.
This includes taxes and discounts. Use totalPriceSet instead.
totalReceived•
Money!
non-nullDeprecated
The total amount received from the customer before returns, in shop currency. Use totalReceivedSet instead.
totalRefunded•
Money!
non-nullDeprecated
The total amount that was refunded, in shop currency. Use totalRefundedSet instead.
totalShippingPrice•
Money!
non-nullDeprecated
The total shipping amount before discounts and returns, in shop currency. Use totalShippingPriceSet instead.
totalTax•
Money
Deprecated
The total tax amount before returns, in shop currency. Use totalTaxSet instead.
totalTipReceived•
MoneyV2!
non-nullDeprecated
The sum of all tip amounts for the order, in shop currency. Use totalTipReceivedSet instead.
The error history on the most recent version of the payment customization.
functionId•
String!
non-null
The ID of the Shopify Function implementing the payment customization.
id•
ID!
non-null
A globally-unique ID.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
shopifyFunction•
ShopifyFunction!
non-null
The Shopify Function implementing the payment customization.
title•
String!
non-null
The title of the payment customization.
metafieldDefinitions•
MetafieldDefinitionConnection!
non-nullDeprecated
List of metafield definitions. This field will be removed in a future version. Use the root metafieldDefinitions field instead.
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
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.
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.
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•
DateTime!
non-null
The date and time when the product was created.
defaultCursor•
String!
non-null
A default cursor that returns the single next record, sorted ascending by ID.
description•
String!
non-null
A single-line description of the product,
with HTML tags removed.
descriptionHtml•
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.
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".
giftCardTemplateSuffix•
String
The theme template that's used when customers view the gift card in a store.
handle•
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.
hasOnlyDefaultVariant•
Boolean!
non-null
Whether the product has only a single variant with the default option and value.
hasOutOfStockVariants•
Boolean!
non-null
Whether the product has variants that are out of stock.
hasVariantsThatRequiresComponents•
Boolean!
non-null
Whether at least one of the product variants requires
bundle components.
The ID of the corresponding resource in the REST Admin API.
media•
MediaConnection!
non-null
The media associated with the product. Valid media are images, 3D models, videos.
mediaCount•
Count
The total count of media
that's associated with a product.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
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.
The date and time when the product was published to the online store.
publishedInContext•
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.
publishedOnCurrentPublication•
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.
publishedOnPublication•
Boolean!
non-null
Whether the resource is published to a specified
publication.
requiresSellingPlan•
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.
resourcePublicationOnCurrentPublication•
ResourcePublicationV2
The resource that's either published or staged to be published to
the publication.
resourcePublications•
ResourcePublicationConnection!
non-null
The list of resources that are published to a
publication.
The product status,
which controls visibility across all sales channels.
tags•
[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.
templateSuffix•
String
The theme template that's used when customers view the product in a store.
title•
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.
The published translations associated with the resource.
unpublishedPublications•
PublicationConnection!
non-null
The list of publications
that the resource isn't published to.
updatedAt•
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.
The number of variants
that are associated with the product.
vendor•
String!
non-null
The name of the product's vendor.
bodyHtml•
String
Deprecated
The description of the product, with
HTML tags. For example, the description might include
bold <strong></strong> and italic <i></i> text. Use descriptionHtml instead.
customProductType•
String
Deprecated
The custom product type specified by the merchant. Deprecated in API version 2022-10. Use productType instead.
descriptionPlainSummary•
String!
non-nullDeprecated
Stripped description of the product, single line with HTML tags removed.
Truncated to 60 characters. Use description instead.
featuredImage•
Image
Deprecated
The featured image for the product. Use featuredMedia instead.
images•
ImageConnection!
non-nullDeprecated
The images associated with the product. Use media instead.
metafieldDefinitions•
MetafieldDefinitionConnection!
non-nullDeprecated
List of metafield definitions. This field will be removed in a future version. Use the root metafieldDefinitions field instead.
priceRange•
ProductPriceRange!
non-nullDeprecated
The price range of the product. Deprecated in API version 2020-10. Use priceRangeV2 instead.
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
productCategory•
ProductCategory
Deprecated
The product category specified by the merchant. Deprecated in API version 2024-04. Use category instead.
productPublications•
ProductPublicationConnection!
non-nullDeprecated
A list of the channels where the product is published. Use resourcePublications instead.
publicationCount•
Int!
non-nullDeprecated
The number of
publications
that a resource is published to, without
feedback errors. Use resourcePublicationsCount instead.
publications•
ProductPublicationConnection!
non-nullDeprecated
A list of the channels where the product is published. Use resourcePublications instead.
publishedOnChannel•
Boolean!
non-nullDeprecated
Whether the resource is published to a specific channel. Use publishedOnPublication instead.
publishedOnCurrentChannel•
Boolean!
non-nullDeprecated
Whether the resource is published to a
channel.
For example, the resource might be published to the online store channel. Use publishedOnCurrentPublication instead.
sellingPlanGroupCount•
Int!
non-nullDeprecated
A count of selling plan groups
that are associated with the product. Use sellingPlanGroupsCount instead.
standardizedProductType•
StandardizedProductType
Deprecated
The standardized product type in the Shopify product taxonomy. Deprecated in API version 2022-10. Use productCategory instead.
storefrontId•
StorefrontID!
non-nullDeprecated
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. Use id instead.
totalVariants•
Int!
non-nullDeprecated
The number of variants
that are associated with the product. Use variantsCount instead.
unpublishedChannels•
ChannelConnection!
non-nullDeprecated
The list of channels that the resource is not published to. Use unpublishedPublications instead.
Display name of the variant, based on product's title + variant's title.
id•
ID!
non-null
A globally-unique ID.
image•
Image
The featured image for the variant.
inventoryItem•
InventoryItem!
non-null
The inventory item, which is used to query for inventory information.
inventoryPolicy•
ProductVariantInventoryPolicy!
non-null
Whether customers are allowed to place an order for the product variant when it's out of stock.
inventoryQuantity•
Int
The total sellable quantity of the variant.
legacyResourceId•
UnsignedInt64!
non-null
The ID of the corresponding resource in the REST Admin API.
media•
MediaConnection!
non-null
The media associated with the product variant.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
position•
Int!
non-null
The order of the product variant in the list of product variants. The first position in the list is 1.
price•
Money!
non-null
The price of the product variant in the default shop currency.
product•
Product!
non-null
The product that this variant belongs to.
productVariantComponents•
ProductVariantComponentConnection!
non-null
A list of the product variant components.
requiresComponents•
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.
selectedOptions•
[SelectedOption!]!
non-null
List of product options applied to the variant.
sellableOnlineQuantity•
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.
sellingPlanGroups•
SellingPlanGroupConnection!
non-null
A list of all selling plan groups defined in the current shop associated with the product variant.
sellingPlanGroupsCount•
Count
Count of selling plan groups associated with the product variant.
sku•
String
A case-sensitive identifier for the product variant in the shop.
Required in order to connect to a fulfillment service.
taxable•
Boolean!
non-null
Whether a tax is charged when the product variant is sold.
taxCode•
String
The tax code for the product variant.
title•
String!
non-null
The title of the product variant.
translations•
[Translation!]!
non-null
The published translations associated with the resource.
updatedAt•
DateTime!
non-null
The date and time (ISO 8601 format) when the product variant was last modified.
metafieldDefinitions•
MetafieldDefinitionConnection!
non-nullDeprecated
List of metafield definitions. This field will be removed in a future version. Use the root metafieldDefinitions field instead.
presentmentPrices•
ProductVariantPricePairConnection!
non-nullDeprecated
List of prices and compare-at prices in the presentment currencies for this shop. Use contextualPricing instead.
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
sellingPlanGroupCount•
Int!
non-nullDeprecated
Count of selling plan groups associated with the product variant. Use sellingPlanGroupsCount instead.
storefrontId•
StorefrontID!
non-nullDeprecated
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. Use id instead.
Represents a collection of general settings and information about the shop.
alerts•
[ShopAlert!]!
non-null
A list of the shop's active alert messages that appear in the Shopify admin.
allProductCategoriesList•
[TaxonomyCategory!]!
non-null
A list of the shop's product categories. Limit: 1000 product categories.
availableChannelApps•
AppConnection!
non-null
The list of sales channels not currently installed on the shop.
billingAddress•
ShopAddress!
non-null
The shop's billing address information.
channelDefinitionsForInstalledChannels•
[AvailableChannelDefinitionsByChannel!]!
non-null
List of all channel definitions associated with a shop.
checkoutApiSupported•
Boolean!
non-null
Specifies whether the shop supports checkouts via Checkout API.
contactEmail•
String!
non-null
The public-facing contact email address for the shop.
Customers will use this email to communicate with the shop owner.
countriesInShippingZones•
CountriesInShippingZones!
non-null
Countries that have been defined in shipping zones for the shop.
createdAt•
DateTime!
non-null
The date and time when the shop was created.
currencyCode•
CurrencyCode!
non-null
The three letter code for the currency that the shop sells in.
currencyFormats•
CurrencyFormats!
non-null
How currencies are displayed on your store.
currencySettings•
CurrencySettingConnection!
non-null
The presentment currency settings for the shop excluding the shop's own currency.
customerAccounts•
ShopCustomerAccountsSetting!
non-null
Whether customer accounts are required, optional, or disabled for the shop.
customerAccountsV2•
CustomerAccountsV2!
non-null
Information about the shop's customer accounts.
customerTags•
StringConnection!
non-null
A list of tags that have been added to customer accounts.
description•
String
The shop's meta description used in search engine results.
draftOrderTags•
StringConnection!
non-null
A list of tags that have been added to draft orders.
email•
String!
non-null
The shop owner's email address.
Shopify will use this email address to communicate with the shop owner.
enabledPresentmentCurrencies•
[CurrencyCode!]!
non-null
The presentment currencies enabled for the shop.
features•
ShopFeatures!
non-null
The set of features enabled for the shop.
fulfillmentServices•
[FulfillmentService!]!
non-null
List of the shop's installed fulfillment services.
ianaTimezone•
String!
non-null
The shop's time zone as defined by the IANA.
id•
ID!
non-null
A globally-unique ID.
marketingSmsConsentEnabledAtCheckout•
Boolean!
non-null
Whether SMS marketing has been enabled on the shop's checkout configuration settings.
merchantApprovalSignals•
MerchantApprovalSignals
The approval signals for a shop to support onboarding to channel apps.
metafield•
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•
MetafieldConnection!
non-null
A list of custom fields
that a merchant associates with a Shopify resource.
myshopifyDomain•
String!
non-null
The shop's .myshopify.com domain name.
name•
String!
non-null
The shop's name.
navigationSettings•
[NavigationItem!]!
non-null
The shop's settings related to navigation.
orderNumberFormatPrefix•
String!
non-null
The prefix that appears before order numbers.
orderNumberFormatSuffix•
String!
non-null
The suffix that appears after order numbers.
orderTags•
StringConnection!
non-null
A list of tags that have been added to orders.
paymentSettings•
PaymentSettings!
non-null
The shop's settings related to payments.
plan•
ShopPlan!
non-null
The shop's billing plan.
primaryDomain•
Domain!
non-null
The primary domain of the shop's online store.
resourceLimits•
ShopResourceLimits!
non-null
The shop's limits for specific resources. For example, the maximum number ofvariants allowed per product, or the maximum number of locations allowed.
richTextEditorUrl•
URL!
non-null
The URL of the rich text editor that can be used for mobile devices.
search•
SearchResultConnection!
non-null
Fetches a list of admin search results by a specified query.
searchFilters•
SearchFilterOptions!
non-null
The list of search filter options for the shop. These can be used to filter productvisibility for the shop.
setupRequired•
Boolean!
non-null
Whether the shop has outstanding setup steps.
shipsToCountries•
[CountryCode!]!
non-null
The list of countries that the shop ships to.
shopPolicies•
[ShopPolicy!]!
non-null
The list of all legal policies associated with a shop.
storefrontAccessTokens•
StorefrontAccessTokenConnection!
non-null
The storefront access token of a private application. These are scoped per-application.
taxesIncluded•
Boolean!
non-null
Whether applicable taxes are included in the shop's product prices.
taxShipping•
Boolean!
non-null
Whether the shop charges taxes for shipping.
timezoneAbbreviation•
String!
non-null
The shop's time zone abbreviation.
timezoneOffset•
String!
non-null
The shop's time zone offset.
timezoneOffsetMinutes•
Int!
non-null
The shop's time zone offset expressed as a number of minutes.
transactionalSmsDisabled•
Boolean!
non-null
Whether transactional SMS sent by Shopify have been disabled for a shop.
translations•
[Translation!]!
non-null
The published translations associated with the resource.
unitSystem•
UnitSystem!
non-null
The shop's unit system for weights and measures.
updatedAt•
DateTime!
non-null
The date and time when the shop was last updated.
url•
URL!
non-null
The URL of the shop's online store.
weightUnit•
WeightUnit!
non-null
The shop's primary unit of weight for products and shipping.
allProductCategories•
[ProductCategory!]!
non-nullDeprecated
A list of the shop's product categories. Limit: 1000 product categories. Deprecated in API version 2024-07. Use allProductCategoriesList instead.
analyticsToken•
String!
non-nullDeprecated
The token required to query the shop's reports or dashboards. Not supported anymore.
assignedFulfillmentOrders•
FulfillmentOrderConnection!
non-nullDeprecated
The paginated list of fulfillment orders assigned to the shop locations owned by the app.
Assigned fulfillment orders are fulfillment orders that are set to be fulfilled from locations
managed by
fulfillment services
that are registered by the app.
One app (api_client) can host multiple fulfillment services on a shop.
Each fulfillment service manages a dedicated location on a shop.
Assigned fulfillment orders can have associated
fulfillment requests,
or might currently not be requested to be fulfilled.
The app must have read_assigned_fulfillment_ordersaccess scope
to be able to retrieve fulfillment orders assigned to its locations.
All assigned fulfillment orders (except those with the CLOSED status) will be returned by default.
Perform filtering with the assignmentStatus argument
to receive only fulfillment orders that have been requested to be fulfilled. Use QueryRoot.assignedFulfillmentOrders instead. Details: https://shopify.dev/changelog/moving-the-shop-assignedfulfillmentorders-connection-to-queryroot
channels•
ChannelConnection!
non-nullDeprecated
List of the shop's active sales channels. Use QueryRoot.channels instead.
collectionByHandle•
Collection
Deprecated
Return a collection by its handle. Use QueryRoot.collectionByHandle instead.
collections•
CollectionConnection!
non-nullDeprecated
List of the shop's collections. Use QueryRoot.collections instead.
collectionSavedSearches•
SavedSearchConnection!
non-nullDeprecated
List of the shop's collection saved searches. Use QueryRoot.collectionSavedSearches instead.
customers•
CustomerConnection!
non-nullDeprecated
Customer accounts associated to the shop. Use QueryRoot.customers instead.
customerSavedSearches•
SavedSearchConnection!
non-nullDeprecated
List of the shop's customer saved searches. Use QueryRoot.customerSavedSearches instead.
domains•
[Domain!]!
non-nullDeprecated
The domains configured for the shop. Use domainsPaginated instead.
draftOrders•
DraftOrderConnection!
non-nullDeprecated
List of saved draft orders on the shop. Use QueryRoot.draftOrders instead.
draftOrderSavedSearches•
SavedSearchConnection!
non-nullDeprecated
List of the shop's draft order saved searches. Use QueryRoot.draftOrderSavedSearches instead.
fulfillmentOrders•
FulfillmentOrderConnection!
non-nullDeprecated
The paginated list of merchant-managed and third-party fulfillment orders. Use QueryRoot.fulfillmentOrders instead.
inventoryItems•
InventoryItemConnection!
non-nullDeprecated
List of the shop's inventory items. Use QueryRoot.inventoryItems instead.
limitedPendingOrderCount•
LimitedPendingOrderCount!
non-nullDeprecated
The number of pendings orders on the shop.
Limited to a maximum of 10000. Use QueryRoot.pendingOrdersCount instead.
locations•
LocationConnection!
non-nullDeprecated
List of active locations of the shop. Use QueryRoot.locations instead.
marketingEvents•
MarketingEventConnection!
non-nullDeprecated
List of a shop's marketing events. Use QueryRoot.marketingEvents instead.
orders•
OrderConnection!
non-nullDeprecated
A list of the shop's orders. Use QueryRoot.orders instead.
orderSavedSearches•
SavedSearchConnection!
non-nullDeprecated
List of the shop's order saved searches. Use QueryRoot.orderSavedSearches instead.
priceRules•
PriceRuleConnection!
non-nullDeprecated
List of the shop’s price rules. Use QueryRoot.priceRules instead.
priceRuleSavedSearches•
SavedSearchConnection!
non-nullDeprecated
List of the shop's price rule saved searches. Use QueryRoot.priceRuleSavedSearches instead.
privateMetafield•
PrivateMetafield
Deprecated
Returns a private metafield by namespace and key that belongs to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
privateMetafields•
PrivateMetafieldConnection!
non-nullDeprecated
List of private metafields that belong to the resource. Metafields created using a reserved namespace are private by default. See our guide for
migrating private metafields.
productByHandle•
Product
Deprecated
Return a product by its handle. Use QueryRoot.productByHandle instead.
productImages•
ImageConnection!
non-nullDeprecated
The list of all images of all products for the shop. Use files instead. See filesQuery and its query argument for more information.
products•
ProductConnection!
non-nullDeprecated
List of the shop's products. Use QueryRoot.products.
productSavedSearches•
SavedSearchConnection!
non-nullDeprecated
List of the shop's product saved searches. Use QueryRoot.productSavedSearches instead.
productTags•
StringConnection!
non-nullDeprecated
A list of tags that have been added to products. Use QueryRoot.productTags instead.
productTypes•
StringConnection!
non-nullDeprecated
The list of types added to products. Use QueryRoot.productTypes instead.
productVariants•
ProductVariantConnection!
non-nullDeprecated
List of the shop's product variants. Use QueryRoot.productVariants instead.
productVendors•
StringConnection!
non-nullDeprecated
The list of vendors added to products. Use QueryRoot.productVendors instead.
publicationCount•
Int!
non-nullDeprecated
The number of publications for the shop. Use QueryRoot.publicationsCount instead.
staffMembers•
StaffMemberConnection!
non-nullDeprecated
The paginated list of the shop's staff members. Use QueryRoot.staffMembers instead.
storefrontUrl•
URL!
non-nullDeprecated
The URL of the shop's storefront. Use url instead.
uploadedImagesByIds•
[Image!]!
non-nullDeprecated
Fetches a list of images uploaded to the shop by their IDs. Use files instead. See filesQuery and its query argument for more information.