Customer champions
Customer | Champion |
---|---|
DNA | |
Delta | |
Viacom | |
BooxTV |
How to version the API
A version MUST include a major and minor portion, for example: 2.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 minor versions of the API MUST be backwards compatible within the major version (this allows the same 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 |
Version lifecycles
Group | Endpoint | Current version | Deprecated | Not supported |
---|---|---|---|---|
EPG | /epg | v3 | ||
Recordings | /recording/search | |||
/recording/catchup | ||||
/recording/{program} | ||||
/recording/{program}/playback | ||||
/recording/favorite | ||||
Channel | /channel | |||
Subscription | /license/status | |||
Miscellaneous | /category |