APIs vary according to the maturity level. It is important to understand the eXo Platform's general approach to the API change management. The different levels of API are described in the following table:
|API Level||Test Suite||Clients||Documentation||Support||Compatibility X.Y.Z(1)||Compatibility X.Y(1)|
|Experimental API||Best effort||Best effort|
Test Suite: A suite of tests that can be run against the API to detect changes.
Clients: The API has been used successfully by at least 2 different teams, using the API Documentation only.
Documentation: The API has a clean JavaDoc and reference documentation.
Support: The eXo Support team provides help on the code that uses this API, and fixes any reported bugs.
Compatibility X.Y.Z(1): The compatibility between maintenance versions (X.Y.Z and X.Y.Z1) is guaranteed. If there is any change between X.Y and X.Y1, the eXo Support team will help by upgrading the code.
Compatibility X.Y(1): The compatibility between minor versions (X.Y and X.Y1) is guaranteed. If there is any change between X and X1, the eXo Support team will help by upgrading the code.
Best Effort: You will receive assistance, but eXo Platform cannot guarantee any specific result.
These APIs are provided to give an "early look" at which will be available in upcoming versions of eXo Platform. These APIs are not final, but they can be used to start developing your application.
Provisional API are APIs close to being frozen, but that need a last look from users. They can be used by third-party developers for their own apps, with the knowledge that only a limited compatibility guarantee is offered.
Experimental API are APIs that are likely to change. They are published to get feedback from the community. These API have been tested successfully, but have not yet had enough feedback from developers.