About Shopify API versioning
Shopify releases new API versions on a predictable quarterly schedule, giving you time to adopt changes before older versions are retired.
Subscribe to the developer changelog and keep your contact information up to date in the Partner Dashboard to stay informed about upcoming changes.
Anchor to Versioned and unversioned APIsVersioned and unversioned APIs
Not all Shopify APIs follow the same versioning model. Versioned APIs and libraries follow the quarterly release schedule described below. Unversioned APIs and surfaces may change at any time.
Anchor to Versioned APIsVersioned APIs
| Category | APIs | Notes |
|---|---|---|
| GraphQL | Webhook payloads are versioned the same way as API responses. Shopify falls forward when your selected version becomes inaccessible, and webhooks include the Events is currently available in the | |
| ShopifyQL | When you use ShopifyQL through the GraphQL Admin API, ShopifyQL uses the API version selected for the When you call | |
| Libraries | Versioned by major release. | |
| Polaris | Only the last four stable versions have published docs on Shopify.dev. Older versions continue to work, but won't have dedicated reference docs. Shopify CLI prevents deploys targeting versions older than 12 months. |
Anchor to Unversioned APIsUnversioned APIs
The following APIs and surfaces aren't versioned and might change at any time:
- Ajax API
- App Home App Bridge APIs (App Home Polaris components are versioned)
- Catalog API
- Customer Privacy API
- Liquid
- OAuth endpoints, including
AccessScope - Shop Minis
- Shop Pay Wallet
- Storefront Web Components
- Web Pixels API
- Any other resources not explicitly listed as versioned
Anchor to Release scheduleRelease schedule
Shopify releases a new API version every three months at 5pm UTC on the first day of the quarter. Version names are date-based (for example, 2026-04). Each stable version is supported for a minimum of 12 months, with at least nine months of overlap between consecutive versions.
- UnstableIn development
- 2026-10Release candidateRCStableUnsupported
- 2026-07Latest stableRCStableUnsupported
- 2026-04StableRCStableUnsupported
- 2026-01StableRCStableUnsupported
- 2025-10StableRCStableUnsupported
- 2025-07UnsupportedRCStableUnsupported
- 2025-04UnsupportedRCStableUnsupported
- 2025-01UnsupportedStableUnsupported
| Stable version | Release date | Accessible until | Status |
|---|---|---|---|
| 2025-01 | January 1, 2025 | January 16, 2026 15:00 UTC | Unsupported |
| 2025-04 | April 1, 2025 | April 16, 2026 15:00 UTC | Unsupported |
| 2025-07 | July 1, 2025 | July 16, 2026 15:00 UTC | Unsupported |
| 2025-10 | October 1, 2025 | October 16, 2026 15:00 UTC | Stable |
| 2026-01 | January 1, 2026 | January 16, 2027 15:00 UTC | Stable |
| 2026-04 | April 1, 2026 | April 16, 2027 15:00 UTC | Stable |
| 2026-07 | July 1, 2026 | July 16, 2027 15:00 UTC | Latest stable |
| 2026-10 | October 1, 2026 | October 16, 2027 15:00 UTC | Release candidate |
We recommend updating to the latest stable version each quarter and always specifying a version in your requests. If your app targets an inaccessible version, Shopify falls forward and responds using the oldest accessible stable version. For example, a request targeting a retired 2024-10 is served by the oldest accessible stable version instead.
Anchor to Making requests to an API versionMaking requests to an API version
You specify the API version in your request URL. The format varies by API, so refer to each API's reference for the exact URL pattern. If you're using an official Shopify library or a Storefront SDK, version configuration is handled for you automatically.
API responses include the X-Shopify-API-Version header reflecting the version used to fulfill the request. If it differs from what you requested, your app is targeting an inaccessible version and Shopify has fallen forward to the default.
Shopify supports three version types:
-
Stable: Recommended for production. Guaranteed not to change for its supported lifetime.
-
Release candidate: Published on the same date as the stable release. For example, when
2026-04releases on April 1, 2026, the2026-07release candidate also becomes available. May include backwards-incompatible changes, so not recommended for production. -
Unstable: Updated continuously with in-progress changes. Features can be added or removed at any time with no guarantee of release. Use it for early testing only.
Anchor to Deprecation practicesDeprecation practices
When part of a Shopify API becomes unnecessary, unsafe, or outdated, it's deprecated across all supported stable versions and announced in the developer changelog with migration guidance. Deprecated fields or types are removed in a subsequent release—for example, something deprecated in 2026-10 might be removed in 2027-01. Because versions overlap by at least nine months, you'll always have time to update before removal.
Deprecations are communicated through one or more of the following:
- The API health report lists resources that require changes.
- Deprecation warnings appear in API client tools like the GraphiQL Explorer.
- A notice is posted in the developer changelog.
- The API reference is updated with deprecated fields and alternatives.
- For imminent backwards-incompatible changes, your app's emergency developer contact might be notified.
If your app continues to use unsupported resources after the upgrade deadline, it's delisted from the Shopify App Store. Users are blocked from installing it for a minimum of seven days, and they'll see warnings in the Shopify admin until seven days after the last detected use of unsupported resources.
If your API is used in a standalone app (such as a desktop or mobile app), your users will need to update before the upgrade deadline. Ship your update early enough to give them time. Calls to unsupported resources could result in your app being delisted or users being blocked from installing it.
If your API is used in a standalone app (such as a desktop or mobile app), your users will need to update before the upgrade deadline. Ship your update early enough to give them time. Calls to unsupported resources could result in your app being delisted or users being blocked from installing it.