Channels DVR apps API
Channels DVR apps API as documented publicly: 40 operations. Contract generated from the documentation by API Evangelist (2026-10-28); not the provider's own document.
Channels DVR apps API as documented publicly: 40 operations. Contract generated from the documentation by API Evangelist (2026-10-28); not the provider's own document.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/channels-dvr:apps-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.1.0
info:
title: Channels DVR apps API
version: '2026-10-28'
description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-28: 40 operation(s) read from 1 public documentation page(s) (each operation
names its page in x-source). This is not the provider''s published contract; Channels DVR has published no machine-readable contract that
the pipeline could find. Engine: local.'
x-evidence-tiers:
code-example: 33
documentation: 13
pages-with-code: 6
pages-read: 6
x-generated-from: documentation
x-provenance: generated
x-authored-by: API Evangelist
x-generated: '2026-10-28'
x-generator: generate-contract-from-docs.py
x-engine: local
x-sources:
- https://getchannels.com/docs/apps/automation/channels-api
x-docs-section: apps
paths:
/api/channel_down:
get:
operationId: get_api_channel_down
tags:
- Api
summary: GET /api/channel_down
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/channel_down\n POST /api/pause \n Pause \n Pause playback in Channels \n Request\n POST /api/pause "
post:
operationId: post_api_channel_down
tags:
- Api
summary: Channel Down
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/channel_up:
get:
operationId: get_api_channel_up
tags:
- Api
summary: GET /api/channel_up
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/channel_up\n POST /api/channel_down \n Channel Down \n Change the channel by jumping to the\
\ next channel down \n Request\n POST /api/channel_down "
post:
operationId: post_api_channel_up
tags:
- Api
summary: Channel Up
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/favorite_channels:
get:
operationId: get_api_favorite_channels
tags:
- Api
summary: GET /api/favorite_channels
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/favorite_channels\n POST /api/toggle_pip \n Toggle Picture in Picture \n Turn on/off Picture\
\ in Picture in Channels \n Request\n POST /api/toggle_pip "
/api/navigate/{sectionName}:
post:
operationId: post_api_navigate_sectionName
tags:
- Api
summary: Navigate to a main section of Channels by providing its name
x-source: https://getchannels.com/docs/apps/automation/channels-api
parameters:
- name: sectionName
in: path
required: true
schema:
type: string
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/notify:
post:
operationId: post_api_notify
tags:
- Api
summary: POST /api/notify
x-source: https://getchannels.com/docs/apps/automation/channels-api
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiNotifyRequest'
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/notify -d '{\"title\": \"Alert\", \"message\": \"Dad is home\", \"icon\": \"fa:door\"}'\n\
\ Product \n Live TV & DVR \n Media Library \n Channels DVR Server \n How It Works \n Watch in Tesla \n Channels for HDHomeRun \n Platforms\
\ \n Apple TV \n iOS \n Fire TV \n Android \n More Info \n News & Updates \n Release History \n Automation \n Beta Program \n Press\
\ \n Support \n Get Support \n Manage Subsc"
/api/pause:
get:
operationId: get_api_pause
tags:
- Api
summary: GET /api/pause
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/pause\n POST /api/resume \n Resume \n Resume playback in Channels \n Request\n POST /api/resume "
post:
operationId: post_api_pause
tags:
- Api
summary: Pause
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/play/channel/{channelNumber}:
post:
operationId: post_api_play_channel_channelNumber
tags:
- Api
summary: Play the channel corresponding to the channel number
x-source: https://getchannels.com/docs/apps/automation/channels-api
parameters:
- name: channelNumber
in: path
required: true
schema:
type: string
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/play/channel/{channelid}:
get:
operationId: get_api_play_channel_channelid
tags:
- Api
summary: GET /api/play/channel/{channelId}
x-source: https://getchannels.com/docs/apps/automation/channels-api
parameters:
- name: channelid
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/play/channel/512\n POST /api/play/recording/:recording_id \n Play a recording \n Play the\
\ recording corresponding to the recording ID \n Required Attributes \n recording_id \n integer \n The unique identifier of an episode,\
\ video, or movie \n Request\n POST /api/play/recording/5334 "
/api/play/recording/{recordingId}:
post:
operationId: post_api_play_recording_recordingId
tags:
- Api
summary: Play the recording corresponding to the recording ID
x-source: https://getchannels.com/docs/apps/automation/channels-api
parameters:
- name: recordingId
in: path
required: true
schema:
type: string
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/play/recording/{recordingid}:
get:
operationId: get_api_play_recording_recordingid
tags:
- Api
summary: GET /api/play/recording/{recordingId}
x-source: https://getchannels.com/docs/apps/automation/channels-api
parameters:
- name: recordingid
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/play/recording/5334\n POST /api/navigate/:section_name \n Navigate to a section \n Navigate\
\ to a main section of Channels by providing its name \n Required Attributes \n section_name \n string \n The name of the section. This\
\ can be any section in the main navigation sidebar. \n Request\n POST /api/navigate/Library "
/api/resume:
get:
operationId: get_api_resume
tags:
- Api
summary: GET /api/resume
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/resume\n POST /api/stop \n Stop \n Stop playback in Channels \n Request\n POST /api/stop "
post:
operationId: post_api_resume
tags:
- Api
summary: Resume
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/seek/{seconds}:
post:
operationId: post_api_seek_seconds
tags:
- Api
summary: Seek in timeline the amount of seconds passed in
x-source: https://getchannels.com/docs/apps/automation/channels-api
parameters:
- name: seconds
in: path
required: true
schema:
type: string
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/seek/{seekid}:
get:
operationId: get_api_seek_seekid
tags:
- Api
summary: GET /api/seek/{seekId}
x-source: https://getchannels.com/docs/apps/automation/channels-api
parameters:
- name: seekid
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/seek/120\n POST /api/play/channel/:channel_number \n Play a channel \n Play the channel corresponding\
\ to the channel number \n Required Attributes \n channel_number \n string \n The channel number to start playing in channels \n Request\n\
\ POST /api/play/channel/512 "
/api/seek_backward:
get:
operationId: get_api_seek_backward
tags:
- Api
summary: GET /api/seek_backward
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/seek_backward\n POST /api/skip_forward \n Skip Forward \n Skip forward in the timeline to\
\ the next commercial marker \n Request\n POST /api/skip_forward "
post:
operationId: post_api_seek_backward
tags:
- Api
summary: Seek playback backwards the amount set it settings
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/seek_forward:
get:
operationId: get_api_seek_forward
tags:
- Api
summary: GET /api/seek_forward
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/seek_forward\n POST /api/seek_backward \n Seek Backward \n Seek playback backwards the amount\
\ set it settings \n Request\n POST /api/seek_backward "
post:
operationId: post_api_seek_forward
tags:
- Api
summary: Seek playback ahead the amount set it settings
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/skip_backward:
get:
operationId: get_api_skip_backward
tags:
- Api
summary: GET /api/skip_backward
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/skip_backward\n POST /api/seek/:seconds \n Seek by seconds \n Seek in timeline the amount\
\ of seconds passed in \n Required Attributes \n seconds \n integer \n The amount of seconds to seek. Negative values will seek backwards.\
\ \n Request\n POST /api/seek/120 "
post:
operationId: post_api_skip_backward
tags:
- Api
summary: Skip backward in the timeline to the previous commercial marker
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/skip_forward:
get:
operationId: get_api_skip_forward
tags:
- Api
summary: GET /api/skip_forward
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/skip_forward\n POST /api/skip_backward \n Skip Backward \n Skip backward in the timeline to\
\ the previous commercial marker \n Request\n POST /api/skip_backward "
post:
operationId: post_api_skip_forward
tags:
- Api
summary: Skip forward in the timeline to the next commercial marker
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/status:
get:
operationId: get_api_status
tags:
- Api
summary: GET /api/status
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'200':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiStatusResponse'
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/status\n Response\n { \n \"status\" : \"paused\" , \n \"muted\" : false , \n \"channel\" :\
\ { \n \"number\" : \"552\" , \n \"name\" : \"TBS HD\" , \n \"image_url\" : \"http://tmsimg.fancybits.co/h5/NowShowing/58515/s58515_h5_aa.png\"\
\ \n }, \n \"now_playing\" : { \n \"type\" : \"tv\" , \n \"title\" : \"Seinfeld\" , \n \"episode_title\" : \"The Truth\" , \n \"season_number\"\
\ : 3 , \n \"episode_number\" : 2 , \n \"summary"
/api/stop:
get:
operationId: get_api_stop
tags:
- Api
summary: GET /api/stop
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/stop\n POST /api/seek_forward \n Seek Forward \n Seek playback ahead the amount set it settings\
\ \n Request\n POST /api/seek_forward "
post:
operationId: post_api_stop
tags:
- Api
summary: Stop playback in Channels
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/toggle_cc:
get:
operationId: get_api_toggle_cc
tags:
- Api
summary: GET /api/toggle_cc
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/toggle_cc\n POST /api/toggle_stats \n Toggle Stats \n Turn on/off the on-screen playback stats\
\ overlay in Channels \n Request\n POST /api/toggle_stats "
post:
operationId: post_api_toggle_cc
tags:
- Api
summary: Toggle Closed Captions
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/toggle_mute:
get:
operationId: get_api_toggle_mute
tags:
- Api
summary: GET /api/toggle_mute
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/toggle_mute\n POST /api/toggle_cc \n Toggle Closed Captions \n Turn on/off Closed Captions\
\ in Channels \n Request\n POST /api/toggle_cc "
post:
operationId: post_api_toggle_mute
tags:
- Api
summary: Toggle mute
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/toggle_pause:
get:
operationId: get_api_toggle_pause
tags:
- Api
summary: GET /api/toggle_pause
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/toggle_pause\n POST /api/toggle_record \n Toggle Record \n Start and stop recording of the\
\ currently playing item in Channels \n Request\n POST /api/toggle_record "
post:
operationId: post_api_toggle_pause
tags:
- Api
summary: Toggle Play/Pause
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/toggle_pip:
get:
operationId: get_api_toggle_pip
tags:
- Api
summary: GET /api/toggle_pip
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/toggle_pip\n POST /api/toggle_mute \n Toggle mute \n Mute and unmute audio in Channels \n\
\ Request\n POST /api/toggle_mute "
post:
operationId: post_api_toggle_pip
tags:
- Api
summary: Toggle Picture in Picture
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/toggle_record:
get:
operationId: get_api_toggle_record
tags:
- Api
summary: GET /api/toggle_record
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/toggle_record\n POST /api/channel_up \n Channel Up \n Change the channel by jumping to the\
\ next channel up \n Request\n POST /api/channel_up "
post:
operationId: post_api_toggle_record
tags:
- Api
summary: Toggle Record
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/toggle_stats:
get:
operationId: get_api_toggle_stats
tags:
- Api
summary: GET /api/toggle_stats
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl http://192.168.1.3:57000/api/toggle_stats\n POST /api/toggle_pause \n Toggle Play/Pause \n Toggle between Playing and Paused\
\ \n Request\n POST /api/toggle_pause "
post:
operationId: post_api_toggle_stats
tags:
- Api
summary: Toggle Stats
x-source: https://getchannels.com/docs/apps/automation/channels-api
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
components:
schemas:
PostApiNotifyRequest:
type: object
properties:
title:
type: string
message:
type: string
icon:
type: string
GetApiStatusResponse:
type: object
properties:
status:
type: string
muted:
type: boolean
channel:
type: object
properties:
number:
type: string
name:
type: string
image_url:
type: string
now_playing:
type: object
properties:
type:
type: string
title:
type: string
episode_title:
type: string
season_number:
type: integer
episode_number:
type: integer
summary:
type: string
image_url:
type: string
duration:
type: integer
thumb_url:
type: string
identifiers:
type: object
properties:
gracenote:
type: string
tmdb:
type: string
tags:
- name: Api