Backwards Compatibility
We will do everything we can to maintain backwards compatibility when we update the API. However, we won't always get it right first time. When we don't, we need to provide you with an updated API without disrupting your current integration. To this end we have defined a few rules around backwards compatibility and versioning to make your life easier and more predictable.
To avoid integration troubles, make sure you are developing robust code by expecting the API to get updated with new parameters and/or additions to data models in the response. We have detailed the changes you can expect below, so you can understand how the API will change over time.
We will be routinely (without a new version) ...
- Adding new parameters to requests (query, path and header)
- Adding new properties into the response data model
- Re-ordering properties in the response data model (no hierarchy modification though)
This means that you ...
- should not be dependent on the order of properties in the data models
- should ignore any unknown properties
- should handle default values for non required properties
- should not require parsing values for properties that you do not care about
We will release a new version when we ...
- Remove or modify existing request parameters (query, path and header) including turn optional to mandatory
- Remove or modify existing response payload including property names and data types
- Completely refactor an API
Deprecation of endpoints
When we decide to release a new version of an API we might decide to deprecate one or more endpoints previously available. When we do this we will notify known consumers and attach deprecated
marks to the endpoints in swagger and descriptions in this documentation. We will keep the deprecated endpoints available for a number of months, after which they will be removed.
You will be expected to make the necessary changes in your integration within this timeframe to avoid a disruption of service in your application. See API Terms & Conditions to read more about the terms and conditions of using the Offers API.