API versioning
To adapt to evolving business demands, SHOPLINE regularly releases new API versions. This ensures you can build feature-rich apps tailored to merchants' actual needs and provides a clear and predictable transition mechanism for API upgrades and deprecations.
To stay updated on API releases, ensure your contact details in the Partner Portal are up to date, and check your in-portal messages and email notifications. You can also follow the API release notes in the developer documentation.
Versioned and unversioned APIs
Based on stability and update strategies, SHOPLINE APIs are categorized into two types: versioned and unversioned.
Versioned APIs
Versioned APIs feature a defined lifecycle and a predictable release cadence. This applies to:
- REST Admin API
- GraphQL Admin API
- Storefront API
- Webhooks
Calling a specific API version
When calling a versioned API, you must specify the API version in the request URL:
- REST Admin API path:
/admin/openapi/{version}/{endpoint}.json - GraphQL Admin API path:
/admin/graph/{version}/graphql.json - Storefront API path:
/storefront/graph/{version}/graphql.json
The following examples demonstrate request paths for version v20260901:
- REST Admin API (Get orders):
/admin/openapi/v20260901/orders.json - GraphQL Admin API:
/admin/graph/v20260901/graphql.json - Storefront API:
/storefront/graph/v20260901/graphql.json
To switch API versions, simply replace the version string in the request URL.
- Unlike the REST Admin API, which uses distinct paths (such as
/orders.json) to differentiate resources, the GraphQL Admin API and Storefront API both feature a single-endpoint design and are accessed via/graphql.json. The requested resources are defined in the GraphQL query within the request body. - Webhooks operate on an event-driven push mechanism and do not require proactive API requests. You typically specify the API version when creating a webhook subscription.
Unversioned APIs
Unversioned APIs do not have fixed version numbers and may change at any time. This applies to:
- Ajax API
- Sline
Release types
Typically, SHOPLINE releases a new API version every three months. These releases are categorized into three types: stable, release candidate, and unstable.
Stable
- You can safely use stable API versions without worrying about breaking changes.
- Once a version becomes stable, it typically remains active for 12 months.
- Two consecutive stable versions overlap for 9 months. This means you have a 9-month window to update and migrate whenever a new stable version introduces changes that affect your app.
Release candidate
- A release candidate serves as a preview of the next stable release, containing all changes planned for that version.
- Typically, when a version becomes stable, the next version becomes a release candidate. For example, when
v20260901transitions to a stable version,v20261201is published as a release candidate. - A release candidate includes all backward-compatible and breaking changes, allowing you to test and adapt your app early. However, using a release candidate in production is not recommended.
Unstable
- Unstable versions contain API endpoints and updates that are still under active development and iteration, and may introduce both backward-compatible and breaking changes at any time.
- A feature added to an unstable version may still be removed.
- You can use unstable versions to test new API endpoints and functionality early, but using them in production is not recommended.
Deprecation
If certain SHOPLINE API functionality is no longer applicable, poses security risks, or becomes obsolete, SHOPLINE may deprecate it. Affected endpoints or resources move through three retirement stages:
- Marked as deprecated: The specific endpoints or resources are first marked as deprecated in the current version. While their functionality remains fully operational, you are strongly encouraged to migrate as soon as possible.
- Officially removed: Next, the endpoints or resources are officially removed in a specific new version. If you request a removed endpoint or resource using this version, the system will return an HTTP 405 error. However, the functionality remains available in older versions that have not yet expired.
- Fully retired: According to the SHOPLINE API version management plan, the functionality becomes completely unavailable only when the final legacy version containing those endpoints or resources is officially shut down.
Release schedule
The lifecycle milestones for SHOPLINE API versions are outlined below.
- Each API version is released as an unstable version on its initial release date, and subsequently transitions to release candidate and stable status as scheduled.
- The deprecation date shown in the table is the earliest expected deprecation date for that version. SHOPLINE may extend the lifecycle of older versions as needed, and will provide advance notice before a version is deprecated.
| Version | Status | Initial release date | Stable release date | Deprecation date |
|---|---|---|---|---|
v20270301 | Unstable | 2026-08-14 | 2027-03-01 | 2028-03-01 |
v20261201 | Release candidate | 2026-06-25 | 2026-12-01 | 2027-12-01 |
v20260901 | Stable | 2026-04-02 | 2026-08-14 | 2027-09-01 |
v20260601 | Stable | 2025-12-25 | 2026-06-01 | 2027-06-01 |
v20260301 | Stable | 2025-09-04 | 2026-03-01 | 2027-03-01 |
v20251201 | Stable | 2025-06-19 | 2025-12-01 | 2026-12-01 |
v20250601 | Stable | 2025-01-02 | 2025-06-01 | 2026-06-01 |
v20250301 | Stable | 2024-09-01 | 2025-03-01 | 2026-03-01 |
v20241201 | Deprecated | 2024-06-12 | 2024-12-01 | 2025-12-01 |
v20240601 | Deprecated | 2024-01-10 | 2024-06-01 | 2025-06-01 |
v20240301 | Deprecated | 2023-11-08 | 2024-03-01 | 2025-03-01 |
v20231201 | Deprecated | 2023-07-25 | 2023-12-01 | 2024-12-01 |
v20230901 | Deprecated | 2023-05-01 | 2023-09-01 | 2024-09-01 |
v20230301 | Deprecated | 2023-02-23 | 2023-06-01 | 2024-06-01 |
v20220901 | Deprecated | 2022-09-01 | 2023-04-01 | 2024-03-01 |
v20220601 | Deprecated | 2022-06-01 | 2023-04-01 | 2023-12-01 |
v20210901 | Deprecated | 2021-09-01 | 2023-04-01 | 2023-09-01 |