


Storefront content, such as Article, Blog, and Comment objects Your can request the following unauthenticated access scopes: Unauthenticated access scopes Scope To request access scopes or permissions for the Headless channel, refer to managing the Headless channel. To request unauthenticated access scopes for an app, select them when you generate API credentials or change granted access scopes. Request scopes Anchor link to section titled "Request scopes" Payments Apps API Payment, Capture, Refund and Void GraphQL Admin API OrderStagedChange types and order editing features You need to request permission for these access scopes from your Partner Dashboard before adding them to your app.įulfillmentOrder resources assigned to a location managed by any fulfillment service SubscriptionContract Permissions required Shopify Payments Payout, Balance, and Transaction resources

Product publishing and Collection publishing Product, Product Variant, Product Image, Collect, Custom Collection, and Smart Collection GraphQL Admin API PaymentSchedule and PaymentTerms objects Write_merchant_managed_fulfillment_ordersįulfillmentOrder resources assigned to merchant-managed locationsĪbandoned checkouts, Customer, Fulfillment, Order, and Transaction resources Read_merchant_managed_fulfillment_orders, GraphQL Admin API GenericFile object and fileCreate, fileUpdate, and fileDelete mutations Subscribe to receive updates from Shopify. As far as I know, there are no plans for taking this field from internal use only to public use anytime soon. You unfortunately cannot create a new Draft Order with this field through any of the Shopify API. Manage Cart Transform objects to sell bundles.Īrticle, Blog, Comment, Page, and RedirectĬustomerMergePreview and CustomerMergeRequestĬustomerPaymentMethod Permissions required Storefront API Hydrogen View all Log in Sign up v docs. The 'reserveinventoryuntil' field of Draft Orders is only available internally when creating Draft Orders through the Shopify Admin UI. You need to request permission for this access scope from your Partner Dashboard before adding it to your app.įulfillmentOrder resources assigned to a location managed by your fulfillment service This OAuth scope is used in conjunction with existing order scopes, for example read_orders or write_orders.

Your app can request the following authenticated access scopes: Authenticated access scopes ScopeĪll relevant orders rather than the default window of orders created within the last 60 days Permissions required In these cases, you must request specific permission to access data from the user in your Partner Dashboard. In the following table, access to some resources are marked with permissions required. I've worked through a lot of 'Kinks' with the Shopify Admin API, so let me know if you have any queries because Shopify certainly won't answer you.Authenticated access scopes Anchor link to section titled "Authenticated access scopes" Note When Re-Stocking an Order, you need to Re-Fund it first, and pass in a Location ID (sort of a Warehouse) even if your Shopify Store doesn't use this functionality. Another reason for this could be that the app is somehow sending multiple requests and causing the system to think the draft order is already being worked on. If you want to temporarily hold stock for an order, the only method is to create a genuine Order, and cancel it after x period of time, the 'Temporary Stock Holding' for the Draft API isn't a thing, although you can do it via the Shopify Admin (Frustrating). You can no longer directly mark orders as Paid, instead you need to add a transaction of 'capture' and 'success'. You can however if it was created via the Shopify Checkout. You cannot mark an API order as paid, if you didn't mark it as 'Authorized' or 'Paid' during its creation. I ended up taking the approach where I create a new order via the Order API matching the Draft Details, after which I then either deleted the Draft Order, or added a note indicating it had been turned into x order.Ī few things to be aware of with the Order API that they don't make very clear in their documentation.
