Order
Requires access scope or
access scope.
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.
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 ,
, and
scopes.
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.
Anchor to Fields and connectionsFields and connections
- Anchor to additionalFeesadditional•[Additional
Fees Fee!]! non-null A list of additional fees applied to an order, such as duties, import fees, or tax lines.
- Anchor to agreementsagreements•Sales
Agreement Connection! non-null A list of sales agreements associated with the order, such as contracts defining payment terms, or delivery schedules between merchants and customers.
- Anchor to alertsalerts•[Resource
Alert!]! non-null A list of messages that appear on the Orders page in the Shopify admin. These alerts provide merchants with important information about an order's status or required actions.
- •Order
App The application that created the order. For example, "Online Store", "Point of Sale", or a custom app name. Use this to identify the order source for attribution and fulfillment workflows. Learn more about building apps for orders and fulfillment.
- Anchor to billingAddressbilling•Mailing
Address Address The billing address associated with the payment method selected by the customer for an order. Returns
null
if no billing address was provided during checkout.- Anchor to billingAddressMatchesShippingAddressbilling•Boolean!
Address Matches Shipping Address non-null Whether the billing address matches the shipping address. Returns
true
if both addresses are the same, andfalse
if they're different or if an address is missing.- Anchor to cancellationcancellation•Order
Cancellation Details of an order's cancellation, if it has been canceled. This includes the reason, date, and any staff notes.
- Anchor to cancelledAtcancelled•Date
At Time The date and time in ISO 8601 format when an order was canceled. Returns
null
if the order hasn't been canceled.- Anchor to cancelReasoncancel•Order
Reason Cancel Reason The reason provided for an order cancellation. For example, a merchant might cancel an order if there's insufficient inventory. Returns
null
if the order hasn't been canceled.- Anchor to canMarkAsPaidcan•Boolean!
Mark As Paid non-null Whether an order can be manually marked as paid. Returns
false
if the order is already paid, is canceled, has pending Shopify Payments transactions, or has a negative payment amount.- Anchor to canNotifyCustomercan•Boolean!
Notify Customer non-null Whether order notifications can be sent to the customer. Returns
true
if the customer has a valid email address.- Anchor to capturablecapturable•Boolean!non-null
Whether an authorized payment for an order can be captured. Returns
true
if an authorized payment exists that hasn't been fully captured yet. Learn more about capturing payments.- Anchor to cartDiscountAmountSetcart•Money
Discount Amount Set Bag The total discount amount applied at the time the order was created, displayed in both shop and presentment currencies, before returns, refunds, order edits, and cancellations. This field only includes discounts applied to the entire order.
- Anchor to channelInformationchannel•Channel
Information Information Details about the sales channel that created the order, such as the channel app type and channel name, which helps to track order sources.
- Anchor to clientIpclient•String
Ip The IP address of the customer who placed the order. Useful for fraud detection and geographic analysis.
- Anchor to closedclosed•Boolean!non-null
Whether an order is closed. An order is considered closed if all its line items have been fulfilled or canceled, and all financial transactions are complete.
- Anchor to closedAtclosed•Date
At Time The date and time ISO 8601 format when an order was closed. Shopify automatically records this timestamp when all items have been fulfilled or canceled, and all financial transactions are complete. Returns
null
if the order isn't closed.- Anchor to confirmationNumberconfirmation•String
Number A customer-facing order identifier, often shown instead of the sequential order name. It uses a random alphanumeric format (for example,
) and isn't guaranteed to be unique across orders.
- Anchor to confirmedconfirmed•Boolean!non-null
Whether inventory has been reserved for an order. Returns
true
if inventory quantities for an order's line items have been reserved. Learn more about managing inventory quantities and states.- Anchor to createdAtcreated•Date
At Time! non-null The date and time in ISO 8601 format when an order was created. This timestamp is set when the customer completes checkout and remains unchanged throughout an order's lifecycle.
- Anchor to currencyCodecurrency•Currency
Code Code! non-null The shop currency when the order was placed. For example, "USD" or "CAD".
- Anchor to currentCartDiscountAmountSetcurrent•Money
Cart Discount Amount Set Bag! non-null The current total of all discounts applied to the entire order, after returns, refunds, order edits, and cancellations. This includes discount codes, automatic discounts, and other promotions that affect the whole order rather than individual line items. To get the original discount amount at the time of order creation, use the
field.
- Anchor to currentShippingPriceSetcurrent•Money
Shipping Price Set Bag! non-null The current shipping price after applying refunds and discounts. If the parent
field is true, then this price includes taxes. Otherwise, this field is the pre-tax price.
- Anchor to currentSubtotalLineItemsQuantitycurrent•Int!
Subtotal Line Items Quantity non-null The current sum of the quantities for all line items that contribute to the order's subtotal price, after returns, refunds, order edits, and cancellations.
- Anchor to currentSubtotalPriceSetcurrent•Money
Subtotal Price Set Bag! non-null The total price of the order, after returns and refunds, in shop and presentment currencies. This includes taxes and discounts.
- Anchor to currentTaxLinescurrent•[Tax
Tax Lines Line!]! non-null A list of all tax lines applied to line items on the order, after returns. Tax line prices represent the total price for all tax lines with the same
rate
andtitle
.- Anchor to currentTotalAdditionalFeesSetcurrent•Money
Total Additional Fees Set Bag The current total of all additional fees for an order, after any returns or modifications. Modifications include returns, refunds, order edits, and cancellations. Additional fees can include charges such as duties, import fees, and special handling.
- Anchor to currentTotalDiscountsSetcurrent•Money
Total Discounts Set Bag! non-null The total amount discounted on the order after returns and refunds, in shop and presentment currencies. This includes both order and line level discounts.
- Anchor to currentTotalDutiesSetcurrent•Money
Total Duties Set Bag The current total duties amount for an order, after any returns or modifications. Modifications include returns, refunds, order edits, and cancellations.
- Anchor to currentTotalPriceSetcurrent•Money
Total Price Set Bag! non-null The total price of the order, after returns, in shop and presentment currencies. This includes taxes and discounts.
- Anchor to currentTotalTaxSetcurrent•Money
Total Tax Set Bag! non-null The sum of the prices of all tax lines applied to line items on the order, after returns and refunds, in shop and presentment currencies.
- Anchor to currentTotalWeightcurrent•Unsigned
Total Weight Int64! non-null The total weight of the order after returns and refunds, in grams.
- Anchor to customAttributescustom•[Attribute!]!
Attributes non-null A list of additional information that has been attached to the order. For example, gift message, delivery instructions, or internal notes.
- Anchor to customercustomer•Customer
The customer who placed an order. Returns
null
if an order was created through a checkout without customer authentication, such as a guest checkout. Learn more about customer accounts.- Anchor to customerAcceptsMarketingcustomer•Boolean!
Accepts Marketing non-null Whether the customer agreed to receive marketing emails at the time of purchase. Use this to ensure compliance with marketing consent laws and to segment customers for email campaigns. Learn more about building customer segments.
- Anchor to customerJourneySummarycustomer•Customer
Journey Summary Journey Summary The customer's visits and interactions with the online store before placing the order. Use this to understand customer behavior, attribution sources, and marketing effectiveness to optimize your sales funnel.
- Anchor to customerLocalecustomer•String
Locale The customer's language and region preference at the time of purchase. For example, "en" for English, "fr-CA" for French (Canada), or "es-MX" for Spanish (Mexico). Use this to provide localized customer service and targeted marketing in the customer's preferred language.
- Anchor to discountApplicationsdiscount•Discount
Applications Application Connection! non-null A list of discounts that are applied to the order, excluding order edits and refunds. Includes discount codes, automatic discounts, and other promotions that reduce the order total.
- Anchor to discountCodediscount•String
Code The discount code used for an order. Returns
null
if no discount code was applied.- Anchor to discountCodesdiscount•[String!]!
Codes non-null The discount codes used for the order. Multiple codes can be applied to a single order.
- Anchor to displayAddressdisplay•Mailing
Address Address The primary address of the customer, prioritizing shipping address over billing address when both are available. Returns
null
if neither shipping address nor billing address was provided.- Anchor to displayFinancialStatusdisplay•Order
Financial Status Display Financial Status An order's financial status for display in the Shopify admin.
- Anchor to displayFulfillmentStatusdisplay•Order
Fulfillment Status Display Fulfillment Status! non-null The order's fulfillment status that displays in the Shopify admin to merchants. For example, an order might be unfulfilled or scheduled. For detailed processing, use the
object.
- Anchor to disputesdisputes•[Order
Dispute Summary!]! non-null A list of payment disputes associated with the order, such as chargebacks or payment inquiries. Disputes occur when customers challenge transactions with their bank or payment provider.
- Anchor to dutiesIncludedduties•Boolean!
Included non-null Whether duties are included in the subtotal price of the order. Duties are import taxes charged by customs authorities when goods cross international borders.
- Anchor to editededited•Boolean!non-null
Whether the order has had any edits applied. For example, adding or removing line items, updating quantities, or changing prices.
- Anchor to emailemail•String
The email address associated with the customer for this order. Used for sending order confirmations, shipping notifications, and other order-related communications. Returns
null
if no email address was provided during checkout.- Anchor to estimatedTaxesestimated•Boolean!
Taxes non-null Whether taxes on the order are estimated. This field returns
false
when taxes on the order are finalized and aren't subject to any changes.- Anchor to eventsevents•Event
Connection! non-null A list of events associated with the order. Events track significant changes and activities related to the order, such as creation, payment, fulfillment, and cancellation.
- Anchor to fulfillablefulfillable•Boolean!non-null
Whether there are line items that can be fulfilled. This field returns
false
when the order has no fulfillable line items. For a more granular view of the fulfillment status, refer to the FulfillmentOrder object.- Anchor to fulfillmentOrdersfulfillment•Fulfillment
Orders Order Connection! non-null A list of fulfillment orders for an order. Each fulfillment order groups line items that are fulfilled together, allowing an order to be processed in parts if needed.
- Anchor to fulfillmentsfulfillments•[Fulfillment!]!non-null
A list of shipments for the order. Fulfillments represent the physical shipment of products to customers.
- Anchor to fulfillmentsCountfulfillments•Count
Count The total number of fulfillments for the order, including canceled ones.
- Anchor to fullyPaidfully•Boolean!
Paid non-null Whether the order has been paid in full. This field returns
true
when the total amount received equals or exceeds the order total.- Anchor to hasTimelineCommenthas•Boolean!
Timeline Comment non-null Whether the merchant has added a timeline comment to the order.
- •ID!non-null
A globally-unique ID.
- Anchor to legacyResourceIdlegacy•Unsigned
Resource Id Int64! non-null The ID of the corresponding resource in the REST Admin API.
- Anchor to lineItemsline•Line
Items Item Connection! non-null A list of the order's line items. Line items represent the individual products and quantities that make up the order.
- Anchor to localizedFieldslocalized•Localized
Fields Field Connection! non-null List of localized fields for the resource.
- Anchor to merchantBusinessEntitymerchant•Business
Business Entity Entity! non-null The legal business structure that the merchant operates under for this order, such as an LLC, corporation, or partnership. Used for tax reporting, legal compliance, and determining which business entity is responsible for the order.
- Anchor to merchantEditablemerchant•Boolean!
Editable non-null Whether the order can be edited by the merchant. Returns
false
for orders that can't be modified, such as canceled orders or orders with specific payment statuses.- Anchor to merchantEditableErrorsmerchant•[String!]!
Editable Errors non-null A list of reasons why the order can't be edited. For example, canceled orders can't be edited.
- Anchor to merchantOfRecordAppmerchant•Order
Of Record App App The application acting as the Merchant of Record for the order. The Merchant of Record is responsible for tax collection and remittance.
- Anchor to metafieldmetafield•Metafield
A custom field, including its
namespace
andkey
, that's associated with a Shopify resource for the purposes of adding and storing additional information.- Anchor to metafieldsmetafields•Metafield
Connection! non-null A list of custom fields that a merchant associates with a Shopify resource.
- Anchor to namename•String!non-null
The unique identifier for the order that appears on the order page in the Shopify admin and the Order status page. For example, "#1001", "EN1001", or "1001-A". This value isn't unique across multiple stores. Use this field to identify orders in the Shopify admin and for order tracking.
- Anchor to netPaymentSetnet•Money
Payment Set Bag! non-null The net payment for the order, based on the total amount received minus the total amount refunded, in shop and presentment currencies.
- Anchor to nonFulfillableLineItemsnon•Line
Fulfillable Line Items Item Connection! non-null A list of line items that can't be fulfilled. For example, tips and fully refunded line items can't be fulfilled. For a more granular view of the fulfillment status, refer to the FulfillmentOrder object.
- Anchor to notenote•String
The note associated with the order. Contains additional information or instructions added by merchants or customers during the order process. Commonly used for special delivery instructions, gift messages, or internal processing notes.
- Anchor to numbernumber•Int!non-null
The order number used to generate the name using the store's configured order number prefix/suffix. This number isn't guaranteed to follow a consecutive integer sequence (e.g. 1, 2, 3..), nor is it guaranteed to be unique across multiple stores, or even for a single store.
- Anchor to originalTotalAdditionalFeesSetoriginal•Money
Total Additional Fees Set Bag The total amount of all additional fees, such as import fees or taxes, that were applied when an order was created. Returns
null
if additional fees aren't applicable.- Anchor to originalTotalDutiesSetoriginal•Money
Total Duties Set Bag The total amount of duties calculated when an order was created, before any modifications. Modifications include returns, refunds, order edits, and cancellations. Use
to retrieve the current duties amount after adjustments.
- Anchor to originalTotalPriceSetoriginal•Money
Total Price Set Bag! non-null The total price of the order at the time of order creation, in shop and presentment currencies. Use this to compare the original order value against the current total after edits, returns, or refunds.
- Anchor to paymentCollectionDetailspayment•Order
Collection Details Payment Collection Details! non-null The payment collection details for the order, including payment status, outstanding amounts, and collection information. Use this to understand when and how payments should be collected, especially for orders with deferred or installment payment terms.
- Anchor to paymentGatewayNamespayment•[String!]!
Gateway Names non-null A list of the names of all payment gateways used for the order. For example, "Shopify Payments" and "Cash on Delivery (COD)".
- Anchor to paymentTermspayment•Payment
Terms Terms The payment terms associated with the order, such as net payment due dates or early payment discounts. Payment terms define when and how an order should be paid. Returns
null
if no specific payment terms were set for the order.- Anchor to phonephone•String
The phone number associated with the customer for this order. Useful for contacting customers about shipping updates, delivery notifications, or order issues. Returns
null
if no phone number was provided during checkout.- Anchor to poNumberpo•String
Number The purchase order (PO) number that's associated with an order. This is typically provided by business customers who require a PO number for their procurement.
- Anchor to presentmentCurrencyCodepresentment•Currency
Currency Code Code! non-null The currency used by the customer when placing the order. For example, "USD", "EUR", or "CAD". This may differ from the shop's base currency when serving international customers or using multi-currency pricing.
- Anchor to processedAtprocessed•Date
At Time! non-null The date and time in ISO 8601 format when the order was processed. This date and time might not match the date and time when the order was created.
- Anchor to publicationpublication•Publication
The sales channel that the order was created from, such as the Online Store or Shopify POS.
- Anchor to purchasingEntitypurchasing•Purchasing
Entity Entity The business entity that placed the order, including company details and purchasing relationships. Used for B2B transactions to track which company or organization is responsible for the purchase and payment terms.
- Anchor to refundablerefundable•Boolean!non-null
Whether the order can be refunded based on its payment transactions. Returns
false
for orders with no eligible payment transactions, such as fully refunded orders or orders with non-refundable payment methods.- Anchor to refundDiscrepancySetrefund•Money
Discrepancy Set Bag! non-null The difference between the suggested and actual refund amount of all refunds that have been applied to the order. A positive value indicates a difference in the merchant's favor, and a negative value indicates a difference in the customer's favor.
- Anchor to refundsrefunds•[Refund!]!non-null
A list of refunds that have been applied to the order. Refunds represent money returned to customers for returned items, cancellations, or adjustments.
- Anchor to registeredSourceUrlregistered•URL
Source Url The URL of the source that the order originated from, if found in the domain registry. Returns
null
if the source URL isn't in the domain registry.- Anchor to requiresShippingrequires•Boolean!
Shipping non-null Whether the order requires physical shipping to the customer. Returns
false
for digital-only orders (such as gift cards or downloadable products) andtrue
for orders with physical products that need delivery. Use this to determine shipping workflows and logistics requirements.- Anchor to restockablerestockable•Boolean!non-null
Whether any line items on the order can be restocked into inventory. Returns
false
for digital products, custom items, or items that can't be resold.- Anchor to retailLocationretail•Location
Location The physical location where a retail order is created or completed, except for draft POS orders completed using the "mark as paid" flow in the Shopify admin, which return
null
. Transactions associated with the order might have been processed at a different location.- Anchor to returnsreturns•Return
Connection! non-null The returns associated with the order. Contains information about items that customers have requested to return, including return reasons, status, and refund details. Use this to track and manage the return process for order items.
- Anchor to returnStatusreturn•Order
Status Return Status! non-null The order's aggregated return status for display purposes. Indicates the overall state of returns for the order, helping merchants track and manage the return process.
- Anchor to riskrisk•Order
Risk Summary! non-null The risk assessment summary for the order. Provides fraud analysis and risk scoring to help you identify potentially fraudulent orders. Use this to make informed decisions about order fulfillment and payment processing.
- Anchor to shippingAddressshipping•Mailing
Address Address The shipping address where the order will be delivered. Contains the customer's delivery location for fulfillment and shipping label generation. Returns
null
for digital orders or orders that don't require shipping.- Anchor to shippingLineshipping•Shipping
Line Line A summary of all shipping costs on the order. Aggregates shipping charges, discounts, and taxes to provide a single view of delivery costs.
- Anchor to shippingLinesshipping•Shipping
Lines Line Connection! non-null The shipping methods applied to the order. Each shipping line represents a shipping option chosen during checkout, including the carrier, service level, and cost. Use this to understand shipping charges and delivery options for the order.
- Anchor to shopifyProtectshopify•Shopify
Protect Protect Order Summary The Shopify Protect details for the order, including fraud protection status and coverage information. Shopify Protect helps protect eligible orders against fraudulent chargebacks. Returns
null
if Shopify Protect is disabled for the shop or the order isn't eligible for protection. Learn more about Shopify Protect.- Anchor to sourceIdentifiersource•String
Identifier - Anchor to sourceNamesource•String
Name The name of the source associated with the order, such as "web", "mobile_app", or "pos". Use this field to identify the platform where the order was placed.
- Anchor to staffMemberstaff•Staff
Member Member The staff member who created or is responsible for the order. Useful for tracking which team member handled phone orders, manual orders, or order modifications. Returns
null
for orders created directly by customers through the online store.- Anchor to statusPageUrlstatus•URL!
Page Url non-null The URL where customers can check their order's current status, including tracking information and delivery updates. Provides order tracking links in emails, apps, or customer communications.
- Anchor to audienceaudience•Audience
Specifies the intended audience for the status page URL.
- Anchor to notificationUsagenotification•Notification
Usage Usage Specifies the intended notification usage for the status page URL.
Arguments
- Anchor to subtotalLineItemsQuantitysubtotal•Int!
Line Items Quantity non-null The sum of quantities for all line items that contribute to the order's subtotal price. This excludes quantities for items like tips, shipping costs, or gift cards that don't affect the subtotal. Use this to quickly understand the total item count for pricing calculations.
- Anchor to subtotalPriceSetsubtotal•Money
Price Set Bag The sum of the prices for all line items after discounts and before returns, in shop and presentment currencies. If
is
true
, then the subtotal also includes tax.- Anchor to suggestedRefundsuggested•Suggested
Refund Refund A calculated refund suggestion for the order based on specified line items, shipping, and duties. Use this to preview refund amounts, taxes, and processing fees before creating an actual refund.
- •[String!]!non-null
A comma separated list of tags associated with the order. Updating
tags
overwrites any existing tags that were previously added to the order. To add new tags without overwriting existing tags, use the tagsAdd mutation.- Anchor to taxesIncludedtaxes•Boolean!
Included non-null Whether taxes are included in the subtotal price of the order. When
true
, the subtotal and line item prices include tax amounts. Whenfalse
, taxes are calculated and displayed separately.- Anchor to taxExempttax•Boolean!
Exempt non-null Whether taxes are exempt on the order. Returns
true
for orders where the customer or business has a valid tax exemption, such as non-profit organizations or tax-free purchases. Use this to understand if tax calculations were skipped during checkout.- Anchor to taxLinestax•[Tax
Lines Line!]! non-null A list of all tax lines applied to line items on the order, before returns. Tax line prices represent the total price for all tax lines with the same
rate
andtitle
.- Anchor to testtest•Boolean!non-null
Whether the order is a test. Test orders are made using the Shopify Bogus Gateway or a payment provider with test mode enabled. A test order can't be converted into a real order and vice versa.
- Anchor to totalCapturableSettotal•Money
Capturable Set Bag! non-null The authorized amount that's uncaptured or undercaptured, in shop and presentment currencies. This amount isn't adjusted for returns.
- Anchor to totalCashRoundingAdjustmenttotal•Cash
Cash Rounding Adjustment Rounding Adjustment! non-null The total rounding adjustment applied to payments or refunds for an order involving cash payments. Applies to some countries where cash transactions are rounded to the nearest currency denomination.
- Anchor to totalDiscountsSettotal•Money
Discounts Set Bag The total amount discounted on the order before returns, in shop and presentment currencies. This includes both order and line level discounts.
- Anchor to totalOutstandingSettotal•Money
Outstanding Set Bag! non-null The total amount not yet transacted for the order, in shop and presentment currencies. A positive value indicates a difference in the merchant's favor (payment from customer to merchant) and a negative value indicates a difference in the customer's favor (refund from merchant to customer).
- Anchor to totalPriceSettotal•Money
Price Set Bag! non-null The total price of the order, before returns, in shop and presentment currencies. This includes taxes and discounts.
- Anchor to totalReceivedSettotal•Money
Received Set Bag! non-null The total amount received from the customer before returns, in shop and presentment currencies.
- Anchor to totalRefundedSettotal•Money
Refunded Set Bag! non-null The total amount that was refunded, in shop and presentment currencies.
- Anchor to totalRefundedShippingSettotal•Money
Refunded Shipping Set Bag! non-null The total amount of shipping that was refunded, in shop and presentment currencies.
- Anchor to totalShippingPriceSettotal•Money
Shipping Price Set Bag! non-null The total shipping costs returned to the customer, in shop and presentment currencies. This includes fees and any related discounts that were refunded.
- Anchor to totalTaxSettotal•Money
Tax Set Bag The total tax amount before returns, in shop and presentment currencies.
- Anchor to totalTipReceivedSettotal•Money
Tip Received Set Bag! non-null The sum of all tip amounts for the order, in shop and presentment currencies.
- Anchor to totalWeighttotal•Unsigned
Weight Int64 The total weight of the order before returns, in grams.
- Anchor to transactionstransactions•[Order
Transaction!]! non-null A list of transactions associated with the order.
- Anchor to transactionsCounttransactions•Count
Count The number of transactions associated with the order.
- Anchor to unpaidunpaid•Boolean!non-null
Whether no payments have been made for the order.
- Anchor to updatedAtupdated•Date
At Time! non-null The date and time in ISO 8601 format when the order was last modified.
Deprecated fields and connections
- Anchor to cartDiscountAmountcart•Money
Discount Amount Deprecated - Anchor to channelchannel•ChannelDeprecated
- Anchor to customerJourneycustomer•Customer
Journey Journey Deprecated - Anchor to landingPageDisplayTextlanding•String
Page Display Text Deprecated - Anchor to landingPageUrllanding•URL
Page Url Deprecated - Anchor to localizationExtensionslocalization•Localization
Extensions Extension Connection! non-nullDeprecated - Anchor to metafieldDefinitionsmetafield•Metafield
Definitions Definition Connection! non-nullDeprecated - Anchor to netPaymentnet•Money!
Payment non-nullDeprecated - Anchor to physicalLocationphysical•Location
Location Deprecated - Anchor to referralCodereferral•String
Code Deprecated - Anchor to referrerDisplayTextreferrer•String
Display Text Deprecated - Anchor to referrerUrlreferrer•URL
Url Deprecated - Anchor to riskLevelrisk•Order
Level Risk Level! non-nullDeprecated - Anchor to risksrisks•[Order
Risk!]! non-nullDeprecated - Anchor to subtotalPricesubtotal•Money
Price Deprecated - Anchor to totalCapturabletotal•Money!
Capturable non-nullDeprecated - Anchor to totalDiscountstotal•Money
Discounts Deprecated - Anchor to totalPricetotal•Money!
Price non-nullDeprecated - Anchor to totalReceivedtotal•Money!
Received non-nullDeprecated - Anchor to totalRefundedtotal•Money!
Refunded non-nullDeprecated - Anchor to totalShippingPricetotal•Money!
Shipping Price non-nullDeprecated - Anchor to totalTaxtotal•Money
Tax Deprecated - Anchor to totalTipReceivedtotal•Money
Tip Received V2! non-nullDeprecated
Anchor to QueriesQueries
- •query
The
order
query retrieves an order by its ID. This query provides access to comprehensive order information such as customer details, line items, financial data, and fulfillment status.Use the
order
query to retrieve information associated with the following processes:- Order management and fulfillment
- Financial reporting
- Customer purchase history and transaction analysis
- Shipping and inventory management
You can only retrieve the last 60 days worth of orders from a store by default. If you want to access older orders, then you need to request access to all orders.
For large order datasets, consider using bulk operations. Bulk operations handle pagination automatically and allow you to retrieve data asynchronously without being constrained by API rate limits. Learn more about creating orders and building order management apps.
- •query
Return an order by an identifier.
- •query
Returns a list of orders placed in the store, including data such as order status, customer, and line item details. Use the
orders
query to build reports, analyze sales performance, or automate fulfillment workflows. Theorders
query supports pagination, sorting, and filtering.
Anchor to MutationsMutations
- •mutation
Closes an open order.
- Anchor to inputinput•Order
Close Input! required The input for the mutation.
Arguments
- Anchor to orderorder•Order
The closed order.
- Anchor to userErrorsuser•[User
Errors Error!]! non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Creates an order with attributes such as customer information, line items, and shipping and billing addresses.
Use the
mutation to programmatically generate orders in scenarios where orders aren't created through the standard checkout process, such as when importing orders from an external system or creating orders for wholesale customers.
The
mutation doesn't support applying multiple discounts, such as discounts on line items. Automatic discounts won't be applied unless you replicate the logic of those discounts in your custom implementation. You can apply a discount code, but only one discount code can be set for each order.
NoteIf you're using the
mutation with a trial or development store, then you can create a maximum of five new orders per minute.
After you create an order, you can make subsequent edits to the order using one of the following mutations:
: Used for simple updates to an order, such as changing the order's note, tags, or customer information.
: Used when you need to make significant updates to an order, such as adding or removing line items, changing quantities, or modifying discounts. The
mutation initiates an order editing session, allowing you to make multiple changes before finalizing them. Learn more about using the
mutation to edit existing orders.
Learn how to build apps that integrate with order management and fulfillment processes.
- Anchor to optionsoptions•Order
Create Options Input The strategies for updating inventory and whether to send shipping and order confirmations to customers.
- Anchor to orderorder•Order
Create Order Input! required The attributes of the new order.
Arguments
- Anchor to orderorder•Order
The order that was created.
- Anchor to userErrorsuser•[Order
Errors Create User Error!]! non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Create a manual payment for an order. You can only create a manual payment for an order if it isn't already fully paid.
- Anchor to amountamount•Money
Input The manual payment amount to be created.
- •ID!required
The ID of the order to create a manual payment for.
- Anchor to paymentMethodNamepayment•String
Method Name The name of the payment method used for creating the payment. If none is provided, then the default manual payment method ('Other') will be used.
- Anchor to processedAtprocessed•Date
At Time The date and time (ISO 8601 format) when a manual payment was processed. If you're importing transactions from an app or another platform, then you can set processedAt to a date and time in the past to match when the original transaction was created.
Arguments
- Anchor to orderorder•Order
The order recorded a manual payment.
- Anchor to userErrorsuser•[Order
Errors Create Manual Payment Order Create Manual Payment Error!]! non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Removes customer from an order.
- Anchor to orderIdorder•ID!
Id required The ID of the order having its customer removed.
Arguments
- Anchor to orderorder•Order
The order that had its customer removed.
- Anchor to userErrorsuser•[Order
Errors Customer Remove User Error!]! non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Sets a customer on an order.
- Anchor to customerIdcustomer•ID!
Id required The ID of the customer being set on the order.
- Anchor to orderIdorder•ID!
Id required The ID of the order having a customer set.
Arguments
- Anchor to orderorder•Order
The order that had a customer set.
- Anchor to userErrorsuser•[Order
Errors Customer Set User Error!]! non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Applies and saves staged changes to an order. Mutations are operating on
. All order edits start with
, have any number of
* mutations made, and end with
.
- •ID!required
The ID of the calculated order that will have its changes applied to the order.
- Anchor to notifyCustomernotify•Boolean
Customer Whether to notify the customer or not.
- Anchor to staffNotestaff•String
Note Note for staff members.
Arguments
- Anchor to orderorder•Order
The order with changes applied.
- Anchor to userErrorsuser•[User
Errors Error!]! non-null The list of errors that occurred from executing the mutation.
Fields
- •ID!
- •mutation
Sends an email invoice for an order.
- Anchor to emailemail•Email
Input The email input fields for the order invoice. The
bcc
andfrom
fields should be store or staff account emails.- •ID!required
The order associated with the invoice.
Arguments
- Anchor to orderorder•Order
The order associated with the invoice email.
- Anchor to userErrorsuser•[Order
Errors Invoice Send User Error!]! non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Marks an order as paid by recording a payment transaction for the outstanding amount.
Use the
mutation to record payments received outside the standard checkout process. The
mutation is particularly useful in scenarios where:
- Orders were created with manual payment methods (cash on delivery, bank deposit, money order)
- Payments were received offline and need to be recorded in the system
- Previously authorized payments need to be captured manually
- Orders require manual payment reconciliation due to external payment processing
The mutation validates that the order can be marked as paid before processing. An order can be marked as paid only if it has a positive outstanding balance and its financial status isn't already
. The mutation will either create a new sale transaction for the full outstanding amount or capture an existing authorized transaction, depending on the order's current payment state.
After successfully marking an order as paid, the order's financial status is updated to reflect the payment, and payment events are logged for tracking and analytics purposes.
Learn more about managing orders in apps.
- Anchor to inputinput•Order
Mark As Paid Input! required The input for the mutation.
Arguments
- Anchor to orderorder•Order
The order marked as paid.
- Anchor to userErrorsuser•[User
Errors Error!]! non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Opens a closed order.
- Anchor to inputinput•Order
Open Input! required The input for the mutation.
Arguments
- Anchor to orderorder•Order
The opened order.
- Anchor to userErrorsuser•[User
Errors Error!]! non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Updates the attributes of an order, such as the customer's email, the shipping address for the order, tags, and metafields associated with the order.
If you need to make significant updates to an order, such as adding or removing line items, changing quantities, or modifying discounts, then use the
mutation instead. The
mutation initiates an order editing session, allowing you to make multiple changes before finalizing them. Learn more about using the
mutation to edit existing orders.
Learn how to build apps that integrate with order management and fulfillment processes.
- Anchor to inputinput•Order
Input! required The attributes of the updated order.
Arguments
- Anchor to orderorder•Order
The updated order.
- Anchor to userErrorsuser•[User
Errors Error!]! non-null The list of errors that occurred from executing the mutation.
Fields
- •mutation
Creates a refund for an order, allowing you to process returns and issue payments back to customers.
Use the
mutation to programmatically process refunds in scenarios where you need to return money to customers, such as when handling returns, processing chargebacks, or correcting order errors.
The
mutation supports various refund scenarios:
- Refunding line items with optional restocking
- Refunding shipping costs
- Refunding duties and import taxes
- Refunding additional fees
- Processing refunds through different payment methods
- Issuing store credit refunds (when enabled)
You can create both full and partial refunds, and optionally allow over-refunding in specific cases.
After creating a refund, you can track its status and details through the order's
refunds
field. The refund is associated with the order and can be used for reporting and reconciliation purposes.Learn more about managing returns and refunding duties.
Note- Anchor to inputinput•Refund
Input! required The input fields that are used in the mutation for creating a refund.
Arguments
- Anchor to orderorder•Order
The order associated with the created refund.
- Anchor to refundrefund•Refund
The created refund.
- Anchor to userErrorsuser•[User
Errors Error!]! non-null The list of errors that occurred from executing the mutation.
Fields