Skip to article
steward.Guides

Shopify access and limitations

Choose Shopify scopes for your tasks and understand approval, order history, protected data, and fulfillment restrictions.

Shopify connection card with the Shopify logo, the detected fictional store, theme edit access and granted scopes.
The Test action refreshes detected Shopify access. Steward permissions remain separate. Example workspace · Select image to enlarge.

Two sets of access apply

Project members use the connections enabled for their project without a separate connection grant. Viewers follow results and download shared files. Contributors ask questions and prepare changes. Managers also approve changes. Chat modes, connection approval rules and the business tool’s own access limits still apply.

Steward detects scopes from the installed app. It refreshes them during connection setup, credential changes, Test, token renewal, and immediately before changes. Ordinary reads use a short cache. Shopify write scopes also cover reads in the same scope family.

Choose scopes by task

These are common starting points. Particular fields and operations can require additional or alternative scopes. Steward reports the required scope when it is known.

Task Read scopes Write scopes
Products, variants and collections read_products write_products
Customers read_customers write_customers
Orders read_orders write_orders
Draft orders read_draft_orders write_draft_orders
Inventory quantities read_inventory write_inventory
Locations read_locations write_locations
Discounts read_discounts write_discounts
Markets read_markets write_markets
Selling plans read_products write_products together with either write_purchase_options or write_own_subscription_contracts
Blogs and articles read_content write_content
Pages read_online_store_pages write_online_store_pages
Custom data Scope for the owning resource Write scope for the owning resource
Files in Content → Files read_files write_files
Theme translations read_themes write_themes and Shopify’s permission to edit theme files

Use Shopify’s access scope reference for the current requirements. To change access, update and release scopes in the Dev Dashboard, update the store installation, then select Test in Steward.

Order history is limited by default

Shopify normally provides orders from the last 60 days. Older orders require approved read_all_orders access together with read_orders or write_orders. A result restricted to that window is not a complete historical report. Tell Steward the date range you need and check the limitation before using results for a historical comparison.

Protected data and store features

Customer details and other protected information can require Shopify protected-data approval. A granted customer scope alone does not guarantee that every personal-data field is available. Shopify also restricts some operations to particular plans or enabled features. Steward distinguishes these restrictions from missing scopes and invalid credentials.

Fulfillment scopes depend on whether fulfillment orders belong to the app, another fulfillment service, or the merchant. read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, and read_third_party_fulfillment_orders cover different ownership groups, with corresponding write scopes for supported actions. Choose the scope for the actual ownership; additional Shopify user permissions can still apply.

Purchasing a shipping label requires write_orders and the fulfillment-order write scope for its ownership group. Shipping configuration and rate fields can accept alternative scopes; follow the requirement shown for the particular operation. These alternatives do not change Steward’s approval rules.

Which changes need review

Project members use the connections enabled for their project without a separate connection grant. Viewers follow results and download shared files. Contributors ask questions and prepare changes. Managers also approve changes. Chat modes, connection approval rules and the business tool’s own access limits still apply.

Refunds, payment collection, order cancellation, fulfillment actions, publishing, deletion and customer notifications always need approval, including in Automatic mode. Replacement inputs that remove existing data also need approval. Inventory and custom-data edits without a supported comparison guard can require review.

Create draft pages and articles with isPublished: false to follow ordinary write rules. Publishing them, scheduling publication, and making draft orders visible to customers require approval. Page updates always require approval because Shopify documents publication as their default; hiding existing content also needs review. See Shopify’s page visibility reference.

Credential and token administration, app billing, executable-code injection, arbitrary webhooks or data sinks, unsupported destinations, and unreviewed schema additions are blocked. Global rules may tighten the reviewed defaults.

Images and files

Steward can add images and files from the chat to Shopify, such as a generated product photo or a PDF data sheet. It first uploads the file to Shopify’s temporary upload storage. Nothing changes in the shop until a change uses the file. Adding product images follows your chat mode and approval rules. When a change adds images, the approval card shows a preview of each one.

Uploads only go to storage that Shopify provides for that chat. Files that are never used aren’t published, and Shopify removes them after a while.

Theme files

Steward can change your theme’s storefront translation text, such as the word shown before a starting price. Each change needs approval, also in Automatic mode. Before it changes a file, Steward saves the previous version in the project’s files as shopify-theme-backup-….json. To undo a change, ask Steward to restore that backup.

Changes to theme code, layouts, templates and settings aren’t available yet. Steward prepares the exact change instead, so you can apply it in Shopify’s code editor.

Editing theme files needs the write_themes scope and Shopify’s permission for the app to edit theme files. After Test, the connection card shows whether Theme edits are available.

API coverage

The connector uses Shopify Admin GraphQL API 2026-10. REST, Storefront, and Customer Account APIs are outside this connection. Large operations use managed bulk work.

A returned HTTP 200 can still contain GraphQL errors, field errors or partial results. Review those messages before proposing a correction. A submitted asynchronous job is still running until its status and results confirm completion.

Approval card showing a fictional product photo that the change adds to a Shopify product.
When a change adds images, the approval card shows each one before you decide. Example workspace · Select image to enlarge.