Request for Guidance: read_all_orders in the Headless Channel/App

Hi Shopify team and community,

We’re running an active headless Shopify deployment (Storefront API + Customer Account API) for a consumable product (coffee capsules), where repeat purchasing is the norm. Many customers reorder on a monthly or bi-monthly cadence, and we’ve built a custom customer dashboard that allows them to quickly view past purchases and reorder.

At the moment, we’ve run into a limitation around order history access:

  • The Customer Account API only returns ~60 days of orders

  • The read_all_orders scope is not available within the headless channel’s Customer Account API scopes

  • There does not appear to be a way to request approval for read_all_orders when using the headless channel/app

  • This effectively prevents customers from seeing or reordering older purchases via our custom account area

This leads us to a couple of questions we’re hoping to get clarity on:

  1. Is there a supported way to request access to read_all_orders for a headless storefront using the Customer Account API, either via review or approval?

  2. If not, is the recommended approach to:

    • Create a separate custom app through the partner dashboard

    • Request read_all_orders on that app

    • Migrate the storefront / customer account credentials from the headless channel into the custom app?

  3. Are there any best-practice patterns Shopify recommends for enabling long-term order history and reordering in headless customer accounts without violating scope or data-access constraints?

We’re keen to stay aligned with Shopify’s intended architecture and security model, and want to avoid brittle workarounds if there’s a cleaner or officially supported path forward.

Any guidance from the Shopify team or others running production headless setups would be greatly appreciated.

Thanks in advance,
Steven

Hi @nz_steven,

I can confirm that this is unexpected behaviour, and as long as the Headless Sales Channel has the customer_read_orders scope set in the Customer Account API settings within the the app, you should be able to retrieve all orders, including those older than 60 days.

If you do have customer_read_orders set and it’s still not returning orders older than 60 days, this indicates that it’s the Headless App itself that is missing the actual read_all_orders scope.

The read_all_orders scope on the Headless app does not require any requests or permissions, and should be enabled by default when the app is installed on the store.

This is not something that can be confirmed or added by the merchant in the admin, and we would have to look into it on our end to confirm if that is the cause. If we find that the Headless app on the store in question is missing the read_all_orders scope, that is something that we can fix as well, with a maintenance task on our end to ensure it is added correctly.

To get this resolved, we will need you to reach out to the Shopify Support Team in the Shopify Help Center, while logged into a Staff Account or Partner Collaborator Account from the affected store, and our Developer Support Team can help look into this further and get the read_all_orders scope added to the Headless app if it is missing.

Hi @Kellan-Shopify

In my test store, I also encountered this issue, which may not be an isolated or store-specific problem.

Hi @Kellan-Shopify,

Thanks for getting back to me, I assumed that might be the case. We tried to go down the customer service route as you mentioned but they said they are unable to do this as it would need to be done directly from the shopify core team.

Are you able to private message me for the store details or give me a direct contact to someone in your team that could assist with this?

Hi @nz_steven,

I can confirm that this is something that has to be done by our internal Shopify developers directly on a per store level, ensuring the Headless App has the correct scope on the specific store the app is installed on.

This is something that we do need you to reach out via the Shopify Help Center to get done since we do need you to fully authenticate with the store in question.

To get this resolved as quickly as possible, I’d like to ask you to reach out via the Shopify Help Center once again, while logged into the store this is occurring on. If there’s any confusion regarding the issue with the advisor you are chatting with, please do let them know you were discussing this with the Developer Support Team in the Community Forums, and provide them with a link to this thread, and if they need help with getting it escalated to the correct team they should reach out to the Developer Support Team internally for more assistance.

Hi @kyle_liu,

I can confirm that while this may happen on multiple stores, that the underlying issue is a store-specific issue, with the Headless App Installation on the specific store missing the necessary read_all_orders that should have been added when the app was installed.

I can’t say why this may be happening, but if you reach out to the Shopify Help Center while logged into the store in question, we can help look into it further and get it resolved on the specific store.

As mentioned in my post above, if there’s any confusion with the Support Advisor you are chatting with, please provide them with a link to this forum thread, and say that you were discussing this behaviour with the Developer Support Team, and that they should reach out to the Develop Support Team internally if they need help with getting the issue escalated to the correct team to help resolve this.