--- title: Access scopes for the REST Admin API description: >- All apps need to request access to specific store data during the app authorization process. This is a list of available access scopes for the REST Admin API. api_name: admin-rest source_url: html: 'https://shopify.dev/docs/api/admin-rest/usage/access-scopes' md: 'https://shopify.dev/docs/api/admin-rest/usage/access-scopes.md' --- ExpandOn this page * [How it works](https://shopify.dev/docs/api/admin-rest/usage/access-scopes.md#how-it-works) * [Authenticated access scopes](https://shopify.dev/docs/api/admin-rest/usage/access-scopes.md#authenticated-access-scopes) * [Checking granted access scopes](https://shopify.dev/docs/api/admin-rest/usage/access-scopes.md#checking-granted-access-scopes) * [Limitations and considerations](https://shopify.dev/docs/api/admin-rest/usage/access-scopes.md#limitations-and-considerations) # Access scopes for the REST Admin API Legacy The REST Admin API is a legacy API as of October 1, 2024. All apps and integrations should be built with the [GraphQL Admin API](https://shopify.dev/docs/api/admin-graphql). For details and migration steps, visit our [migration guide](https://shopify.dev/docs/apps/build/graphql/migrate). All apps need to request access to specific store data during the app authorization process. This guide provides a list of available access scopes for the REST Admin API. *** ## How it works Tip For more information on how to configure your access scopes, refer to [app configuration](https://shopify.dev/docs/apps/build/cli-for-apps/app-configuration). Authorization is the process of giving permissions to apps. Users can authorize Shopify apps to access data in a store. For example, an app might be authorized to access customer data in a store. For the REST Admin API, an app can request authenticated access scopes. Authenticated access is intended for interacting with a store on behalf of a user. For example, creating products and managing discount codes. Shopify has additional access scope types for working with GraphQL APIs. [Learn more](https://shopify.dev/docs/api/usage/access-scopes). *** ## Authenticated access scopes Your app can request the following authenticated access scopes: | Scope | Access | | - | - | | `read_assigned_fulfillment_orders`,`write_assigned_fulfillment_orders` | [FulfillmentOrder](https://shopify.dev/docs/api/admin-rest/latest/resources/assignedfulfillmentorder) resources assigned to a location managed by your [fulfillment service](https://shopify.dev/docs/api/admin-rest/latest/resources/fulfillmentservice) | | `read_checkouts`,`write_checkouts` | [Checkouts](https://shopify.dev/docs/api/admin-rest/latest/resources/checkout) | | `read_content`, | [Article](https://shopify.dev/docs/api/admin-rest/latest/resources/article), [Blog](https://shopify.dev/docs/api/admin-rest/latest/resources/blog), [Comment](https://shopify.dev/docs/api/admin-rest/latest/resources/comment), [Page](https://shopify.dev/docs/api/admin-rest/latest/resources/page), and [Redirects](https://shopify.dev/docs/api/admin-rest/latest/resources/redirect) | | `read_customers`,`write_customers` | [Customer](https://shopify.dev/docs/api/admin-rest/latest/resources/customer) | | `read_draft_orders`,`write_draft_orders` | [Draft Order](https://shopify.dev/docs/api/admin-rest/latest/resources/draftorder) | | `read_fulfillments`,`write_fulfillments` | [Fulfillment Service](https://shopify.dev/docs/api/admin-rest/latest/resources/fulfillmentservice) | | `read_gift_cards`,`write_gift_cards` | [Gift Card](https://shopify.dev/docs/api/admin-rest/latest/resources/gift-card) | | `read_inventory`,`write_inventory` | [Inventory Level](https://shopify.dev/docs/api/admin-rest/latest/resources/inventorylevel) and [Inventory Item](https://shopify.dev/docs/api/admin-rest/latest/resources/inventoryitem) | | `read_locations` | [Location](https://shopify.dev/docs/api/admin-rest/latest/resources/location) | | `read_marketing_events`,`write_marketing_events` | [Marketing Event](https://shopify.dev/docs/api/admin-rest/latest/resources/marketingevent) | | `read_merchant_managed_fulfillment_orders`,`write_merchant_managed_fulfillment_orders` | [FulfillmentOrder](https://shopify.dev/docs/api/admin-rest/latest/resources/fulfillmentorder) resources assigned to merchant-managed locations | | `read_orders`,`write_orders` | [Abandoned checkouts](https://shopify.dev/docs/api/admin-rest/latest/resources/abandoned-checkouts), [Customer](https://shopify.dev/docs/api/admin-rest/latest/resources/customer), [Fulfillment](https://shopify.dev/docs/api/admin-rest/latest/resources/fulfillment), [Order](https://shopify.dev/docs/api/admin-rest/latest/resources/order), and [Transaction](https://shopify.dev/docs/api/admin-rest/latest/resources/transaction) resources | | `read_price_rules`,`write_price_rules` | [Price Rules](https://shopify.dev/docs/api/admin-rest/latest/resources/pricerule) | | `read_products`,`write_products` | [Product](https://shopify.dev/docs/api/admin-rest/latest/resources/product), [Product Variant](https://shopify.dev/docs/api/admin-rest/latest/resources/product-variant), [Product Image](https://shopify.dev/docs/api/admin-rest/latest/resources/product-image), [Collect](https://shopify.dev/docs/api/admin-rest/latest/resources/collect), [Custom Collection](https://shopify.dev/docs/api/admin-rest/latest/resources/customcollection), and [Smart Collection](https://shopify.dev/docs/api/admin-rest/latest/resources/smartcollection) | | `read_product_listings` | [Product Listing](https://shopify.dev/docs/api/admin-rest/latest/resources/productlisting) and [Collection Listing](https://shopify.dev/docs/api/admin-rest/latest/resources/collectionlisting) | | `read_reports`,`write_reports` | [Reports](https://shopify.dev/docs/api/admin-rest/latest/resources/report) | | `read_resource_feedbacks`,`write_resource_feedbacks` | [ResourceFeedback](https://shopify.dev/docs/api/admin-rest/latest/resources/resourcefeedback) | | `read_script_tags`,`write_script_tags` | [Script Tag](https://shopify.dev/docs/api/admin-rest/latest/resources/scripttag) | | `read_shipping`,`write_shipping` | [Carrier Service](https://shopify.dev/docs/api/admin-rest/latest/resources/carrierservice), [Country](https://shopify.dev/docs/api/admin-rest/latest/resources/country), and [Province](https://shopify.dev/docs/api/admin-rest/latest/resources/province) | | `read_shopify_payments_disputes` | Shopify Payments [Dispute](https://shopify.dev/docs/api/admin-rest/latest/resources/dispute) resource | | `read_shopify_payments_dispute_evidences` | Shopify Payments [Dispute Evidence](https://shopify.dev/docs/api/admin-rest/latest/resources/dispute-evidence) resource | | `read_shopify_payments_payouts` | Shopify Payments [Payouts](https://shopify.dev/docs/api/admin-rest/latest/resources/payouts), [Balance](https://shopify.dev/docs/api/admin-rest/latest/resources/balance), and [Transaction](https://shopify.dev/docs/api/admin-rest/latest/resources/transaction) resources | | `read_themes`,`write_themes` | [Asset](https://shopify.dev/docs/api/admin-rest/latest/resources/asset) and [Theme](https://shopify.dev/docs/api/admin-rest/latest/resources/theme) | | `read_third_party_fulfillment_orders`,`write_third_party_fulfillment_orders` | [FulfillmentOrder](https://shopify.dev/docs/api/admin-rest/latest/resources/fulfillmentorder) resources assigned to a location managed by any [fulfillment service](https://shopify.dev/docs/api/admin-rest/latest/resources/fulfillmentservice)As of API version 2024-10, fulfillment orders that are assigned to a fulfillment service can only be fulfilled by the [fulfillment service app](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps) that manages the location they are assigned to. | | `read_users` | [User](https://shopify.dev/docs/api/admin-rest/latest/resources/user)shopify plus | *** ## Checking granted access scopes You can check your app’s granted access scopes. The following is an example request: ```html GET https://{store_name}.myshopify.com/admin/oauth/access_scopes.json ``` ```json { "access_scopes": [ { "handle": "read_products" }, { "handle": "write_orders" }, { "handle": "read_orders" } ] } ``` ##### REST request ``` GET https://{store_name}.myshopify.com/admin/oauth/access_scopes.json ``` ##### JSON response ``` { "access_scopes": [ { "handle": "read_products" }, { "handle": "write_orders" }, { "handle": "read_orders" } ] } ``` *** ## Limitations and considerations * Apps should request only the minimum amount of data that's necessary for an app to function when using a Shopify API. Shopify restricts access to scopes for apps that don't require legitimate use of the associated data. * Only [public or custom apps](https://shopify.dev/docs/apps/launch/distribution) are granted access scopes. Legacy app types, such as private or unpublished, won't be granted new access scopes. *** * [How it works](https://shopify.dev/docs/api/admin-rest/usage/access-scopes.md#how-it-works) * [Authenticated access scopes](https://shopify.dev/docs/api/admin-rest/usage/access-scopes.md#authenticated-access-scopes) * [Checking granted access scopes](https://shopify.dev/docs/api/admin-rest/usage/access-scopes.md#checking-granted-access-scopes) * [Limitations and considerations](https://shopify.dev/docs/api/admin-rest/usage/access-scopes.md#limitations-and-considerations)