We’re updating how public apps handle offline access tokens to better protect merchant data. By January 1, 2027, all public apps — including those created before April 1, 2026 — must use expiring offline access tokens when calling the Admin API. Public apps still using non-expiring tokens after that date will receive authentication errors.
This extends the April 1, 2026 change — which applied only to new public apps — to the full population of public apps. Custom apps and apps created by merchants are not affected.
Learn how expiring tokens differ from non-expiring tokens.
Why 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 practices, and as a developer it gives your app a predictable refresh flow.
What you need to do
Migrate each installed shop from a non-expiring offline token to an expiring one. Merchants don’t need to reinstall — 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 for you — you only need to handle the token exchange and storage updates.
FAQ
I saw the April 1, 2026 changelog. What’s different now? That change required new public apps to use expiring tokens. This change extends the same requirement to all public apps, including ones created before April 1, 2026. Same mechanism, broader scope.
How do I know if my app already uses expiring tokens? Check API Health in your app’s Dev Dashboard for per-app status, or look for expires_in in your token responses.
Will my merchants need to reinstall my app? No. The migration is server-side — your app exchanges existing tokens for expiring ones using your code. Merchants experience no disruption during migration.
What happens on January 1, 2027 if I haven’t migrated? Admin API calls made with non-expiring offline access tokens will receive authentication errors after that date. This affects any merchant using your app.
Does this affect Storefront API, Hydrogen, Flow, or Bulk Operations? No. This change is specific to the Admin API and offline access tokens for public apps.
Learn more
- How to acquire expiring offline tokens, including refresh handling and rotation
- Migration guide for existing public apps
- Dev changelog
Have questions or hitting a snag? Reply in this thread.