If your public app still uses non-expiring offline access tokens, complete migration before January 1, 2027 to keep it listed in the Shopify App Store and continue accepting new installs.
Expiring tokens reduce how long a leaked access token can be used. We’re also introducing client credentials access to address a concern developers have raised: recovering backend access when a refresh token is lost.
A new option for backend recovery
With client credentials access, your backend can request a fresh, short-lived access token using a request signed with your app’s private key. This flow doesn’t require a refresh token or a merchant to reopen your app, so it provides a way to regain access after losing a refresh token during an outage or database restore.
Your app must still be installed on the store, and access remains limited to the scopes granted to that installation. You’ll need to configure the signing key and implement this flow in your backend.
Enforcement schedule
The enforcement timeline has been updated with incremental penalties for non-compliant apps:
-
January 1, 2027: Non-compliant apps are delisted from the Shopify App Store and blocked from new installs. Existing installations can continue making affected API requests.
-
January 15, 2027: Merchants using non-compliant apps see warnings in Shopify admin about the risk of service interruption and the action they can take.
-
April 1, 2027: Affected Admin API requests using non-expiring offline access tokens return HTTP 403. Workflows that depend on those requests will be interrupted.
Complete migration before January 1 to avoid distribution.
What you need to do
Follow the migration guide to request expiring tokens and migrate existing installations. The direct migration flow runs from your backend without requiring merchants to reopen or reinstall your app.
Store the returned token pair and expiry information, test refresh and recovery handling, and verify that background jobs continue working before rolling out across your installed stores. Client credentials access is an additional option for backend token acquisition; it doesn’t configure recovery automatically.
Who’s affected
This schedule applies to all existing public apps. The requirement for public apps created on or after April 1, 2026 remains in effect. Custom apps, apps created by merchants, and online access tokens are not affected. Traffic to the Payments Apps API is exempt.