> For the complete documentation index, see [llms.txt](https://adidas.gitbook.io/api-guidelines/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://adidas.gitbook.io/api-guidelines/general-guidelines/rules-for-extending.md).

# Rules for Extending

Any modification to an existing API **MUST** avoid breaking changes and **MUST** maintain backward compatibility.

In particular, any change to an API **MUST** follow the following **Rules for Extending**:

1. **You MUST NOT take anything away** (related: [Minimal Surface Principle](/api-guidelines/general-guidelines/minimal-api-surface.md)

   , [Robustness Principle](/api-guidelines/general-guidelines/robustness.md))
2. **You MUST NOT change processing rules**&#x20;
3. **You MUST NOT make optional things required**
4. **Anything you add MUST be optional** (related [Robustness Principle](/api-guidelines/general-guidelines/robustness.md))

> NOTE: These rules cover also renaming and change to identifiers (URIs). Names and identifiers should be stable over the time including their semantics.
