'This app is not approved to access the Order object.' error on Development store

Topic summary

Error: “This app is not approved to access the Order object” occurs when a local Shopify app connected to a development store attempts to list orders via the Admin GraphQL API.

Context: The app’s scopes include read_customers, read_draft_orders, read_orders, and write_products (configured in shopify.app.toml). The developer has requested “Protected customer access data” in the Partner dashboard but has not submitted it for review.

Implementation: A Shopify Remix app uses authenticate.admin and runs a GraphQL query orders(first: 10) to fetch createdAt. The provided code snippet is central to understanding the issue.

Observation: Despite including read_orders, access to the Order object is blocked, aligning with the error message’s indication of insufficient approval.

Status: No solution or decision yet; the post asks what is missing or misconfigured and seeks guidance.

Key terms: “Scopes” are app permissions; the “Order object” refers to the Orders resource in the Admin API; a “development store” is a test store under a Partner account.

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

Hey there,
I am getting the following error:

Error: This app is not approved to access the Order object.

on my local shopify app connected to a development store.

I’ve already requested ‘Protected customer access data’ on my ‘Partner’ dashboard for the app (I have not submitted them for review).
The scopes for my app as defined in the ‘shopify.app.toml’ file are:
scopes = “read_customers,read_draft_orders,read_orders,write_products”

I am simply trying to list orders with the following query in my remix app:

  const { admin } = await authenticate.admin(request);
  const response = await admin.graphql(
    `#graphql
     query listOrders {
        orders(first: 10) {
          pageInfo {
            hasNextPage
          }
          edges {
            node {
              createdAt
            }
          }
  }
}`
  );
  const responseJson = await response.json();

It seems like I am following all of the guidelines.
What am I doing wrong?