REST Admin API reference
The REST Admin API lets you build apps and other integrations for the Shopify admin.
If you want to create Shopify-powered storefronts for platforms outside of the Shopify admin, including websites, mobile apps, and game development engines, then see the Storefront API instead.
Shopify offers a wide range of APIs to provide functionality at every stage of a store's operation. For help selecting which APIs and resources you need for your app, see Selecting APIs for your app.
For the latest information about changes to Shopify's APIs, visit the API Announcements section of the Shopify Community forums.
Use our featured APIs to quickly integrate sophisticated Shopify functionality into your app:
Application proxies - Display data on a Shopify store page from an outside location.
Charging users for your app - Create and issue charges to store owners purchasing your app.
Carrier service - Register a new carrier service with a list of applicable shipping rates.
Fulfillment service - Register, edit, and delete new fulfillment services.
Liquid - Load dynamic content on storefronts with the Liquid template language.
Multipass SHOPIFY PLUS - Manage your Shopify customers across multiple applications.
Webhooks - Retrieve and store data based on certain events in Shopify.
The following API resources are currently only available to Shopify Plus Customers:
Selecting APIs for your app
You'll need to use different APIs depending on the service that your app provides. Use the following tables to see which APIs are useful for different kinds of tasks.
View and manage the access that has been granted to you by merchants.
|StorefrontAccessToken||Generate a storefront access token to access the Storefront API.|
|AccessScope||View the access scopes approved by merchants during installation of your app.|
Provide a merchant with detailed reports to help them analyze how their business is performing.
|Report||Create, update, and delete reports that appear on the Reports page of the Shopify admin. Each report is built from a query written with Shopify Query Language (ShopifyQL).|
|Shopify Query Language||Write queries that fetch data from the available Shopify schemas. ShopifyQL queries can be used to publish reports using the Report API.|
Get paid for your app by collecting a one-time charge, a fixed monthly fee, or a variable monthly fee based on usage.
|ApplicationCharge||Charge a shop a one-time fee by creating an application charge.|
|RecurringApplicationCharge||Charge a shop a subscription fee to use your app. Charged every 30 days.|
|UsageCharge||Charge varying amounts based on the monthly usage of your app.|
|ApplicationCredit||Request to create an application credit for a particular shop.|
Help merchants manage their customer data.
|CustomerSavedSearch||Add or update customer saved searches. Saved searches help merchants to organize their customers into groups that they can access quickly from their admin. They're also useful for specifying sets of customers, such as the customers that are eligible to use a certain discount code.|
|Customer||Add or update information about a store's customers, including their addresses and whether they have an active customer account with the store.|
|Customer Address||Manage the customer addresses for a store. Customers can have multiple addresses, one of which is the default address that's used to calculate taxes and shipping charges.|
Help merchants to offer flexible discounts.
|DiscountCode||After setting up the logic for a discount using the PriceRule API, use the DiscountCode API to associate the discount with a code, which can be entered at the checkout to apply the discount.|
|PriceRule||Create the logic for a discount, and then use the DiscountCode API to associate a code with the discount so it can be applied at checkout.|
Fetch event data or register webhooks to keep your app synced with the merchant store.
|Event||Retrieve a list of events, which are important actions in the operation of a shop. Shopify records events for a range of resources, and each resource has its own set of actions that create events.|
|Webhook||Retrieve and store event data using webhooks.|
Manage inventory levels across multiple locations.
|InventoryLevel||Get or update the inventory level of an inventory item at a location. Each inventory level is associated to a single inventory item and location.|
|InventoryItem||List or update the inventory of a variant's inventory item.Each variant can have one inventory item, and each inventory item can have many locations.Each location can have many inventory items for many variants.|
|Location||Retrieve the locations that a merchant has set up from their Shopify admin. Each location refers to the address of a business' headquarters, retail stores, and pop-up stores. The store's locations are used to track sales and to configure the tax rates applied at checkout.|
Create or update marketing events to track activity associated with a merchant's marketing campaigns.
Add metadata to store resources.
Online store APIs
Update a merchant's online storefront and its content.
|Page||Create and update static pages for an online store.|
|Blog||Create, edit, and delete a store's blogs. Each store can have multiple blogs, and each blog can have many articles (blog posts). Use the Article API to manage each blog's articles.|
|Redirect||Manage 301 redirects for a merchant's online store.|
|Article||Manage a store's articles. Each article belongs to a blog and can have many comments.|
|Theme||Manage a store's themes, which control the look and feel of an online store. Use the Asset API to update specific files within a theme.|
|Asset||Manage the files that make up a store's theme to change the look of the online store.|
|Comment||Manage the reader comments for articles (blog posts). Each article can have many comments. Some available actions include creating comments, updating comments, deleting comments, marking comments as spam, and approving comments.|
Give merchants new ways to receive, process, and manage their orders.
|DraftOrder||Allow merchants to manually create orders on behalf of customers. The order is saved as a draft in the Shopify admin until it's marked as completed.|
|Refund||Create and retrieve refunds for an order. Each refund is a record of money being returned to the customer. Use the calculate endpoint to make sure that any refund that you create is accurate.|
|Transaction||Create and retrieve transactions for an order. Transactions are created for every order that results in an exchange of money.|
|Order||Create and update a store's orders. Each order is a record of a complete purchase that includes details of the customer, their cart, and any transactions.|
|Order Risk||Display a fraud analysis and recommendations on the details page of an order.|
|Abandoned checkouts||Retrieve a list of incomplete checkouts. Each Checkout object includes a URL to the online checkout, where the customer can complete their purchase.|
Create custom functionality for high GMV merchants using APIs exclusive to Shopify Plus.
|Gift Card||Create and manage gift card codes, which can be entered at checkout to pay using a gift card.|
|Multipass||Manage the authentication of customers across multiple applications to provide a single login experience for those websites.|
|User||Retrieve the permissions on staff accounts. From the Shopify admin, merchants can give each staff account full permissions or individual permissions that control access to a part of Shopify.|
Access and manipulate a store's catalog using product and collection APIs.
|Product Variant||Add or update a product's variants. Variants are the different combinations of the product's options. For example, a t-shirt product with size and color options might have a variant in a small size and blue color.|
|Product Image||Add or update a store's product images, which sales channels use to display the products to shoppers.|
|Collect||After creating a custom collection, add products to it by creating a collect for each product. Each collect associates one product with one custom collection.|
|SmartCollection||Create or update smart collections by defining selection conditions. Products that match the conditions are included in the collection automatically.|
|Collection||Manage a store's collections. A collectionis a grouping of products that merchants can create to make their stores easier to browse.|
|CustomCollection||Manage a store's custom collections. A custom collection is one where products are included manually, as opposed to being included automatically because they meet selection conditions.|
|Product||Manage a store's products, which are the individual items and services for sale in the store.|
Sales channel APIs
Create your own sales channel. Your sales channel might be a mobile app, a website, or an online marketplace.
|Checkout||Create and update checkouts to provide a custom checkout experience for your sales channel.|
|Payment||Create and update payments to provide a custom checkout experience for your sales channel.|
|CollectionListing||Manage the collections that are published to your sales channel and retrieve their information.|
|ProductListing||Manage the products that are available to your sales channel and retrieve their information.|
|ResourceFeedback||Notify merchants about actions required to resolve errors with your app.|
|Product ResourceFeedback||Product resource feedback allows you to communicate the state of a shop's individual products, as it pertains to your application.|
Shipping and fulfillment APIs
Show custom shipping rates at checkout, or register your app as a store's fulfillment service and then manage its fulfillments.
|FulfillmentEvent||Create fulfillment events for an order's fulfillments. The fulfillment events are displayed on the order status page so the customer can track the progress of their delivery.|
|FulfillmentOrder||Manage an item or a group of items in an order that are to be fulfilled from the same location. Retrieve and cancel fulfillment orders, mark fulfillment orders as incomplete, or move fulfillment orders to a new location.|
|CancellationRequest||Manage the cancellation request flow of fulfillment orders assigned to fulfillment services.|
|Fulfillment||Manage the fulfillment of an order's line items. Create a fulfillment for each shipment, provide tracking information, and notify the customer that their items have shipped.|
|FulfillmentRequest||Manage the fulfillment request flow of fulfillment orders assigned to fulfillment services.|
|CarrierService||Provide real-time shipping calculations before checkout with your custom shipping service.|
|FulfillmentService||Register a fulfillment service with a store. The merchant can then set it as the fulfillment service for their products, and your service can manage the fulfillment of those products using the Fulfillment and FulfillmentEvent APIs.|
|AssignedFulfillmentOrder||View the fulfillment orders of a shop that are assigned to your app.|
|LocationsForMove||View the locations that a fulfillment order can potentially move to.|
Shopify Payments APIs
|Transactions||Get information regarding Shopify Payments balance transactions.|
|Dispute||Get information regarding Shopify Payments disputes.|
|Payouts||Get information regarding Shopify Payments payouts.|
|Balance||View the current balance for a Shopify Payments account|
Store property APIs
Manage a store's configuration.
|Shop||Access a store's general settings and information as configured by the merchant in their Shopify admin.|
|Country||Manage the country and provincial tax rates that are applied to applicable items at checkout.|
|Province||Manage the tax rates that are applied to orders from a specific province or state.|
|Currency||Retrieve a list of enabled currencies and the time when their conversion rate was last updated.|
|ShippingZone||Retrieve the shipping zones that a merchant has set up from their Shopify admin. Each Shipping Zone object includes the countries and provinces added to the shipping zone, as well as the tax rates and shipping rates that are set up.|
Retrieve tender transactions for your shop. Tender transactions represent transactions that modify the shop's balance.