Migrating an Existing Customer Access Scope to Optional

Our app includes a feature that sends emails to customers, so it currently requests a customer data access scope during installation.

Shopify supports optional access scopes on 2024-10 Admin API version, we would like to make this sensitive scope optional. However, the scope was originally configured as required, and some existing merchants actively use the email feature.

We cannot simply remove the scope for all merchants and require them to manually approve it again, as this could disrupt existing functionality.

Is there a supported migration path that would allow us to:

  • Preserve the already approved scope for existing installations
  • Make the scope optional for new installations
  • Keep the email feature working without interruption for existing merchants

For example, could this be handled through an access-token migration, token rotation, or selective token expiration, rather than requiring every existing merchant to approve the scope again?

Any guidance on the recommended migration approach would be appreciated!

2 Likes