Offline access Admin Api requests returns html with scripts instead json response

Topic summary

API calls to the Shopify Admin API using an offline access token return HTML (with scripts and a link) instead of JSON when sent via Postman. Following the link triggers an account selection step and then redirects to an “unavailable” Shopify page, despite scopes including read/write products and orders.

Offline access token: a “permanent” OAuth token intended for server-to-server (no user session) Admin API requests. Postman: a desktop API client tool.

Latest update: The same request works when sent from a backend server, successfully returning product JSON. The issue appears isolated to Postman rather than the token or scopes.

Additional confirmation: Another participant reports identical behavior—Postman yields an authenticated/redirect-style response, while backend requests succeed.

Outcomes and actions:

  • Workaround: Perform Admin API calls from a backend service instead of Postman.
  • No specific fix or configuration change for Postman was identified in the thread.

Status: Unresolved. Consensus suggests Postman is triggering an authentication/redirect flow incompatible with offline token expectations. The attached image illustrates the “unavailable” page but isn’t required to understand the issue.

Summarized with AI on December 17. AI used: gpt-5.

I’m using offline access token OAuth and i wan’t to get all the products of a store with postman, but i get an html with scripts with a link instead the espected json response. So when paste the link into the browser i got into the account selection page, once i select the account y got redirected to the unavilable shopify page like in the pic. I don’t know why is trying to have access to the account when i grant these permissions in scope: read_products,write_products,read_orders,write_orders.

The token is supoused to be permanent and i can’t handle this kind of response from my backend

Well, i’ve tried to get all products from my backend instead from postman directly and i’m able to get them, somehow it doesn’t work with postman

Yeah its just Postman. I struggled with it forever (kept getting an authetnicated reponse via Postman) then it worked as soon as I sent it from my backend.