Legacy Interoperability
Interoperability metadata for types that directly correspond to a REST Admin API resource. For example, on the Product type, LegacyInteroperability returns metadata for the corresponding Product object in the REST Admin API.
Anchor to FieldsFields
- legacyResourceId (UnsignedInt64!)
- Anchor to legacyResourceIdlegacy•Unsigned
Resource Id Int64! non-null The ID of the corresponding resource in the REST Admin API.
Anchor to Types implemented inTypes implemented in
- Customer (Customer)
- DraftOrder (DraftOrder)
- Fulfillment (Fulfillment)
- InventoryItem (InventoryItem)
- Location (Location)
- MarketingEvent (MarketingEvent)
- Metafield (Metafield)
- Order (Order)
- PriceRule (PriceRule)
- Product (Product)
- ProductVariant (ProductVariant)
- Refund (Refund)
- SavedSearch (SavedSearch)
- ScriptTag (ScriptTag)
- ShopifyPaymentsDispute (ShopifyPaymentsDispute)
- ShopifyPaymentsPayout (ShopifyPaymentsPayout)
- WebhookSubscription (WebhookSubscription)
- •OBJECT
Information about a customer of the shop, such as the customer's contact details, purchase history, and marketing preferences.
Tracks the customer's total spending through the
field and provides access to associated data such as payment methods and subscription contracts.CautionOnly 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.
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.
Caution: Only use this data if it's required for your app's functionality. Shopify will restrict <a href="https://shopify.dev/api/usage/access-scopes">access to scopes</a> for apps that don't have a legitimate use for the associated data.
- •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
is the source of truth for what a customer is going to be charged andis 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.
- •OBJECT
A shipment of one or more items from an
Order. Tracks whichobjects ship, their quantities, and the shipment's tracking information.Includes tracking details such as the carrier, tracking numbers, and URLs. The fulfillment connects to both the original order and any associated
objects.objects record milestones throughout the shipment lifecycle, from creation through delivery.Multiple fulfillments can exist for a single order when items either ship separately or from different locations.
- •OBJECT
A product variant's inventory information across all locations. The inventory item connects the product variant to its inventory levels at different locations, tracking stock keeping unit (SKU), whether quantities are tracked, shipping requirements, and customs information for the product.
Learn more about inventory object relationships.
- •OBJECT
A physical location where merchants store and fulfill inventory. Locations include retail stores, warehouses, popups, dropshippers, or other places where inventory is managed or stocked.
Active locations can fulfill online orders when configured with shipping rates, local pickup, or local delivery options. Locations track inventory quantities for products and process order fulfillment. Third-party apps using
can create and manage their own locations.- •OBJECT
Represents actions that market a merchant's store or products.
- •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.
- •OBJECT
The
Orderobject represents a customer's request to purchase one or more products from a store. Use theOrderobject to handle the complete purchase lifecycle from checkout to fulfillment.Use the
Orderobject 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
Orderobject serves as the central hub connecting customer information, product details, payment processing, and fulfillment data within the GraphQL Admin API schema.NoteOnly the last 60 days' worth of orders from a store are accessible from the
Orderobject 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,, andscopes.Note:Only the last 60 days' worth of orders from a store are accessible from the
Orderobject 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,, andscopes.Note: Only the last 60 days' worth of orders from a store are accessible from the <code>Order</code> object by default. If you want to access older records, then you need to <a href="https://shopify.dev/docs/api/usage/access-scopes#orders-permissions">request access to all orders</a>. If your app is granted access, then you can add the <code><span class="PreventFireFoxApplyingGapToWBR">read<wbr/>_all<wbr/>_orders</span></code>, <code><span class="PreventFireFoxApplyingGapToWBR">read<wbr/>_orders</span></code>, and <code><span class="PreventFireFoxApplyingGapToWBR">write<wbr/>_orders</span></code> scopes.
CautionOnly 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.
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.
Caution: Only use orders data if it's required for your app's functionality. Shopify will restrict <a href="https://shopify.dev/docs/api/usage/access-scopes#requesting-specific-permissions">access to scopes</a> for apps that don't have a legitimate use for the associated data.
Learn more about building apps for orders and fulfillment.
- •OBJECT
A set of conditions, including entitlements and prerequisites, that must be met for a discount code to apply.
NoteUse the types and queries included our discount tutorials instead. These will replace the GraphQL Admin API's
object andunion, and the REST Admin API's deprecatedresource.Note:Use the types and queries included our discount tutorials instead. These will replace the GraphQL Admin API's
object andunion, and the REST Admin API's deprecatedresource.Note: Use the types and queries included our <a href="https://shopify.dev/docs/apps/selling-strategies/discounts/getting-started">discount tutorials</a> instead. These will replace the GraphQL Admin API's <a href="https://shopify.dev/docs/api/admin-graphql/latest/objects/PriceRule"><code><span class="PreventFireFoxApplyingGapToWBR">Price<wbr/>Rule</span></code></a> object and <a href="https://shopify.dev/docs/api/admin-graphql/latest/unions/DiscountCode"><code><span class="PreventFireFoxApplyingGapToWBR">Discount<wbr/>Code</span></code></a> union, and the REST Admin API's deprecated<a href="https://shopify.dev/docs/api/admin-rest/unstable/resources/pricerule"><code><span class="PreventFireFoxApplyingGapToWBR">Price<wbr/>Rule</span></code></a> resource.
- •OBJECT
The
Productobject 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.
- •OBJECT
The
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
object to manage the full lifecycle and configuration of a product's variants. Common use cases for using theobject 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
is associated with a parentProductobject.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:: Used for inventory trackingImage: Used for variant-specific images: Used for subscriptions and selling plans
Learn more about Shopify's product model.
- •OBJECT
The
Refundobject 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
Refundobject 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
Refundobject 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.
NoteThe existence of a
Refundobject doesn't guarantee that the money has been returned to the customer. The actual financial processing happens through associatedobjects, 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.Note:The existence of a
Refundobject doesn't guarantee that the money has been returned to the customer. The actual financial processing happens through associatedobjects, 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.Note: The existence of a <code>Refund</code> object doesn't guarantee that the money has been returned to the customer. The actual financial processing happens through associated <a href="https://shopify.dev/docs/api/admin-graphql/latest/objects/OrderTransaction"><code><span class="PreventFireFoxApplyingGapToWBR">Order<wbr/>Transaction</span></code></a> objects, which can be in various states, such as pending, processing, success, or failure. To determine if money has actually been refunded, check the <a href="https://shopify.dev/docs/api/admin-graphql/latest/objects/OrderTransaction#field-OrderTransaction.fields.status">status</a> of the associated transactions.
Learn more about managing returns, refunding duties, and processing refunds.
- •OBJECT
A representation of a search query in the Shopify admin used on resource index views. Preserves complex queries with search terms and filters, enabling merchants to quickly access frequently used data views. For example, a saved search can be applied to the product index table to filter products. The query string combines free-text search terms with structured filters to narrow results based on resource attributes.
The search applies to a specific resource type such as
Customer,Product,Order, orCollectionobjects.- •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.
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.
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.
- •OBJECT
A dispute occurs when a buyer questions the legitimacy of a charge with their financial institution.
- •OBJECT
A transfer of funds between a merchant's Shopify Payments balance and their
. Provides the net amount, issue date, and current.The payout includes a
that breaks down fees and gross amounts by transaction type, such as charges, refunds, and adjustments. Theindicates whether funds move into the bank account (deposit) or back to Shopify Payments (withdrawal).- •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.