Skip to main content
object

Requires read_orders access scope or read_marketplace_orders 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.


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.

Anchor to Fields and connectionsFields and connections

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

Deprecated fields and connections

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

Was this section helpful?

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:

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. The orders query supports pagination, sorting, and filtering.


Was this section helpful?

mutation

Closes an open order.

Arguments

OrderCloseInput!
required

The input for the mutation.


Fields

Order

The closed order.

[UserError!]!
non-null

The list of errors that occurred from executing the mutation.

mutation

Creates an order with attributes such as customer information, line items, and shipping and billing addresses.

Use the orderCreate 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 orderCreate 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.


Note

If you're using the orderCreate 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:

  • orderUpdate: Used for simple updates to an order, such as changing the order's note, tags, or customer information.
  • orderEditBegin: Used when you need to make significant updates to an order, such as adding or removing line items, changing quantities, or modifying discounts. The orderEditBegin mutation initiates an order editing session, allowing you to make multiple changes before finalizing them. Learn more about using the orderEditBegin mutation to edit existing orders.

Learn how to build apps that integrate with order management and fulfillment processes.

Arguments

OrderCreateOptionsInput

The strategies for updating inventory and whether to send shipping and order confirmations to customers.

OrderCreateOrderInput!
required

The attributes of the new order.


Fields

Order

The order that was created.

[OrderCreateUserError!]!
non-null

The list of errors that occurred from executing the mutation.

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.

Arguments

MoneyInput

The manual payment amount to be created.

ID!
required

The ID of the order to create a manual payment for.

String

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.

DateTime

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.


Fields

Order

The order recorded a manual payment.

[OrderCreateManualPaymentOrderCreateManualPaymentError!]!
non-null

The list of errors that occurred from executing the mutation.

mutation

Removes customer from an order.

Arguments

ID!
required

The ID of the order having its customer removed.


Fields

Order

The order that had its customer removed.

[OrderCustomerRemoveUserError!]!
non-null

The list of errors that occurred from executing the mutation.

mutation

Sets a customer on an order.

Arguments

ID!
required

The ID of the customer being set on the order.

ID!
required

The ID of the order having a customer set.


Fields

Order

The order that had a customer set.

[OrderCustomerSetUserError!]!
non-null

The list of errors that occurred from executing the mutation.

mutation

Applies and saves staged changes to an order. Mutations are operating on OrderEdit. All order edits start with orderEditBegin, have any number of orderEdit* mutations made, and end with orderEditCommit.

Arguments

ID!
required

The ID of the calculated order that will have its changes applied to the order.

Boolean

Whether to notify the customer or not.

String

Note for staff members.


Fields

Order

The order with changes applied.

[UserError!]!
non-null

The list of errors that occurred from executing the mutation.

mutation

Sends an email invoice for an order.

Arguments

EmailInput

The email input fields for the order invoice. The bcc and from fields should be store or staff account emails.

ID!
required

The order associated with the invoice.


Fields

Order

The order associated with the invoice email.

[OrderInvoiceSendUserError!]!
non-null

The list of errors that occurred from executing the mutation.

mutation

Marks an order as paid by recording a payment transaction for the outstanding amount.

Use the orderMarkAsPaid mutation to record payments received outside the standard checkout process. The orderMarkAsPaid 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 PAID. 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.

Arguments

OrderMarkAsPaidInput!
required

The input for the mutation.


Fields

Order

The order marked as paid.

[UserError!]!
non-null

The list of errors that occurred from executing the mutation.

mutation

Opens a closed order.

Arguments

OrderOpenInput!
required

The input for the mutation.


Fields

Order

The opened order.

[UserError!]!
non-null

The list of errors that occurred from executing the mutation.

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 orderEditBegin mutation instead. The orderEditBegin mutation initiates an order editing session, allowing you to make multiple changes before finalizing them. Learn more about using the orderEditBegin mutation to edit existing orders.

Learn how to build apps that integrate with order management and fulfillment processes.

Arguments

OrderInput!
required

The attributes of the updated order.


Fields

Order

The updated order.

[UserError!]!
non-null

The list of errors that occurred from executing the mutation.

mutation

Creates a refund for an order, allowing you to process returns and issue payments back to customers.

Use the refundCreate 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 refundCreate 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

The refunding behavior of the refundCreate mutation is similar to the refundReturn mutation. The key difference is that the refundCreate mutation lets you to specify restocking behavior for line items, whereas the returnRefund mutation focuses solely on handling the financial refund without any restocking input.


Arguments

RefundInput!
required

The input fields that are used in the mutation for creating a refund.


Fields

Order

The order associated with the created refund.

Refund

The created refund.

[UserError!]!
non-null

The list of errors that occurred from executing the mutation.


Was this section helpful?

OSZAR »