Breaking change reported: From 12 Feb 2024, the Admin REST Orders endpoint stopped returning order_status_url across production API versions (2023-04 to 2024-04), causing app failures.
Shopify staff response: Access to order_status_url now requires Level 2 Protected Customer Data approval, per a changelog; apps must request Level 2 in the Partner Dashboard.
Confusion and regressions: The linked changelog initially 404’d; one developer saw the field return until last week, then disappear again, suggesting reintroduction of the restriction. Questions about expectations for custom apps remain unanswered.
Even with Level 2: A developer with approval still didn’t receive order_status_url (nor GraphQL statusPageUrl) via REST. A corrected changelog link was later shared by another user.
Workaround discovered: With Level 2, the field appeared only when the request also included the customer name; requesting only email did not return order_status_url. This behavior is undocumented.
Status: No confirmed official fix beyond the Level 2 requirement; documentation gaps persist. The discussion remains open with unresolved questions about consistent access and required request parameters.
Summarized with AI on December 28.
AI used: gpt-5.
Seems like starting 12 February 2024, Shopify has stopped returning the “order_status_url” field for GET /admin/api//orders/.json , with no announcement.
This applies to all production version (from 2024-04 to 2023-04), which broke my apps (and I believe many other partners’ apps too)
This is a breaking change to production API without any notice or workaround. There is no way to retrieve order status URL using API now.
We have a changelog update on this API change, which was necessary for protecting customer data that you can read for more information. Your app will need Level 2 Protected Customer Data Requirements in order to access the order_status_url field, more information on how to request this via your partner dashboard in our developer docs.
I’ve had no issues with receiving the “order_status_url” from the REST API until last week. I’m guessing removing it was reverted from February but got reintroduced last week somehow? Now I also have the issue of missing the “order_status_url” entirely from the Order resource when I query for it from a custom app.
Could we please get some assistance on what to expect? The changelog url is still a 404 page.
I have Level 2 approval of Customer data access, but I still do not see order_status_url when requesting an order with GET /admin/api/2024-04/orders.json?status=any
Ok I figured it out. It’s really awful and written nowhere in the documentation, but you must request for customer Name in order to get the order_status_url in the retrieved orders response. I was requesting only Email and it was not enough to get order_status_url.