ACCESS_DENIED on graphql.json

I feel a little silly asking, so hopefully it’s a quick one. I haven’t been able to find info on this.
I’m migrating to the StoreFront API and can’t resolve the API endpoint.
If I visit https://<mystorename>.myshopify.com/api/2025-01/graphql.json, I get

{
  "errors": [
    {
      "message": "",
      "extensions": {
        "code": "ACCESS_DENIED"
      }
    }
  ]
}

I believe this is related to Authentication

I have a Shopify Lite plan and can’t create a development store on the account, so I signed up for a Partner Account and made a development app there in hopes I can use the credentials in my .env.development file and pull in the data. (I exported then imported my products from prod to the test store)

I enabled the Storefront API under the app >> Build >> API Access >> Access requests >> Storefront API

I’ve seen people say they then had to run shopify app deploy to get the changes, but I don’t need to deploy it since my intention is only to update my queries for the new api. Then, I guess, redo everything on my real store once I’ve verified things work on the dev store.

Lmk if I can provide anymore details. I’m pretty new at this.
Thanks!

Have you used storefrontAccessTokenCreate to create one, and use that in your graphql?

1 Like

Thanks for the suggestion Eric, I hadn’t no.

I made a Storefront API access token in the store’s admin and have that on a variable in my .env.development file.

That’s passed into my store-context.jsx which I can log out and verify it’s coming through correctly.

const storeDomain = process.env.GATSBY_SHOPIFY_STORE_URL;
const accessToken = process.env.GATSBY_STOREFRONT_ACCESS_TOKEN;
const client = createStorefrontApiClient({
  storeDomain: storeDomain,
  publicAccessToken: accessToken,
  apiVersion: '2025-01',
  clientName: 'Dev',
});

Now I’m getting the message: (haven’t made any updates. maybe a timing thing?)

{
  "errors": [
    {
      "message": "No query string was present"
    }
  ]
}

Here’s a log of my config for context

Since the store is in development mode, it’s password protected. That might be an issue? The API shouldn’t be effected though, so maybe not.

I created unique product names to tell if the correct data is coming in, but it’s still the original titles. Maybe I need to run something to update the API data?

Hey @consolecmnd :waving_hand: - could you share the GraphQL query you’re passing? Usually, the “no query string was present” error pops up when your code either doesn’t include a GraphQL query or the query isn’t properly formatted in your request structure. If you’re open to share your full extension code include where you pass the query, I’m happy to take a look and see if we can solve this :slight_smile:

Hey @Alan_G, thanks for popping in! My queries are going to be broken at the moment since they’re the original queries used before the Storefront switch over.

I wanted to make sure I could access the https://<storename>.myshopify.com/api/2025-01/graphql.json first before diving into the query updates, but it sounds like I can get started on that. Let me give that a try and if I’m still spinning my wheels I’ll let you know. :smiley:

1 Like

Sounds good @consolecmnd - feel free to ping me here if I can help out further :slight_smile: