...
A version MUST include a major , and minor , and micro portion, for example: 2.0.0.1
The endpoint url MUST include at least the major version (e.g.: /api/v2) and MAY include the minor portion (e.g.: /api/v2.1/) but this should not be required
The version of the API MUST change if there is any change to the endpoint request or response formats
All minor version changes MUST be regression tested by the implementor against all projects
All micro minor versions of the API API MUST be be backwards compatible within the major version (this allows the minor version All micro version changes MUST be regression tested by the implementor against all projectssame url to be used for all minor versions within the major version, like /v2/)
The major version of the API MUST change if there is any breaking change to the API (this prevents forcing breaking changes on clients)
Each endpoint MUST have a version that is documented in the Jenkins generated documentation
Each endpoint MAY have it's own version (and doesn't have to share a version with a group of endpoints, e.g.: recordings/search can be different version from recordings/play)
Version usage
Group | Endpoint | DNA | Delta | Viacom | BooxTV |
---|---|---|---|---|---|
EPG | /epg | ||||
Recordings | /recording/search | ||||
/recording/catchup | |||||
/recording/{program} | |||||
/recording/{program}/playback | |||||
/recording/favorite | |||||
Channel | /channel | ||||
Subscription | /license/status | ||||
Miscellaneous | /category |
...