Last updated

Demand API Versioning strategy

This section provides an overview of the Demand API versioning strategy, offering practical guidance on integration and ensuring efficient usage within the prescribed limits.


Version strategy

At Demand API, we strive to make our versioning strategy as predictable and straightforward as possible for developers.

We follow a clear, cadence-based approach that ensures partners can easily plan their integrations and remain confident in the long-term stability of the API.

Each new version reflects changes in functionality, and we carefully manage backward compatibility with the goal of minimising disruption.

Breaking vs non-breaking changes

Changes
DescriptionImpact
Breaking changesIntroducing new functionality or changes that affect existing functionality.This always results in a new Minor version1 (e.g., v3.1, v3.2).
Non-breaking changesSuch as bug fixes, feature enhancements, small field additions can be released in incremental releases.These are added to the most recent version of the API or in the next incremental release.

This approach ensures that existing applications continue functioning without disruption, while developers can access new features when appropriate.

1 Please note that the Demand API does not adhere to a strict semantic versioning schema, as it does not have distinct major or patch releases

Release cadence

We adhere to the following release schedule to keep our API predictable and manageable:

Breaking changes releaseOne new minor release per year that includes breaking changes and is compatible with previous versions.This release is scheduled annually, providing developers with ample notice for significant updates.
Incremental releasesWe follow a Continuous delivery (CD) approach:
  • Non-breaking changes are continuously rolled out throughout the year.
Developers receive regular updates through this Developers portal (Changelog, News, etc.) with minimal disruptions.

This cadence makes it easier for developers to plan their updates and ensures that we can evolve the API without introducing unexpected or disruptive changes.

Versioning cycle

Our versioning cycle ensures that developers are given sufficient time to adapt to changes and migrate to newer versions.

General availability (GA)
  • We actively support two minor versions of the API that are available for general use.
Maintenance mode
  • After a version reaches its end of life, we offer 12 months of maintenance mode.

  • During this period, the version is still available for use, but no new features are added, and only critical bug fixes or security patches are applied.

Deprecation (End of support)
  • After the 12-month maintenance window, the version is deprecated, and no further updates or support is provided.

  • Developers are strongly encouraged to migrate to the newer supported versions during this period.

versioning in numbers

Backward compatibility

Backward compatibility is a key principle in our API strategy. We make every effort to ensure that new versions of the Demand API are compatible with existing integrations.

  • Non-breaking changes: New features or bug fixes are always introduced in a way that does not disrupt existing functionality.
  • Breaking changes: Complete releases may include breaking changes, but we provide comprehensive documentation in this Developer Portal, migration paths, and ample time for developers to adapt their applications.

We encourage developers to follow our upgrade guidelines and migrate to newer versions promptly, ensuring both security and stability.

Upgrade guidelines

When upgrading to a new version of the Demand API, follow these steps to ensure a smooth transition:

Steps
☑ Review ChangelogAlways read the latest technical enhancements for any new version to understand the changes, particularly when upgrading between breaking-changes versions.
☑ Check any deprecation newsBe aware of any upcoming deprecations for the version you are currently using, and plan your migration accordingly.
☑ Read the Migration guidelinesFind all technical details that you need for your migration.
☑ Test in Sandbox environmentBefore rolling out any updates to your live environment, ensure you test the new version in a sandbox environment. You can use this portal "Try out" option.
☑ MonitorAfter upgrading, monitor your application for any potential issues or deprecations that may arise.

If you have any questions or need assistance with version upgrades, please refer to our support documentation or reach out to your Account manager for further guidance.

Start planning your upgrade today by reviewing the Changelog and Migration Guide linked above.


Curious to know more?