Expiring offline access tokens required for all public apps as of January 1, 2027
We're changing how public apps handle offline access tokens to enhance merchant data protection. Starting January 1, 2027, all public apps must use expiring offline access tokens when calling the Admin API. After that date, public apps still using non-expiring tokens will receive authentication errors.
This extends the April 1, 2026 change, which applied only to newly created public apps, to all public apps, including those created before April 1, 2026.
What apps are affected
Public apps making Admin API requests using non-expiring offline access tokens, including apps created before April 1, 2026
What apps are unaffected
- Custom apps
- Apps created by merchants either in the Dev Dashboard or in the admin
Why we're making this change
Non-expiring tokens, if leaked, remain valid indefinitely. Expiring tokens close that window in 60 minutes and rotate automatically, dramatically reducing the impact of a credential leak. This aligns with modern OAuth best practices, and as a developer it gives your app a predictable refresh flow.
Action required
Existing public apps: Migrate from non-expiring to expiring offline access tokens.
Merchants don't need to reinstall, as your app exchanges existing tokens through code. Follow the migration guide for the step-by-step path. If you use Shopify's app templates and official API libraries, refresh handling is already implemented; you only need to handle the token exchange and storage updates.
Need help? Engage with the dev platform community for support and questions.
Fetched May 26, 2026

