Skip to main content
Log inSign up
query

Returns a DraftOrder resource by ID.

ID!required

The ID of the DraftOrder to return.


Was this section helpful?

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

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

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

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

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

acceptAutomaticDiscounts

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

allowDiscountCodesInCheckout
non-null

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

allVariantPricesOverridden
non-null

Whether all variant prices have been overridden.

amountDueLaterSet
non-null

The amount due later. When there are payment terms, this is the total price minus the deposit amount (if any). When there are no payment terms, this is 0.

amountDueNowSet
non-null

The amount due now. When there are payment terms this is the value of the deposit (0 by default). When there are no payment terms, this is the total price.

anyVariantPricesOverridden
non-null

Whether any variant prices have been overridden.

appliedDiscount

The custom order-level discount applied.

billingAddress

The billing address of the customer.

billingAddressMatchesShippingAddress
non-null

Whether the billing address matches the shipping address.

bypassCartValidations

Whether to bypass cart validations on this draft order.

completedAt

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

createdAt
non-null

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

currencyCode
non-null

The shop currency used for calculation.

customAttributes
non-null

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

customer

The customer who will be sent an invoice.

defaultCursor
non-null

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

deposit

The portion required to be paid at checkout.

discountCodes
non-null

All discount codes applied.

email

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

events
non-null

The list of events associated with the draft order.

hasTimelineComment
non-null

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

id
non-null

A globally-unique ID.

invoiceEmailTemplateSubject
non-null

The subject defined for the draft invoice email template.

invoiceSentAt

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

invoiceUrl

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

legacyResourceId
non-null

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

lineItems
non-null

The list of the line items in the draft order.

lineItemsSubtotalPrice
non-null

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

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

metafields
non-null

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

metafieldsByIdentifiers
non-null

The metafields associated with the resource matching the supplied list of namespaces and keys.

name
non-null

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

note2

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.

phone

The assigned phone number.

platformDiscounts
non-null

The list of platform discounts applied.

poNumber

The purchase order number.

presentmentCurrencyCode
non-null

The payment currency used for calculation.

purchasingEntity

The purchasing entity.

ready
non-null

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

reserveInventoryUntil

The time after which inventory will automatically be restocked.

shippingAddress

The shipping address of the customer.

shippingLine

The line item containing the shipping information and costs.

status
non-null

The status of the draft order.

subtotalPriceSet
non-null

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

tags
non-null

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

taxesIncluded
non-null

Whether the line item prices include taxes.

taxExempt
non-null

Whether the draft order is tax exempt.

taxLines
non-null

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

totalDiscountsSet
non-null

Total discounts.

totalLineItemsPriceSet
non-null

Total price of line items.

totalPriceSet
non-null

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

totalQuantityOfLineItems
non-null

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

totalShippingPriceSet
non-null

The total shipping price.

totalTaxSet
non-null

The total tax.

totalWeight
non-null

The total weight in grams of the draft order.

transformerFingerprint

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

updatedAt
non-null

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

visibleToCustomer
non-null

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

warnings
non-null

The list of warnings raised while calculating.

localizationExtensions
non-null

List of localization extensions for the resource.

marketName
non-null

The name of the selected market.

marketRegionCountryCode
non-null

The selected country code that determines the pricing.

subtotalPrice
non-null

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

totalPrice
non-null

The total price, in shop currency, includes taxes, shipping charges, and discounts.

totalShippingPrice
non-null

The total shipping price in shop currency.

totalTax
non-null

The total tax in shop currency.


Was this section helpful?