Retailer API release planning and lifecycle
Application lifecycle
The Retailer API lifecycle is engineered to encompass the full spectrum of API development, from initial API endpoint conception, through rigorous development and testing phases, to eventual deprecation and replacement. This lifecycle is governed by strict technical standards and best practices, ensuring high-quality, scalable, and secure API solutions.
Scheduled releases
The release and deprecation schedule for all the versions of the Retailer API can be found here.
Dynamic release timelines:
Instead of fixed intervals, our release schedule is now dynamically adapted to align with the readiness of new features, security updates, and essential improvements. This ensures that we deliver high-quality, impactful changes in a timely manner.
Comprehensive communication plan:
Our communication strategy involves multiple channels to ensure that all partners are well-informed about upcoming changes. This includes detailed release notes, BOL Partner Platform, Developer Platform, newsletters, BOL Developers Feed and direct emails.
Versioning scheme
Our API versioning adheres to the Semantic Versioning model, ensuring clarity and predictability. Major versions (x.0.0) indicate breaking changes, minor versions (x.x.0) introduce new features or deprecate existing ones without breaking backward compatibility, and patch versions (x.x.x) are for bug fixes and optimizations.
As of 9 July 2024, it is allowed to add new fields for CSV file type reports. This change is made to provide more information without requiring partners to switch to a newer version. For more details, please refer to the Best practices page. |
Minor versions
Enhanced API features with defined boundaries:
Minor version updates (x.x.0) are critical for the iterative improvement of the API. These updates are strategically planned to add value without disrupting existing client integrations.
Allowed in minor versions:
-
Addition of New Endpoints: Introducing new endpoints to extend functionality. These additions should not alter the behavior of existing endpoints.
-
Parameter Extensions: Adding optional parameters to existing endpoints to enhance functionality without changing existing behavior.
-
Performance Improvements: Modifications aimed at increasing the efficiency and speed of the API, such as optimizing query handling or enhancing caching mechanisms.
-
Security Enhancements: Implementing non-breaking security updates, like strengthening encryption or improving token validation, to enhance API security without affecting existing usage.
-
Data Format Extensions: Extending existing data structures with new, optional fields in a backward-compatible manner.
-
Documentation Updates: Providing more detailed documentation, including updated examples, best practices, and clearer API descriptions.
Disallowed in minor versions:
-
Removal of Endpoints or Parameters: Deleting or permanently deprecating any existing endpoint or parameter is not allowed in minor updates.
-
Changes in Existing Behavior: Modifying the existing behavior or output of current endpoints in a way that could break backward compatibility.
-
Mandatory Parameter Additions: Introducing new mandatory parameters to existing endpoints, as this could disrupt current integrations.
-
Data Format Restrictions: Removing fields or changing existing data structures in a way that is not backward compatible.
-
Significant Performance Overhauls: Making changes that could significantly alter the expected performance characteristics of the API, such as rate limiting or response time behaviors.
Every minor update undergoes rigorous testing, including regression testing, to ensure that no breaking changes are introduced. These tests are designed to validate that new features can coexist with existing integrations seamlessly. |
Major versions
Substantial API evolution with clear guidelines:
Major version updates (x.0.0) are reserved for significant enhancements and changes to the API. These updates often incorporate new technologies, substantial feature overhauls, and changes that could impact existing client integrations.
Allowed in major versions:
-
Introduction of Breaking Changes: Major updates can include changes that break backward compatibility, such as altering the behavior of existing endpoints or changing response formats.
-
Removal of Deprecated Features: Permanently removing endpoints, parameters, or features that were deprecated in previous versions.
-
Major Security Overhauls: Implementing significant security improvements that may require changes in how clients interact with the API, like new authentication mechanisms.
-
Architectural Changes: Redesigning underlying API architecture for improved scalability, reliability, and performance, which may affect endpoint structures or request/response patterns.
-
Mandatory Parameter Changes: Introducing new mandatory parameters or modifying existing ones in a way that changes the API contract.
-
Data Format Overhauls: Major changes to data structures, such as altering existing fields or introducing new mandatory fields, to better meet evolving data requirements.
Disallowed in major Versions:
-
Complete API Rebranding: Changing the fundamental identity or core purpose of the API, which would be beyond the scope of a version update and more akin to launching a new product.
-
Non-Transparent Changes: Making significant alterations without providing clear, comprehensive documentation and migration tools to aid users in adapting to the changes.
-
Ignoring Deprecated Feature Usage: Removing features that are heavily used without a prior deprecation phase and without providing alternatives or migration paths.
Aspect | Minor Releases (x.x.0) | Major Releases (x.0.0) |
---|---|---|
Backward Compatibility |
Yes, no breaking changes allowed. |
No, breaking changes are expected. |
Types of Changes |
Enhancements, non-breaking updates, performance improvements, security patches. |
Significant changes, architectural overhauls, removal of deprecated features, major security updates. |
Impact on Integrations |
Minimal to none; existing integrations continue to work without modifications. |
Likely significant; may require changes in client integrations. |
Frequency |
More frequent, as they involve smaller, incremental improvements. |
Less frequent, as they involve substantial changes and development effort. |
Migration Effort |
Generally not required, unless opting into new features or optimizations. |
Often required, with detailed migration guides provided. |
Documentation Updates |
Minor updates to documentation reflecting new enhancements or optimizations. |
Comprehensive updates to documentation, including new usage instructions and feature descriptions. |
Examples |
Adding new endpoints, introducing optional parameters, performance tuning. |
Overhauling existing endpoint behaviors, introducing new mandatory parameters, changing data formats. |
Retailer API endpoint stages
To ensure maximum predictability and stability, and to facilitate user adaptation to changes in the Retailer API, we follow a strict versioning scheme. Our API lifecycle includes various stages, applicable to individual endpoints and complete API versions:
Alpha stage
In the Alpha stage, endpoints are available for trial use. They may be publicly exposed or available via opt-in, and in some cases, restricted to users who explicitly sign up for the trial. Alpha endpoints:
-
Are provided in an early access mode.
-
May be subject to change or removal at any time.
-
Can be subject to aggressive rate-limiting.
-
Receive limited or no technical support from Partner Service.
-
Should not be used in production systems, intended for feature evaluation only.
-
Previous versions of updated endpoints will be supported as a fallback whenever applicable.
Beta stage
Endpoints in the Beta stage are available for open trials. They may be publicly exposed or available via opt-in. Beta endpoints:
-
Are provided as-is in an early access mode.
-
Are generally frozen for modifications, except for bug fixes and necessary updates.
-
Operate under general availability rate limits.
-
Receive limited technical support from Partner Service.
-
Should not be used in production systems, intended for feature evaluation only.
-
Beta endpoints are more stable than Alpha but may still contain bugs or performance issues. Previous versions will still be supported as a fallback.
For more information on the Beta program, refer to Retailer API BETA program.
GA (General Availability) stage
In the GA stage, endpoints are fully tested, stable, and recommended for production use. GA endpoints:
-
Are final and not subject to breaking changes.
-
Operate under general availability rate limits.
-
Receive full technical support from Partner Service.
-
The transition from Beta to GA indicates a readiness for widespread use, marking the endpoint as reliable and fully supported.
Deprecation stage
When a new version of an endpoint is released, the previous version is marked as Deprecated and scheduled for removal in 12 months. Deprecated endpoints:
-
Remain final and not subject to breaking changes.
-
Operate under general availability rate limits.
-
Receive full technical support from Partner Service until removal.
-
Migration to the latest GA release is recommended as soon as possible, especially before the introduction of a newer Retailer API release that discontinues support for these endpoints.
Stages in summary
Stage | Accessibility | Stability | Rate Limiting | Technical Support | Usage Recommendation |
---|---|---|---|---|---|
Alpha |
Public/Opt-in |
Unstable |
Aggressive |
Limited/None |
Feature evaluation; not for production |
Beta |
Public/Opt-in |
More stable than Alpha |
General Availability |
Limited |
Feature evaluation; not for production |
GA |
Public |
Stable |
General Availability |
Full |
Recommended for production use |
Deprecation |
Public |
Stable |
General Availability |
Full until removal |
Migrate to newer version recommended |
Support
During the GA and Deprecation stages, the Retailer API is fully supported, and all endpoints remain active until their scheduled removal. We strongly advise migrating to newer API versions before the end of the support window to benefit from new features and fixes. Deprecated endpoints will only receive maintenance for critical issues.
Alpha and Beta endpoints, being in active development, lack stability guarantees and are not recommended for use outside of testing environments.