Skip to main content
interface

An object with an ID field to support global identification, in accordance with the Relay specification. This interface is used by the node and nodes queries.

•ID!
non-null

A globally-unique ID.


Was this section helpful?

Anchor to Types implemented inTypes implemented in

•OBJECT

A checkout that was abandoned by the customer.

Anchor to abandonedCheckoutUrlabandonedCheckoutUrl
•URL!
non-null

The URL for the buyer to recover their checkout.

•MailingAddress

The billing address provided by the buyer. Null if the user did not provide a billing address.

•DateTime

The date and time when the buyer completed the checkout. Null if the checkout has not been completed.

•DateTime!
non-null

The date and time when the checkout was created.

•[Attribute!]!
non-null

A list of extra information that has been added to the checkout.

•Customer

The customer who created this checkout. May be null if the checkout was created from a draft order or via an app.

•String!
non-null

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

•[String!]!
non-null

The discount codes entered by the buyer at checkout.

•ID!
non-null

A globally-unique ID.

•AbandonedCheckoutLineItemConnection!
non-null

A list of the line items in this checkout.

•String!
non-null

Unique merchant-facing identifier for the checkout.

•String!
non-null

A merchant-facing note added to the checkout. Not visible to the buyer.

•MailingAddress

The shipping address to where the line items will be shipped. Null if the user did not provide a shipping address.

•MoneyBag!
non-null

The sum of all items in the checkout, including discounts but excluding shipping, taxes and tips.

•Boolean!
non-null

Whether taxes are included in line item and shipping line prices.

•[TaxLine!]!
non-null

Individual taxes charged on the checkout.

•MoneyBag!
non-null

The total amount of discounts to be applied.

•MoneyBag

The total duties applied to the checkout.

Anchor to totalLineItemsPriceSettotalLineItemsPriceSet
•MoneyBag!
non-null

The sum of the prices of all line items in the checkout.

•MoneyBag!
non-null

The sum of all items in the checkout, including discounts, shipping, taxes, and tips.

•MoneyBag

The total tax applied to the checkout.

•DateTime!
non-null

The date and time when the checkout was most recently updated.

•Int!
non-nullDeprecated
•OBJECT

A single line item in an abandoned checkout.

•[AbandonedCheckoutLineItemComponent!]

A list of line item components for this line item.

•[Attribute!]!
non-null

A list of extra information that has been added to the line item.

•DiscountAllocationConnection!
non-null

Discount allocations that have been applied on the line item.

Anchor to discountedTotalPriceSetdiscountedTotalPriceSet
•MoneyBag!
non-null

Final total price for the entire quantity of this line item, including discounts.

Anchor to discountedTotalPriceWithCodeDiscountdiscountedTotalPriceWithCodeDiscount
•MoneyBag!
non-null

The total price for the entire quantity of this line item, after all discounts are applied, at both the line item and code-based line item level.

Anchor to discountedUnitPriceSetdiscountedUnitPriceSet
•MoneyBag!
non-null

The price of a single variant unit after discounts are applied at the line item level, in shop and presentment currencies.

Anchor to discountedUnitPriceWithCodeDiscountdiscountedUnitPriceWithCodeDiscount
•MoneyBag!
non-null

The price of a single variant unit after all discounts are applied, at both the line item and code-based line item level.

•ID!
non-null

A globally-unique ID.

•Image

The image associated with the line item's variant or product. NULL if the line item has no product, or if neither the variant nor the product have an image.

Anchor to originalTotalPriceSetoriginalTotalPriceSet
•MoneyBag!
non-null

Original total price for the entire quantity of this line item, before discounts.

Anchor to originalUnitPriceSetoriginalUnitPriceSet
•MoneyBag!
non-null

Original price for a single unit of this line item, before discounts.

•Product

Product for this line item. NULL for custom line items and products that were deleted after checkout began.

•Int!
non-null

The quantity of the line item.

•String

SKU for the inventory item associated with the variant, if any.

•String

Title of the line item. Defaults to the product's title.

•ProductVariant

Product variant for this line item. NULL for custom line items and variants that were deleted after checkout began.

•String

Title of the variant for this line item. NULL for custom line items and products that don't have distinct variants.

•OBJECT

A browse, cart, or checkout that was abandoned by a customer.

Anchor to abandonedCheckoutPayloadabandonedCheckoutPayload
•AbandonedCheckout

The abandonment payload for the abandoned checkout.

•AbandonmentAbandonmentType!
non-null

The abandonment type.

•App!
non-null

The app associated with an abandoned checkout.

•URL

Permalink to the cart page.

•DateTime!
non-null

The date and time when the abandonment was created.

•Customer!
non-null

The customer who abandoned this event.

Anchor to customerHasNoDraftOrderSinceAbandonmentcustomerHasNoDraftOrderSinceAbandonment
•Boolean!
non-null

Whether the customer has a draft order since this abandonment has been abandoned.

Anchor to customerHasNoOrderSinceAbandonmentcustomerHasNoOrderSinceAbandonment
•Boolean!
non-null

Whether the customer has completed an order since this checkout has been abandoned.

Anchor to daysSinceLastAbandonmentEmaildaysSinceLastAbandonmentEmail
•Int!
non-null

The number of days since the last abandonment email was sent to the customer.

•DateTime

When the email was sent, if that's the case.

•AbandonmentEmailState

The email state (e.g., sent or not sent).

Anchor to hoursSinceLastAbandonedCheckouthoursSinceLastAbandonedCheckout
•Float

The number of hours since the customer has last abandoned a checkout.

•ID!
non-null

A globally-unique ID.

•Boolean!
non-null

Whether the products in abandonment are available.

Anchor to isFromCustomStorefrontisFromCustomStorefront
•Boolean!
non-null

Whether the abandonment event comes from a custom storefront channel.

•Boolean!
non-null

Whether the abandonment event comes from the Online Store sales channel.

•Boolean!
non-null

Whether the abandonment event comes from the Shop app sales channel.

•Boolean!
non-null

Whether the abandonment event comes from Shop Pay.

Anchor to isMostSignificantAbandonmentisMostSignificantAbandonment
•Boolean!
non-null

Whether the customer didn't complete another most significant step since this abandonment.

Anchor to lastBrowseAbandonmentDatelastBrowseAbandonmentDate
•DateTime!
non-null

The date for the latest browse abandonment.

Anchor to lastCartAbandonmentDatelastCartAbandonmentDate
•DateTime!
non-null

The date for the latest cart abandonment.

Anchor to lastCheckoutAbandonmentDatelastCheckoutAbandonmentDate
•DateTime!
non-null

The date for the latest checkout abandonment.

•AbandonmentAbandonmentType!
non-null

The most recent step type.

•CustomerVisitProductInfoConnection!
non-null

The products added to the cart during the customer abandoned visit.

•CustomerVisitProductInfoConnection!
non-null

The products viewed during the customer abandoned visit.

•DateTime

The date and time when the visit started.

•OBJECT

Represents an operation publishing all products to a publication.

•ID!
non-null

A globally-unique ID.

•Int

The count of processed rows, summing imported, failed, and skipped rows.

•RowCount

Represents a rows objects within this background operation.

•ResourceOperationStatus!
non-null

The status of this operation.

•OBJECT

The additional fees that have been applied to the order.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The name of the additional fee.

•MoneyBag!
non-null

The price of the additional fee.

•[TaxLine!]!
non-null

A list of taxes charged on the additional fee.

•OBJECT

A Shopify application.

•String!
non-null

A unique application API identifier.

•URL

App store page URL of the app.

Anchor to appStoreDeveloperUrlappStoreDeveloperUrl
•URL

App store page URL of the developer who created the app.

Anchor to availableAccessScopesavailableAccessScopes
•[AccessScope!]!
non-null

All requestable access scopes available to the app.

•Image!
non-null

Banner image for the app.

•String

Description of the app.

•String

The name of the app developer.

•AppDeveloperType!
non-null

The type of app developer.

•Boolean!
non-null

Whether the app uses the Embedded App SDK.

•[FailedRequirement!]!
non-null

Requirements that must be met before the app can be installed.

•[String!]!
non-null

A list of app features that are shown in the Shopify App Store listing.

•AppFeedback

Feedback from this app about the store.

•String

Handle of the app.

•Image!
non-null

Icon that represents the app.

•ID!
non-null

A globally-unique ID.

•AppInstallation

Corresponding AppInstallation for this shop and App. Returns null if the App is not installed.

•URL

Webpage where you can install the app.

Anchor to isPostPurchaseAppInUseisPostPurchaseAppInUse
•Boolean!
non-null

Whether the app is the post purchase app in use.

Anchor to optionalAccessScopesoptionalAccessScopes
•[AccessScope!]!
non-null

The optional scopes requested by the app. Lists the optional access scopes the app has declared in its configuration. These scopes are optionally requested by the app after installation.

•Boolean!
non-null

Whether the app was previously installed on the current shop.

•String

Detailed information about the app pricing.

Anchor to pricingDetailsSummarypricingDetailsSummary
•String!
non-null

Summary of the app pricing details.

•URL

Link to app privacy policy.

•AppPublicCategory!
non-null

The public category for the app.

•Boolean!
non-null

Whether the app is published to the Shopify App Store.

Anchor to requestedAccessScopesrequestedAccessScopes
•[AccessScope!]!
non-null

The access scopes requested by the app. Lists the access scopes the app has declared in its configuration. Merchant must grant approval to these scopes for the app to be installed.

•[Image!]!
non-null

Screenshots of the app.

•Boolean!
non-null

Whether the app was developed by Shopify.

•String!
non-null

Name of the app.

•String!
non-null

Message that appears when the app is uninstalled. For example: By removing this app, you will no longer be able to publish products to MySocialSite or view this app in your Shopify admin. You can re-enable this channel at any time.

•String!
non-null

The webhook API version for the app.

•URL!
non-nullDeprecated
•URL!
non-nullDeprecated
•[NavigationItem!]!
non-nullDeprecated
•URL
Deprecated
•OBJECT

A catalog that defines the publication associated with an app.

•AppConnection!
non-null

The apps associated with the catalog.

•ID!
non-null

A globally-unique ID.

•[ResourceOperation!]!
non-null

Most recent catalog operations.

•PriceList

The price list associated with the catalog.

•Publication

A group of products and collections that's published to a catalog.

•CatalogStatus!
non-null

The status of the catalog.

•String!
non-null

The name of the catalog.

•OBJECT

App credits can be applied by the merchant towards future app purchases, subscriptions, or usage records in Shopify.

•MoneyV2!
non-null

The amount that can be used towards future app purchases in Shopify.

•DateTime!
non-null

The date and time when the app credit was created.

•String!
non-null

The description of the app credit.

•ID!
non-null

A globally-unique ID.

•Boolean!
non-null

Whether the app credit is a test transaction.

•OBJECT

Represents an installed application on a shop.

•[AccessScope!]!
non-null

The access scopes granted to the application by a merchant during installation.

•[AppSubscription!]!
non-null

The active application subscriptions billed to the shop on a recurring basis.

•AppSubscriptionConnection!
non-null

All subscriptions created for a shop.

•App!
non-null

Application which is installed.

•AppCreditConnection!
non-null

Credits that can be used towards future app purchases.

•ID!
non-null

A globally-unique ID.

•URL!
non-null

The URL to launch the application.

•Metafield

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

•MetafieldConnection!
non-null

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

•AppPurchaseOneTimeConnection!
non-null

One-time purchases to a shop.

•Publication

The publication associated with the installed application.

Anchor to revenueAttributionRecordsrevenueAttributionRecords
•AppRevenueAttributionRecordConnection!
non-null

The records that track the externally-captured revenue for the app. The records are used for revenue attribution purposes.

•URL

The URL to uninstall the application.

•Channel
Deprecated
•[AppSubscription!]!
non-nullDeprecated
•OBJECT

Services and features purchased once by a store.

•DateTime!
non-null

The date and time when the app purchase occurred.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The name of the app purchase.

•MoneyV2!
non-null

The amount to be charged to the store for the app purchase.

•AppPurchaseStatus!
non-null

The status of the app purchase.

•Boolean!
non-null

Whether the app purchase is a test transaction.

•OBJECT

Represents app revenue that was captured externally by the partner.

•MoneyV2!
non-null

The financial amount captured in this attribution.

•DateTime!
non-null

The timestamp when the financial amount was captured.

•DateTime!
non-null

The timestamp at which this revenue attribution was issued.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The unique value submitted during the creation of the app revenue attribution record. For more information, refer to Idempotent requests.

•Boolean!
non-null

Indicates whether this is a test submission.

•AppRevenueAttributionType!
non-null

The type of revenue attribution.

•OBJECT

Provides users access to services and/or features for a duration of time.

•DateTime!
non-null

The date and time when the app subscription was created.

•DateTime

The date and time when the current app subscription period ends. Returns null if the subscription isn't active.

•ID!
non-null

A globally-unique ID.

•[AppSubscriptionLineItem!]!
non-null

The plans attached to the app subscription.

•String!
non-null

The name of the app subscription.

•URL!
non-null

The URL that the merchant is redirected to after approving the app subscription.

•AppSubscriptionStatus!
non-null

The status of the app subscription.

•Boolean!
non-null

Specifies whether the app subscription is a test transaction.

•Int!
non-null

The number of free trial days, starting at the subscription's creation date, by which billing is delayed.

•OBJECT

Store usage for app subscriptions with usage pricing.

•DateTime!
non-null

The date and time when the usage record was created.

•String!
non-null

The description of the app usage record.

•ID!
non-null

A globally-unique ID.

•String

A unique key generated by the client to avoid duplicate charges.

•MoneyV2!
non-null

The price of the usage record.

Anchor to subscriptionLineItemsubscriptionLineItem
•AppSubscriptionLineItem!
non-null

Defines the usage pricing plan the merchant is subscribed to.

Anchor to ArticleArticle
•OBJECT

An article in the blogging system.

•ArticleAuthor

The name of the author of the article.

•Blog!
non-null

The blog containing the article.

•HTML!
non-null

The text of the article's body, complete with HTML markup.

•CommentConnection!
non-null

List of the article's comments.

•Count

Count of comments. Limited to a maximum of 10000 by default.

•DateTime!
non-null

The date and time (ISO 8601 format) when the article was created.

•String!
non-null

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

•EventConnection!
non-null

The paginated list of events associated with the host subject.

•String!
non-null

A unique, human-friendly string for the article that's automatically generated from the article's title. The handle is used in the article's URL.

•ID!
non-null

A globally-unique ID.

•Image

The image associated with the article.

•Boolean!
non-null

Whether or not the article is visible.

•Metafield

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

•MetafieldConnection!
non-null

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

•DateTime

The date and time (ISO 8601 format) when the article became or will become visible. Returns null when the article isn't visible.

•HTML

A summary of the article, which can include HTML markup. The summary is used by the online store theme to display the article on other pages, such as the home page or the main blog page.

•[String!]!
non-null

A comma-separated list of tags. Tags are additional short descriptors formatted as a string of comma-separated values.

•String

The name of the template an article is using if it's using an alternate template. If an article is using the default article.liquid template, then the value returned is null.

•String!
non-null

The title of the article.

•[Translation!]!
non-null

The published translations associated with the resource.

•DateTime

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

Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•OBJECT

Basic events chronicle resource activities such as the creation of an article, the fulfillment of an order, or the addition of a product.

General events

ActionDescription
createThe item was created.
destroyThe item was destroyed.
publishedThe item was published.
unpublishedThe item was unpublished.
updateThe item was updated.

Order events

Order events can be divided into the following categories:

  • Authorization: Includes whether the authorization succeeded, failed, or is pending.
  • Capture: Includes whether the capture succeeded, failed, or is pending.
  • Email: Includes confirmation or cancellation of the order, as well as shipping.
  • Fulfillment: Includes whether the fulfillment succeeded, failed, or is pending. Also includes cancellation, restocking, and fulfillment updates.
  • Order: Includess the placement, confirmation, closing, re-opening, and cancellation of the order.
  • Refund: Includes whether the refund succeeded, failed, or is pending.
  • Sale: Includes whether the sale succeeded, failed, or is pending.
  • Void: Includes whether the void succeeded, failed, or is pending.
ActionMessageDescription
authorization_failureThe customer, unsuccessfully, tried to authorize: {money_amount}.Authorization failed. The funds cannot be captured.
authorization_pendingAuthorization for {money_amount} is pending.Authorization pending.
authorization_successThe customer successfully authorized us to capture: {money_amount}.Authorization was successful and the funds are available for capture.
cancelledOrder was cancelled by {shop_staff_name}.The order was cancelled.
capture_failureWe failed to capture: {money_amount}.The capture failed. The funds cannot be transferred to the shop.
capture_pendingCapture for {money_amount} is pending.The capture is in process. The funds are not yet available to the shop.
capture_successWe successfully captured: {money_amount}The capture was successful and the funds are now available to the shop.
closedOrder was closed.The order was closed.
confirmedReceived a new order: {order_number} by {customer_name}.The order was confirmed.
fulfillment_cancelledWe cancelled {number_of_line_items} from being fulfilled by the third party fulfillment service.Fulfillment for one or more of the line_items failed.
fulfillment_pendingWe submitted {number_of_line_items} to the third party service.One or more of the line_items has been assigned to a third party service for fulfillment.
fulfillment_successWe successfully fulfilled line_items.Fulfillment was successful for one or more line_items.
mail_sent{message_type} email was sent to the customer.An email was sent to the customer.
placedOrder was placed.An order was placed by the customer.
re_openedOrder was re-opened.An order was re-opened.
refund_failureWe failed to refund {money_amount}.The refund failed. The funds are still with the shop.
refund_pendingRefund of {money_amount} is still pending.The refund is in process. The funds are still with shop.
refund_successWe successfully refunded {money_amount}.The refund was successful. The funds have been transferred to the customer.
restock_line_itemsWe restocked {number_of_line_items}.One or more of the order's line items have been restocked.
sale_failureThe customer failed to pay {money_amount}.The sale failed. The funds are not available to the shop.
sale_pendingThe {money_amount} is pending.The sale is in process. The funds are not yet available to the shop.
sale_successWe successfully captured {money_amount}.The sale was successful. The funds are now with the shop.
update{order_number} was updated.The order was updated.
void_failureWe failed to void the authorization.Voiding the authorization failed. The authorization is still valid.
void_pendingAuthorization void is pending.Voiding the authorization is in process. The authorization is still valid.
void_successWe successfully voided the authorization.Voiding the authorization was successful. The authorization is no longer valid.
•String!
non-null

The action that occured.

•JSON

Provides additional content for collapsible timeline events.

•JSON

Provides additional data for event consumers.

•String

The name of the app that created the event.

•JSON

Refers to a certain event and its resources.

•Boolean!
non-null

Whether the event was created by an app.

•Boolean!
non-null

Whether the event was caused by an admin user.

•String

The entity which performed the action that generated the event.

•DateTime!
non-null

The date and time when the event was created.

•Boolean!
non-null

Whether the event is critical.

Anchor to hasAdditionalContenthasAdditionalContent
•Boolean!
non-null

Whether this event has additional content.

•ID!
non-null

A globally-unique ID.

•FormattedString!
non-null

Human readable text that describes the event.

•FormattedString

Human readable text that supports the event message.

•HasEvents

The resource that generated the event. To see a list of possible types, refer to HasEvents.

•ID!
non-null

The ID of the resource that generated the event.

•EventSubjectType!
non-null

The type of the resource that generated the event.

•OBJECT

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.

•ArticleConnection!
non-null

List of the blog's articles.

•Count

Count of articles. Limited to a maximum of 10000 by default.

•CommentPolicy!
non-null

Indicates whether readers can post comments to the blog and if comments are moderated or not.

•DateTime!
non-null

The date and time when the blog was created.

•EventConnection!
non-null

The paginated list of events associated with the host subject.

•BlogFeed

FeedBurner provider details. Any blogs that aren't already integrated with FeedBurner can't use the service.

•String!
non-null

A unique, human-friendly string for the blog. If no handle is specified, a handle will be generated automatically from the blog title. The handle is customizable and is used by the Liquid templating language to refer to the blog.

•ID!
non-null

A globally-unique ID.

•Metafield

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

•MetafieldConnection!
non-null

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

•[String!]!
non-null

A list of tags associated with the 200 most recent blog articles.

•String

The name of the template a blog is using if it's using an alternate template. Returns null if a blog is using the default blog.liquid template.

•String!
non-null

The title of the blog.

•[Translation!]!
non-null

The published translations associated with the resource.

•DateTime

The date and time when the blog was update.

Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•OBJECT

An asynchronous long-running operation to fetch data in bulk or to bulk import data.

Bulk operations are created using the bulkOperationRunQuery or bulkOperationRunMutation mutation. After they are created, clients should poll the status field for updates. When COMPLETED, the url field contains a link to the data in JSONL format.

Refer to the bulk operations guide for more details.

•DateTime

When the bulk operation was successfully completed.

•DateTime!
non-null

When the bulk operation was created.

•BulkOperationErrorCode

Error code for failed operations.

•UnsignedInt64

File size in bytes of the file in the url field.

•ID!
non-null

A globally-unique ID.

•UnsignedInt64!
non-null

A running count of all the objects processed. For example, when fetching all the products and their variants, this field counts both products and variants. This field can be used to track operation progress.

•URL

The URL that points to the partial or incomplete response data (in JSONL format) that was returned by a failed operation. The URL expires 7 days after the operation fails. Returns null when there's no data available.

•String!
non-null

GraphQL query document specified in bulkOperationRunQuery.

•UnsignedInt64!
non-null

A running count of all the objects that are processed at the root of the query. For example, when fetching all the products and their variants, this field only counts products. This field can be used to track operation progress.

•BulkOperationStatus!
non-null

Status of the bulk operation.

•BulkOperationType!
non-null

The bulk operation's type.

•URL

The URL that points to the response data in JSONL format. The URL expires 7 days after the operation completes.

•OBJECT

Represents a merchant's Business Entity.

•BusinessEntityAddress!
non-null

The address of the merchant's Business Entity.

•Boolean!
non-null

Whether the Business Entity is archived from the shop.

•String

The name of the company associated with the merchant's Business Entity.

•String!
non-null

The display name of the merchant's Business Entity.

•ID!
non-null

A globally-unique ID.

•Boolean!
non-null

Whether it's the merchant's primary Business Entity.

Anchor to shopifyPaymentsAccountshopifyPaymentsAccount
•ShopifyPaymentsAccount

Shopify Payments account information, including balances and payouts.

•OBJECT

An order with edits applied but not saved.

Anchor to addedDiscountApplicationsaddedDiscountApplications
•CalculatedDiscountApplicationConnection!
non-null

Returns only the new discount applications being added to the order in the current edit.

•CalculatedLineItemConnection!
non-null

Returns only the new line items being added to the order during the current edit.

Anchor to cartDiscountAmountSetcartDiscountAmountSet
•MoneyBag

Amount of the order-level discount (doesn't contain any line item discounts) in shop and presentment currencies.

•ID!
non-null

A globally-unique ID.

•CalculatedLineItemConnection!
non-null

Returns all items on the order that existed before starting the edit. Will include any changes that have been made. Will not include line items added during the current edit.

Anchor to notificationPreviewHtmlnotificationPreviewHtml
•HTML

The HTML of the customer notification for the order edit.

Anchor to notificationPreviewTitlenotificationPreviewTitle
•String!
non-null

The customer notification title.

•Order!
non-null

The order without any changes applied.

•[CalculatedShippingLine!]!
non-null

Returns the shipping lines on the order that existed before starting the edit. Will include any changes that have been made as well as shipping lines added during the current edit. Returns only the first 250 shipping lines.

•OrderStagedChangeConnection!
non-null

List of changes made to the order during the current edit.

Anchor to subtotalLineItemsQuantitysubtotalLineItemsQuantity
•Int!
non-null

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

•MoneyBag

The subtotal of the line items, in shop and presentment currencies, after all the discounts are applied. The subtotal doesn't include shipping. The subtotal includes taxes for taxes-included orders and excludes taxes for taxes-excluded orders.

•[TaxLine!]!
non-null

Taxes charged for the line item.

•MoneyBag!
non-null

Total price of the order less the total amount received from the customer in shop and presentment currencies.

•MoneyBag!
non-null

Total amount of the order (includes taxes and discounts) in shop and presentment currencies.

•Boolean!
non-nullDeprecated
•OBJECT

A Cart Transform Function to create Customized Bundles..

•Boolean!
non-null

Whether a run failure will block cart and checkout operations.

•String!
non-null

The ID for the Cart Transform function.

•ID!
non-null

A globally-unique ID.

•Metafield

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

•MetafieldConnection!
non-null

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

•OBJECT

Tracks an adjustment to the cash in a cash tracking session for a point of sale device over the course of a shift.

•MoneyV2!
non-null

The amount of cash being added or removed.

•ID!
non-null

A globally-unique ID.

•String

The note entered when the adjustment was made.

•StaffMember!
non-null

The staff member who made the adjustment.

•DateTime!
non-null

The time when the adjustment was made.

•OBJECT

Tracks the balance in a cash drawer for a point of sale device over the course of a shift.

•CashTrackingAdjustmentConnection!
non-null

The adjustments made to the cash drawer during this session.

•Boolean!
non-null

Whether this session is tracking cash payments.

•OrderTransactionConnection!
non-null

The cash transactions made during this session.

•MoneyV2

The counted cash balance when the session was closed.

•String

The note entered when the session was closed.

•StaffMember

The user who closed the session.

•DateTime

When the session was closed.

•MoneyV2!
non-null

The expected balance at the end of the session or the expected current balance for sessions that are still open.

Anchor to expectedClosingBalanceexpectedClosingBalance
•MoneyV2

The amount that was expected to be in the cash drawer at the end of the session, calculated after the session was closed.

Anchor to expectedOpeningBalanceexpectedOpeningBalance
•MoneyV2

The amount expected to be in the cash drawer based on the previous session.

•ID!
non-null

A globally-unique ID.

•Location

The location of the point of sale device during this session.

•MoneyV2!
non-null

The net cash sales made for the duration of this cash tracking session.

•MoneyV2!
non-null

The counted cash balance when the session was opened.

•String

The note entered when the session was opened.

•StaffMember

The user who opened the session.

•DateTime!
non-null

When the session was opened.

•String!
non-null

The register name for the point of sale device that this session is tracking cash for.

•MoneyV2

The sum of all adjustments made during the session, excluding the final adjustment.

•MoneyV2!
non-null

The sum of all cash refunds for the duration of this cash tracking session.

•MoneyV2!
non-null

The sum of all cash sales for the duration of this cash tracking session.

•MoneyV2

The total discrepancy for the session including starting and ending.

•OBJECT

A catalog csv operation represents a CSV file import.

•ID!
non-null

A globally-unique ID.

•Int

The count of processed rows, summing imported, failed, and skipped rows.

•RowCount

Represents a rows objects within this background operation.

•ResourceOperationStatus!
non-null

The status of this operation.

•OBJECT

A channel represents an app where you sell a group of products and collections. A channel can be a platform or marketplace such as Facebook or Pinterest, an online store, or POS.

•App!
non-null

The underlying app used by the channel.

Anchor to collectionPublicationsV3collectionPublicationsV3
•ResourcePublicationConnection!
non-null

The collection publications for the list of collections published to the channel.

•CollectionConnection!
non-null

The list of collections published to the channel.

•Boolean!
non-null

Whether the collection is available to the channel.

Arguments

•ID!
required

The collection ID to check.


•ID!
non-null

A globally-unique ID.

•String!
non-null

The name of the channel.

Anchor to productPublicationsV3productPublicationsV3
•ResourcePublicationConnection!
non-null

The product publications for the list of products published to the channel.

•ProductConnection!
non-null

The list of products published to the channel.

•Count

The count of products published to the channel. Limited to a maximum of 10000 by default.

Anchor to supportsFuturePublishingsupportsFuturePublishing
•Boolean!
non-null

Whether the channel supports future publishing.

•String!
non-nullDeprecated
•[NavigationItem!]!
non-nullDeprecated
•URL
Deprecated
•ProductPublicationConnection!
non-nullDeprecated
•OBJECT

A channel definition represents channels surfaces on the platform. A channel definition can be a platform or a subsegment of it such as Facebook Home, Instagram Live, Instagram Shops, or WhatsApp chat.

•String!
non-null

Name of the channel that this sub channel belongs to.

•String!
non-null

Unique string used as a public identifier for the channel definition.

•ID!
non-null

The unique ID for the channel definition.

•Boolean!
non-null

Whether this channel definition represents a marketplace.

•String!
non-null

Name of the sub channel (e.g. Online Store, Instagram Shopping, TikTok Live).

•String
Deprecated
•OBJECT

Contains the information for a given sales channel.

•App!
non-null

The app associated with the channel.

•ChannelDefinition

The channel definition associated with the channel.

•ID!
non-null

The unique ID for the channel.

•String

The publishing destination display name or channel name.

•ID!
non-null

A globally-unique ID.

•OBJECT

A checkout profile defines the branding settings and the UI extensions for a store's checkout. A checkout profile could be published or draft. A store might have at most one published checkout profile, which is used to render their live checkout. The store could also have multiple draft profiles that were created, previewed, and published using the admin checkout editor.

•DateTime!
non-null

The date and time when the checkout profile was created.

•DateTime!
non-null

The date and time when the checkout profile was last edited.

•ID!
non-null

A globally-unique ID.

•Boolean!
non-null

Whether the checkout profile is published or not.

•String!
non-null

The profile name.

•Boolean!
non-null

Whether the checkout profile Thank You Page and Order Status Page are actively using extensibility or not.

•DateTime!
non-null

The date and time when the checkout profile was last updated.

•OBJECT

The Collection object represents a group of products that merchants can organize to make their stores easier to browse and help customers find related products. Collections serve as the primary way to categorize and display products across online stores, sales channels, and marketing campaigns.

There are two types of collections:

The Collection object provides information to:

  • Organize products by category, season, or promotion.
  • Automate product grouping using rules (for example, by tag, type, or price).
  • Configure product sorting and display order (for example, alphabetical, best-selling, price, or manual).
  • Manage collection visibility and publication across sales channels.
  • Add rich descriptions, images, and metadata to enhance discovery.

Note

Collections are unpublished by default. To make them available to customers, use the publishablePublish mutation after creation.


Collections can be displayed in a store with Shopify's theme system through Liquid templates and can be customized with template suffixes for unique layouts. They also support advanced features like translated content, resource feedback, and contextual publication for location-based catalogs.

Learn about using metafields with smart collections.

Anchor to availablePublicationsCountavailablePublicationsCount
•Count

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

•String!
non-null

A single-line, text-only description of the collection, stripped of any HTML tags and formatting that were included in the description.

Arguments

•Int

Truncates a string after the given length.


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

•EventConnection!
non-null

The paginated list of events associated with the host subject.

•ResourceFeedback

Information about the collection that's provided through resource feedback.

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

•Boolean!
non-null

Whether the collection includes the specified product.

Arguments

•ID!
required

The ID of the product to check.


•ID!
non-null

A globally-unique ID.

•Image

The image associated with the collection.

•UnsignedInt64!
non-null

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

•Metafield

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

•MetafieldConnection!
non-null

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

•ProductConnection!
non-null

The products that are included in the collection.

•Count

The number of products in the collection.

Anchor to publishedOnCurrentPublicationpublishedOnCurrentPublication
•Boolean!
non-null

Whether the resource is published to the app's publication. For example, the resource might be published to the app's online store channel.

Anchor to publishedOnPublicationpublishedOnPublication
•Boolean!
non-null

Whether the resource is published to a specified publication.

Arguments

•ID!
required

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


Anchor to resourcePublicationsresourcePublications
•ResourcePublicationConnection!
non-null

The list of resources that are published to a publication.

Anchor to resourcePublicationsCountresourcePublicationsCount
•Count

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

Anchor to resourcePublicationsV2resourcePublicationsV2
•ResourcePublicationV2Connection!
non-null

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

•CollectionRuleSet

For a smart (automated) collection, specifies the rules that determine whether a product is included.

•SEO!
non-null

If the default SEO fields for page title and description have been modified, contains the modified information.

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

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

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

•[Translation!]!
non-null

The published translations associated with the resource.

Anchor to unpublishedPublicationsunpublishedPublications
•PublicationConnection!
non-null

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

•DateTime!
non-null

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

Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•Int!
non-nullDeprecated

Arguments

•Boolean
Default:true

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


•CollectionPublicationConnection!
non-nullDeprecated
•Boolean!
non-nullDeprecated

Arguments

•ID!
required

The ID of the channel to check.


Anchor to publishedOnCurrentChannelpublishedOnCurrentChannel
•Boolean!
non-nullDeprecated
•StorefrontID!
non-nullDeprecated
•ChannelConnection!
non-nullDeprecated
•OBJECT

A comment on an article.

•Article

The article associated with the comment.

•CommentAuthor!
non-null

The comment’s author.

•String!
non-null

The content of the comment.

•HTML!
non-null

The content of the comment, complete with HTML formatting.

•DateTime!
non-null

The date and time when the comment was created.

•EventConnection!
non-null

The paginated list of events associated with the host subject.

•ID!
non-null

A globally-unique ID.

•String

The IP address of the commenter.

•Boolean!
non-null

Whether or not the comment is published.

•DateTime

The date and time when the comment was published.

•CommentStatus!
non-null

The status of the comment.

•DateTime

The date and time when the comment was last updated.

•String

The user agent of the commenter.

•OBJECT

Comment events are generated by staff members of a shop. They are created when a staff member adds a comment to the timeline of an order, draft order, customer, or transfer.

•String!
non-null

The action that occured.

•String

The name of the app that created the event.

•[CommentEventAttachment!]!
non-null

The attachments associated with the comment event.

•Boolean!
non-null

Whether the event was created by an app.

•Boolean!
non-null

Whether the event was caused by an admin user.

•StaffMember!
non-null

The name of the user that authored the comment event.

•Boolean!
non-null

Whether the comment event can be deleted. If true, then the comment event can be deleted.

•Boolean!
non-null

Whether the comment event can be edited. If true, then the comment event can be edited.

•DateTime!
non-null

The date and time when the event was created.

•Boolean!
non-null

Whether the event is critical.

•Boolean!
non-null

Whether the comment event has been edited. If true, then the comment event has been edited.

•CommentEventEmbed

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

•ID!
non-null

A globally-unique ID.

•FormattedString!
non-null

Human readable text that describes the event.

•String!
non-null

The raw body of the comment event.

•CommentEventSubject

The parent subject to which the comment event belongs.

•OBJECT

Represents information about a company which is also a customer of the shop.

•CompanyContactRoleConnection!
non-null

The list of roles for the company contacts.

•CompanyContactConnection!
non-null

The list of contacts in the company.

•Count

The number of contacts that belong to the company.

•DateTime!
non-null

The date and time (ISO 8601 format) at which the company was created in Shopify.

•DateTime!
non-null

The date and time (ISO 8601 format) at which the company became the customer.

•String!
non-null

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

•CompanyContactRole

The role proposed by default for a contact at the company.

•DraftOrderConnection!
non-null

The list of the company's draft orders.

•EventConnection!
non-null

The paginated list of events associated with the host subject.

•String

A unique externally-supplied ID for the company.

•Boolean!
non-null

Whether the merchant added a timeline comment to the company.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The lifetime duration of the company, since it became a customer of the shop. Examples: 2 days, 3 months, 1 year.

•CompanyLocationConnection!
non-null

The list of locations in the company.

•Count

The number of locations that belong to the company.

•CompanyContact

The main contact for the company.

•Metafield

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

•MetafieldConnection!
non-null

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

•String!
non-null

The name of the company.

•String

A note about the company.

•OrderConnection!
non-null

The list of the company's orders.

•Count

The total number of orders placed for this company, across all its locations.

•MoneyV2!
non-null

The total amount spent by this company, across all its locations.

•DateTime!
non-null

The date and time (ISO 8601 format) at which the company was last modified.

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

Represents a billing or shipping address for a company location.

•String!
non-null

The first line of the address. Typically the street address or PO Box number.

•String

The second line of the address. Typically the number of the apartment, suite, or unit.

•String

The name of the city, district, village, or town.

•String!
non-null

The name of the company.

•String

The name of the country.

•CountryCode!
non-null

The two-letter code for the country of the address. For example, US.

•DateTime!
non-null

The date and time (ISO 8601 format) at which the company address was created.

•String

The first name of the recipient.

•[String!]!
non-null

The formatted version of the address.

Arguments

•Boolean
Default:false

Whether to include the recipient's name in the formatted address.

•Boolean
Default:true

Whether to include the company name in the formatted address.


•String

A comma-separated list of the values for city, province, and country.

•ID!
non-null

A globally-unique ID.

•String

The last name of the recipient.

•String

A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.

•String

The region of the address, such as the province, state, or district.

•String

The identity of the recipient e.g. 'Receiving Department'.

•DateTime!
non-null

The date and time (ISO 8601 format) at which the company address was last updated.

•String

The zip or postal code of the address.

•String

The alphanumeric code for the region. For example, ON.

•OBJECT

A person that acts on behalf of company associated to a customer.

•Company!
non-null

The company to which the contact belongs.

•DateTime!
non-null

The date and time (ISO 8601 format) at which the company contact was created at Shopify.

•Customer!
non-null

The customer associated to this contact.

•DraftOrderConnection!
non-null

The list of draft orders for the company contact.

•ID!
non-null

A globally-unique ID.

•Boolean!
non-null

Whether the contact is the main contact of the company.

•String!
non-null

The lifetime duration of the company contact, since its creation date on Shopify. Examples: 1 year, 2 months, 3 days.

•String

The company contact's locale (language).

•OrderConnection!
non-null

The list of orders for the company contact.

•CompanyContactRoleAssignmentConnection!
non-null

The list of roles assigned to this company contact.

•String

The company contact's job title.

•DateTime!
non-null

The date and time (ISO 8601 format) at which the company contact was last updated.

•OBJECT

The role for a company contact.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The name of a role. For example, admin or buyer.

•String

A note for the role.

•OBJECT

The CompanyContactRoleAssignment describes the company and location associated to a company contact's role.

•Company!
non-null

The company this role assignment belongs to.

•CompanyContact!
non-null

The company contact for whom this role is assigned.

•CompanyLocation!
non-null

The company location to which the role is assigned.

•DateTime!
non-null

The date and time (ISO 8601 format) when the assignment record was created.

•ID!
non-null

A globally-unique ID.

•CompanyContactRole!
non-null

The role that's assigned to the company contact.

•DateTime!
non-null

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

•OBJECT

A location or branch of a company that's a customer of the shop. Configuration of B2B relationship, for example prices lists and checkout settings, may be done for a location.

•CompanyAddress

The address used as billing address for the location.

Anchor to buyerExperienceConfigurationbuyerExperienceConfiguration
•BuyerExperienceConfiguration

The configuration for the buyer's B2B checkout.

•CatalogConnection!
non-null

The list of catalogs associated with the company location.

•Count

The number of catalogs associated with the company location. Limited to a maximum of 10000 by default.

•Company!
non-null

The company that the company location belongs to.

•DateTime!
non-null

The date and time (ISO 8601 format) at which the company location was created in Shopify.

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

•String!
non-null

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

•DraftOrderConnection!
non-null

The list of draft orders for the company location.

•EventConnection!
non-null

The paginated list of events associated with the host subject.

•String

A unique externally-supplied ID for the company location.

•Boolean!
non-null

Whether the merchant added a timeline comment to the company location.

•ID!
non-null

A globally-unique ID.

•Boolean!
non-null

Whether the company location is assigned a specific catalog.

Arguments

•ID!
required

The ID of the catalog.


•String

The preferred locale of the company location.

•Metafield

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

•MetafieldConnection!
non-null

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

•String!
non-null

The name of the company location.

•String

A note about the company location.

•OrderConnection!
non-null

The list of orders for the company location.

•Count

The total number of orders placed for the location.

•String

The phone number of the company location.

•CompanyContactRoleAssignmentConnection!
non-null

The list of roles assigned to the company location.

•CompanyAddress

The address used as shipping address for the location.

Anchor to staffMemberAssignmentsstaffMemberAssignments
•CompanyLocationStaffMemberAssignmentConnection!
non-null

The list of staff members assigned to the company location.

•CompanyLocationTaxSettings!
non-null

The tax settings for the company location.

•MoneyV2!
non-null

The total amount spent by the location.

•DateTime!
non-null

The date and time (ISO 8601 format) at which the company location was last modified.

•Market!
non-nullDeprecated
Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•Int!
non-nullDeprecated
•[TaxExemption!]!
non-nullDeprecated
•String
Deprecated
•OBJECT

A list of products with publishing and pricing information associated with company locations.

•CompanyLocationConnection!
non-null

The company locations associated with the catalog.

Anchor to companyLocationsCountcompanyLocationsCount
•Count

The number of company locations associated with the catalog.

•ID!
non-null

A globally-unique ID.

•[ResourceOperation!]!
non-null

Most recent catalog operations.

•PriceList

The price list associated with the catalog.

•Publication

A group of products and collections that's published to a catalog.

•CatalogStatus!
non-null

The status of the catalog.

•String!
non-null

The name of the catalog.

•OBJECT

A representation of store's staff member who is assigned to a company location of the shop. The staff member's actions will be limited to objects associated with the assigned company location.

•CompanyLocation!
non-null

The company location the staff member is assigned to.

•ID!
non-null

A globally-unique ID.

•StaffMember!
non-null

Represents the data of a staff member who's assigned to a company location.

•OBJECT

A consent policy describes the level of consent that the merchant requires from the user before actually collecting and processing the data.

•Boolean

Whether consent is required for the region.

•PrivacyCountryCode

The ISO 3166 country code for which the policy applies.

Anchor to dataSaleOptOutRequireddataSaleOptOutRequired
•Boolean

Whether data sale opt-out is required for the region.

•ID!
non-null

The global ID of the consent policy. IDs prefixed with SD- are system default policies.

•String

The ISO 3166 region code for which the policy applies.

•ID!
non-null

The global ID of the shop that owns the policy.

•OBJECT

Represents a currency exchange adjustment applied to an order transaction.

•MoneyV2!
non-null

The adjustment amount in both shop and presentment currencies.

•MoneyV2!
non-null

The final amount in both shop and presentment currencies after the adjustment.

•ID!
non-null

A globally-unique ID.

•MoneyV2!
non-null

The original amount in both shop and presentment currencies before the adjustment.

•OBJECT

Represents information about a customer of the shop, such as the customer's contact details, their order history, and whether they've agreed to receive marketing material by email.

Caution: Only use this data if it's required for your app's functionality. Shopify will restrict access to scopes for apps that don't have a legitimate use for the associated data.

•[MailingAddress!]!
non-null

A list of addresses associated with the customer.

•MailingAddressConnection!
non-null

The addresses associated with the customer.

•MoneyV2!
non-null

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

•Boolean!
non-null

Whether the merchant can delete the customer from their store.

A customer can be deleted from a store only if they haven't yet made an order. After a customer makes an order, they can't be deleted from a store.

Anchor to companyContactProfilescompanyContactProfiles
•[CompanyContact!]!
non-null

A list of the customer's company contact profiles.

•DateTime!
non-null

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

•Boolean!
non-null

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

•MailingAddress

The default address associated with the customer.

•CustomerEmailAddress

The customer's default email address.

•CustomerPhoneNumber

The customer's default phone number.

•String!
non-null

The full name of the customer, based on the values for first_name and last_name. If the first_name and last_name are not available, then this falls back to the customer's email address, and if that is not available, the customer's phone number.

•EventConnection!
non-null

A list of events associated with the customer.

•String

The customer's first name.

•ID!
non-null

A globally-unique ID.

•Image!
non-null

The image associated with the customer.

•String

The customer's last name.

•Order

The customer's last order.

•UnsignedInt64!
non-null

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

•String!
non-null

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

Example: 'about 12 years'.

•String!
non-null

The customer's locale.

•CustomerMergeable!
non-null

Whether the customer can be merged with another customer.

•Metafield

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

•MetafieldConnection!
non-null

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

•String

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

•String

A note about the customer.

•UnsignedInt64!
non-null

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

•OrderConnection!
non-null

A list of the customer's orders.

•CustomerPaymentMethodConnection!
non-null

A list of the customer's payment methods.

Anchor to productSubscriberStatusproductSubscriberStatus
•CustomerProductSubscriberStatus!
non-null

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

•CustomerState!
non-null

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

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

•CustomerStatistics!
non-null

The statistics for a given customer.

•StoreCreditAccountConnection!
non-null

Returns a list of store credit accounts that belong to the owner resource. A store credit account owner can hold multiple accounts each with a different currency.

Anchor to subscriptionContractssubscriptionContracts
•SubscriptionContractConnection!
non-null

A list of the customer's subscription contracts.

•[String!]!
non-null

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

•Boolean!
non-null

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

•[TaxExemption!]!
non-null

The list of tax exemptions applied to the customer.

•DateTime!
non-null

The date and time when the customer was last updated.

•Boolean!
non-null

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

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

An app extension page for the customer account navigation menu.

•String

The UUID of the app extension.

•String!
non-null

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

•String!
non-null

A unique, human-friendly string for the customer account page.

•ID!
non-null

The unique ID for the customer account page.

•String!
non-null

The title of the customer account page.

•OBJECT

A native page for the customer account navigation menu.

•String!
non-null

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

•String!
non-null

A unique, human-friendly string for the customer account page.

•ID!
non-null

The unique ID for the customer account page.

•CustomerAccountNativePagePageType!
non-null

The type of customer account native page.

•String!
non-null

The title of the customer account page.

•OBJECT

A customer's payment method.

•Customer

The customer to whom the payment method belongs.

•ID!
non-null

The ID of this payment method.

•CustomerPaymentInstrument

The instrument for this payment method.

•DateTime

The time that the payment method was revoked.

•CustomerPaymentMethodRevocationReason

The revocation reason for this payment method.

Anchor to subscriptionContractssubscriptionContracts
•SubscriptionContractConnection!
non-null

List Subscription Contracts.

•OBJECT

A job to determine a list of members, such as customers, that are associated with an individual segment.

•Int!
non-null

The current total number of members in a given segment.

•Boolean!
non-null

This indicates if the job is still queued or has been run.

•ID!
non-null

A globally-unique ID that's returned when running an asynchronous mutation.

•OBJECT

Represents a customer's session visiting a shop's online store, including information about the marketing activity attributed to starting the session.

•ID!
non-null

A globally-unique ID.

•URL

URL of the first page the customer landed on for the session.

•HTML

Landing page information with URL linked in HTML. For example, the first page the customer visited was store.myshopify.com/products/1.

•MarketingEvent

Represent actions taken by an app, on behalf of a merchant, to market Shopify resources such as products, collections, and discounts.

•DateTime!
non-null

The date and time when the customer's session occurred.

•String

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 myshopifystore.com/products/slide?ref=j2tj1tn2, then this value is j2tj1tn2.

•FormattedString!
non-null

Referral information with URLs linked in HTML.

•URL

Webpage where the customer clicked a link that sent them to the online store. For example, https://randomblog.com/page1 or android-app://com.google.android.gm.

•String!
non-null

Source from which the customer visited the store, such as a platform (Facebook, Google), email, direct, a website domain, QR code, or unknown.

•String

Describes the source explicitly for first or last session.

•MarketingTactic

Type of marketing tactic.

•UTMParameters

A set of UTM parameters gathered from the URL parameters of the referrer.

•OBJECT

A carrier service (also known as a carrier calculated service or shipping service) provides real-time shipping rates to Shopify. Some common carrier services include Canada Post, FedEx, UPS, and USPS. The term carrier is often used interchangeably with the terms shipping company and rate provider.

Using the CarrierService resource, you can add a carrier service to a shop and then provide a list of applicable shipping rates at checkout. You can even use the cart data to adjust shipping rates and offer shipping discounts based on what is in the customer's cart.

Requirements for accessing the CarrierService resource

To access the CarrierService resource, add the write_shipping permission to your app's requested scopes. For more information, see API access scopes.

Your app's request to create a carrier service will fail unless the store installing your carrier service meets one of the following requirements:

  • It's on the Advanced Shopify plan or higher.
  • It's on the Shopify plan with yearly billing, or the carrier service feature has been added to the store for a monthly fee. For more information, contact Shopify Support.
  • It's a development store.

Note

If a store changes its Shopify plan, then the store's association with a carrier service is deactivated if the store no long meets one of the requirements above.


Providing shipping rates to Shopify

When adding a carrier service to a store, you need to provide a POST endpoint rooted in the callbackUrl property where Shopify can retrieve applicable shipping rates. The callback URL should be a public endpoint that expects these requests from Shopify.

Example shipping rate request sent to a carrier service

{
"rate": {
"origin": {
"country": "CA",
"postal_code": "K2P1L4",
"province": "ON",
"city": "Ottawa",
"name": null,
"address1": "150 Elgin St.",
"address2": "",
"address3": null,
"phone": null,
"fax": null,
"email": null,
"address_type": null,
"company_name": "Jamie D's Emporium"
},
"destination": {
"country": "CA",
"postal_code": "K1M1M4",
"province": "ON",
"city": "Ottawa",
"name": "Bob Norman",
"address1": "24 Sussex Dr.",
"address2": "",
"address3": null,
"phone": null,
"fax": null,
"email": null,
"address_type": null,
"company_name": null
},
"items": [{
"name": "Short Sleeve T-Shirt",
"sku": "",
"quantity": 1,
"grams": 1000,
"price": 1999,
"vendor": "Jamie D's Emporium",
"requires_shipping": true,
"taxable": true,
"fulfillment_service": "manual",
"properties": null,
"product_id": 48447225880,
"variant_id": 258644705304
}],
"currency": "USD",
"locale": "en"
}
}

Example response

{
"rates": [
{
"service_name": "canadapost-overnight",
"service_code": "ON",
"total_price": "1295",
"description": "This is the fastest option by far",
"currency": "CAD",
"min_delivery_date": "2013-04-12 14:48:45 -0400",
"max_delivery_date": "2013-04-12 14:48:45 -0400"
},
{
"service_name": "fedex-2dayground",
"service_code": "2D",
"total_price": "2934",
"currency": "USD",
"min_delivery_date": "2013-04-12 14:48:45 -0400",
"max_delivery_date": "2013-04-12 14:48:45 -0400"
},
{
"service_name": "fedex-priorityovernight",
"service_code": "1D",
"total_price": "3587",
"currency": "USD",
"min_delivery_date": "2013-04-12 14:48:45 -0400",
"max_delivery_date": "2013-04-12 14:48:45 -0400"
}
]
}

The address3, fax, address_type, and company_name fields are returned by specific ActiveShipping providers. For API-created carrier services, you should use only the following shipping address fields:

  • address1
  • address2
  • city
  • zip
  • province
  • country

Other values remain as null and are not sent to the callback URL.

Response fields

When Shopify requests shipping rates using your callback URL, the response object rates must be a JSON array of objects with the following fields. Required fields must be included in the response for the carrier service integration to work properly.

FieldRequiredDescription
service_nameYesThe name of the rate, which customers see at checkout. For example: Expedited Mail.
descriptionYesA description of the rate, which customers see at checkout. For example: Includes tracking and insurance.
service_codeYesA unique code associated with the rate. For example: expedited_mail.
currencyYesThe currency of the shipping rate.
total_priceYesThe total price expressed in subunits. If the currency doesn't use subunits, then the value must be multiplied by 100. For example: "total_price": 500 for 5.00 CAD, "total_price": 100000 for 1000 JPY.
phone_requiredNoWhether the customer must provide a phone number at checkout.
min_delivery_dateNoThe earliest delivery date for the displayed rate.
max_delivery_dateNoThe latest delivery date for the displayed rate to still be valid.

Special conditions

  • To indicate that this carrier service cannot handle this shipping request, return an empty array and any successful (20x) HTTP code.
  • To force backup rates instead, return a 40x or 50x HTTP code with any content. A good choice is the regular 404 Not Found code.
  • Redirects (30x codes) will only be followed for the same domain as the original callback URL. Attempting to redirect to a different domain will trigger backup rates.
  • There is no retry mechanism. The response must be successful on the first try, within the time budget listed below. Timeouts or errors will trigger backup rates.

Response Timeouts

The read timeout for rate requests are dynamic, based on the number of requests per minute (RPM). These limits are applied to each shop-app pair. The timeout values are as follows.

RPM RangeTimeout
Under 150010s
1500 to 30005s
Over 30003s

Note

These values are upper limits and should not be interpretted as a goal to develop towards. Shopify is constantly evaluating the performance of the platform and working towards improving resilience as well as app capabilities. As such, these numbers may be adjusted outside of our normal versioning timelines.


Server-side caching of requests

Shopify provides server-side caching to reduce the number of requests it makes. Any shipping rate request that identically matches the following fields will be retrieved from Shopify's cache of the initial response:

  • variant IDs
  • default shipping box weight and dimensions
  • variant quantities
  • carrier service ID
  • origin address
  • destination address
  • item weights and signatures

If any of these fields differ, or if the cache has expired since the original request, then new shipping rates are requested. The cache expires 15 minutes after rates are successfully returned. If an error occurs, then the cache expires after 30 seconds.

•Boolean!
non-null

Whether the carrier service is active.

Anchor to availableServicesForCountriesavailableServicesForCountries
•[DeliveryAvailableService!]!
non-null

The list of services offered for given destinations.

•URL

The URL endpoint that Shopify needs to retrieve shipping rates.

•String

The properly formatted name of the shipping service provider, ready to display.

•Image!
non-null

The logo of the service provider.

•ID!
non-null

A globally-unique ID.

•String

The name of the shipping service provider.

Anchor to supportsServiceDiscoverysupportsServiceDiscovery
•Boolean!
non-null

Whether merchants are able to send dummy data to your service through the Shopify admin to see shipping rate examples.

•OBJECT

A condition that must pass for a delivery method definition to be applied to an order.

•DeliveryConditionCriteria!
non-null

The value (weight or price) that the condition field is compared to.

•DeliveryConditionField!
non-null

The field to compare the criterion value against, using the operator.

•ID!
non-null

A globally-unique ID.

•DeliveryConditionOperator!
non-null

The operator to compare the field and criterion value.

•OBJECT

A country that is used to define a shipping zone.

•DeliveryCountryCodeOrRestOfWorld!
non-null

A two-letter country code in ISO 3166-1 alpha-2 standard. It also includes a flag indicating whether the country should be a part of the 'Rest Of World' shipping zone.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The full name of the country.

•[DeliveryProvince!]!
non-null

The list of regions associated with this country.

•String!
non-null

The translated name of the country. The translation returned is based on the system's locale.

•OBJECT

A delivery customization.

•Boolean!
non-null

The enabled status of the delivery customization.

•FunctionsErrorHistory

The error history on the most recent version of the delivery customization.

•String!
non-null

The ID of the Shopify Function implementing the delivery customization.

•ID!
non-null

A globally-unique ID.

•Metafield

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

•MetafieldConnection!
non-null

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

•ShopifyFunction!
non-null

The Shopify Function implementing the delivery customization.

•String!
non-null

The title of the delivery customization.

Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•OBJECT

A location group is a collection of locations. They share zones and delivery methods across delivery profiles.

•ID!
non-null

A globally-unique ID.

•LocationConnection!
non-null

A list of all locations that are part of this location group.

•Count

A count of all locations that are part of this location group.

•OBJECT

The delivery method used by a fulfillment order.

Anchor to additionalInformationadditionalInformation
•DeliveryMethodAdditionalInformation

The Additional information to consider when performing the delivery.

•DeliveryBrandedPromise

The branded promise that was presented to the buyer during checkout. For example: Shop Promise.

•ID!
non-null

A globally-unique ID.

•DateTime

The latest delivery date and time when the fulfillment is expected to arrive at the buyer's location.

•DeliveryMethodType!
non-null

The type of the delivery method.

•DateTime

The earliest delivery date and time when the fulfillment is expected to arrive at the buyer's location.

•String

The name of the delivery option that was presented to the buyer during checkout.

•String

A reference to the shipping method.

•String

Source reference is promise provider specific data associated with delivery promise.

•OBJECT

A method definition contains the delivery rate and the conditions that must be met for the method to be applied.

•Boolean!
non-null

Whether this method definition is active.

•String

The description of the method definition. Only available on shipping rates that are custom.

•ID!
non-null

A globally-unique ID.

•[DeliveryCondition!]!
non-null

The method conditions that must pass for this method definition to be applied to an order.

•String!
non-null

The name of the method definition.

•DeliveryRateProvider!
non-null

The provided rate for this method definition, from a rate definition or participant.

•OBJECT

A participant defines carrier-calculated rates for shipping services with a possible merchant-defined fixed fee or a percentage-of-rate fee.

Anchor to adaptToNewServicesFlagadaptToNewServicesFlag
•Boolean!
non-null

Whether to display new shipping services automatically to the customer when the service becomes available.

•DeliveryCarrierService!
non-null

The carrier used for this participant.

•MoneyV2

The merchant-defined fixed fee for this participant.

•ID!
non-null

A globally-unique ID.

•[DeliveryParticipantService!]!
non-null

The carrier-specific services offered by the participant, and whether each service is active.

•Float!
non-null

The merchant-defined percentage-of-rate fee for this participant.

•OBJECT

A shipping profile. In Shopify, a shipping profile is a set of shipping rates scoped to a set of products or variants that can be shipped from selected locations to zones. Learn more about building with delivery profiles.

Anchor to activeMethodDefinitionsCountactiveMethodDefinitionsCount
•Int!
non-null

The number of active shipping rates for the profile.

•Boolean!
non-null

Whether this is the default profile.

•ID!
non-null

A globally-unique ID.

•Boolean!
non-null

Whether this shop has enabled legacy compatibility mode for delivery profiles.

Anchor to locationsWithoutRatesCountlocationsWithoutRatesCount
•Int!
non-null

The number of locations without rates defined.

•String!
non-null

The name of the delivery profile.

•Int!
non-null

The number of active origin locations for the profile.

Anchor to productVariantsCountproductVariantsCount
•Count

How many product variants are in this profile.

•DeliveryProfileItemConnection!
non-null

The products and variants associated with this profile.

Anchor to profileLocationGroupsprofileLocationGroups
•[DeliveryProfileLocationGroup!]!
non-null

The location groups and associated zones using this profile.

•SellingPlanGroupConnection!
non-null

Selling plan groups associated with the specified delivery profile.

•[Location!]!
non-null

List of locations that haven't been assigned to a location group for this profile.

Anchor to unassignedLocationsPaginatedunassignedLocationsPaginated
•LocationConnection!
non-null

List of locations that have not been assigned to a location group for this profile.

•Int!
non-null

The number of countries with active rates to deliver to.

Anchor to productVariantsCountV2productVariantsCountV2
•DeliveryProductVariantsCount!
non-nullDeprecated
•OBJECT

A product and the subset of associated variants that are part of this delivery profile.

•ID!
non-null

A globally-unique ID.

•Product!
non-null

A product associated with this profile.

•ProductVariantConnection!
non-null

The product variants associated with this delivery profile.

•OBJECT

Returns enabled delivery promise participants.

•ID!
non-null

The ID of the promise participant.

•DeliveryPromiseParticipantOwner

The resource that the participant is attached to.

•DeliveryPromiseParticipantOwnerType!
non-null

The owner type of the participant.

•OBJECT

A delivery promise provider. Currently restricted to select approved delivery promise partners.

•Boolean!
non-null

Whether the delivery promise provider is active. Defaults to true when creating a provider.

•Int

The number of seconds to add to the current time as a buffer when looking up delivery promises. Represents how long the shop requires before releasing an order to the fulfillment provider.

•ID!
non-null

A globally-unique ID.

•Location!
non-null

The location associated with this delivery promise provider.

•String!
non-null

The time zone to be used for interpreting day of week and cutoff times in delivery schedules when looking up delivery promises.

•OBJECT

A region that is used to define a shipping zone.

•String!
non-null

The code of the region.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The full name of the region.

•String!
non-null

The translated name of the region. The translation returned is based on the system's locale.

•OBJECT

The merchant-defined rate of the DeliveryMethodDefinition.

•ID!
non-null

A globally-unique ID.

•MoneyV2!
non-null

The price of this rate.

•OBJECT

A zone is a group of countries that have the same shipping rates. Customers can order products from a store only if they choose a shipping destination that's included in one of the store's zones.

•[DeliveryCountry!]!
non-null

The list of countries within the zone.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The name of the zone.

•OBJECT

The DiscountAutomaticBxgy object lets you manage buy X get Y discounts (BXGY) that are automatically applied on a cart and at checkout. BXGY discounts incentivize customers by offering them additional items at a discounted price or for free when they purchase a specified quantity of items.

The DiscountAutomaticBxgy object stores information about automatic BXGY discounts that apply to specific products and variants, collections, or all items in a cart.

Learn more about working with Shopify's discount model, including limitations and considerations.


Note

The DiscountCodeBxgy object has similar functionality to the DiscountAutomaticBxgy object, but customers need to enter a code to receive a discount.


•Int!
non-null

The number of times that the discount has been used. For example, if a "Buy 3, Get 1 Free" t-shirt discount is automatically applied in 200 transactions, then the discount has been used 200 times. This value is updated asynchronously. As a result, it might be lower than the actual usage count until the asynchronous process is completed.

•DiscountCombinesWith!
non-null

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

•DateTime!
non-null

The date and time when the discount was created.

•DiscountCustomerBuys!
non-null

The items eligible for the discount and the required quantity of each to receive the discount.

•DiscountCustomerGets!
non-null

The items in the order that qualify for the discount, their quantities, and the total value of the discount.

•[DiscountClass!]!
non-null

The classes of the discount.

•DateTime

The date and time when the discount expires and is no longer available to customers. For discounts without a fixed expiration date, specify null.

•EventConnection!
non-null

The paginated list of events associated with the host subject.

•DateTime!
non-null

The date and time when the discount becomes active and is available to customers.

•DiscountStatus!
non-null

The status of the discount that describes its availability, expiration, or pending activation.

•String!
non-null

A detailed explanation of what the discount is, who can use it, when and where it applies, and any associated rules or limitations.

•String!
non-null

The discount's name that displays to merchants in the Shopify admin and to customers.

•DateTime!
non-null

The date and time when the discount was updated.

•Int

The maximum number of times that the discount can be applied to an order.

•MerchandiseDiscountClass!
non-nullDeprecated
•ID!
non-nullDeprecated
•Int!
non-nullDeprecated
•OBJECT

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.

•DiscountAutomatic!
non-null

A discount that's applied automatically when an order meets specific criteria. Learn more about automatic discounts.

•EventConnection!
non-null

The paginated list of events associated with the host subject.

•ID!
non-null

A globally-unique ID.

•Metafield

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

•MetafieldConnection!
non-null

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

Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•OBJECT

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.

•DiscountCode!
non-null

The underlying code discount object.

•EventConnection!
non-null

The paginated list of events associated with the host subject.

•ID!
non-null

A globally-unique ID.

•Metafield

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

•MetafieldConnection!
non-null

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

Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•OBJECT

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.

•Discount!
non-null

A discount that's applied at checkout or on cart.

Discounts can be automatic or code-based.

•EventConnection!
non-null

The paginated list of events associated with the host subject.

•ID!
non-null

A globally-unique ID.

•Metafield

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

•MetafieldConnection!
non-null

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

Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•OBJECT

The properties and status of a bulk discount redeem code creation operation.

•DiscountRedeemCodeBulkCreationCodeConnection!
non-null

The result of each code creation operation associated with the bulk creation operation including any errors that might have occurred during the operation.

•Int!
non-null

The number of codes to create.

•DateTime!
non-null

The date and time when the bulk creation was created.

•DiscountCodeNode

The code discount associated with the created codes.

•Boolean!
non-null

Whether the bulk creation is still queued (false) or has been run (true).

•Int!
non-null

The number of codes that weren't created successfully.

•ID!
non-null

A globally-unique ID.

•Int!
non-null

The number of codes created successfully.

•OBJECT

A unique string that represents the address of a Shopify store on the Internet.

•String!
non-null

The host name of the domain. For example, example.com.

•ID!
non-null

A globally-unique ID.

•DomainLocalization

The localization of the domain, if the domain doesn't redirect.

•MarketWebPresence

The web presence of the domain.

•Boolean!
non-null

Whether SSL is enabled.

•URL!
non-null

The URL of the domain (for example, https://example.com).

•OBJECT

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

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

For draft orders in multiple currencies presentment_money is the source of truth for what a customer is going to be charged and shop_money is an estimate of what the merchant might receive in their shop currency.

Caution: Only use this data if it's required for your app's functionality. Shopify will restrict access to scopes for apps that don't have a legitimate use for the associated data.

Draft orders created on or after April 1, 2025 will be automatically purged after one year of inactivity.

Anchor to acceptAutomaticDiscountsacceptAutomaticDiscounts
•Boolean

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

Anchor to allowDiscountCodesInCheckoutallowDiscountCodesInCheckout
•Boolean!
non-null

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

Anchor to allVariantPricesOverriddenallVariantPricesOverridden
•Boolean!
non-null

Whether all variant prices have been overridden.

Anchor to anyVariantPricesOverriddenanyVariantPricesOverridden
•Boolean!
non-null

Whether any variant prices have been overridden.

•DraftOrderAppliedDiscount

The custom order-level discount applied.

•MailingAddress

The billing address of the customer.

Anchor to billingAddressMatchesShippingAddressbillingAddressMatchesShippingAddress
•Boolean!
non-null

Whether the billing address matches the shipping address.

•DateTime

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

•DateTime!
non-null

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

•CurrencyCode!
non-null

The shop currency used for calculation.

•[Attribute!]!
non-null

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

•Customer

The customer who will be sent an invoice.

•String!
non-null

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

•[String!]!
non-null

All discount codes applied.

•String

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

•EventConnection!
non-null

The list of events associated with the draft order.

•Boolean!
non-null

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

•ID!
non-null

A globally-unique ID.

Anchor to invoiceEmailTemplateSubjectinvoiceEmailTemplateSubject
•String!
non-null

The subject defined for the draft invoice email template.

•DateTime

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

•URL

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

•UnsignedInt64!
non-null

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

•DraftOrderLineItemConnection!
non-null

The list of the line items in the draft order.

Anchor to lineItemsSubtotalPricelineItemsSubtotalPrice
•MoneyBag!
non-null

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

•LocalizedFieldConnection!
non-null

List of localized fields for the resource.

•Metafield

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

•MetafieldConnection!
non-null

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

•String!
non-null

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

•String

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

•Order

The order that was created from the draft order.

•PaymentTerms

The associated payment terms for this draft order.

•String

The assigned phone number.

•[DraftOrderPlatformDiscount!]!
non-null

The list of platform discounts applied.

•String

The purchase order number.

Anchor to presentmentCurrencyCodepresentmentCurrencyCode
•CurrencyCode!
non-null

The payment currency used for calculation.

•PurchasingEntity

The purchasing entity.

•Boolean!
non-null

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

Anchor to reserveInventoryUntilreserveInventoryUntil
•DateTime

The time after which inventory will automatically be restocked.

•MailingAddress

The shipping address of the customer.

•ShippingLine

The line item containing the shipping information and costs.

•DraftOrderStatus!
non-null

The status of the draft order.

•MoneyBag!
non-null

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

•[String!]!
non-null

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

•Boolean!
non-null

Whether the line item prices include taxes.

•Boolean!
non-null

Whether the draft order is tax exempt.

•[TaxLine!]!
non-null

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

•MoneyBag!
non-null

Total discounts.

Anchor to totalLineItemsPriceSettotalLineItemsPriceSet
•MoneyBag!
non-null

Total price of line items.

•MoneyBag!
non-null

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

Anchor to totalQuantityOfLineItemstotalQuantityOfLineItems
•Int!
non-null

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

Anchor to totalShippingPriceSettotalShippingPriceSet
•MoneyBag!
non-null

The total shipping price.

•MoneyBag!
non-null

The total tax.

•UnsignedInt64!
non-null

The total weight in grams of the draft order.

Anchor to transformerFingerprinttransformerFingerprint
•String

Fingerprint of the current cart. In order to have bundles work, the fingerprint must be passed to each request as it was previously returned, unmodified.

•DateTime!
non-null

The date and time when the draft order was last changed. The format is YYYY-MM-DD HH:mm:ss. For example, 2016-02-05 17:04:01.

•Boolean!
non-null

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

•[DraftOrderWarning!]!
non-null

The list of warnings raised while calculating.

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

The line item for a draft order.

•DraftOrderAppliedDiscount

The custom applied discount.

Anchor to approximateDiscountedUnitPriceSetapproximateDiscountedUnitPriceSet
•MoneyBag!
non-null

The discountedTotal divided by quantity, equal to the average value of the line item price per unit after discounts are applied. This value doesn't include discounts applied to the entire draft order.

•[DraftOrderLineItem!]!
non-null

The components of the draft order line item.

•Boolean!
non-null

Whether the line item is custom (true) or contains a product variant (false).

•[Attribute!]!
non-null

A list of attributes that represent custom features or special requests.

•[TypedAttribute!]!
non-null

The list of additional information (metafields) with the associated types.

•MoneyBag!
non-null

The total price with discounts applied.

•FulfillmentService

Name of the service provider who fulfilled the order.

Valid values are either manual or the name of the provider. For example, amazon, shipwire.

Deleted fulfillment services will return null.

•ID!
non-null

A globally-unique ID.

•Image

The image of the product variant.

•Boolean!
non-null

Whether the line item represents the purchase of a gift card.

•String!
non-null

The name of the product.

•MoneyBag!
non-null

The total price excluding discounts, equal to the original unit price multiplied by quantity.

Anchor to originalUnitPriceSetoriginalUnitPriceSet
•MoneyBag!
non-null

The price without any discounts applied.

Anchor to originalUnitPriceWithCurrencyoriginalUnitPriceWithCurrency
•MoneyV2

The original custom line item input price.

•MoneyV2

The price override for the line item.

•Product

The product for the line item.

•Int!
non-null

The quantity of items. For a bundle item, this is the quantity of bundles, not the quantity of items contained in the bundles themselves.

•Boolean!
non-null

Whether physical shipping is required for the variant.

•String

The SKU number of the product variant.

•Boolean!
non-null

Whether the variant is taxable.

•[TaxLine!]!
non-null

A list of tax lines.

•String!
non-null

The title of the product or variant. This field only applies to custom line items.

•MoneyBag!
non-null

The total discount amount.

•String!
non-null

The UUID of the draft order line item. Must be unique and consistent across requests. This field is mandatory in order to manipulate drafts with bundles.

•ProductVariant

The product variant for the line item.

•String

The name of the variant.

•String

The name of the vendor who created the product variant.

•Weight

The weight unit and value.

•[DraftOrderLineItem!]!
non-nullDeprecated
•Money!
non-nullDeprecated
•Money!
non-nullDeprecated
Anchor to discountedUnitPriceSetdiscountedUnitPriceSet
•MoneyBag!
non-nullDeprecated
•Int
Deprecated
•Money!
non-nullDeprecated
•Money!
non-nullDeprecated
•Money!
non-nullDeprecated
•OBJECT

Represents a draft order tag.

•String!
non-null

Handle of draft order tag.

•ID!
non-null

ID of draft order tag.

•String!
non-null

Title of draft order tag.

•OBJECT

The duty details for a line item.

•CountryCode

The ISO 3166-1 alpha-2 country code of the country of origin used in calculating the duty.

Anchor to harmonizedSystemCodeharmonizedSystemCode
•String

The harmonized system code of the item used in calculating the duty.

•ID!
non-null

A globally-unique ID.

•MoneyBag!
non-null

The amount of the duty.

•[TaxLine!]!
non-null

A list of taxes charged on the duty.

•OBJECT

An item for exchange.

•ID!
non-null

A globally-unique ID.

•[LineItem!]

The order line items for the exchange.

•Int!
non-null

The quantity of the exchange item that can be processed.

•Int!
non-null

The quantity of the exchange item that have been processed.

•Int!
non-null

The number of units ordered, including refunded and removed units.

•Int!
non-null

The quantity of the exchange item that haven't been processed.

•ID

The ID of the variant at time of return creation.

•LineItem
Deprecated
•OBJECT

Represents a video hosted outside of Shopify.

•String

A word or phrase to describe the contents or the function of a file.

•DateTime!
non-null

The date and time (ISO 8601 format) when the file was created.

•URL!
non-null

The embed URL of the video for the respective host.

•[FileError!]!
non-null

Any errors that have occurred on the file.

•FileStatus!
non-null

The status of the file.

•MediaHost!
non-null

The host of the external video.

•ID!
non-null

A globally-unique ID.

•MediaContentType!
non-null

The media content type.

•[MediaError!]!
non-null

Any errors which have occurred on the media.

•[MediaWarning!]!
non-null

The warnings attached to the media.

•URL!
non-null

The origin URL of the video on the respective host.

•MediaPreviewImage

The preview image for the media.

•MediaStatus!
non-null

Current status of the media.

•DateTime!
non-null

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

•URL!
non-nullDeprecated
•OBJECT

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

•DateTime!
non-null

The date and time when the fulfillment was created.

•DateTime

The date that this fulfillment was delivered.

•FulfillmentDisplayStatus

Human readable display status for this fulfillment.

•DateTime

The estimated date that this fulfillment will arrive.

•FulfillmentEventConnection!
non-null

The history of events associated with this fulfillment.

Anchor to fulfillmentLineItemsfulfillmentLineItems
•FulfillmentLineItemConnection!
non-null

List of the fulfillment's line items.

•FulfillmentOrderConnection!
non-null

A paginated list of fulfillment orders for the fulfillment.

•ID!
non-null

A globally-unique ID.

•DateTime

The date and time when the fulfillment went into transit.

•UnsignedInt64!
non-null

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

•Location

The location that the fulfillment was processed at.

•String!
non-null

Human readable reference identifier for this fulfillment.

•Order!
non-null

The order for which the fulfillment was created.

•FulfillmentOriginAddress

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

•Boolean!
non-null

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

•FulfillmentService

Fulfillment service associated with the fulfillment.

•FulfillmentStatus!
non-null

The status of the fulfillment.

•Int!
non-null

Sum of all line item quantities for the fulfillment.

•[FulfillmentTrackingInfo!]!
non-null

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

•DateTime!
non-null

The date and time when the fulfillment was last modified.

•OBJECT

A fulfillment constraint rule.

•[DeliveryMethodType!]!
non-null

Delivery method types that the function is associated with.

•ShopifyFunction!
non-null

The ID for the fulfillment constraint function.

•ID!
non-null

A globally-unique ID.

•Metafield

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

•MetafieldConnection!
non-null

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

•OBJECT

The fulfillment event that describes the fulfilllment status at a particular time.

•String

The street address where this fulfillment event occurred.

•String

The city where this fulfillment event occurred.

•String

The country where this fulfillment event occurred.

•DateTime!
non-null

The date and time when the fulfillment event was created.

•DateTime

The estimated delivery date and time of the fulfillment.

•DateTime!
non-null

The time at which this fulfillment event happened.

•ID!
non-null

A globally-unique ID.

•Float

The latitude where this fulfillment event occurred.

•Float

The longitude where this fulfillment event occurred.

•String

A message associated with this fulfillment event.

•String

The province where this fulfillment event occurred.

•FulfillmentEventStatus!
non-null

The status of this fulfillment event.

•String

The zip code of the location where this fulfillment event occurred.

•OBJECT

A fulfillment hold currently applied on a fulfillment order.

•String!
non-null

The localized reason for the fulfillment hold for display purposes.

•String

An identifier an app can use to reference one of many holds it applied to a fulfillment order. This field must be unique among the holds that a single app applies to a single fulfillment order.

•App

The app that created the fulfillment hold.

•Boolean!
non-null

A boolean value that indicates whether the requesting app created the fulfillment hold.

•ID!
non-null

A globally-unique ID.

•FulfillmentHoldReason!
non-null

The reason for the fulfillment hold.

•String

Additional information about the fulfillment hold reason.

•OBJECT

Represents a line item from an order that's included in a fulfillment.

•MoneyBag!
non-null

The total price after discounts are applied in shop and presentment currencies. This value doesn't include order-level discounts.

•ID!
non-null

A globally-unique ID.

•LineItem!
non-null

The associated order's line item.

•MoneyBag!
non-null

The total price before discounts are applied in shop and presentment currencies.

•Int

Number of line items in the fulfillment.

•Money!
non-nullDeprecated
•Money!
non-nullDeprecated
•OBJECT

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.

See below for more details on creating fulfillments.


Note

Shopify creates fulfillment orders automatically when an order is created. It is not possible to manually create fulfillment orders.

See below for more details on the lifecycle of a fulfillment order.


Retrieving fulfillment orders

Fulfillment orders from an order

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.

Learn about managing fulfillment orders as an order management app.

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.

Learn about managing fulfillment orders as a fulfillment service.

API access scopes

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.

Learn about fulfillment workflows.

•FulfillmentOrderAssignedLocation!
non-null

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

ID of the channel that created the order.

•DateTime!
non-null

Date and time when the fulfillment order was created.

•DeliveryMethod

Delivery method of this fulfillment order.

•FulfillmentOrderDestination

The destination where the items should be sent.

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

•DateTime

The latest date and time by which all items in the fulfillment order need to be fulfilled.

•[FulfillmentHold!]!
non-null

The fulfillment holds applied on the fulfillment order.

Anchor to fulfillmentOrdersForMergefulfillmentOrdersForMerge
•FulfillmentOrderConnection!
non-null

Fulfillment orders eligible for merging with the given fulfillment order.

•FulfillmentConnection!
non-null

A list of fulfillments for the fulfillment order.

•ID!
non-null

A globally-unique ID.

•FulfillmentOrderInternationalDuties

The duties delivery method of this fulfillment order.

•FulfillmentOrderLineItemConnection!
non-null

A list of the fulfillment order's line items.

•FulfillmentOrderLocationForMoveConnection!
non-null

A list of locations that the fulfillment order can potentially move to.

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

The order that's associated with the fulfillment order.

•ID!
non-null

ID of the order that's associated with the fulfillment order.

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

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

•FulfillmentOrderRequestStatus!
non-null

The request status of the fulfillment order.

•FulfillmentOrderStatus!
non-null

The status of the fulfillment order.

•[FulfillmentOrderSupportedAction!]!
non-null

The actions that can be performed on this fulfillment order.

•DateTime!
non-null

The date and time when the fulfillment order was last updated.

•OBJECT

Represents the destination where the items should be sent upon fulfillment.

•String

The first line of the address of the destination.

•String

The second line of the address of the destination.

•String

The city of the destination.

•String

The company of the destination.

•CountryCode

The two-letter country code of the destination.

•String

The email of the customer at the destination.

•String

The first name of the customer at the destination.

•ID!
non-null

A globally-unique ID.

•String

The last name of the customer at the destination.

•Location

The location designated for the pick-up of the fulfillment order.

•String

The phone number of the customer at the destination.

•String

The province of the destination.

•String

The ZIP code of the destination.

•OBJECT

Associates an order line item with quantities requiring fulfillment from the respective fulfillment order.

•[FulfillmentOrderLineItemFinancialSummary!]!
non-null

The financial summary for the Fulfillment Order's Line Items.

•ID!
non-null

A globally-unique ID.

•Image

The image associated to the line item's variant.

•ID

The ID of the inventory item.

•LineItem!
non-null

The associated order line item.

•String!
non-null

The title of the product.

•Int!
non-null

The number of units remaining to be fulfilled.

•Boolean!
non-null

Whether physical shipping is required for the variant.

•String

The variant SKU number.

•Int!
non-null

The total number of units to be fulfilled.

•ProductVariant

The product variant associated to the fulfillment order line item.

•String

The name of the variant.

•String

The name of the vendor who made the variant.

•[FulfillmentOrderLineItemWarning!]!
non-null

Warning messages for a fulfillment order line item.

•Weight

The weight of a line item unit.

Anchor to originalUnitPriceSetoriginalUnitPriceSet
•MoneyBag!
non-nullDeprecated
•OBJECT

A request made by the merchant or an order management app to a fulfillment service for a fulfillment order.

•FulfillmentOrder!
non-null

The fulfillment order associated with the merchant request.

•ID!
non-null

A globally-unique ID.

•FulfillmentOrderMerchantRequestKind!
non-null

The kind of request made.

•String

The optional message that the merchant included in the request.

•JSON

Additional options requested by the merchant. These depend on the kind of the request. For example, for a FULFILLMENT_REQUEST, one option is notify_customer, which indicates whether the merchant intends to notify the customer upon fulfillment. The fulfillment service can then set notifyCustomer when making calls to FulfillmentCreate.

•JSON

The response from the fulfillment service.

•DateTime!
non-null

The timestamp when the request was made.

•OBJECT

Represents any file other than HTML.

•String

A word or phrase to describe the contents or the function of a file.

•DateTime!
non-null

The date and time (ISO 8601 format) when the file was created.

•[FileError!]!
non-null

Any errors that have occurred on the file.

•FileStatus!
non-null

The status of the file.

•ID!
non-null

A globally-unique ID.

•String

The generic file's MIME type.

•Int

The generic file's size in bytes.

•MediaPreviewImage

The preview image for the media.

•DateTime!
non-null

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

•URL

The generic file's URL.

•OBJECT

Represents an issued gift card.

•MoneyV2!
non-null

The gift card's remaining balance.

•DateTime!
non-null

The date and time at which the gift card was created.

•Customer

The customer who will receive the gift card.

•DateTime

The date and time at which the gift card was deactivated.

•Boolean!
non-null

Whether the gift card is enabled.

•Date

The date at which the gift card will expire.

•ID!
non-null

A globally-unique ID.

•MoneyV2!
non-null

The initial value of the gift card.

•String!
non-null

The final four characters of the gift card code.

•String!
non-null

The gift card code. Everything but the final four characters is masked.

•String

The note associated with the gift card, which isn't visible to the customer.

•Order

The order associated with the gift card. This value is null if the gift card was issued manually.

•GiftCardRecipient

The recipient who will receive the gift card.

•String

The theme template used to render the gift card online.

•GiftCardTransactionConnection

The transaction history of the gift card.

•DateTime!
non-null

The date and time at which the gift card was updated.

•OBJECT

A credit transaction which increases the gift card balance.

•MoneyV2!
non-null

The amount of the transaction.

•GiftCard!
non-null

The gift card that the transaction belongs to.

•ID!
non-null

A globally-unique ID.

•Metafield

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

•MetafieldConnection!
non-null

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

•String

A note about the transaction.

•DateTime!
non-null

The date and time when the transaction was processed.

•OBJECT

A debit transaction which decreases the gift card balance.

•MoneyV2!
non-null

The amount of the transaction.

•GiftCard!
non-null

The gift card that the transaction belongs to.

•ID!
non-null

A globally-unique ID.

•Metafield

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

•MetafieldConnection!
non-null

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

•String

A note about the transaction.

•DateTime!
non-null

The date and time when the transaction was processed.

•OBJECT

Represents a group of adjustments made as part of the same operation.

•App

The app that triggered the inventory event, if one exists.

•[InventoryChange!]!
non-null

The set of inventory quantity changes that occurred in the inventory event.

•DateTime!
non-null

The date and time the inventory adjustment group was created.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The reason for the group of adjustments.

Anchor to referenceDocumentUrireferenceDocumentUri
•String

A freeform URI that represents why the inventory change happened. This can be the entity adjusting inventory quantities or the Shopify resource that's associated with the inventory adjustment. For example, a unit in a draft order might have been previously reserved, and a merchant later creates an order from the draft order. In this case, the referenceDocumentUri for the inventory adjustment is a URI referencing the order ID.

•StaffMember

The staff member associated with the inventory event.

•OBJECT

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

•CountryCode

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

Anchor to countryHarmonizedSystemCodescountryHarmonizedSystemCodes
•CountryHarmonizedSystemCodeConnection!
non-null

A list of country specific harmonized system codes.

•DateTime!
non-null

The date and time when the inventory item was created.

•Int!
non-null

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

Anchor to harmonizedSystemCodeharmonizedSystemCode
•String

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

•ID!
non-null

A globally-unique ID.

•URL

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

•InventoryLevel

The inventory item's quantities at the specified location.

•InventoryLevelConnection!
non-null

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

•UnsignedInt64!
non-null

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

•Count

The number of locations where this inventory item is stocked.

•InventoryItemMeasurement!
non-null

The packaging dimensions of the inventory item.

Anchor to provinceCodeOfOriginprovinceCodeOfOrigin
•String

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

•Boolean!
non-null

Whether the inventory item requires shipping.

•String

Inventory item SKU. Case-sensitive string.

•Boolean!
non-null

Whether inventory levels are tracked for the item.

•EditableProperty!
non-null

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

•MoneyV2

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

•DateTime!
non-null

The date and time when the inventory item was updated.

•ProductVariant!
non-null

The variant that owns this inventory item.

•OBJECT

Represents the packaged dimension for an inventory item.

•ID!
non-null

A globally-unique ID.

•Weight

The weight of the inventory item.

•OBJECT

The quantities of an inventory item that are related to a specific location. Learn more about the relationships between inventory objects.

•Boolean!
non-null

Whether the inventory items associated with the inventory level can be deactivated.

•DateTime!
non-null

The date and time when the inventory level was created.

•String

Describes either the impact of deactivating the inventory level, or why the inventory level can't be deactivated.

•ID!
non-null

A globally-unique ID.

•InventoryItem!
non-null

Inventory item associated with the inventory level.

•Location!
non-null

The location associated with the inventory level.

•[InventoryQuantity!]!
non-null

Quantities for the requested names.

•InventoryScheduledChangeConnection!
non-null

Scheduled changes for the requested quantity names.

•DateTime!
non-null

The date and time when the inventory level was updated.

•OBJECT

Represents a quantity of an inventory item at a specific location, for a specific name.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The name that identifies the inventory quantity.

•Int!
non-null

The quantity for the quantity name.

•DateTime

When the quantity was last updated.

•OBJECT

Represents an inventory shipment.

•ID!
non-null

A globally-unique ID.

•InventoryShipmentLineItemConnection

The line items included in this shipment.

•Count

The number of line items associated with the inventory shipment. Limited to a maximum of 10000 by default.

Anchor to lineItemTotalQuantitylineItemTotalQuantity
•Int!
non-null

The total quantity of all items in the shipment.

•String!
non-null

The name of the inventory shipment.

•InventoryShipmentStatus!
non-null

The current status of the shipment.

Anchor to totalAcceptedQuantitytotalAcceptedQuantity
•Int!
non-null

The total quantity of items accepted across all line items in this shipment.

Anchor to totalReceivedQuantitytotalReceivedQuantity
•Int!
non-null

The total quantity of items received (both accepted and rejected) across all line items in this shipment.

Anchor to totalRejectedQuantitytotalRejectedQuantity
•Int!
non-null

The total quantity of items rejected across all line items in this shipment.

•InventoryShipmentTracking

The tracking information for the shipment.

•OBJECT

Represents a single line item within an inventory shipment.

•Int!
non-null

The quantity of items that were accepted in this shipment line item.

•ID!
non-null

A globally-unique ID.

•InventoryItem

The inventory item associated with this line item.

•Int!
non-null

The quantity of items in this shipment line item.

•Int!
non-null

The quantity of items that were rejected in this shipment line item.

•Int!
non-null

The total quantity of units that haven't been received (neither accepted or rejected) in this shipment line item.

•OBJECT

Represents the intention to move inventory between locations.

•DateTime

The date and time the inventory transfer was created in UTC format.

•LocationSnapshot

Snapshot of the destination location (name, address, when snapped) with an optional link to the live Location object. If the original location is deleted, the snapshot data will still be available but the location link will be nil.

•EventConnection!
non-null

The list of events associated with the inventory transfer.

•Boolean!
non-null

Whether the merchant has added timeline comments to the inventory transfer.

•ID!
non-null

A globally-unique ID.

•InventoryTransferLineItemConnection!
non-null

The line items associated with the inventory transfer.

•Count

The number of line items associated with the inventory transfer. Limited to a maximum of 10000 by default.

•Metafield

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

•MetafieldConnection!
non-null

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

•String!
non-null

The name of the inventory transfer.

•String

Additional note attached to the inventory transfer.

•LocationSnapshot

Snapshot of the origin location (name, address, when snapped) with an optional link to the live Location object. If the original location is deleted, the snapshot data will still be available but the location link will be nil.

•Int!
non-null

The total quantity of items received in the transfer.

•String

The reference name of the inventory transfer.

•InventoryShipmentConnection!
non-null

The shipments associated with the inventory transfer.

•InventoryTransferStatus!
non-null

The current status of the transfer.

•[String!]!
non-null

A list of tags that have been added to the inventory transfer.

•Int!
non-null

The total quantity of items being transferred.

Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•OBJECT

Represents a line item belonging to an inventory transfer.

•ID!
non-null

A globally-unique ID.

•InventoryItem

The inventory item associated with this line item.

Anchor to pickedForShipmentQuantitypickedForShipmentQuantity
•Int!
non-null

The quantity of the item that has been picked for a draft shipment but not yet shipped.

•Int!
non-null

The quantity of the item that can be actioned upon, such as editing the item quantity on the transfer or adding to a shipment.

•Int!
non-null

The quantity of the item that can be shipped.

•Int!
non-null

The quantity of the item that has been shipped.

•String

The title of the product associated with this line item.

•Int!
non-null

The total quantity of items being transferred.

•OBJECT

The LineItem object represents a single product or service that a customer purchased in an order. Each line item is associated with a product variant and can have multiple discount allocations. Line items contain details about what was purchased, including the product variant, quantity, pricing, and fulfillment status.

Use the LineItem object to manage the following processes:

Line items can also include custom attributes and properties, allowing merchants to add specific details about each item in an order. Learn more about managing orders and fulfillment.

•SubscriptionContract

The subscription contract associated with this line item.

•Int!
non-null

The number of units ordered, excluding refunded and removed units.

•[Attribute!]!
non-null

A list of attributes that represent custom features or special requests.

•[DiscountAllocation!]!
non-null

The discounts that have been allocated to the line item by discount applications, including discounts allocated to refunded and removed quantities.

•MoneyBag!
non-null

The total discounted price of the line item in shop and presentment currencies, including refunded and removed quantities. This value doesn't include order-level discounts. Code-based discounts aren't included by default.

Anchor to discountedUnitPriceAfterAllDiscountsSetdiscountedUnitPriceAfterAllDiscountsSet
•MoneyBag!
non-null

The approximate unit price of the line item in shop and presentment currencies. This value includes discounts applied to refunded and removed quantities.

Anchor to discountedUnitPriceSetdiscountedUnitPriceSet
•MoneyBag!
non-null

The approximate unit price of the line item in shop and presentment currencies. This value includes line-level discounts and discounts applied to refunded and removed quantities. It doesn't include order-level or code-based discounts.

•[Duty!]!
non-null

The duties associated with the line item.

•ID!
non-null

A globally-unique ID.

•Image

The image associated to the line item's variant.

•Boolean!
non-null

Whether the line item represents the purchase of a gift card.

•LineItemGroup

The line item group associated to the line item.

•Boolean!
non-null

Whether the line item can be edited or not.

•String!
non-null

The title of the product, optionally appended with the title of the variant (if applicable).

Anchor to nonFulfillableQuantitynonFulfillableQuantity
•Int!
non-null

The total number of units that can't be fulfilled. For example, if items have been refunded, or the item is not something that can be fulfilled, like a tip. Please see the FulfillmentOrder object for more fulfillment details.

•MoneyBag!
non-null

In shop and presentment currencies, the total price of the line item when the order was created. This value doesn't include discounts.

Anchor to originalUnitPriceSetoriginalUnitPriceSet
•MoneyBag!
non-null

In shop and presentment currencies, the unit price of the line item when the order was created. This value doesn't include discounts.

•Product

The Product object associated with this line item's variant.

•Int!
non-null

The number of units ordered, including refunded and removed units.

•Int!
non-null

The number of units ordered, excluding refunded units and removed units.

•Boolean!
non-null

Whether physical shipping is required for the variant.

•Boolean!
non-null

Whether the line item can be restocked.

•LineItemSellingPlan

The selling plan details associated with the line item.

•String

The variant SKU number.

•StaffMember

Staff attributed to the line item.

•Boolean!
non-null

Whether the variant is taxable.

•[TaxLine!]!
non-null

The taxes charged for the line item, including taxes charged for refunded and removed quantities.

•String!
non-null

The title of the product at time of order creation.

•MoneyBag!
non-null

The total discount allocated to the line item in shop and presentment currencies, including the total allocated to refunded and removed quantities. This value doesn't include order-level discounts.

Anchor to unfulfilledDiscountedTotalSetunfulfilledDiscountedTotalSet
•MoneyBag!
non-null

In shop and presentment currencies, the total discounted price of the unfulfilled quantity for the line item.

Anchor to unfulfilledOriginalTotalSetunfulfilledOriginalTotalSet
•MoneyBag!
non-null

In shop and presentment currencies, the total price of the unfulfilled quantity for the line item. This value doesn't include discounts.

•Int!
non-null

The number of units not yet fulfilled.

•ProductVariant

The Variant object associated with this line item.

•String

The title of the variant at time of order creation.

•String

The name of the vendor who made the variant.

•Boolean!
non-nullDeprecated
•Money!
non-nullDeprecated
•Money!
non-nullDeprecated
•Int!
non-nullDeprecated
•FulfillmentService
Deprecated
•String!
non-nullDeprecated
•Money!
non-nullDeprecated
•Money!
non-nullDeprecated
•Money!
non-nullDeprecated
Anchor to unfulfilledDiscountedTotalunfulfilledDiscountedTotal
•Money!
non-nullDeprecated
Anchor to unfulfilledOriginalTotalunfulfilledOriginalTotal
•Money!
non-nullDeprecated
•OBJECT

A line item group (bundle) to which a line item belongs to.

•[Attribute!]!
non-null

A list of attributes that represent custom features or special requests.

•ID!
non-null

A globally-unique ID.

•ID

ID of the product of the line item group.

•Int!
non-null

Quantity of the line item group on the order.

•String!
non-null

Title of the line item group.

•ID

ID of the variant of the line item group.

•String

SKU of the variant of the line item group.

•OBJECT

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

•Boolean!
non-null

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

•LocationAddress!
non-null

The address of this location.

•Boolean!
non-null

Whether the location address has been verified.

•DateTime!
non-null

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

•Boolean!
non-null

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

•String

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

•Boolean!
non-null

Whether this location can be deleted.

•FulfillmentService

Name of the service provider that fulfills from this location.

Anchor to fulfillsOnlineOrdersfulfillsOnlineOrders
•Boolean!
non-null

Whether this location can fulfill online orders.

•Boolean!
non-null

Whether this location has active inventory.

Anchor to hasUnfulfilledOrdershasUnfulfilledOrders
•Boolean!
non-null

Whether this location has orders that need to be fulfilled.

•ID!
non-null

A globally-unique ID.

•InventoryLevel

The quantities of an inventory item at this location.

•InventoryLevelConnection!
non-null

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

•Boolean!
non-null

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

Anchor to isFulfillmentServiceisFulfillmentService
•Boolean!
non-null

Whether this location is a fulfillment service.

•UnsignedInt64!
non-null

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

Anchor to localPickupSettingsV2localPickupSettingsV2
•DeliveryLocalPickupSettings

Local pickup settings for the location.

•Metafield

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

•MetafieldConnection!
non-null

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

•String!
non-null

The name of the location.

•Boolean!
non-null

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

•[LocationSuggestedAddress!]!
non-null

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

•DateTime!
non-null

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

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

Represents a customer mailing address.

For example, a customer's default address and an order's billing address are both mailling addresses.

•String

The first line of the address. Typically the street address or PO Box number.

•String

The second line of the address. Typically the number of the apartment, suite, or unit.

•String

The name of the city, district, village, or town.

•String

The name of the customer's company or organization.

Anchor to coordinatesValidatedcoordinatesValidated
•Boolean!
non-null

Whether the address corresponds to recognized latitude and longitude values.

•String

The name of the country.

•CountryCode

The two-letter code for the country of the address.

For example, US.

•String

The first name of the customer.

•[String!]!
non-null

A formatted version of the address, customized by the provided arguments.

Arguments

•Boolean
Default:false

Whether to include the customer's name in the formatted address.

•Boolean
Default:true

Whether to include the customer's company in the formatted address.


•String

A comma-separated list of the values for city, province, and country.

•ID!
non-null

A globally-unique ID.

•String

The last name of the customer.

•Float

The latitude coordinate of the customer address.

•Float

The longitude coordinate of the customer address.

•String

The full name of the customer, based on firstName and lastName.

•String

A unique phone number for the customer.

•String

The region of the address, such as the province, state, or district.

•String

The alphanumeric code for the region.

For example, ON.

•String

The time zone of the address.

Anchor to validationResultSummaryvalidationResultSummary
•MailingAddressValidationResult

The validation status that is leveraged by the address validation feature in the Shopify Admin. See "Validating addresses in your Shopify admin" for more details.

•String

The zip or postal code of the address.

•String
Deprecated
•OBJECT

A market is a group of one or more regions that you want to target for international sales. By creating a market, you can configure a distinct, localized shopping experience for customers from a specific area of the world. For example, you can change currency, configure international pricing, or add market-specific domains or subfolders.

Anchor to assignedCustomizationassignedCustomization
•Boolean!
non-null

Whether the market has a customization with the given ID.

Arguments

•ID!
required

The ID of the customization that the market has been assigned to.


•MarketCatalogConnection!
non-null

The catalogs that belong to the market.

•Count

The number of catalogs that belong to the market.

•MarketConditions

The conditions under which a visitor is in the market.

•MarketCurrencySettings

The market’s currency settings.

•String!
non-null

A short, human-readable unique identifier for the market. This is changeable by the merchant.

•ID!
non-null

A globally-unique ID.

•Metafield

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

•MetafieldConnection!
non-null

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

•String!
non-null

The name of the market. Not shown to customers.

•MarketPriceInclusions

The inclusive pricing strategy for a market. This determines if prices include duties and / or taxes.

•MarketStatus!
non-null

Status of the market. Replaces the enabled field.

•MarketType!
non-null

The type of the market.

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

•Boolean!
non-nullDeprecated
Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•PriceList
Deprecated
•Boolean!
non-nullDeprecated
•MarketRegionConnection!
non-nullDeprecated
•MarketWebPresence
Deprecated
•OBJECT

A list of products with publishing and pricing information associated with markets.

•ID!
non-null

A globally-unique ID.

•MarketConnection!
non-null

The markets associated with the catalog.

•Count

The number of markets associated with the catalog.

•[ResourceOperation!]!
non-null

Most recent catalog operations.

•PriceList

The price list associated with the catalog.

•Publication

A group of products and collections that's published to a catalog.

•CatalogStatus!
non-null

The status of the catalog.

•String!
non-null

The name of the catalog.

•OBJECT

The marketing activity resource represents marketing that a merchant created through an app.

•URL

The URL of the marketing activity listing page in the marketing section.

•MoneyV2

The amount spent on the marketing activity.

•App!
non-null

The app which created this marketing activity.

•MarketingActivityExtensionAppErrors

The errors generated when an app publishes the marketing activity.

•MarketingBudget

The allocated budget for the marketing activity.

•DateTime!
non-null

The date and time when the marketing activity was created.

•String

The completed content in the marketing activity creation form.

•MarketingActivityHierarchyLevel

The hierarchy level of the marketing activity.

•ID!
non-null

A globally-unique ID.

Anchor to inMainWorkflowVersioninMainWorkflowVersion
•Boolean!
non-null

Whether the marketing activity is in the main workflow version of the marketing automation.

•Boolean!
non-null

The marketing activity represents an external marketing activity.

Anchor to marketingChannelTypemarketingChannelType
•MarketingChannel!
non-null

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

•MarketingEvent

Associated marketing event of this marketing activity.

•ID

ID of the parent activity of this marketing activity.

•String

ID of the parent activity of this marketing activity.

•String!
non-null

A contextual description of the marketing activity based on the platform and tactic used.

•MarketingActivityStatus!
non-null

The current state of the marketing activity.

•BadgeType

The severity of the marketing activity's status.

•String!
non-null

The rendered status of the marketing activity.

Anchor to statusTransitionedAtstatusTransitionedAt
•DateTime

The date and time when the activity's status last changed.

•MarketingTactic!
non-null

The method of marketing used for this marketing activity.

•MarketingActivityStatus

The status to which the marketing activity is currently transitioning.

•String!
non-null

The marketing activity's title, which is rendered on the marketing listing page.

•DateTime!
non-null

The date and time when the marketing activity was updated.

•String

The value portion of the URL query parameter used in attributing sessions to this activity.

•UTMParameters

The set of Urchin Tracking Module used in the URL for tracking this marketing activity.

•MarketingChannel!
non-nullDeprecated
•MarketingActivityStatusBadgeType
Deprecated
•OBJECT

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

•App!
non-null

The app that the marketing event is attributed to.

•String

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

•String

A human-readable description of the marketing event.

•DateTime

The date and time when the marketing event ended.

•ID!
non-null

A globally-unique ID.

•UnsignedInt64!
non-null

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

•URL

The URL where the marketing event can be managed.

Anchor to marketingChannelTypemarketingChannelType
•MarketingChannel

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

•URL

The URL where the marketing event can be previewed.

•String

An optional ID that helps Shopify validate engagement data.

•DateTime

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

•String!
non-null

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

•DateTime!
non-null

The date and time when the marketing event started.

•MarketingTactic!
non-null

The marketing event type.

•String

The name of the marketing campaign.

•String

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

•String

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

•MarketingChannel
Deprecated
Anchor to targetTypeDisplayTexttargetTypeDisplayText
•String!
non-nullDeprecated
•OBJECT

A country which comprises a market.

•CountryCode!
non-null

The ISO code identifying the country.

•CurrencySetting!
non-null

The currency which this country uses given its market settings.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The name of the region.

•OBJECT

The market’s web presence, which defines its SEO strategy. This can be a different domain (e.g. example.ca), subdomain (e.g. ca.example.com), or subfolders of the primary domain (e.g. example.com/en-ca). Each web presence comprises one or more language variants. If a market does not have its own web presence, it is accessible on the shop’s primary domain via country selectors.

Note: while the domain/subfolders defined by a market’s web presence are not applicable to custom storefronts, which must manage their own domains and routing, the languages chosen here do govern the languages available on the Storefront API for the countries in this market.

•[ShopLocale!]!
non-null

The ShopLocale object for the alternate locales. When a domain is used, these locales will be available as language-specific subfolders. For example, if English is an alternate locale, and example.ca is the market’s domain, then example.ca/en will load in English.

•ShopLocale!
non-null

The ShopLocale object for the default locale. When a domain is used, this is the locale that will be used when the domain root is accessed. For example, if French is the default locale, and example.ca is the market’s domain, then example.ca will load in French.

•Domain

The web presence’s domain. This field will be null if subfolderSuffix isn't null.

•ID!
non-null

A globally-unique ID.

•MarketConnection

The associated markets for this web presence.

•[MarketWebPresenceRootUrl!]!
non-null

The list of root URLs for each of the web presence’s locales. As of version 2024-04 this value will no longer have a trailing slash.

•String

The market-specific suffix of the subfolders defined by the web presence. Example: in /en-us the subfolder suffix is us. This field will be null if domain isn't null.

•Market
Deprecated
•OBJECT

The MediaImage object represents an image hosted on Shopify's content delivery network (CDN). Shopify CDN is a content system that serves as the primary way to store, manage, and deliver visual content for products, variants, and other resources across the Shopify platform.

The MediaImage object provides information to:

  • Store and display product and variant images across online stores, admin interfaces, and mobile apps.
  • Retrieve visual branding elements, including logos, banners, favicons, and background images in checkout flows.
  • Retrieve signed URLs for secure, time-limited access to original image files.

Each MediaImage object provides both the processed image data (with automatic optimization and CDN delivery) and access to the original source file. The image processing is handled asynchronously, so images might not be immediately available after upload. The status field indicates when processing is complete and the image is ready for use.

The MediaImage object implements the Media interface alongside other media types, like videos and 3D models.

Learn about managing media for products, product variants, and asynchronous media management.

•String

A word or phrase to share the nature or contents of a media.

•DateTime!
non-null

The date and time (ISO 8601 format) when the file was created.

•[FileError!]!
non-null

Any errors that have occurred on the file.

•FileStatus!
non-null

The status of the file.

•ID!
non-null

A globally-unique ID.

•Image

The image for the media. Returns null until status is READY.

•MediaContentType!
non-null

The media content type.

•[MediaError!]!
non-null

Any errors which have occurred on the media.

•[MediaWarning!]!
non-null

The warnings attached to the media.

•String

The MIME type of the image.

•MediaImageOriginalSource

The original source of the image.

•MediaPreviewImage

The preview image for the media.

•MediaStatus!
non-null

Current status of the media.

•DateTime!
non-null

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

•Metafield
Deprecated
•MetafieldConnection!
non-nullDeprecated
•OBJECT

A menu for display on the storefront.

•String!
non-null

The menu's handle.

•ID!
non-null

A globally-unique ID.

•Boolean!
non-null

Whether the menu is a default. The handle for default menus can't be updated and default menus can't be deleted.

•[MenuItem!]!
non-null

A list of items on the menu sorted by position.

•String!
non-null

The menu's title.

•[Translation!]!
non-null

The published translations associated with the resource.

•OBJECT

Metafields enable you to attach additional information to a Shopify resource, such as a Product or a Collection. For more information about where you can attach metafields refer to HasMetafields. Some examples of the data that metafields enable you to store are specifications, size charts, downloadable documents, release dates, images, or part numbers. Metafields are identified by an owner resource, namespace, and key. and store a value along with type information for that value.

•String!
non-null

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

•DateTime!
non-null

The date and time when the metafield was created.

•MetafieldDefinition

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

•ID!
non-null

A globally-unique ID.

•JSON!
non-null

The data stored in the metafield in JSON format.

•String!
non-null

The unique identifier for the metafield within its namespace.

•UnsignedInt64!
non-null

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

•String!
non-null

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

•HasMetafields!
non-null

The resource that the metafield is attached to.

•MetafieldOwnerType!
non-null

The type of resource that the metafield is attached to.

•MetafieldReference

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

•MetafieldReferenceConnection

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

•String!
non-null

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

•DateTime!
non-null

The date and time when the metafield was updated.

•String!
non-null

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

•String
Deprecated
•OBJECT

Metafield definitions enable you to define additional validation constraints for metafields, and enable the merchant to edit metafield values in context.

•MetafieldAccess!
non-null

The access settings associated with the metafield definition.

•MetafieldCapabilities!
non-null

The capabilities of the metafield definition.

•MetafieldDefinitionConstraints

The constraints that determine what subtypes of resources a metafield definition applies to.

•String

The description of the metafield definition.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The unique identifier for the metafield definition within its namespace.

•MetafieldConnection!
non-null

The metafields that belong to the metafield definition.

•Int!
non-null

The count of the metafields that belong to the metafield definition.

Arguments

•MetafieldValidationStatus

The current validation status.


•String!
non-null

The human-readable name of the metafield definition.

•String!
non-null

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

•MetafieldOwnerType!
non-null

The resource type that the metafield definition is attached to.

•Int

The position of the metafield definition in the pinned list.

•StandardMetafieldDefinitionTemplate

The standard metafield definition template associated with the metafield definition.

•MetafieldDefinitionType!
non-null

The type of data that each of the metafields that belong to the metafield definition will store. Refer to the list of supported types.

Anchor to useAsCollectionConditionuseAsCollectionCondition
•Boolean!
non-null

Whether the metafield definition can be used as a collection condition.

•[MetafieldDefinitionValidation!]!
non-null

A list of validation options for the metafields that belong to the metafield definition. For example, for a metafield definition with the type date, you can set a minimum date validation so that each of the metafields that belong to it can only store dates after the specified minimum.

•MetafieldDefinitionValidationStatus!
non-null

The validation status for the metafields that belong to the metafield definition.

•OBJECT

Provides an object instance represented by a MetaobjectDefinition.

•MetaobjectCapabilityData!
non-null

Metaobject capabilities for this Metaobject.

•App!
non-null

The app used to create the object.

•App!
non-null

The app used to create the object.

•StaffMember

The staff member who created the metaobject.

•MetaobjectDefinition!
non-null

The MetaobjectDefinition that models this object type.

•String!
non-null

The preferred display name field value of the metaobject.

•MetaobjectField

The field for an object key, or null if the key has no field definition.

•[MetaobjectField!]!
non-null

All ordered fields of the metaobject with their definitions and values.

•String!
non-null

The unique handle of the object, useful as a custom ID.

•ID!
non-null

A globally-unique ID.

•MetafieldRelationConnection!
non-null

List of back references metafields that belong to the resource.

•MetaobjectField

The recommended field to visually represent this metaobject. May be a file reference or color field.

•String!
non-null

The type of the metaobject.

•DateTime!
non-null

When the object was last updated.

•StaffMember
Deprecated
•OBJECT

Provides the definition of a generic object structure composed of metafields.

•MetaobjectAccess!
non-null

Access configuration for the metaobject definition.

•MetaobjectCapabilities!
non-null

The capabilities of the metaobject definition.

•App!
non-null

The app used to create the metaobject definition.

•StaffMember

The staff member who created the metaobject definition.

•String

The administrative description.

•String

The key of a field to reference as the display name for each object.

•[MetaobjectFieldDefinition!]!
non-null

The fields defined for this object type.

•Boolean!
non-null

Whether this metaobject definition has field whose type can visually represent a metaobject with the thumbnailField.

•ID!
non-null

A globally-unique ID.

•MetaobjectConnection!
non-null

A paginated connection to the metaobjects associated with the definition.

•Int!
non-null

The count of metaobjects created for the definition.

•String!
non-null

The human-readable name.

•StandardMetaobjectDefinitionTemplate

The standard metaobject template associated with the definition.

•String!
non-null

The type of the object definition. Defines the namespace of associated metafields.

•OBJECT

Represents a Shopify hosted 3D model.

•String

A word or phrase to describe the contents or the function of a file.

•Model3dBoundingBox

The 3d model's bounding box information.

•DateTime!
non-null

The date and time (ISO 8601 format) when the file was created.

•[FileError!]!
non-null

Any errors that have occurred on the file.

•String!
non-null

The 3d model's filename.

•FileStatus!
non-null

The status of the file.

•ID!
non-null

A globally-unique ID.

•MediaContentType!
non-null

The media content type.

•[MediaError!]!
non-null

Any errors which have occurred on the media.

•[MediaWarning!]!
non-null

The warnings attached to the media.

•Model3dSource

The 3d model's original source.

•MediaPreviewImage

The preview image for the media.

•[Model3dSource!]!
non-null

The 3d model's sources.

•MediaStatus!
non-null

Current status of the media.

•DateTime!
non-null

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

•OBJECT

A theme for display on the storefront.

•DateTime!
non-null

The date and time when the theme was created.

•OnlineStoreThemeFileConnection

The files in the theme.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The name of the theme, set by the merchant.

•String!
non-null

The prefix of the theme.

•Boolean!
non-null

Whether the theme is processing.

•Boolean!
non-null

Whether the theme processing failed.

•ThemeRole!
non-null

The role of the theme.

•Int

The theme store ID.

•[Translation!]!
non-null

The published translations associated with the resource.

•DateTime!
non-null

The date and time when the theme was last updated.

•OBJECT

The Order object represents a customer's request to purchase one or more products from a store. Use the Order object to handle the complete purchase lifecycle from checkout to fulfillment.

Use the Order object when you need to:

  • Display order details on customer account pages or admin dashboards.
  • Create orders for phone sales, wholesale customers, or subscription services.
  • Update order information like shipping addresses, notes, or fulfillment status.
  • Process returns, exchanges, and partial refunds.
  • Generate invoices, receipts, and shipping labels.

The Order object serves as the central hub connecting customer information, product details, payment processing, and fulfillment data within the GraphQL Admin API schema.


Note

Only the last 60 days' worth of orders from a store are accessible from the Order object by default. If you want to access older records, then you need to request access to all orders. If your app is granted access, then you can add the read_all_orders, read_orders, and write_orders scopes.



Caution

Only use orders data if it's required for your app's functionality. Shopify will restrict access to scopes for apps that don't have a legitimate use for the associated data.


Learn more about building apps for orders and fulfillment.

•[AdditionalFee!]!
non-null

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

•SalesAgreementConnection!
non-null

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

•[ResourceAlert!]!
non-null

A list of messages that appear on the Orders page in the Shopify admin. These alerts provide merchants with important information about an order's status or required actions.

•OrderApp

The application that created the order. For example, "Online Store", "Point of Sale", or a custom app name. Use this to identify the order source for attribution and fulfillment workflows. Learn more about building apps for orders and fulfillment.

•MailingAddress

The billing address associated with the payment method selected by the customer for an order. Returns null if no billing address was provided during checkout.

Anchor to billingAddressMatchesShippingAddressbillingAddressMatchesShippingAddress
•Boolean!
non-null

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

•OrderCancellation

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

•DateTime

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

•OrderCancelReason

The reason provided for an order cancellation. For example, a merchant might cancel an order if there's insufficient inventory. Returns null if the order hasn't been canceled.

•Boolean!
non-null

Whether an order can be manually marked as paid. Returns false if the order is already paid, is canceled, has pending Shopify Payments transactions, or has a negative payment amount.

•Boolean!
non-null

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

•Boolean!
non-null

Whether an authorized payment for an order can be captured. Returns true if an authorized payment exists that hasn't been fully captured yet. Learn more about capturing payments.

Anchor to cartDiscountAmountSetcartDiscountAmountSet
•MoneyBag

The total discount amount applied at the time the order was created, displayed in both shop and presentment currencies, before returns, refunds, order edits, and cancellations. This field only includes discounts applied to the entire order.

•ChannelInformation

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

•String

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

•Boolean!
non-null

Whether an order is closed. An order is considered closed if all its line items have been fulfilled or canceled, and all financial transactions are complete.

•DateTime

The date and time ISO 8601 format when an order was closed. Shopify automatically records this timestamp when all items have been fulfilled or canceled, and all financial transactions are complete. Returns null if the order isn't closed.

•String

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

•Boolean!
non-null

Whether inventory has been reserved for an order. Returns true if inventory quantities for an order's line items have been reserved. Learn more about managing inventory quantities and states.

•DateTime!
non-null

The date and time in ISO 8601 format when an order was created. This timestamp is set when the customer completes checkout and remains unchanged throughout an order's lifecycle.

•CurrencyCode!
non-null

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

Anchor to currentCartDiscountAmountSetcurrentCartDiscountAmountSet
•MoneyBag!
non-null

The current total of all discounts applied to the entire order, after returns, refunds, order edits, and cancellations. This includes discount codes, automatic discounts, and other promotions that affect the whole order rather than individual line items. To get the original discount amount at the time of order creation, use the cartDiscountAmountSet field.

Anchor to currentShippingPriceSetcurrentShippingPriceSet
•MoneyBag!
non-null

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

Anchor to currentSubtotalLineItemsQuantitycurrentSubtotalLineItemsQuantity
•Int!
non-null

The current sum of the quantities for all line items that contribute to the order's subtotal price, after returns, refunds, order edits, and cancellations.

Anchor to currentSubtotalPriceSetcurrentSubtotalPriceSet
•MoneyBag!
non-null

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

•[TaxLine!]!
non-null

A list of all tax lines applied to line items on the order, after returns. Tax line prices represent the total price for all tax lines with the same rate and title.

Anchor to currentTotalAdditionalFeesSetcurrentTotalAdditionalFeesSet
•MoneyBag

The current total of all additional fees for an order, after any returns or modifications. Modifications include returns, refunds, order edits, and cancellations. Additional fees can include charges such as duties, import fees, and special handling.

Anchor to currentTotalDiscountsSetcurrentTotalDiscountsSet
•MoneyBag!
non-null

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

Anchor to currentTotalDutiesSetcurrentTotalDutiesSet
•MoneyBag

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

Anchor to currentTotalPriceSetcurrentTotalPriceSet
•MoneyBag!
non-null

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

•MoneyBag!
non-null

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

•UnsignedInt64!
non-null

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

•[Attribute!]!
non-null

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

•Customer

The customer who placed an order. Returns null if an order was created through a checkout without customer authentication, such as a guest checkout. Learn more about customer accounts.

Anchor to customerAcceptsMarketingcustomerAcceptsMarketing
•Boolean!
non-null

Whether the customer agreed to receive marketing emails at the time of purchase. Use this to ensure compliance with marketing consent laws and to segment customers for email campaigns. Learn more about building customer segments.

Anchor to customerJourneySummarycustomerJourneySummary
•CustomerJourneySummary

The customer's visits and interactions with the online store before placing the order. Use this to understand customer behavior, attribution sources, and marketing effectiveness to optimize your sales funnel.

•String

The customer's language and region preference at the time of purchase. For example, "en" for English, "fr-CA" for French (Canada), or "es-MX" for Spanish (Mexico). Use this to provide localized customer service and targeted marketing in the customer's preferred language.

Anchor to discountApplicationsdiscountApplications
•DiscountApplicationConnection!
non-null

A list of discounts that are applied to the order, excluding order edits and refunds. Includes discount codes, automatic discounts, and other promotions that reduce the order total.

•String

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

•[String!]!
non-null

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

•MailingAddress

The primary address of the customer, prioritizing shipping address over billing address when both are available. Returns null if neither shipping address nor billing address was provided.

Anchor to displayFinancialStatusdisplayFinancialStatus
•OrderDisplayFinancialStatus

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

Anchor to displayFulfillmentStatusdisplayFulfillmentStatus
•OrderDisplayFulfillmentStatus!
non-null

The order's fulfillment status that displays in the Shopify admin to merchants. For example, an order might be unfulfilled or scheduled. For detailed processing, use the FulfillmentOrder object.

•[OrderDisputeSummary!]!
non-null

A list of payment disputes associated with the order, such as chargebacks or payment inquiries. Disputes occur when customers challenge transactions with their bank or payment provider.

•Boolean!
non-null

Whether duties are included in the subtotal price of the order. Duties are import taxes charged by customs authorities when goods cross international borders.

•Boolean!
non-null

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

•String

The email address associated with the customer for this order. Used for sending order confirmations, shipping notifications, and other order-related communications. Returns null if no email address was provided during checkout.

•Boolean!
non-null

Whether taxes on the order are estimated. This field returns false when taxes on the order are finalized and aren't subject to any changes.

•EventConnection!
non-null

A list of events associated with the order. Events track significant changes and activities related to the order, such as creation, payment, fulfillment, and cancellation.

•Boolean!
non-null

Whether there are line items that can be fulfilled. This field returns false when the order has no fulfillable line items. For a more granular view of the fulfillment status, refer to the FulfillmentOrder object.

•FulfillmentOrderConnection!
non-null

A list of fulfillment orders for an order. Each fulfillment order groups line items that are fulfilled together, allowing an order to be processed in parts if needed.

•[Fulfillment!]!
non-null

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

•Count

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

•Boolean!
non-null

Whether the order has been paid in full. This field returns true when the total amount received equals or exceeds the order total.

•Boolean!
non-null

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

•ID!
non-null

A globally-unique ID.

•UnsignedInt64!
non-null

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

•LineItemConnection!
non-null

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

•LocalizedFieldConnection!
non-null

List of localized fields for the resource.

Anchor to merchantBusinessEntitymerchantBusinessEntity
•BusinessEntity!
non-null

The legal business structure that the merchant operates under for this order, such as an LLC, corporation, or partnership. Used for tax reporting, legal compliance, and determining which business entity is responsible for the order.

•Boolean!
non-null

Whether the order can be edited by the merchant. Returns false for orders that can't be modified, such as canceled orders or orders with specific payment statuses.

Anchor to merchantEditableErrorsmerchantEditableErrors
•[String!]!
non-null

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

•OrderApp

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

•Metafield

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

•MetafieldConnection!
non-null

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

•String!
non-null

The unique identifier for the order that appears on the order page in the Shopify admin and the Order status page. For example, "#1001", "EN1001", or "1001-A". This value isn't unique across multiple stores. Use this field to identify orders in the Shopify admin and for order tracking.

•MoneyBag!
non-null

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

Anchor to nonFulfillableLineItemsnonFulfillableLineItems
•LineItemConnection!
non-null

A list of line items that can't be fulfilled. For example, tips and fully refunded line items can't be fulfilled. For a more granular view of the fulfillment status, refer to the FulfillmentOrder object.

•String

The note associated with the order. Contains additional information or instructions added by merchants or customers during the order process. Commonly used for special delivery instructions, gift messages, or internal processing notes.

•Int!
non-null

The order number used to generate the name using the store's configured order number prefix/suffix. This number isn't guaranteed to follow a consecutive integer sequence (e.g. 1, 2, 3..), nor is it guaranteed to be unique across multiple stores, or even for a single store.

Anchor to originalTotalAdditionalFeesSetoriginalTotalAdditionalFeesSet
•MoneyBag

The total amount of all additional fees, such as import fees or taxes, that were applied when an order was created. Returns null if additional fees aren't applicable.

Anchor to originalTotalDutiesSetoriginalTotalDutiesSet
•MoneyBag

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

Anchor to originalTotalPriceSetoriginalTotalPriceSet
•MoneyBag!
non-null

The total price of the order at the time of order creation, in shop and presentment currencies. Use this to compare the original order value against the current total after edits, returns, or refunds.

Anchor to paymentCollectionDetailspaymentCollectionDetails
•OrderPaymentCollectionDetails!
non-null

The payment collection details for the order, including payment status, outstanding amounts, and collection information. Use this to understand when and how payments should be collected, especially for orders with deferred or installment payment terms.

•[String!]!
non-null

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

•PaymentTerms

The payment terms associated with the order, such as net payment due dates or early payment discounts. Payment terms define when and how an order should be paid. Returns null if no specific payment terms were set for the order.

•String

The phone number associated with the customer for this order. Useful for contacting customers about shipping updates, delivery notifications, or order issues. Returns null if no phone number was provided during checkout.

•String

The purchase order (PO) number that's associated with an order. This is typically provided by business customers who require a PO number for their procurement.

Anchor to presentmentCurrencyCodepresentmentCurrencyCode
•CurrencyCode!
non-null

The currency used by the customer when placing the order. For example, "USD", "EUR", or "CAD". This may differ from the shop's base currency when serving international customers or using multi-currency pricing.

•DateTime!
non-null

The date and time in ISO 8601 format when the order was processed. This date and time might not match the date and time when the order was created.

•Publication

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

•PurchasingEntity

The business entity that placed the order, including company details and purchasing relationships. Used for B2B transactions to track which company or organization is responsible for the purchase and payment terms.

•Boolean!
non-null

Whether the order can be refunded based on its payment transactions. Returns false for orders with no eligible payment transactions, such as fully refunded orders or orders with non-refundable payment methods.

Anchor to refundDiscrepancySetrefundDiscrepancySet
•MoneyBag!
non-null

The difference between the suggested and actual refund amount of all refunds that have been applied to the order. A positive value indicates a difference in the merchant's favor, and a negative value indicates a difference in the customer's favor.

•[Refund!]!
non-null

A list of refunds that have been applied to the order. Refunds represent money returned to customers for returned items, cancellations, or adjustments.

•URL

The URL of the source that the order originated from, if found in the domain registry. Returns null if the source URL isn't in the domain registry.

•Boolean!
non-null

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

•Boolean!
non-null

Whether any line items on the order can be restocked into inventory. Returns false for digital products, custom items, or items that can't be resold.

•Location

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

•ReturnConnection!
non-null

The returns associated with the order. Contains information about items that customers have requested to return, including return reasons, status, and refund details. Use this to track and manage the return process for order items.

•OrderReturnStatus!
non-null

The order's aggregated return status for display purposes. Indicates the overall state of returns for the order, helping merchants track and manage the return process.

•OrderRiskSummary!
non-null

The risk assessment summary for the order. Provides fraud analysis and risk scoring to help you identify potentially fraudulent orders. Use this to make informed decisions about order fulfillment and payment processing.

•MailingAddress

The shipping address where the order will be delivered. Contains the customer's delivery location for fulfillment and shipping label generation. Returns null for digital orders or orders that don't require shipping.

•ShippingLine

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

•ShippingLineConnection!
non-null

The shipping methods applied to the order. Each shipping line represents a shipping option chosen during checkout, including the carrier, service level, and cost. Use this to understand shipping charges and delivery options for the order.

•ShopifyProtectOrderSummary

The Shopify Protect details for the order, including fraud protection status and coverage information. Shopify Protect helps protect eligible orders against fraudulent chargebacks. Returns null if Shopify Protect is disabled for the shop or the order isn't eligible for protection. Learn more about Shopify Protect.

•String

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

•String

The name of the source associated with the order, such as "web", "mobile_app", or "pos". Use this field to identify the platform where the order was placed.

•StaffMember

The staff member who created or is responsible for the order. Useful for tracking which team member handled phone orders, manual orders, or order modifications. Returns null for orders created directly by customers through the online store.

•URL!
non-null

The URL where customers can check their order's current status, including tracking information and delivery updates. Provides order tracking links in emails, apps, or customer communications.

Arguments

•Audience

Specifies the intended audience for the status page URL.

•NotificationUsage

Specifies the intended notification usage for the status page URL.


Anchor to subtotalLineItemsQuantitysubtotalLineItemsQuantity
•Int!
non-null

The sum of quantities for all line items that contribute to the order's subtotal price. This excludes quantities for items like tips, shipping costs, or gift cards that don't affect the subtotal. Use this to quickly understand the total item count for pricing calculations.

•MoneyBag

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

•SuggestedRefund

A calculated refund suggestion for the order based on specified line items, shipping, and duties. Use this to preview refund amounts, taxes, and processing fees before creating an actual refund.

•[String!]!
non-null

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

•Boolean!
non-null

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

•Boolean!
non-null

Whether taxes are exempt on the order. Returns true for orders where the customer or business has a valid tax exemption, such as non-profit organizations or tax-free purchases. Use this to understand if tax calculations were skipped during checkout.

•[TaxLine!]!
non-null

A list of all tax lines applied to line items on the order, before returns. Tax line prices represent the total price for all tax lines with the same rate and title.

•Boolean!
non-null

Whether the order is a test. Test orders are made using the Shopify Bogus Gateway or a payment provider with test mode enabled. A test order can't be converted into a real order and vice versa.

•MoneyBag!
non-null

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

Anchor to totalCashRoundingAdjustmenttotalCashRoundingAdjustment
•CashRoundingAdjustment!
non-null

The total rounding adjustment applied to payments or refunds for an order involving cash payments. Applies to some countries where cash transactions are rounded to the nearest currency denomination.

•MoneyBag

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

•MoneyBag!
non-null

The total amount not yet transacted for the order, in shop and presentment currencies. A positive value indicates a difference in the merchant's favor (payment from customer to merchant) and a negative value indicates a difference in the customer's favor (refund from merchant to customer).

•MoneyBag!
non-null

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

•MoneyBag!
non-null

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

•MoneyBag!
non-null

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

Anchor to totalRefundedShippingSettotalRefundedShippingSet
•MoneyBag!
non-null

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

Anchor to totalShippingPriceSettotalShippingPriceSet
•MoneyBag!
non-null

The total shipping costs returned to the customer, in shop and presentment currencies. This includes fees and any related discounts that were refunded.

•MoneyBag

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

•MoneyBag!
non-null

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

•UnsignedInt64

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

•[OrderTransaction!]!
non-null

A list of transactions associated with the order.

•Count

The number of transactions associated with the order.

•Boolean!
non-null

Whether no payments have been made for the order.

•DateTime!
non-null

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

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

An order adjustment accounts for the difference between a calculated and actual refund amount.

•MoneyBag!
non-null

The amount of the order adjustment in shop and presentment currencies.

•ID!
non-null

A globally-unique ID.

•OrderAdjustmentDiscrepancyReason

An optional reason that explains a discrepancy between calculated and actual refund amounts.

•MoneyBag!
non-null

The tax amount of the order adjustment in shop and presentment currencies.

•OBJECT

A summary of the important details for a dispute on an order.

•ID!
non-null

A globally-unique ID.

•DisputeType!
non-null

The type that the dispute was initiated as.

•DisputeStatus!
non-null

The current status of the dispute.

•OBJECT

The OrderTransaction object represents a payment transaction that's associated with an order. An order transaction is a specific action or event that happens within the context of an order, such as a customer paying for a purchase or receiving a refund, or other payment-related activity.

Use the OrderTransaction object to capture the complete lifecycle of a payment, from initial authorization to final settlement, including refunds and currency exchanges. Common use cases for using the OrderTransaction object include:

  • Processing new payments for orders
  • Managing payment authorizations and captures
  • Processing refunds for returned items
  • Tracking payment status and errors
  • Managing multi-currency transactions
  • Handling payment gateway integrations

Each OrderTransaction object has a kind that defines the type of transaction and a status that indicates the current state of the transaction. The object stores detailed information about payment methods, gateway processing, and settlement details.

Learn more about payment processing and payment gateway integrations.

•String

The masked account number associated with the payment method.

•MoneyBag

The rounding adjustment applied on the cash amount in shop and presentment currencies.

•MoneyBag!
non-null

The amount and currency of the transaction in shop and presentment currencies.

•String

Authorization code associated with the transaction.

Anchor to authorizationExpiresAtauthorizationExpiresAt
•DateTime

The time when the authorization expires. This field is available only to stores on a Shopify Plus plan.

•DateTime!
non-null

Date and time when the transaction was created.

Anchor to currencyExchangeAdjustmentcurrencyExchangeAdjustment
•CurrencyExchangeAdjustment

An adjustment on the transaction showing the amount lost or gained due to fluctuations in the currency exchange rate.

•PointOfSaleDevice

The Shopify Point of Sale device used to process the transaction.

•OrderTransactionErrorCode

A standardized error code, independent of the payment provider.

•[TransactionFee!]!
non-null

The transaction fees charged on the order transaction. Only present for Shopify Payments transactions.

•String

The human-readable payment gateway name used to process the transaction.

•String

The payment gateway used to process the transaction.

•ID!
non-null

A globally-unique ID.

•OrderTransactionKind!
non-null

The kind of transaction.

•Location

The physical location where the transaction was processed.

•Boolean!
non-null

Whether the transaction can be manually captured.

Anchor to manualPaymentGatewaymanualPaymentGateway
•Boolean!
non-null

Whether the transaction is processed by manual payment gateway.

•MoneyV2

Specifies the available amount with currency to refund on the gateway. This value is only available for transactions of type SuggestedRefund.

•Boolean!
non-null

Whether the transaction can be captured multiple times.

•Order

The associated order.

•OrderTransaction

The associated parent transaction, for example the authorization of a capture.

•PaymentDetails

The payment details for the transaction.

•Image

The payment icon to display for the transaction.

•String

The payment ID associated with the transaction.

•DateTime

Date and time when the transaction was processed.

•JSON

The transaction receipt that the payment gateway attaches to the transaction. The value of this field depends on which payment gateway processed the transaction.

•CurrencyCode

The settlement currency.

Anchor to settlementCurrencyRatesettlementCurrencyRate
•Decimal

The rate used when converting the transaction amount to settlement currency.

•ShopifyPaymentsTransactionSet

Contains all Shopify Payments information related to an order transaction. This field is available only to stores on a Shopify Plus plan.

•OrderTransactionStatus!
non-null

The status of this transaction.

•Boolean!
non-null

Whether the transaction is a test transaction.

•MoneyBag

Specifies the available amount with currency to capture on the gateway in shop and presentment currencies. Only available when an amount is capturable or manually mark as paid.

•StaffMember

Staff member who was logged into the Shopify POS device when the transaction was processed.

•Money!
non-nullDeprecated
•MoneyV2!
non-nullDeprecated
•Money
Deprecated
•PaymentMethods
Deprecated
•Money
Deprecated
•MoneyV2
Deprecated
•OBJECT

A page on the Online Store.

•HTML!
non-null

The text content of the page, complete with HTML markup.

•String!
non-null

The first 150 characters of the page body. If the page body contains more than 150 characters, additional characters are truncated by ellipses.

•DateTime!
non-null

The date and time (ISO 8601 format) of the page creation.

•String!
non-null

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

•EventConnection!
non-null

The paginated list of events associated with the host subject.

•String!
non-null

A unique, human-friendly string for the page. In themes, the Liquid templating language refers to a page by its handle.

•ID!
non-null

A globally-unique ID.

•Boolean!
non-null

Whether or not the page is visible.

•Metafield

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

•MetafieldConnection!
non-null

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

•DateTime

The date and time (ISO 8601 format) when the page became or will become visible. Returns null when the page isn't visible.

•String

The suffix of the template that's used to render the page.

•String!
non-null

Title of the page.

•[Translation!]!
non-null

The published translations associated with the resource.

•DateTime!
non-null

The date and time (ISO 8601 format) of the latest page update.

Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•OBJECT

A payment customization.

•Boolean!
non-null

The enabled status of the payment customization.

•FunctionsErrorHistory

The error history on the most recent version of the payment customization.

•String!
non-null

The ID of the Shopify Function implementing the payment customization.

•ID!
non-null

A globally-unique ID.

•Metafield

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

•MetafieldConnection!
non-null

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

•ShopifyFunction!
non-null

The Shopify Function implementing the payment customization.

•String!
non-null

The title of the payment customization.

Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•OBJECT

A payment instrument and the permission the owner of the instrument gives to the merchant to debit it.

•ID!
non-null

The unique ID of a payment mandate.

•PaymentInstrument!
non-null

The outputs details of the payment instrument.

•OBJECT

Represents the payment schedule for a single payment defined in the payment terms.

•DateTime

Date and time when the payment schedule is paid or fulfilled.

•DateTime

Date and time when the payment schedule is due.

•ID!
non-null

A globally-unique ID.

•DateTime

Date and time when the invoice is sent.

•PaymentTerms!
non-null

The payment terms the payment schedule belongs to.

•MoneyV2!
non-nullDeprecated
•OBJECT

Represents the payment terms for an order or draft order.

•DraftOrder

The draft order associated with the payment terms.

•Int

Duration of payment terms in days based on the payment terms template used to create the payment terms.

•ID!
non-null

A globally-unique ID.

•Order

The order associated with the payment terms.

•Boolean!
non-null

Whether the payment terms have overdue payment schedules.

•PaymentScheduleConnection!
non-null

List of schedules for the payment terms.

•String!
non-null

The name of the payment terms template used to create the payment terms.

•PaymentTermsType!
non-null

The payment terms template type used to create the payment terms.

•String!
non-null

The payment terms name, translated into the shop admin's preferred language.

•OBJECT

Represents the payment terms template object.

•String!
non-null

The description of the payment terms template.

•Int

The number of days between the issued date and due date if this is the net type of payment terms.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The name of the payment terms template.

•PaymentTermsType!
non-null

The type of the payment terms template.

•String!
non-null

The translated payment terms template name.

•OBJECT

Represents a mobile device that Shopify Point of Sale has been installed on.

•ID!
non-null

A globally-unique ID.

•OBJECT

Represents a price list, including information about related prices and eligibility rules. You can use price lists to specify either fixed prices or adjusted relative prices that override initial product variant prices. Price lists are applied to customers using context rules, which determine price list eligibility.

For more information on price lists, refer to Support different pricing models.

•Catalog

The catalog that the price list is associated with.

•CurrencyCode!
non-null

The currency for fixed prices associated with this price list.

•Int!
non-null

The number of fixed prices on the price list.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The unique name of the price list, used as a human-readable identifier.

•PriceListParent

Relative adjustments to other prices.

•PriceListPriceConnection!
non-null

A list of prices associated with the price list.

•QuantityRuleConnection!
non-null

A list of quantity rules associated with the price list, ordered by product variants.

•OBJECT

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

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

•Int

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

•PriceRuleAllocationMethod!
non-null

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

•App

The application that created the price rule.

•DiscountCombinesWith!
non-null

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

•DateTime!
non-null

The date and time when the price rule was created.

•PriceRuleCustomerSelection!
non-null

The customers that can use this price rule.

•[DiscountClass!]!
non-null

The classes of the discount.

•PriceRuleDiscountCodeConnection!
non-null

List of the price rule's discount codes.

•Count

How many discount codes associated with the price rule.

•DateTime

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

•EventConnection!
non-null

The paginated list of events associated with the price rule.

•[PriceRuleFeature!]!
non-null

A list of the price rule's features.

•Boolean!
non-null

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

•ID!
non-null

A globally-unique ID.

•PriceRuleItemEntitlements!
non-null

The items to which the price rule applies.

•PriceRuleLineItemPrerequisites!
non-null

The items required for the price rule to be applicable.

•UnsignedInt64!
non-null

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

•Boolean!
non-null

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

Anchor to prerequisiteQuantityRangeprerequisiteQuantityRange
•PriceRuleQuantityRange

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

Anchor to prerequisiteShippingPriceRangeprerequisiteShippingPriceRange
•PriceRuleMoneyRange

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

Anchor to prerequisiteSubtotalRangeprerequisiteSubtotalRange
•PriceRuleMoneyRange

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

Anchor to prerequisiteToEntitlementQuantityRatioprerequisiteToEntitlementQuantityRatio
•PriceRulePrerequisiteToEntitlementQuantityRatio

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

•[PriceRuleShareableUrl!]!
non-null

URLs that can be used to share the discount.

Anchor to shippingEntitlementsshippingEntitlements
•PriceRuleShippingLineEntitlements!
non-null

The shipping lines to which the price rule applies.

•DateTime!
non-null

The date and time when the price rule starts.

•PriceRuleStatus!
non-null

The status of the price rule.

•String

A detailed summary of the price rule.

•PriceRuleTarget!
non-null

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

•String!
non-null

The title of the price rule.

•MoneyV2

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

•Int!
non-null

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

•Int

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

•PriceRuleValidityPeriod!
non-null

A time period during which a price rule is applicable.

•PricingValue!
non-null

The value of the price rule.

•DiscountClass!
non-nullDeprecated
Anchor to entitlementToPrerequisiteQuantityRatioentitlementToPrerequisiteQuantityRatio
•PriceRuleEntitlementToPrerequisiteQuantityRatio
Deprecated
•[PriceRuleTrait!]!
non-nullDeprecated
•PriceRuleValue!
non-nullDeprecated
•OBJECT

A discount code of a price rule.

•App

The application that created the discount code.

•String!
non-null

The code to apply the discount.

•ID!
non-null

A globally-unique ID.

•Int!
non-null

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

•OBJECT

The Product object lets you manage products in a merchant’s store.

Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. You can use product variants to create or update different versions of the same product. You can also add or update product media. Products can be organized by grouping them into a collection.

Learn more about working with Shopify's product model, including limitations and considerations.

Anchor to availablePublicationsCountavailablePublicationsCount
•Count

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

•ProductBundleComponentConnection!
non-null

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

•TaxonomyCategory

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

•CollectionConnection!
non-null

A list of collections that include the product.

•CombinedListing

A special product type that combines separate products from a store into a single product listing. Combined listings are connected by a shared option, such as color, model, or dimension.

•CombinedListingsRole

The role of the product in a combined listing.

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

•ProductCompareAtPriceRange

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

•ProductContextualPricing!
non-null

The pricing that applies to a customer in a specific context. For example, a price might vary depending on the customer's location. Only active markets are considered in the price resolution.

•DateTime!
non-null

The date and time when the product was created.

•String!
non-null

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

•String!
non-null

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

Arguments

•Int

Truncates a string after the given length.


•HTML!
non-null

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

•EventConnection!
non-null

The paginated list of events associated with the host subject.

•Media

The featured media associated with the product.

•ResourceFeedback

The information that lets merchants know what steps they need to take to make sure that the app is set up correctly.

For example, if a merchant hasn't set up a product correctly in the app, then the feedback might include a message that says "You need to add a price to this product".

Anchor to giftCardTemplateSuffixgiftCardTemplateSuffix
•String

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

•String!
non-null

A unique, human-readable string of the product's title. A handle can contain letters, hyphens (-), and numbers, but no spaces. The handle is used in the online store URL for the product.

Anchor to hasOnlyDefaultVarianthasOnlyDefaultVariant
•Boolean!
non-null

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

Anchor to hasOutOfStockVariantshasOutOfStockVariants
•Boolean!
non-null

Whether the product has variants that are out of stock.

Anchor to hasVariantsThatRequiresComponentshasVariantsThatRequiresComponents
•Boolean!
non-null

Whether at least one of the product variants requires bundle components.

Learn more about store eligibility for bundles.

•ID!
non-null

A globally-unique ID.

•Boolean!
non-null

Whether the product is in a specified collection.

Arguments

•ID!
required

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


•Boolean!
non-null

Whether the product is a gift card.

•UnsignedInt64!
non-null

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

•MediaConnection!
non-null

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

•Count

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

•Metafield

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

•MetafieldConnection!
non-null

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

Anchor to onlineStorePreviewUrlonlineStorePreviewUrl
•URL

The preview URL for the online store.

•URL

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

•[ProductOption!]!
non-null

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

•ProductPriceRangeV2!
non-null

The minimum and maximum prices of a product, expressed in decimal numbers. For example, if the product is priced between $10.00 and $50.00, then the price range is $10.00 - $50.00.

•ProductComponentTypeConnection!
non-null

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

Anchor to productComponentsCountproductComponentsCount
•Count

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

•ProductConnection!
non-null

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

•String!
non-null

The product type that merchants define.

•DateTime

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

•Boolean!
non-null

Whether the product is published for a customer only in a specified context. For example, a product might be published for a customer only in a specific location.

Arguments

•ContextualPublicationContext!
required

The context used to determine publication status.


Anchor to publishedOnCurrentPublicationpublishedOnCurrentPublication
•Boolean!
non-null

Whether the resource is published to the app's publication. For example, the resource might be published to the app's online store channel.

Anchor to publishedOnPublicationpublishedOnPublication
•Boolean!
non-null

Whether the resource is published to a specified publication.

Arguments

•ID!
required

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


•Boolean!
non-null

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

Anchor to resourcePublicationOnCurrentPublicationresourcePublicationOnCurrentPublication
•ResourcePublicationV2

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

Anchor to resourcePublicationsresourcePublications
•ResourcePublicationConnection!
non-null

The list of resources that are published to a publication.

Anchor to resourcePublicationsCountresourcePublicationsCount
•Count

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

Anchor to resourcePublicationsV2resourcePublicationsV2
•ResourcePublicationV2Connection!
non-null

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

Anchor to restrictedForResourcerestrictedForResource
•RestrictedForResource

Whether the merchant can make changes to the product when they edit the order associated with the product. For example, a merchant might be restricted from changing product details when they edit an order.

•SellingPlanGroupConnection!
non-null

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

Anchor to sellingPlanGroupsCountsellingPlanGroupsCount
•Count

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

•SEO!
non-null

The SEO title and description that are associated with a product.

•ProductStatus!
non-null

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

•[String!]!
non-null

A comma-separated list of searchable keywords that are associated with the product. For example, a merchant might apply the sports and summer tags to products that are associated with sportwear for summer.

Updating tags overwrites any existing tags that were previously added to the product. To add new tags without overwriting existing tags, use the tagsAdd mutation.

•String

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

•String!
non-null

The name for the product that displays to customers. The title is used to construct the product's handle. For example, if a product is titled "Black Sunglasses", then the handle is black-sunglasses.

•Int!
non-null

The quantity of inventory that's in stock.

•Boolean!
non-null

Whether inventory tracking has been enabled for the product.

•[Translation!]!
non-null

The published translations associated with the resource.

Anchor to unpublishedPublicationsunpublishedPublications
•PublicationConnection!
non-null

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

•DateTime!
non-null

The date and time when the product was last modified. A product's updatedAt value can change for different reasons. For example, if an order is placed for a product that has inventory tracking set up, then the inventory adjustment is counted as an update.

•ProductVariantConnection!
non-null

A list of variants associated with the product. If querying a single product at the root, you can fetch up to 2000 variants.

•Count

The number of variants that are associated with the product.

•String!
non-null

The name of the product's vendor.

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

Arguments

•Boolean
Default:true

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


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

Arguments

•ID!
required

The ID of the channel to check.


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

An entity that represents details of an asynchronous ProductBundleCreate or ProductBundleUpdate mutation.

By querying this entity with the productOperation query using the ID that was returned when the bundle was created or updated, this can be used to check the status of an operation.

The status field indicates whether the operation is CREATED, ACTIVE, or COMPLETE.

The product field provides the details of the created or updated product.

The userErrors field provides mutation errors that occurred during the operation.

•ID!
non-null

A globally-unique ID.

•Product

The product on which the operation is being performed.

•ProductOperationStatus!
non-null

The status of this operation.

•[ProductBundleMutationUserError!]!
non-null

Returns mutation errors occurred during background mutation processing.

•OBJECT

An entity that represents details of an asynchronous ProductDelete mutation.

By querying this entity with the productOperation query using the ID that was returned when the product was deleted, this can be used to check the status of an operation.

The status field indicates whether the operation is CREATED, ACTIVE, or COMPLETE.

The deletedProductId field provides the ID of the deleted product.

The userErrors field provides mutation errors that occurred during the operation.

•ID

The ID of the deleted product.

•ID!
non-null

A globally-unique ID.

•Product

The product on which the operation is being performed.

•ProductOperationStatus!
non-null

The status of this operation.

•[UserError!]!
non-null

Returns mutation errors occurred during background mutation processing.

•OBJECT

An entity that represents details of an asynchronous ProductDuplicate mutation.

By querying this entity with the productOperation query using the ID that was returned when the product was duplicated, this can be used to check the status of an operation.

The status field indicates whether the operation is CREATED, ACTIVE, or COMPLETE.

The product field provides the details of the original product.

The newProduct field provides the details of the new duplicate of the product.

The userErrors field provides mutation errors that occurred during the operation.

•ID!
non-null

A globally-unique ID.

•Product

The newly created duplicate of the original product.

•Product

The product on which the operation is being performed.

•ProductOperationStatus!
non-null

The status of this operation.

•[UserError!]!
non-null

Returns mutation errors occurred during background mutation processing.

•OBJECT

A product feed.

•CountryCode

The country of the product feed.

•ID!
non-null

A globally-unique ID.

•LanguageCode

The language of the product feed.

•ProductFeedStatus!
non-null

The status of the product feed.

•OBJECT

The product property names. For example, "Size", "Color", and "Material". Variants are selected based on permutations of these options. The limit for each product property name is 255 characters.

•ID!
non-null

A globally-unique ID.

•LinkedMetafield

The metafield identifier linked to this option.

•String!
non-null

The product option’s name.

•[ProductOptionValue!]!
non-null

Similar to values, option_values returns all the corresponding option value objects to the product option, including values not assigned to any variants.

•Int!
non-null

The product option's position.

•[Translation!]!
non-null

The published translations associated with the resource.

•[String!]!
non-null

The corresponding value to the product option name.

•OBJECT

The product option value names. For example, "Red", "Blue", and "Green" for a "Color" option.

•Boolean!
non-null

Whether the product option value has any linked variants.

•ID!
non-null

A globally-unique ID.

Anchor to linkedMetafieldValuelinkedMetafieldValue
•String

The value of the linked metafield.

•String!
non-null

The name of the product option value.

•ProductOptionValueSwatch

The swatch associated with the product option value.

•[Translation!]!
non-null

The published translations associated with the resource.

•OBJECT

An entity that represents details of an asynchronous ProductSet mutation.

By querying this entity with the productOperation query using the ID that was returned when the product was created or updated, this can be used to check the status of an operation.

The status field indicates whether the operation is CREATED, ACTIVE, or COMPLETE.

The product field provides the details of the created or updated product.

The userErrors field provides mutation errors that occurred during the operation.

•ID!
non-null

A globally-unique ID.

•Product

The product on which the operation is being performed.

•ProductOperationStatus!
non-null

The status of this operation.

•[ProductSetUserError!]!
non-null

Returns mutation errors occurred during background mutation processing.

•OBJECT

Represents a Shopify product taxonomy node.

•String!
non-null

The full name of the product taxonomy node. For example, Animals & Pet Supplies > Pet Supplies > Dog Supplies > Dog Beds.

•ID!
non-null

The ID of the product taxonomy node.

•Boolean!
non-null

Whether the node is a leaf node.

•Boolean!
non-null

Whether the node is a root node.

•String!
non-null

The name of the product taxonomy node. For example, Dog Beds.

•OBJECT

The ProductVariant object represents a version of a product that comes in more than one option, such as size or color. For example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one product variant and a large, blue t-shirt would be another.

Use the ProductVariant object to manage the full lifecycle and configuration of a product's variants. Common use cases for using the ProductVariant object include:

  • Tracking inventory for each variant
  • Setting unique prices for each variant
  • Assigning barcodes and SKUs to connect variants to fulfillment services
  • Attaching variant-specific images and media
  • Setting delivery and tax requirements
  • Supporting product bundles, subscriptions, and selling plans

A ProductVariant is associated with a parent Product object. ProductVariant serves as the central link between a product's merchandising configuration, inventory, pricing, fulfillment, and sales channels within the GraphQL Admin API schema. Each variant can reference other GraphQL types such as:

Learn more about Shopify's product model.

•Boolean!
non-null

Whether the product variant is available for sale.

•String

The value of the barcode associated with the product.

•Money

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

•ProductVariantContextualPricing!
non-null

The pricing that applies for a customer in a given context. As of API version 2025-04, only active markets are considered in the price resolution.

•DateTime!
non-null

The date and time when the variant was created.

•String!
non-null

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

•DeliveryProfile

The delivery profile for the variant.

•String!
non-null

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

•EventConnection!
non-null

The paginated list of events associated with the host subject.

•ID!
non-null

A globally-unique ID.

•Image

The featured image for the variant.

•InventoryItem!
non-null

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

•ProductVariantInventoryPolicy!
non-null

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

•Int

The total sellable quantity of the variant.

•UnsignedInt64!
non-null

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

•MediaConnection!
non-null

The media associated with the product variant.

•Metafield

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

•MetafieldConnection!
non-null

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

•Int!
non-null

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

•Money!
non-null

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

•Product!
non-null

The product that this variant belongs to.

•ProductConnection!
non-null

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

Anchor to productVariantComponentsproductVariantComponents
•ProductVariantComponentConnection!
non-null

A list of the product variant components.

•Boolean!
non-null

Whether a product variant requires components. The default value is false. If true, then the product variant can only be purchased as a parent bundle with components and it will be omitted from channels that don't support bundles.

•[SelectedOption!]!
non-null

List of product options applied to the variant.

Anchor to sellableOnlineQuantitysellableOnlineQuantity
•Int!
non-null

The total sellable quantity of the variant for online channels. This doesn't represent the total available inventory or capture limitations based on customer location.

•SellingPlanGroupConnection!
non-null

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

Anchor to sellingPlanGroupsCountsellingPlanGroupsCount
•Count

Count of selling plan groups associated with the product variant.

•Boolean!
non-null

Whether to show the unit price for this product variant.

•String

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

•Boolean!
non-null

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

•String!
non-null

The title of the product variant.

•[Translation!]!
non-null

The published translations associated with the resource.

•MoneyV2

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

Anchor to unitPriceMeasurementunitPriceMeasurement
•UnitPriceMeasurement

The unit price measurement for the variant.

•DateTime!
non-null

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

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

A product variant component that is included within a bundle.

These are the individual product variants that make up a bundle product, where each component has a specific required quantity.

•ID!
non-null

A globally-unique ID.

•ProductVariant!
non-null

The product variant associated with the component.

•Int!
non-null

The required quantity of the component.

•OBJECT

A publication is a group of products and collections that is published to an app.

•Boolean!
non-null

Whether new products are automatically published to this publication.

•Catalog

The catalog associated with the publication.

Anchor to collectionPublicationsV3collectionPublicationsV3
•ResourcePublicationConnection!
non-null

The collection publications for the list of collections published to the publication.

•CollectionConnection!
non-null

The list of collections published to the publication.

•Boolean!
non-null

Whether the collection is available to the publication.

Arguments

•ID!
required

Collection ID to check.


•ID!
non-null

A globally-unique ID.

•ProductConnection!
non-null

The list of products included, but not necessarily published, in the publication.

•PublicationOperation

A background operation associated with this publication.

Anchor to productPublicationsV3productPublicationsV3
•ResourcePublicationConnection!
non-null

The product publications for the list of products published to the publication.

•ProductConnection!
non-null

The list of products published to the publication.

Anchor to supportsFuturePublishingsupportsFuturePublishing
•Boolean!
non-null

Whether the publication supports future publishing.

•App!
non-nullDeprecated
•String!
non-nullDeprecated
•OBJECT

A bulk update operation on a publication.

•ID!
non-null

A globally-unique ID.

•Int

The count of processed rows, summing imported, failed, and skipped rows.

•RowCount

Represents a rows objects within this background operation.

•ResourceOperationStatus!
non-null

The status of this operation.

•OBJECT

Quantity price breaks lets you offer different rates that are based on the amount of a specific variant being ordered.

•ID!
non-null

A globally-unique ID.

•Int!
non-null

Minimum quantity required to reach new quantity break price.

•MoneyV2!
non-null

The price of variant after reaching the minimum quanity.

•PriceList!
non-null

The price list associated with this quantity break.

•ProductVariant!
non-null

The product variant associated with this quantity break.

•OBJECT

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

The Refund object provides information to:

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

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

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


Note

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


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

•DateTime

The date and time when the refund was created.

•[RefundDuty!]

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

•ID!
non-null

A globally-unique ID.

•UnsignedInt64!
non-null

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

•String

The optional note associated with the refund.

•Order!
non-null

The order associated with the refund.

•OrderAdjustmentConnection!
non-null

The order adjustments that are attached with the refund.

•RefundLineItemConnection!
non-null

The RefundLineItem resources attached to the refund.

•RefundShippingLineConnection!
non-null

The RefundShippingLine resources attached to the refund.

•Return

The return associated with the refund.

•StaffMember

The staff member who created the refund.

•MoneyBag!
non-null

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

•OrderTransactionConnection!
non-null

The transactions associated with the refund.

•DateTime!
non-null

The date and time when the refund was updated.

•MoneyV2!
non-nullDeprecated
•OBJECT

A shipping line item that's included in a refund.

•ID!
non-null

A globally-unique ID.

•ShippingLine!
non-null

The ShippingLine resource associated to the refunded shipping line item.

•MoneyBag!
non-null

The subtotal amount of the refund shipping line in shop and presentment currencies.

•MoneyBag!
non-null

The tax amount of the refund shipping line in shop and presentment currencies.

•OBJECT

The Return object represents the intent of a buyer to ship one or more items from an order back to a merchant or a third-party fulfillment location. A return is associated with an order and can include multiple return line items. Each return has a status, which indicates the state of the return.

Use the Return object to capture the financial, logistical, and business intent of a return. For example, you can identify eligible items for a return and issue customers a refund for returned items on behalf of the merchant.

Learn more about providing a return management workflow for merchants. You can also manage exchanges, reverse fulfillment orders, and reverse deliveries on behalf of merchants.

•DateTime

The date and time when the return was closed.

•DateTime!
non-null

The date and time when the return was created.

•ReturnDecline

Additional information about the declined return.

•ExchangeLineItemConnection!
non-null

The exchange line items attached to the return.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The name of the return.

•Order!
non-null

The order that the return belongs to.

•RefundConnection!
non-null

The list of refunds associated with the return.

•DateTime

The date and time when the return was approved.

•ReturnLineItemTypeConnection!
non-null

The return line items attached to the return.

•[ReturnShippingFee!]!
non-null

The return shipping fees for the return.

Anchor to reverseFulfillmentOrdersreverseFulfillmentOrders
•ReverseFulfillmentOrderConnection!
non-null

The list of reverse fulfillment orders for the return.

•ReturnStatus!
non-null

The status of the return.

Anchor to suggestedFinancialOutcomesuggestedFinancialOutcome
•SuggestedReturnFinancialOutcome

A suggested financial outcome for the return.

•Int!
non-null

The sum of all return line item quantities for the return.

•SuggestedReturnRefund
Deprecated
•OBJECT

A returnable fulfillment, which is an order that has been delivered and is eligible to be returned to the merchant.

•Fulfillment!
non-null

The fulfillment that the returnable fulfillment refers to.

•ID!
non-null

The unique ID of the Returnable Fulfillment.

Anchor to returnableFulfillmentLineItemsreturnableFulfillmentLineItems
•ReturnableFulfillmentLineItemConnection!
non-null

The list of returnable fulfillment line items.

•OBJECT

A return line item.

•String

A note from the customer that describes the item to be returned. Maximum length: 300 characters.

•FulfillmentLineItem!
non-null

The fulfillment line item from which items are returned.

•ID!
non-null

A globally-unique ID.

•Int!
non-null

The quantity that can be processed.

•Int!
non-null

The quantity that has been processed.

•Int!
non-null

The quantity being returned.

•Int!
non-null

The quantity that can be refunded.

•Int!
non-null

The quantity that was refunded.

•RestockingFee

The restocking fee for the return line item.

•ReturnReason!
non-null

The reason for returning the item.

•String!
non-null

Additional information about the reason for the return. Maximum length: 255 characters.

•Weight

The total weight of the item.

•Int!
non-null

The quantity that has't been processed.

Anchor to withCodeDiscountedTotalPriceSetwithCodeDiscountedTotalPriceSet
•MoneyBag!
non-null

The total line price after all discounts on the line item, including both line item level discounts and code-based line item discounts, are applied.

•OBJECT

A reverse delivery is a post-fulfillment object that represents a buyer sending a package to a merchant. For example, a buyer requests a return, and a merchant sends the buyer a shipping label. The reverse delivery contains the context of the items sent back, how they're being sent back (for example, a shipping label), and the current state of the delivery (tracking information).

•ReverseDeliveryDeliverable

The deliverable associated with the reverse delivery.

•ID!
non-null

The ID of the reverse delivery.

Anchor to reverseDeliveryLineItemsreverseDeliveryLineItems
•ReverseDeliveryLineItemConnection!
non-null

The reverse delivery line items attached to the reverse delivery.

Anchor to reverseFulfillmentOrderreverseFulfillmentOrder
•ReverseFulfillmentOrder!
non-null

The ReverseFulfillmentOrder associated with the reverse delivery.

•OBJECT

The details about a reverse delivery line item.

•[ReverseFulfillmentOrderDisposition!]!
non-null

The dispositions of the item.

•ID!
non-null

A globally-unique ID.

•Int!
non-null

The expected number of units.

Anchor to reverseFulfillmentOrderLineItemreverseFulfillmentOrderLineItem
•ReverseFulfillmentOrderLineItem!
non-null

The corresponding reverse fulfillment order line item.

•OBJECT

A group of one or more items in a return that will be processed at a fulfillment service. There can be more than one reverse fulfillment order for a return at a given location.

•ID!
non-null

A globally-unique ID.

•ReverseFulfillmentOrderLineItemConnection!
non-null

The list of reverse fulfillment order line items for the reverse fulfillment order.

•Order

The order associated with the reverse fulfillment order.

•ReverseDeliveryConnection!
non-null

The list of reverse deliveries for the reverse fulfillment order.

•ReverseFulfillmentOrderStatus!
non-null

The status of the reverse fulfillment order.

Anchor to thirdPartyConfirmationthirdPartyConfirmation
•ReverseFulfillmentOrderThirdPartyConfirmation

The current confirmation for the reverse fulfillment order from a third-party logistics service. If no third-party service is involved, then this value is nil.

•OBJECT

The details of the arrangement of an item.

•DateTime!
non-null

The date and time when the disposition was created.

•ID!
non-null

A globally-unique ID.

•Location

The location where the disposition occurred.

•Int!
non-null

The number of disposed units.

•ReverseFulfillmentOrderDispositionType!
non-null

The final arrangement of an item.

•OBJECT

The details about a reverse fulfillment order line item.

•[ReverseFulfillmentOrderDisposition!]!
non-null

The dispositions of the item.

•FulfillmentLineItem

The corresponding fulfillment line item for a reverse fulfillment order line item.

•ID!
non-null

A globally-unique ID.

•Int!
non-null

The total number of units to be processed.

•OBJECT

The additional fee details for a line item.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The name of the additional fee.

•MoneyBag!
non-null

The price of the additional fee.

•[TaxLine!]!
non-null

A list of taxes charged on the additional fee.

•OBJECT

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

•[SearchFilter!]!
non-null

The filters of a saved search.

•ID!
non-null

A globally-unique ID.

•UnsignedInt64!
non-null

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

•String!
non-null

The name of a saved search.

•String!
non-null

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

•SearchResultType!
non-null

The type of resource this saved search is searching in.

•String!
non-null

The search terms of a saved search.

•OBJECT
Theme app extensions

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

Script tag deprecation

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

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

•Boolean!
non-null

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

•DateTime!
non-null

The date and time when the script tag was created.

•ScriptTagDisplayScope!
non-null

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

•ID!
non-null

A globally-unique ID.

•UnsignedInt64!
non-null

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

•URL!
non-null

The URL to the remote script.

•DateTime!
non-null

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

•OBJECT

A dynamic collection of customers based on specific criteria.

•DateTime!
non-null

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

•ID!
non-null

A globally-unique ID.

•DateTime!
non-null

The date and time when the segment was last updated.

•String!
non-null

The name of the segment.

•String!
non-null

A precise definition of the segment. The definition is composed of a combination of conditions on facts about customers.

•OBJECT

Represents how a product can be sold and purchased. Selling plans and associated records (selling plan groups and policies) are deleted 48 hours after a merchant uninstalls their subscriptions app. We recommend backing up these records if you need to restore them later.

For more information on selling plans, refer to Creating and managing selling plans.

•SellingPlanBillingPolicy!
non-null

A selling plan policy which describes the recurring billing details.

•SellingPlanCategory

The category used to classify the selling plan for reporting purposes.

•DateTime!
non-null

The date and time when the selling plan was created.

•SellingPlanDeliveryPolicy!
non-null

A selling plan policy which describes the delivery details.

•String

Buyer facing string which describes the selling plan commitment.

•ID!
non-null

A globally-unique ID.

•SellingPlanInventoryPolicy

When to reserve inventory for a selling plan.

•Metafield

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

•MetafieldConnection!
non-null

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

•String!
non-null

A customer-facing description of the selling plan.

If your store supports multiple currencies, then don't include country-specific pricing content, such as "Buy monthly, get 10$ CAD off". This field won't be converted to reflect different currencies.

•[String!]!
non-null

The values of all options available on the selling plan. Selling plans are grouped together in Liquid when they're created by the same app, and have the same selling_plan_group.name and selling_plan_group.options values.

•Int

Relative position of the selling plan for display. A lower position will be displayed before a higher position.

•[SellingPlanPricingPolicy!]!
non-null

Selling plan pricing details.

•[Translation!]!
non-null

The published translations associated with the resource.

Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•OBJECT

Represents a selling method (for example, "Subscribe and save" or "Pre-paid"). Selling plan groups and associated records (selling plans and policies) are deleted 48 hours after a merchant uninstalls their subscriptions app. We recommend backing up these records if you need to restore them later.

•String

The ID for app, exposed in Liquid and product JSON.

•Boolean!
non-null

Whether the given product is directly associated to the selling plan group.

Arguments

•ID!
required

The ID of the product.


Anchor to appliesToProductVariantappliesToProductVariant
•Boolean!
non-null

Whether the given product variant is directly associated to the selling plan group.

Arguments

•ID!
required

The ID of the product.


Anchor to appliesToProductVariantsappliesToProductVariants
•Boolean!
non-null

Whether any of the product variants of the given product are associated to the selling plan group.

Arguments

•ID!
required

The ID of the product.


•DateTime!
non-null

The date and time when the selling plan group was created.

•String

The merchant-facing description of the selling plan group.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The merchant-facing label of the selling plan group.

•String!
non-null

The buyer-facing label of the selling plan group.

•[String!]!
non-null

The values of all options available on the selling plan group. Selling plans are grouped together in Liquid when they're created by the same app, and have the same selling_plan_group.name and selling_plan_group.options values.

•Int

The relative position of the selling plan group for display.

•ProductConnection!
non-null

Products associated to the selling plan group.

•Count

A count of products associated to the selling plan group.

•ProductVariantConnection!
non-null

Product variants associated to the selling plan group.

Anchor to productVariantsCountproductVariantsCount
•Count

A count of product variants associated to the selling plan group.

•SellingPlanConnection!
non-null

Selling plans associated to the selling plan group.

•String

A summary of the policies associated to the selling plan group.

•[Translation!]!
non-null

The published translations associated with the resource.

•OBJECT

A server pixel stores configuration for streaming customer interactions to an EventBridge or PubSub endpoint.

•ID!
non-null

A globally-unique ID.

•ServerPixelStatus

The current state of this server pixel.

Anchor to webhookEndpointAddresswebhookEndpointAddress
•String

Address of the EventBridge or PubSub endpoint.

•OBJECT

Represents a collection of general settings and information about the shop.

•StaffMember!
non-null

Account owner information.

•[ShopAlert!]!
non-null

A list of the shop's active alert messages that appear in the Shopify admin.

Anchor to allProductCategoriesListallProductCategoriesList
•[TaxonomyCategory!]!
non-null

A list of the shop's product categories. Limit: 1000 product categories.

Anchor to availableChannelAppsavailableChannelApps
•AppConnection!
non-null

The list of sales channels not currently installed on the shop.

•ShopAddress!
non-null

The shop's billing address information.

Anchor to channelDefinitionsForInstalledChannelschannelDefinitionsForInstalledChannels
•[AvailableChannelDefinitionsByChannel!]!
non-null

List of all channel definitions associated with a shop.

Anchor to checkoutApiSupportedcheckoutApiSupported
•Boolean!
non-null

Specifies whether the shop supports checkouts via Checkout API.

•String!
non-null

The public-facing contact email address for the shop. Customers will use this email to communicate with the shop owner.

Anchor to countriesInShippingZonescountriesInShippingZones
•CountriesInShippingZones!
non-null

Countries that have been defined in shipping zones for the shop.

•DateTime!
non-null

The date and time when the shop was created.

•CurrencyCode!
non-null

The three letter code for the currency that the shop sells in.

•CurrencyFormats!
non-null

How currencies are displayed on your store.

•CurrencySettingConnection!
non-null

The presentment currency settings for the shop excluding the shop's own currency.

•ShopCustomerAccountsSetting!
non-null

Whether customer accounts are required, optional, or disabled for the shop.

•CustomerAccountsV2!
non-null

Information about the shop's customer accounts.

•StringConnection!
non-null

A list of tags that have been added to customer accounts.

•String

The shop's meta description used in search engine results.

•StringConnection!
non-null

A list of tags that have been added to draft orders.

•String!
non-null

The shop owner's email address. Shopify will use this email address to communicate with the shop owner.

Anchor to enabledPresentmentCurrenciesenabledPresentmentCurrencies
•[CurrencyCode!]!
non-null

The presentment currencies enabled for the shop.

•EntitlementsType!
non-null

The entitlements for a shop.

•ShopFeatures!
non-null

The set of features enabled for the shop.

•[FulfillmentService!]!
non-null

List of the shop's installed fulfillment services.

•String!
non-null

The shop's time zone as defined by the IANA.

•ID!
non-null

A globally-unique ID.

Anchor to marketingSmsConsentEnabledAtCheckoutmarketingSmsConsentEnabledAtCheckout
•Boolean!
non-null

Whether SMS marketing has been enabled on the shop's checkout configuration settings.

Anchor to merchantApprovalSignalsmerchantApprovalSignals
•MerchantApprovalSignals

The approval signals for a shop to support onboarding to channel apps.

•Metafield

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

•MetafieldConnection!
non-null

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

•String!
non-null

The shop's .myshopify.com domain name.

•String!
non-null

The shop's name.

•[NavigationItem!]!
non-null

The shop's settings related to navigation.

Anchor to orderNumberFormatPrefixorderNumberFormatPrefix
•String!
non-null

The prefix that appears before order numbers.

Anchor to orderNumberFormatSuffixorderNumberFormatSuffix
•String!
non-null

The suffix that appears after order numbers.

•StringConnection!
non-null

A list of tags that have been added to orders.

•PaymentSettings!
non-null

The shop's settings related to payments.

•ShopPlan!
non-null

The shop's billing plan.

•Domain!
non-null

The primary domain of the shop's online store.

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

•URL!
non-null

The URL of the rich text editor that can be used for mobile devices.

•SearchResultConnection!
non-null

Fetches a list of admin search results by a specified query.

•SearchFilterOptions!
non-null

The list of search filter options for the shop. These can be used to filter productvisibility for the shop.

•Boolean!
non-null

Whether the shop has outstanding setup steps.

•[CountryCode!]!
non-null

The list of countries that the shop ships to.

•String!
non-null

The name of the shop owner.

•[ShopPolicy!]!
non-null

The list of all legal policies associated with a shop.

Anchor to storefrontAccessTokensstorefrontAccessTokens
•StorefrontAccessTokenConnection!
non-null

The storefront access token of a private application. These are scoped per-application.

•Boolean!
non-null

Whether applicable taxes are included in the shop's product prices.

•Boolean!
non-null

Whether the shop charges taxes for shipping.

Anchor to timezoneAbbreviationtimezoneAbbreviation
•String!
non-null

The shop's time zone abbreviation.

•String!
non-null

The shop's time zone offset.

Anchor to timezoneOffsetMinutestimezoneOffsetMinutes
•Int!
non-null

The shop's time zone offset expressed as a number of minutes.

Anchor to transactionalSmsDisabledtransactionalSmsDisabled
•Boolean!
non-null

Whether transactional SMS sent by Shopify have been disabled for a shop.

•[Translation!]!
non-null

The published translations associated with the resource.

•UnitSystem!
non-null

The shop's unit system for weights and measures.

•DateTime!
non-null

The date and time when the shop was last updated.

•URL!
non-null

The URL of the shop's online store.

•WeightUnit!
non-null

The shop's primary unit of weight for products and shipping.

Anchor to allProductCategoriesallProductCategories
•[ProductCategory!]!
non-nullDeprecated
•String!
non-nullDeprecated
Anchor to assignedFulfillmentOrdersassignedFulfillmentOrders
•FulfillmentOrderConnection!
non-nullDeprecated
•ChannelConnection!
non-nullDeprecated
•CollectionConnection!
non-nullDeprecated
•CustomerConnection!
non-nullDeprecated
•[Domain!]!
non-nullDeprecated
•DraftOrderConnection!
non-nullDeprecated
•FulfillmentOrderConnection!
non-nullDeprecated
•InventoryItemConnection!
non-nullDeprecated
Anchor to limitedPendingOrderCountlimitedPendingOrderCount
•LimitedPendingOrderCount!
non-nullDeprecated
•LocationConnection!
non-nullDeprecated
Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•OrderConnection!
non-nullDeprecated
•ImageConnection!
non-nullDeprecated
•ProductConnection!
non-nullDeprecated
•StringConnection!
non-nullDeprecated
•StringConnection!
non-nullDeprecated
•ProductVariantConnection!
non-nullDeprecated
•StringConnection!
non-nullDeprecated
•Int!
non-nullDeprecated
•StaffMemberConnection!
non-nullDeprecated
•URL!
non-nullDeprecated
•OBJECT

An address for a shop.

•String

The first line of the address. Typically the street address or PO Box number.

•String

The second line of the address. Typically the number of the apartment, suite, or unit.

•String

The name of the city, district, village, or town.

•String

The name of the company or organization.

Anchor to coordinatesValidatedcoordinatesValidated
•Boolean!
non-null

Whether the address coordinates are valid.

•String

The name of the country.

•CountryCode

The two-letter code for the country of the address.

For example, US.

•[String!]!
non-null

A formatted version of the address, customized by the provided arguments.

Arguments

•Boolean
Default:true

Whether to include the company in the formatted address.


•String

A comma-separated list of the values for city, province, and country.

•ID!
non-null

A globally-unique ID.

•Float

The latitude coordinate of the address.

•Float

The longitude coordinate of the address.

•String

A phone number associated with the address.

Formatted using E.164 standard. For example, +16135551111.

•String

The region of the address, such as the province, state, or district.

•String

The alphanumeric code for the region.

For example, ON.

•String

The zip or postal code of the address.

•String
Deprecated
•String
Deprecated
•String
Deprecated
•String
Deprecated
•OBJECT

Balance and payout information for a Shopify Payments account. Balance includes all balances for the currencies supported by the shop. You can also query for a list of payouts, where each payout includes the corresponding currencyCode field.

•String

The name of the account opener.

•Boolean!
non-null

Whether the Shopify Payments setup is completed.

•[MoneyV2!]!
non-null

Current balances in all currencies for the account.

•ShopifyPaymentsBalanceTransactionConnection!
non-null

A list of balance transactions associated with the shop.

•ShopifyPaymentsBankAccountConnection!
non-null

All bank accounts configured for the Shopify Payments account.

Anchor to chargeStatementDescriptorschargeStatementDescriptors
•ShopifyPaymentsChargeStatementDescriptor

The statement descriptors used for charges.

These descriptors appear on a customer's credit card or bank statement when they make a purchase.

•String!
non-null

The Shopify Payments account country.

•CurrencyCode!
non-null

The default payout currency for the Shopify Payments account.

•ShopifyPaymentsDisputeConnection!
non-null

All disputes that originated from a transaction made with the Shopify Payments account.

•ID!
non-null

A globally-unique ID.

•Boolean!
non-null

Whether the Shopify Payments account can be onboarded.

•ShopifyPaymentsPayoutConnection!
non-null

All current and previous payouts made between the account and the bank account.

•ShopifyPaymentsPayoutSchedule!
non-null

The payout schedule for the account.

Anchor to payoutStatementDescriptorpayoutStatementDescriptor
•String

The descriptor used for payouts.

The descriptor appears on a merchant's bank statement when they receive a payout.

Anchor to chargeStatementDescriptorchargeStatementDescriptor
•String
Deprecated
•OBJECT

A transaction that contributes to a Shopify Payments account balance.

•String

The reason for the adjustment that's associated with the transaction. If the source_type isn't an adjustment, the value will be null.

•[ShopifyPaymentsAdjustmentOrder!]!
non-null

The adjustment orders associated to the transaction.

•MoneyV2!
non-null

The amount contributing to the balance transaction.

•ShopifyPaymentsAssociatedOrder

The associated order for the balance transaction.

•ShopifyPaymentsBalanceTransactionAssociatedPayout!
non-null

Payout assoicated with the transaction.

•MoneyV2!
non-null

The fee amount contributing to the balance transaction.

•ID!
non-null

A globally-unique ID.

•MoneyV2!
non-null

The net amount contributing to the merchant's balance.

•BigInt

The ID of the resource leading to the transaction.

Anchor to sourceOrderTransactionIdsourceOrderTransactionId
•BigInt

The id of the Order Transaction

that resulted in this balance transaction.

•ShopifyPaymentsSourceType

The source type of the balance transaction.

•Boolean!
non-null

Wether the tranaction was created in test mode.

•DateTime!
non-null

The date and time when the balance transaction was processed.

•ShopifyPaymentsTransactionType!
non-null

The type of transaction.

•OBJECT

A bank account that can receive payouts.

Anchor to accountNumberLastDigitsaccountNumberLastDigits
•String!
non-null

The last digits of the account number (the rest is redacted).

•String

The name of the bank.

•CountryCode!
non-null

The country of the bank.

•DateTime!
non-null

The date that the bank account was created.

•CurrencyCode!
non-null

The currency of the bank account.

•ID!
non-null

A globally-unique ID.

•ShopifyPaymentsPayoutConnection!
non-null

All current and previous payouts made between the account and the bank account.

•ShopifyPaymentsBankAccountStatus!
non-null

The status of the bank account.

•OBJECT

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

•MoneyV2!
non-null

The total amount disputed by the cardholder.

•Date

The deadline for evidence submission.

•Date

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

•Date

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

•ID!
non-null

A globally-unique ID.

•DateTime!
non-null

The date when this dispute was initiated.

•UnsignedInt64!
non-null

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

•Order

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

•ShopifyPaymentsDisputeReasonDetails!
non-null

The reason of the dispute.

•DisputeStatus!
non-null

The current state of the dispute.

•DisputeType!
non-null

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

•OBJECT

The evidence associated with the dispute.

•String

The activity logs associated with the dispute evidence.

•MailingAddress

The billing address that's provided by the customer.

Anchor to cancellationPolicyDisclosurecancellationPolicyDisclosure
•String

The cancellation policy disclosure associated with the dispute evidence.

Anchor to cancellationPolicyFilecancellationPolicyFile
•ShopifyPaymentsDisputeFileUpload

The cancellation policy file associated with the dispute evidence.

Anchor to cancellationRebuttalcancellationRebuttal
•String

The cancellation rebuttal associated with the dispute evidence.

Anchor to customerCommunicationFilecustomerCommunicationFile
•ShopifyPaymentsDisputeFileUpload

The customer communication file associated with the dispute evidence.

Anchor to customerEmailAddresscustomerEmailAddress
•String

The customer's email address.

•String

The customer's first name.

•String

The customer's last name.

•String

The customer purchase ip for this dispute evidence.

•ShopifyPaymentsDispute!
non-null

The dispute associated with the evidence.

•[ShopifyPaymentsDisputeFileUpload!]!
non-null

The file uploads associated with the dispute evidence.

•[ShopifyPaymentsDisputeFulfillment!]!
non-null

The fulfillments associated with the dispute evidence.

•ID!
non-null

A globally-unique ID.

•String

The product description for this dispute evidence.

Anchor to refundPolicyDisclosurerefundPolicyDisclosure
•String

The refund policy disclosure associated with the dispute evidence.

•ShopifyPaymentsDisputeFileUpload

The refund policy file associated with the dispute evidence.

Anchor to refundRefusalExplanationrefundRefusalExplanation
•String

The refund refusal explanation associated with dispute evidence.

Anchor to serviceDocumentationFileserviceDocumentationFile
•ShopifyPaymentsDisputeFileUpload

The service documentation file associated with the dispute evidence.

•MailingAddress

The mailing address for shipping that's provided by the customer.

Anchor to shippingDocumentationFileshippingDocumentationFile
•ShopifyPaymentsDisputeFileUpload

The shipping documentation file associated with the dispute evidence.

•Boolean!
non-null

Whether the dispute evidence is submitted.

•ShopifyPaymentsDisputeFileUpload

The uncategorized file associated with the dispute evidence.

•String

The uncategorized text for the dispute evidence.

•OBJECT

The file upload associated with the dispute evidence.

•ShopifyPaymentsDisputeEvidenceFileType

The type of the file for the dispute evidence.

•Int!
non-null

The file size.

•String!
non-null

The file type.

•ID!
non-null

A globally-unique ID.

•String

The original file name.

•URL!
non-null

The URL for accessing the file.

•OBJECT

The fulfillment associated with dispute evidence.

•ID!
non-null

A globally-unique ID.

•String

The shipping carrier for this fulfillment.

•Date

The shipping date for this fulfillment.

Anchor to shippingTrackingNumbershippingTrackingNumber
•String

The shipping tracking number for this fulfillment.

•OBJECT

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

•BusinessEntity!
non-null

The business entity associated with the payout.

•ID!
non-null

A globally-unique ID.

•DateTime!
non-null

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

•UnsignedInt64!
non-null

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

•MoneyV2!
non-null

The total amount and currency of the payout.

•ShopifyPaymentsPayoutStatus!
non-null

The transfer status of the payout.

•ShopifyPaymentsPayoutSummary!
non-null

The summary of the payout.

•ShopifyPaymentsPayoutTransactionType!
non-null

The direction of the payout.

•ShopifyPaymentsBankAccount
Deprecated
•MoneyV2!
non-nullDeprecated
•OBJECT

Policy that a merchant has configured for their store, such as their refund or privacy policy.

•HTML!
non-null

The text of the policy. The maximum size is 512kb.

•Date!
non-null

The date and time (ISO 8601 format) when the policy was created.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The translated title of the policy. For example, Refund Policy or Politique de remboursement.

•[Translation!]!
non-null

The published translations associated with the resource.

•ShopPolicyType!
non-null

The shop policy type.

•Date!
non-null

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

•URL!
non-null

The public URL of the policy.

•OBJECT

Represents the data about a staff member's Shopify account. Merchants can use staff member data to get more information about the staff members in their store.

•AccountType

The type of account the staff member has.

•Boolean!
non-null

Whether the staff member is active.

•Image!
non-null

The image used as the staff member's avatar in the Shopify admin.

•String!
non-null

The staff member's email address.

•Boolean!
non-null

Whether the staff member's account exists.

•String

The staff member's first name.

•ID!
non-null

A globally-unique ID.

•[String!]

The staff member's initials, if available.

•Boolean!
non-null

Whether the staff member is the shop owner.

•String

The staff member's last name.

•String!
non-null

The staff member's preferred locale. Locale values use the format language or language-COUNTRY, where language is a two-letter language code, and COUNTRY is a two-letter country code. For example: en or en-US

•String!
non-null

The staff member's full name.

•String

The staff member's phone number.

•StaffMemberPrivateData!
non-null

The data used to customize the Shopify admin experience for the staff member.

•OBJECT

Standard metafield definition templates provide preset configurations to create metafield definitions. Each template has a specific namespace and key that we've reserved to have specific meanings for common use cases.

Refer to the list of standard metafield definitions.

•String

The description of the standard metafield definition.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The key owned by the definition after the definition has been activated.

•String!
non-null

The human-readable name for the standard metafield definition.

•String!
non-null

The namespace owned by the definition after the definition has been activated.

•[MetafieldOwnerType!]!
non-null

The list of resource types that the standard metafield definition can be applied to.

•MetafieldDefinitionType!
non-null

The associated metafield definition type that the metafield stores.

•[MetafieldDefinitionValidation!]!
non-null

The configured validations for the standard metafield definition.

Anchor to visibleToStorefrontApivisibleToStorefrontApi
•Boolean!
non-null

Whether metafields for the definition are by default visible using the Storefront API.

•OBJECT

A store credit account contains a monetary balance that can be redeemed at checkout for purchases in the shop. The account is held in the specified currency and has an owner that cannot be transferred.

The account balance is redeemable at checkout only when the owner is authenticated via new customer accounts authentication.

•MoneyV2!
non-null

The current balance of the store credit account.

•ID!
non-null

A globally-unique ID.

•HasStoreCreditAccounts!
non-null

The owner of the store credit account.

•StoreCreditAccountTransactionConnection!
non-null

The transaction history of the store credit account.

•OBJECT

A credit transaction which increases the store credit account balance.

•StoreCreditAccount!
non-null

The store credit account that the transaction belongs to.

•MoneyV2!
non-null

The amount of the transaction.

Anchor to balanceAfterTransactionbalanceAfterTransaction
•MoneyV2!
non-null

The balance of the account after the transaction.

•DateTime!
non-null

The date and time when the transaction was created.

•StoreCreditSystemEvent!
non-null

The event that caused the store credit account transaction.

•DateTime

The time at which the transaction expires. Debit transactions will always spend the soonest expiring credit first.

•ID!
non-null

A globally-unique ID.

•StoreCreditAccountTransactionOrigin

The origin of the store credit account transaction.

•MoneyV2!
non-null

The remaining amount of the credit. The remaining amount will decrease when a debit spends this credit. It may also increase if that debit is subsequently reverted. In the event that the credit expires, the remaining amount will represent the amount that remained as the expiry ocurred.

•OBJECT

A debit revert transaction which increases the store credit account balance. Debit revert transactions are created automatically when a store credit account debit transaction is reverted.

Store credit account debit transactions are reverted when an order is cancelled, refunded or in the event of a payment failure at checkout. The amount added to the balance is equal to the amount reverted on the original credit.

•StoreCreditAccount!
non-null

The store credit account that the transaction belongs to.

•MoneyV2!
non-null

The amount of the transaction.

Anchor to balanceAfterTransactionbalanceAfterTransaction
•MoneyV2!
non-null

The balance of the account after the transaction.

•DateTime!
non-null

The date and time when the transaction was created.

•StoreCreditAccountDebitTransaction!
non-null

The reverted debit transaction.

•StoreCreditSystemEvent!
non-null

The event that caused the store credit account transaction.

•ID!
non-null

A globally-unique ID.

•StoreCreditAccountTransactionOrigin

The origin of the store credit account transaction.

•OBJECT

A debit transaction which decreases the store credit account balance.

•StoreCreditAccount!
non-null

The store credit account that the transaction belongs to.

•MoneyV2!
non-null

The amount of the transaction.

Anchor to balanceAfterTransactionbalanceAfterTransaction
•MoneyV2!
non-null

The balance of the account after the transaction.

•DateTime!
non-null

The date and time when the transaction was created.

•StoreCreditSystemEvent!
non-null

The event that caused the store credit account transaction.

•ID!
non-null

A globally-unique ID.

•StoreCreditAccountTransactionOrigin

The origin of the store credit account transaction.

•OBJECT

A token that's used to delegate unauthenticated access scopes to clients that need to access the unauthenticated Storefront API.

An app can have a maximum of 100 active storefront access tokens for each shop.

Get started with the Storefront API.

•[AccessScope!]!
non-null

List of permissions associated with the token.

•String!
non-null

The issued public access token.

•DateTime!
non-null

The date and time when the public access token was created.

•ID!
non-null

A globally-unique ID.

•String!
non-null

An arbitrary title for each token determined by the developer, used for reference purposes.

•DateTime!
non-null

The date and time when the storefront access token was updated.

•OBJECT

A record of an execution of the subscription billing process. Billing attempts use idempotency keys to avoid duplicate order creation. A successful billing attempt will create an order.

•DateTime

The date and time when the billing attempt was completed.

•DateTime!
non-null

The date and time when the billing attempt was created.

•ID!
non-null

A globally-unique ID.

•String!
non-null

A unique key generated by the client to avoid duplicate payments.

•URL

The URL where the customer needs to be redirected so they can complete the 3D Secure payment flow.

•Order

The result of this billing attempt if completed successfully.

•DateTime

The date and time used to calculate fulfillment intervals for a billing attempt that successfully completed after the current anchor date. To prevent fulfillment from being pushed to the next anchor date, this field can override the billing attempt date.

•String

The reference shared between retried payment attempts.

•String

The reference shared between payment attempts with similar payment details.

•SubscriptionBillingAttemptProcessingError

Error information from processing the billing attempt.

•Boolean!
non-null

Whether the billing attempt is still processing.

Anchor to respectInventoryPolicyrespectInventoryPolicy
•Boolean!
non-null

Whether the billing attempt respects the merchant's inventory policy.

Anchor to subscriptionContractsubscriptionContract
•SubscriptionContract!
non-null

The subscription contract.

•OrderTransactionConnection!
non-null

The transactions created by the billing attempt.

•SubscriptionBillingAttemptErrorCode
Deprecated
•String
Deprecated
•OBJECT

Represents a Subscription Contract.

•App

The subscription app that the subscription contract is registered to.

•URL

The URL of the subscription contract page on the subscription app.

•SubscriptionBillingAttemptConnection!
non-null

The list of billing attempts associated with the subscription contract.

•SubscriptionBillingPolicy!
non-null

The billing policy associated with the subscription contract.

•DateTime!
non-null

The date and time when the subscription contract was created.

•CurrencyCode!
non-null

The currency that's used for the subscription contract.

•[Attribute!]!
non-null

A list of the custom attributes to be added to the generated orders.

•Customer

The customer to whom the subscription contract belongs.

Anchor to customerPaymentMethodcustomerPaymentMethod
•CustomerPaymentMethod

The customer payment method that's used for the subscription contract.

•SubscriptionDeliveryMethod

The delivery method for each billing of the subscription contract.

•SubscriptionDeliveryPolicy!
non-null

The delivery policy associated with the subscription contract.

•MoneyV2!
non-null

The delivery price for each billing of the subscription contract.

•SubscriptionManualDiscountConnection!
non-null

The list of subscription discounts associated with the subscription contract.

•ID!
non-null

A globally-unique ID.

Anchor to lastBillingAttemptErrorTypelastBillingAttemptErrorType
•SubscriptionContractLastBillingErrorType

The last billing error type of the contract.

•SubscriptionContractLastPaymentStatus

The current status of the last payment.

•SubscriptionLineConnection!
non-null

The list of subscription lines associated with the subscription contract.

•Count

The number of lines associated with the subscription contract.

•DateTime

The next billing date for the subscription contract. This field is managed by the apps. Alternatively you can utilize our Billing Cycles APIs, which provide auto-computed billing dates and additional functionalities.

•String

The note field that will be applied to the generated orders.

•OrderConnection!
non-null

A list of the subscription contract's orders.

•Order

The order from which this contract originated.

•UnsignedInt64!
non-null

The revision id of the contract.

•SubscriptionContractSubscriptionStatus!
non-null

The current status of the subscription contract.

•DateTime!
non-null

The date and time when the subscription contract was updated.

•Int!
non-nullDeprecated
•OBJECT

The SubscriptionDraft object represents a draft version of a subscription contract before it's committed. It serves as a staging area for making changes to an existing subscription or creating a new one. The draft allows you to preview and modify various aspects of a subscription before applying the changes.

Use the SubscriptionDraft object to:

  • Add, remove, or modify subscription lines and their quantities
  • Manage discounts (add, remove, or update manual and code-based discounts)
  • Configure delivery options and shipping methods
  • Set up billing and delivery policies
  • Manage customer payment methods
  • Add custom attributes and notes to generated orders
  • Configure billing cycles and next billing dates
  • Preview the projected state of the subscription

Each SubscriptionDraft object maintains a projected state that shows how the subscription will look after the changes are committed. This allows you to preview the impact of your modifications before applying them. The draft can be associated with an existing subscription contract (for modifications) or used to create a new subscription.

The draft remains in a draft state until it's committed, at which point the changes are applied to the subscription contract and the draft is no longer accessible.

Learn more about how subscription contracts work and how to build, update, and combine subscription contracts.

•SubscriptionBillingCycle

The billing cycle that the subscription contract will be associated with.

•SubscriptionBillingPolicy!
non-null

The billing policy for the subscription contract.

Anchor to concatenatedBillingCyclesconcatenatedBillingCycles
•SubscriptionBillingCycleConnection!
non-null

The billing cycles of the contracts that will be concatenated to the subscription contract.

•CurrencyCode!
non-null

The currency used for the subscription contract.

•[Attribute!]!
non-null

A list of the custom attributes to be added to the generated orders.

•Customer!
non-null

The customer to whom the subscription contract belongs.

Anchor to customerPaymentMethodcustomerPaymentMethod
•CustomerPaymentMethod

The customer payment method used for the subscription contract.

•SubscriptionDeliveryMethod

The delivery method for each billing of the subscription contract.

•SubscriptionDeliveryOptionResult

The available delivery options for a given delivery address. Returns null for pending requests.

•SubscriptionDeliveryPolicy!
non-null

The delivery policy for the subscription contract.

•MoneyV2

The delivery price for each billing the subscription contract.

•SubscriptionDiscountConnection!
non-null

The list of subscription discounts which will be associated with the subscription contract.

•SubscriptionDiscountConnection!
non-null

The list of subscription discounts to be added to the subscription contract.

•SubscriptionDiscountConnection!
non-null

The list of subscription discounts to be removed from the subscription contract.

•SubscriptionDiscountConnection!
non-null

The list of subscription discounts to be updated on the subscription contract.

•ID!
non-null

A globally-unique ID.

•SubscriptionLineConnection!
non-null

The list of subscription lines which will be associated with the subscription contract.

•SubscriptionLineConnection!
non-null

The list of subscription lines to be added to the subscription contract.

•SubscriptionLineConnection!
non-null

The list of subscription lines to be removed from the subscription contract.

•DateTime

The next billing date for the subscription contract.

•String

The note field that will be applied to the generated orders.

•SubscriptionContract

The original subscription contract.

•SubscriptionContractSubscriptionStatus

The current status of the subscription contract.

•SubscriptionShippingOptionResult
Deprecated
•OBJECT

A Shopify product taxonomy attribute.

•ID!
non-null

A globally-unique ID.

•OBJECT

The details of a specific product category within the Shopify product taxonomy.

•[ID!]!
non-null

The IDs of the category's ancestor categories.

•TaxonomyCategoryAttributeConnection!
non-null

The attributes of the taxonomy category.

•[ID!]!
non-null

The IDs of the category's child categories.

•String!
non-null

The full name of the taxonomy category. For example, Animals & Pet Supplies > Pet Supplies > Dog Supplies > Dog Beds.

•ID!
non-null

The globally-unique ID of the TaxonomyCategory.

•Boolean!
non-null

Whether the category is archived. The default value is false.

•Boolean!
non-null

Whether the category is a leaf category. A leaf category doesn't have any subcategories beneath it. For example, in Animals & Pet Supplies > Pet Supplies > Dog Supplies > Dog Treadmills, Dog Treadmills is a leaf category. The value is true when there are no childrenIds specified.

•Boolean!
non-null

Whether the category is a root category. A root category is at the top level of the category hierarchy and doesn't have a parent category. For example, Animals & Pet Supplies. The value is true when there's no parentId specified.

•Int!
non-null

The level of the category in the taxonomy tree. Levels indicate the depth of the category from the root. For example, in Animals & Pet Supplies > Pet Supplies > Dog Supplies, Animals & Pet Supplies is at level 1, Animals & Pet Supplies > Pet Supplies is at level 2, and Animals & Pet Supplies > Pet Supplies > Dog Supplies is at level 3.

•String!
non-null

The name of the taxonomy category. For example, Dog Beds.

•ID

The ID of the category's parent category.

•OBJECT

A Shopify product taxonomy choice list attribute.

•ID!
non-null

The unique ID of the TaxonomyAttribute.

•String!
non-null

The name of the product taxonomy attribute. For example, Color.

•TaxonomyValueConnection!
non-null

A list of values on the choice list attribute.

•OBJECT

A Shopify product taxonomy measurement attribute.

•ID!
non-null

The unique ID of the TaxonomyAttribute.

•String!
non-null

The name of the product taxonomy attribute. For example, Color.

•[Attribute!]!
non-null

The product taxonomy attribute options.

•OBJECT

Represents a Shopify product taxonomy value.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The name of the product taxonomy value. For example, Red.

•OBJECT

A TenderTransaction represents a transaction with financial impact on a shop's balance sheet. A tender transaction always represents actual money movement between a buyer and a shop. TenderTransactions can be used instead of OrderTransactions for reconciling a shop's cash flow. A TenderTransaction is immutable once created.

•MoneyV2!
non-null

The amount and currency of the tender transaction.

•ID!
non-null

A globally-unique ID.

•Order

The order that's related to the tender transaction. This value is null if the order has been deleted.

•String

Information about the payment method used for the transaction.

•DateTime

Date and time when the transaction was processed.

•String

The remote gateway reference associated with the tender transaction.

•Boolean!
non-null

Whether the transaction is a test transaction.

•TenderTransactionDetails

Information about the payment instrument used for the transaction.

•StaffMember

The staff member who performed the transaction.

•OBJECT

Transaction fee related to an order transaction.

•MoneyV2!
non-null

Amount of the fee.

•MoneyV2!
non-null

Flat rate charge for a transaction.

•String

Name of the credit card flat fee.

•ID!
non-null

A globally-unique ID.

•Decimal!
non-null

Percentage charge.

•String

Name of the credit card rate.

•MoneyV2!
non-null

Tax amount charged on the fee.

•String!
non-null

Name of the type of fee.

•OBJECT

An unverified return line item.

•String

A note from the customer that describes the item to be returned. Maximum length: 300 characters.

•ID!
non-null

A globally-unique ID.

•Int!
non-null

The quantity that can be processed.

•Int!
non-null

The quantity that has been processed.

•Int!
non-null

The quantity being returned.

•Int!
non-null

The quantity that can be refunded.

•Int!
non-null

The quantity that was refunded.

•ReturnReason!
non-null

The reason for returning the item.

•String!
non-null

Additional information about the reason for the return. Maximum length: 255 characters.

•MoneyV2!
non-null

The unit price of the unverified return line item.

•Int!
non-null

The quantity that has't been processed.

•OBJECT

The URL redirect for the online store.

•ID!
non-null

The ID of the URL redirect.

•String!
non-null

The old path to be redirected from. When the user visits this path, they will be redirected to the target location.

•String!
non-null

The target location where the user will be redirected to.

•OBJECT

A request to import a URLRedirect object into the Online Store channel. Apps can use this to query the state of an UrlRedirectImport request.

For more information, see url-redirects.

•Int

The number of rows in the file.

•Int

The number of redirects created from the import.

•Int

The number of redirects that failed to be imported.

•Boolean!
non-null

Whether the import is finished.

•DateTime

The date and time when the import finished.

•ID!
non-null

The ID of the UrlRedirectImport object.

•[UrlRedirectImportPreview!]!
non-null

A list of up to three previews of the URL redirects to be imported.

•Int

The number of redirects updated during the import.

•OBJECT

A checkout server side validation installed on the shop.

•Boolean!
non-null

Whether the validation should block on failures other than expected violations.

•Boolean!
non-null

Whether the validation is enabled on the merchant checkout.

•FunctionsErrorHistory

The error history on the most recent version of the validation function.

•ID!
non-null

Global ID for the validation.

•Metafield

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

•MetafieldConnection!
non-null

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

•ShopifyFunction!
non-null

The Shopify Function implementing the validation.

•String!
non-null

The merchant-facing validation name.

Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated
•OBJECT

Represents a Shopify hosted video.

•String

A word or phrase to share the nature or contents of a media.

•DateTime!
non-null

The date and time (ISO 8601 format) when the file was created.

•Int

The video's duration in milliseconds. This value is null unless the video's status field is READY.

•[FileError!]!
non-null

Any errors that have occurred on the file.

•String!
non-null

The video's filename.

•FileStatus!
non-null

The status of the file.

•ID!
non-null

A globally-unique ID.

•MediaContentType!
non-null

The media content type.

•[MediaError!]!
non-null

Any errors which have occurred on the media.

•[MediaWarning!]!
non-null

The warnings attached to the media.

•VideoSource

The video's original source. This value is null unless the video's status field is READY.

•MediaPreviewImage

The preview image for the media.

•[VideoSource!]!
non-null

The video's sources. This value is empty unless the video's status field is READY.

•MediaStatus!
non-null

Current status of the media.

•DateTime!
non-null

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

•OBJECT

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

•ApiVersion!
non-null

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

•DateTime!
non-null

The date and time when the webhook subscription was created.

•String

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

•WebhookSubscriptionFormat!
non-null

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

•ID!
non-null

A globally-unique ID.

•[String!]!
non-null

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

•UnsignedInt64!
non-null

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

•[String!]!
non-null

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

•[WebhookSubscriptionMetafieldIdentifier!]!
non-null

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

•WebhookSubscriptionTopic!
non-null

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

•DateTime!
non-null

The date and time when the webhook subscription was updated.

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

The WebPixel object enables you to manage JavaScript code snippets that run on an online store and collect behavioral data for marketing campaign optimization and analytics.

Learn how to create a web pixel extension to subscribe your app to events that are emitted by Shopify.

•ID!
non-null

A globally-unique ID.

•JSON!
non-null

The settings object for the web pixel. This object specifies configuration options that control the web pixel's functionality and behavior. You can find the settings for a web pixel in extensions/<your_extension_name>/shopify.extension.toml.


Was this section helpful?