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.

Operations 40

GET /api/channel_down GET /api/channel_down #
POST /api/channel_down Channel Down #
GET /api/channel_up GET /api/channel_up #
POST /api/channel_up Channel Up #
GET /api/favorite_channels GET /api/favorite_channels #
POST /api/navigate/{sectionName} Navigate to a main section of Channels by providing its name #
POST /api/notify POST /api/notify #
GET /api/pause GET /api/pause #
POST /api/pause Pause #
POST /api/play/channel/{channelNumber} Play the channel corresponding to the channel number #
GET /api/play/channel/{channelid} GET /api/play/channel/{channelId} #
POST /api/play/recording/{recordingId} Play the recording corresponding to the recording ID #
GET /api/play/recording/{recordingid} GET /api/play/recording/{recordingId} #
GET /api/resume GET /api/resume #
POST /api/resume Resume #
POST /api/seek/{seconds} Seek in timeline the amount of seconds passed in #
GET /api/seek/{seekid} GET /api/seek/{seekId} #
GET /api/seek_backward GET /api/seek_backward #
POST /api/seek_backward Seek playback backwards the amount set it settings #
GET /api/seek_forward GET /api/seek_forward #
POST /api/seek_forward Seek playback ahead the amount set it settings #
GET /api/skip_backward GET /api/skip_backward #
POST /api/skip_backward Skip backward in the timeline to the previous commercial marker #
GET /api/skip_forward GET /api/skip_forward #
POST /api/skip_forward Skip forward in the timeline to the next commercial marker #
GET /api/status GET /api/status #
GET /api/stop GET /api/stop #
POST /api/stop Stop playback in Channels #
GET /api/toggle_cc GET /api/toggle_cc #
POST /api/toggle_cc Toggle Closed Captions #
GET /api/toggle_mute GET /api/toggle_mute #
POST /api/toggle_mute Toggle mute #
GET /api/toggle_pause GET /api/toggle_pause #
POST /api/toggle_pause Toggle Play/Pause #
GET /api/toggle_pip GET /api/toggle_pip #
POST /api/toggle_pip Toggle Picture in Picture #
GET /api/toggle_record GET /api/toggle_record #
POST /api/toggle_record Toggle Record #
GET /api/toggle_stats GET /api/toggle_stats #
POST /api/toggle_stats Toggle Stats #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/channels-dvr:apps-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

channels-dvr-apps-openapi-generated.yml Raw ↑
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