Support Articles
Channels API
The Channels app exposes a simple HTTP API that you can reach on port 57000 of the IP address of your device.
Learn more about how you can use it below. Monitor what’s currently playing, integrate Channels into your home automation, or just make your family think there are ghosts.
Discovery
The Channels API advertisies itself with Bonjour. You can
search for all of the apps on your network with Bonjour using the _channels_app._tcp
service name.
API Clients
Use these API clients in your existing projects. They’re ready to roll. Let us know if you make one yourself.
- rbchannels - Ruby client for talking directly to your Channels app.
- pychannels - Python client for talking directly to your Channels app.
Data Model
Read below about the models that are used in the API responses.
Note: Properties with null values will be ommited from the response. Some properties will only be available based on content type and if the content playing is from live TV or a recording from the library..
The status model
The status model is the default response to all requests in the Channels API. It contains information about the current status of Channels.
Properties
The current playing status of Channels.
Whether or not Channels is currently muted.
The playback position the currently playing content is at.
The channel model
The channel model contains the information about the current channel that is being watched in Channels.
Properties
The name of the channel.
The channel number.
The URL of the logo for the channel.
The content model
The content model contains all of the information about the current movie or show that’s being watched in Channels.
Properties
The type of content.
The title of the content.
The episode title of the content.
The season number of the content.
The episode number of the content.
The summary of the content.
The URL of the poster image for the content.
The URL of the image representing the episode or video.
The duration of the content.
The identifiers model
The identifiers model contains the unique identifiers from various indexers that the content was indexed with. These are made available to help identify them for other sources.
Properties
The unique identifer of the content from Gracenote.
The unique identifer of the content from TheMovieDB.
Endpoints
Read below about the various endpoints supported in the API.
GET /api/status
Get status
Returns the current status of Channels
GET /api/favorite_channels
Get status
List favorite channels in Channels
POST /api/toggle_pip
Toggle Picture in Picture
Turn on/off Picture in Picture in Channels
POST /api/toggle_mute
Toggle mute
Mute and unmute audio in Channels
POST /api/toggle_cc
Toggle Closed Captions
Turn on/off Closed Captions in Channels
POST /api/toggle_pause
Toggle Play/Pause
Toggle between Playing and Paused
POST /api/toggle_record
Toggle Record
Start and stop recording of the currently playing item in Channels
POST /api/channel_up
Channel Up
Change the channel by jumping to the next channel up
POST /api/channel_down
Channel Down
Change the channel by jumping to the next channel down
POST /api/pause
Pause
Pause playback in Channels
POST /api/resume
Resume
Resume playback in Channels
POST /api/stop
Stop
Stop playback in Channels
POST /api/seek_forward
Seek Forward
Seek playback ahead the amount set it settings
POST /api/seek_backward
Seek Backward
Seek playback backwards the amount set it settings
POST /api/skip_forward
Skip Forward
Skip forward in the timeline to the next commercial marker
POST /api/skip_backward
Skip Backward
Skip backward in the timeline to the previous commercial marker
POST /api/seek/:seconds
Seek by seconds
Seek in timeline the amount of seconds passed in
Required Attributes
The amount of seconds to seek. Negative values will seek backwards.
POST /api/play/channel/:channel_number
Play a channel
Play the channel corresponding to the channel number
Required Attributes
The channel number to start playing in channels
POST /api/play/recording/:recording_id
Play a recording
Play the recording corresponding to the recording ID
Required Attributes
The unique identifier of an episode, video, or movie
POST /api/navigate/:section_name
Navigate to a section
Navigate to a main section of Channels by providing its name
Required Attributes
The name of the section. This can be any section in the main navigation sidebar.
POST /api/notify
Show a notification
Displays a notification in the top right corner when Channels is playing.
Required Attributes
The title of the notification
The main message of the notification
Optional Attributes
An icon to show in the notification. This should be in the format of "fa:icon-name" where icon-name is the name of the icon from the FontAwesome icon set.