The data models exposed by the web services define a contract between the web service and its clients. Web services are allowed to make non-breaking changes to their data models. Breaking changes, such as removing properties or changing the type of existing properties, will require that a new service version be provided at a different URL by incrementing the version number.
The following data model additions are considered non-breaking changes:
- Adding a header or body property that is nullable or has a default value
- Adding a nullable action parameter
- Adding net-new endpoints to an existing service
- Adding new methods (PUT/PATCH/DELETE) to an existing endpoint
Note: Clients SHOULD be prepared for services to make such incremental changes to their model. In particular, clients should be prepared to receive properties not previously defined by the service.
The following data model modifications are considered breaking changes:
- Removing or renaming APIs or API parameters
- Changes in behavior, type, or requirements for an existing API
- Changes in Error Codes and Fault Contracts