Managing favourite channel lists
Managing favourite channels
AminoTV allows users to mark certain channels as a favourite. These favourite channels are grouped together into lists, which makes managing them more convenient for users.
There are a number of endpoints relating to favourite channels - see Favourite channel lists
Create, read, update, delete of channel lists
This is managed by standard REST verbs on either the collection or resource, as follows:
HTTP verb | Endpoint | Effect |
---|---|---|
POST | /api/users/v1/users/{user_profile_id}/favourite_channel_lists | Create a new channel list for the specified user profile |
GET | /api/users/v1/users/{user_profile_id}/favourite_channel_lists | Returns a list of all the channel lists for the user profile |
PUT | /api/users/v1/users/{user_profile_id}/favourite_channel_lists/{favourite_channel_list_id} | Updates one or more attributes of a list, for example to change the name |
DELETE | /api/users/v1/users/{user_profile_id}/favourite_channel_lists/{favourite_channel_list_id} | Deletes a channel list |
Adding a channel to a favourite channel list
This is managed by creating a new relationship between the channel and the list, for example:
POST /api/users/v1/users/{user_profile_id}/favourite_channel_lists/{favourite_channel_list_id}/relationships/channels/{channel_id}
If you're confused by the url structure and want to find out more about why it is like this, we try to follow the recommendations laid out here - https://jsonapi.org/recommendations/#urls-relationships
Removing a channel from a favourite channel list
You can remove a channel from a favourite channel list by deleting the relationship that exists between them
DELETE /api/users/v1/users/{user_profile_id}/favourite_channel_lists/{favourite_channel_list_id}/relationships/channels/{channel_id}
Get a list of the channels in a particular list
You can obtain a list of channels in a list by calling the following endpoint:
GET /api/users/v1/users/{user_profile_id}/favourite_channel_lists/{favourite_channel_list_id}/relationships/channels
This returns a list of resource identity objects. If you require details of the channels you will need to call the channel API, we do not support the "included" keyword on this url.
Get a list of all favourite channels across all lists
If you need a list of all the channels that a user has marked as favourite, you should call this endpoint:
GET /api/users/v1/users/{user_profile_id}/favourite_channel_lists/relationships/channels
This will return all of a users favourite channels, regardless of what list they appear in.