POS Extension GraphQL 400 error

Topic summary

A developer encountered a 400 error when querying the Admin API via GraphQL in their POS Extension after deploying to production stores, despite successful deployment and tile loading.

Initial Problem:

  • Extension worked on dev store but failed on organization sites
  • GraphQL queries returned generic “Failed to query Admin API: 400” error
  • All relevant scopes appeared correctly configured and deployed

Resolution:

  • Issue was permissions-related, not technical
  • The user accessing the extension could see the tile but lacked explicit permission to access the custom app
  • Granting proper user permissions to the custom app resolved the error

Key Takeaway: Even with correct scopes configured, individual users need explicit access permissions to custom apps beyond basic visibility.

Summarized with AI on October 26. AI used: claude-sonnet-4-5-20250929.

I have a POS Extension tested on a dev store, and now I’m installing it to our organisations sites. Everything seems right, I can shopify app deploy updates to it - change title, scopes, etc. I can add the tile and when i click the tile it loads the modal. What is not working is a graphql search, and when debug in the console its giving me not enough information:

Unhandled Promise Rejection: Error: Failed to query Admin API: 400

I have all the scopes i can think of and when i add and change scopes and I’m seeing them be deployed.

scopes = “read_customer_events,read_customers,read_gift_cards,read_locations,read_payment_terms,read_products,read_shipping,customer_read_customers,unauthenticated_read_customers”

How can i catch this bug which didn’t happen in the development version?

I was using a different user, and even though the user could see the Tile, they the user needed to be given permission to access my custom app.