newbie Custom App Setup

Topic summary

A user encountered a persistent 404 error while setting up their first Shopify custom app to expose product data and inventory in JSON format to external websites.

Initial Setup:

Resolution Found:
After extensive troubleshooting, the issue was identified in the URL structure. The official documentation examples suggest using “myDomain.myshopify.com”, but the working solution required removing “.myshopify” from the URL—using just the domain name instead.

Status: Resolved. The app now successfully returns product data after correcting the URL format.

Summarized with AI on November 2. AI used: claude-sonnet-4-5-20250929.

soooo… first custom app in Shopify. I followed the step by step instructions and even used ChatGPT. I am trying to build a simple app so that outside websites can get my Shopify products and attributes about my products such as QTY in stock in a JSON format. I selected the read_products and read_inventory. Got my access token and all the keys. I set up my postman to test the custom app and I keep getting a 404 error. There is literally nothing I can do to get this to work. I am pulling my hair out. Can someone please give me some guidance? I have Authorization Bearer Token set. headers have json for the content. mystore.myshopify.com/admin/api/2025-01/products.json

anybody got any ideas or suggestions? there has to be something I am missing.

I can go into my store and click products, and yes, I have products.

Check example here https://shopify.dev/docs/api/admin-rest
Make sure you have same http headers and request type

ok so after googling for about an hour or so last night, I finally ran across someone who also had the same issue. 404 error on products.json. so in the examples, they tell you to put myDomain.myShopify.com/admin/api/version/page.json. So, logically, you change myDomain to whatever your domain is in the Shopify store. The issue is the .myshopify.com. That shouldn’t be there. Once I removed .myshopify. from the URL request, magically it works. So, there ya go guys. Hopefully this will save someone else hours of trying to get it to work bc of a bad example.