Client APIs
At its core, SyncTV is an API driven service. The APIs themselves are easy enough for developers to understand, but understanding the ecosystem is a little trickier. We've created the following tutorials to help you get your head around it.

Topics:

  • Channels

This document describes the API for creating, reading, updating and deleting channels. Ingest channel must be associated with a media object.

Note:
Each call to the SyncTV V2 API described in this section requires an MD5 hash signature.
See the Authorization (User) API for details on generating the MD5 hash signature.
Actions

Url:

  • [GET] /api/v2/media/:medium_id/channels.[xml|json]

Returns a list of channels associated with the specified media object.

Required Arguments:
  • (Integer) access_id
    Access id returned from Authorization (User) client_authorize.
  • (String) signature
    MD5 hash encoded string of query parameters.
Example Request

The following example returns all channels associated with the specified media.
https://service_name.synctv.com/api/v2/media/100/channels.xml
Example Response
XML JSON

<response>
  <channels>
    <channel>
      <id>1</id>
      <media_id>1</media_id>
      <streams>
        <stream>channel_1/source/location</stream>
        <stream>channel_2/source/location</stream>
      </streams>
      <source_id nil="true"/>
      <prg_svc_id nil="true"/>
      <source_type nil="true"/>
      <call_sign nil="true"/>
      <time_zone nil="true"/>
      <url nil="true"/>
    </channel>
    <channel>
      <id>2</id>
      <media_id>2</media_id>
      <streams>
        <stream>channel_1/source/location</stream>
        <stream>channel_2/source/location</stream>
      </streams>
      <source_id nil="true"/>
      <prg_svc_id nil="true"/>
      <source_type nil="true"/>
      <call_sign nil="true"/>
      <time_zone nil="true"/>
      <url nil="true"/>
    </channel>
  </channels>
</response>
Response Fields:
  • (Response) channels
    A list of channel items. See below for a description of the channel response fields.

Url:

  • [GET] /api/v2/media/:medium_id/channels/:id.[xml|json]

Returns the specified channel.

Required Arguments:
  • (Integer) access_id
    Access id returned from Authorization (User) client_authorize.
  • (String) signature
    MD5 hash encoded string of query parameters.
Example Request

The following example returns information for channel 50 associated with media 100.
https://service_name.synctv.com/api/v2/media/100/channels/50.xml
Example Response
XML JSON

<response>
  <channel>
    <id>50</id>
    <media_id>1</media_id>
    <streams>
      <stream>channel_1/source/location</stream>
      <stream>channel_2/source/location</stream>
    </streams>
    <source_id nil="true"/>
    <prg_svc_id nil="true"/>
    <source_type nil="true"/>
    <call_sign nil="true"/>
    <time_zone nil="true"/>
    <url nil="true"/>
  </channel>
</response>
Response Fields:
  • (Integer) channel[id]
    The id of the channel.
  • (Integer) channel[media_id]
    The media associated to this channel.
  • (Array) channel[streams]
    A listing of streams for this channel.
  • (String) channel[source_id]
    TMS source id.
  • (String) channel[prg_svc_id]
    TMS program source id.
  • (String) channel[source_type]
    TMS channel's source type (e.g. Cable/Satellite)
  • (String) channel[call_sign]
    TMS channel's call sign (e.g. BBC or NBC)
  • (String) channel[time_zone]
    TMS channel's time zone.
  • (String) channel[url]
    TMS channel's url