Skip to main content

Frequency Documentation

Live Sources

Hostname

https://prd-freq.frequency.com/api/2.3

Get Channel Details

Return linear channel details for channels associated with the account.

Endpoint

GET /linear_channels

Data Type

Example

status

Optional. Returns channels based on their status. Accepted values:

  • All (default)

  • ERROR

  • OFFLINE

  • ON_AIR

  • PENDING_OFFLINE

  • PENDING_ON_AIR

string

status=ON_AIR

sort

Optional. Sorts list of channels by the following accepted values:

  • lastModifiedDate.desc (default)

  • lastModifiedDate

  • createdDate

  • title

  • linearChannelId

string

sort=lastModifiedDate.asc

linear_channel_name

Text search on channel titles.

string

linear_channel_name=Linear Channel Title

Request

Example

curl --location --request GET 'https://prd-freq.frequency.com/api/2.3/linear_channels' \
--header 'Content-Type: application/json' \
--header 'x-frequency-auth: dd61135eba-2c1cc8e4-37cc5e-3d54e0c2' \
--header 'x-frequency-deviceid: 8b7f9c2d-4a16-b8e5'

Response

Body

[
  {
    "title": "WBFF-Test",
    "description": "Dummy Description",
    "internal_title": "test internal title",
    "status": "ON_AIR",
    "linear_channel_id": "1589",
    "linear_channel_override_status": "SCHEDULED"
  },
  {
    "title": "111",
    "description": "Descritption",
    "internal_title": "test internal title",
    "status": "PENDING_OFFLINE",
    "linear_channel_id": "1430",
    "linear_channel_override_status": "SCHEDULED"
    
  },
  {
    "title": "Test Regions",
    "description": "desc 1",
    "internal_title": "test internal title",
    "status": "OFFLINE",
    "linear_channel_id": "1554",
    "linear_channel_override_status": "SCHEDULED"
  }
]

List Live Sources

List of available Live Sources in the account.

Endpoint

GET /live_sources

status

Optional. Returns channels based on their status. Accepted values:

  • ALL (default)

  • ACTIVE

  • PROCESSING

  • IDLE

  • ERROR

string

status=ACTIVE

source_type

Optional. Returns the type of source that is in use Accepted values:

  • ALL

  • HLS_PULL

  • ZIXI_PUSH

  • SRT_LISTENER

  • SRT_CALLER

  • RTP_FEC_PUSH

  • RTMP_PUSH

string

source_type=HLS_PULL

page_size

Number of results per page. Default value is 30. Max size is 50.

int

page_size=50

page_offset

The page_offset value from the previous page. Default value is 0.

int

page_offset=1

Request

Example

curl --location --request GET 'https://prd-freq.frequency.com/api/2.3/live_sources/list' \
--header 'Content-Type: application/json' \
--header 'x-frequency-auth: dd61135eba-2c1cc8e4-37cc5e-3d54e0c2' \
--header 'x-frequency-deviceid: 8b7f9c2d-4a16-b8e5'

Response

Body

{
  "hits": [
    {
      "name": "dummy live source",
      "description": "dummy live source description",
      "status": "IDLE",
      "type": "HLS_PULL",
      "metadata": {
        "type": "HLS_PULL",
        "input_url": "rtmp://52.33.188.69:1935/live/linear-22.stream",
        "scte_35_source": ""
      },
      "feature": {
        "always_keep_receiver_active": false,
        "enable_redundancy": false,
        "redundancy_source": "",
        "enable_audio_normalization": false,
        "audio_algorithm": "",
        "enable_auto_live_switch_on_signal": false
      },
      "preview": null,
      "live_source_id": "7371538698515452552",
      "ad_slate": "",
      "enable_relative_start_for_countdown": false,
      "account_id": "6498264952712997651",
      "created_date": "2025-04-28T00:32:50Z",
      "created_user_id": "7132695530023081581",
      "last_updated": "2025-04-28T00:32:50Z",
      "last_modified_user_id": "7132695530023081581"
    }
  ],
  "page": {
    "page_id": null,
    "page_size": "1",
    "page_mark": null,
    "page_offset": "0"
  },
  "total": 1
}

Get Live Source

A specific live source's details based on its ID.

Endpoint

GET /live_sources/{live_source_id}

Request

Example

curl --location --request GET 'https://prd-freq.frequency.com/api/2.3/live_sources/{live_source_id}' \
--header 'Content-Type: application/json' \
--header 'x-frequency-auth: dd61135eba-2c1cc8e4-37cc5e-3d54e0c2' \
--header 'x-frequency-deviceid: 8b7f9c2d-4a16-b8e5'

Response

Body

{
  "name": "dummy live source",
  "description": "dummy live source description",
  "status": "IDLE",
  "type": "HLS_PULL",
  "metadata": {
    "type": "HLS_PULL",
    "input_url": "rtmp://52.33.188.69:1935/live/linear-22.stream",
    "scte_35_source": ""
  },
  "feature": {
    "always_keep_receiver_active": false,
    "enable_redundancy": false,
    "redundancy_source": "",
    "enable_audio_normalization": false,
    "audio_algorithm": "",
    "enable_auto_live_switch_on_signal": false
  },
  "images": [
    {
      "width": 1280,
      "height": 720,
      "image_type": "Texted",
      "original_image_url": "https://qa-freq-images.frequency.com/livesource/7373337725597149238/solid/rectangle/w1280_h720/i61mu7tj85sh1nln0ytsm7lli.jpg",
      "image_url": "https://qa-freq-images.frequency.com/livesource/originals/7373337725597149238/Texted/rectangle/izov00zzrumv165ax9f8myn7j.jpg"
    }
  ],
  "preview": null,
  "live_source_id": "7371538698515452552",
  "ad_slate": "",
  "enable_relative_start_for_countdown": false,
  "account_id": "6498264952712997651",
  "created_date": "2025-04-28T00:32:50Z",
  "created_user_id": "7132695530023081581",
  "last_updated": "2025-04-28T00:32:50Z",
  "last_modified_user_id": "7132695530023081581"
}

Activate Live Source

Switches a source to the "PROCESSING" status, and after validation, will either become "ACTIVE" or "ERROR."

Endpoint

PUT /live_sources/{live_source_id}/activate

Request

Example

curl --location --request PUT 'https://prd-freq.frequency.com/api/2.3/live_sources/7371538698515452552/activate' \
--header 'Content-Type: application/json' \
--header 'x-frequency-auth: dd61135eba-2c1cc8e4-37cc5e-3d54e0c2' \
--header 'x-frequency-deviceid: 8b7f9c2d-4a16-b8e5'

Response

Body

{
  "name": "dummy live source",
  "description": "dummy live source description",
  "status": "ACTIVE",
  "type": "HLS_PULL",
  "metadata": {
    "type": "HLS_PULL",
    "input_url": "rtmp://52.33.188.69:1935/live/linear-22.stream",
    "scte_35_source": ""
  },
  "feature": {
    "always_keep_receiver_active": false,
    "enable_redundancy": false,
    "redundancy_source": "",
    "enable_audio_normalization": false,
    "audio_algorithm": "",
    "enable_auto_live_switch_on_signal": false
  },
  "preview": null,
  "live_source_id": "7371538698515452552",
  "ad_slate": "",
  "enable_relative_start_for_countdown": false,
  "account_id": "6498264952712997651",
  "created_date": "2025-04-28T00:32:50Z",
  "created_user_id": "7132695530023081581",
  "last_updated": "2025-04-28T00:32:50Z",
  "last_modified_user_id": "7132695530023081581"
}

Deactivate Live Source

Switches a source to the "PROCESSING" status, and after validation, will either become "IDLE" or "ERROR."

Endpoint

PUT /live_sources/{live_source_id}/deactivate

Request

Example

curl --location --request PUT 'https://prd-freq.frequency.com/api/2.3/live_sources/7371538698515452552/deactivate' \
--header 'Content-Type: application/json' \
--header 'x-frequency-auth: dd61135eba-2c1cc8e4-37cc5e-3d54e0c2' \
--header 'x-frequency-deviceid: 8b7f9c2d-4a16-b8e5'

Response

Body

{
  "name": "dummy live source",
  "description": "dummy live source description",
  "status": "IDLE",
  "type": "HLS_PULL",
  "metadata": {
    "type": "HLS_PULL",
    "input_url": "rtmp://52.33.188.69:1935/live/linear-22.stream",
    "scte_35_source": ""
  },
  "feature": {
    "always_keep_receiver_active": false,
    "enable_redundancy": false,
    "redundancy_source": "",
    "enable_audio_normalization": false,
    "audio_algorithm": "",
    "enable_auto_live_switch_on_signal": false
  },
  "preview": null,
  "live_source_id": "7371538698515452552",
  "ad_slate": "",
  "enable_relative_start_for_countdown": false,
  "account_id": "6498264952712997651",
  "created_date": "2025-04-28T00:32:50Z",
  "created_user_id": "7132695530023081581",
  "last_updated": "2025-04-28T00:32:50Z",
  "last_modified_user_id": "7132695530023081581"
}

Override Linear with Live Source

Overrides the scheduled programming for one or more linear channels (specified in the request body) with the live source specified in the URL.

Endpoint

POST /linear_channels/override/{live_source_id}

Request

Example

curl --location --request POST 'https://prd-freq.frequency.com/api/2.3/linear_channels/override/{ive_source_id}' \
--header 'Content-Type: application/json' \
--header 'x-frequency-auth: dd61135eba-2c1cc8e4-37cc5e-3d54e0c2' \
--header 'x-frequency-deviceid: 8b7f9c2d-4a16-b8e5' \
--data '[
  {
    "title": "test",
    "description": "dummy description",
    "linear_channel_id": "1589"
  },
  {
    "title": "test",
    "description": "dummy description",
    "linear_channel_id": "1480"
  }
]'

Response

Body

[
  {
    "title": "test",
    "description": "dummy description",
    "status": 200,
    "linear_channel_id": "1589",
    "linear_channel_override_status": "OVERRIDDEN"
  },
  {
    "title": "111",
    "description": "dummy description",
    "status": 200,
    "linear_channel_id": "1430",
    "linear_channel_override_status": "OVERRIDDEN"
  }
]

Bulk Override with Rescue Slate

Applies rescue slate to the linear_channel_ids passed in the API request payload.

Endpoint

POST /linear_channels/override/rescue_slate

Request

curl --location --request POST 'https://prd-freq.frequency.com/api/2.3/linear_channels/override/rescue_slate' \
--header 'Content-Type: application/json' \
--header 'x-frequency-auth: dd61135eba-2c1cc8e4-37cc5e-3d54e0c2' \
--header 'x-frequency-deviceid: 8b7f9c2d-4a16-b8e5' \
--data '[
  {
    "linear_channel_id": "1589"
  },
  {
    "linear_channel_id": "1480"
  }
]'

Response

Body

[
  {
    "title": "WBFF-Test",
    "description": "Dummy Description",
    "status": 200,
    "linear_channel_id": "1589",
    "linear_channel_override_status": "OVERRIDEN"
  },
  {
    "title": "111",
    "description": "Descritption",
    "status": 200,
    "linear_channel_id": "1430",
    "linear_channel_override_status": "OVERRIDDEN"
    
  }
]

Bulk Return to Schedule

Returns the specified linear channels to their regular programming schedule.

Endpoint

POST /linear_channels/return_to_schedule

Request

Example

curl --location --request POST 'https://prd-freq.frequency.com/api/2.3/linear_channels/return_to_schedule' \
--header 'Content-Type: application/json' \
--header 'x-frequency-auth: dd61135eba-2c1cc8e4-37cc5e-3d54e0c2' \
--header 'x-frequency-deviceid: 8b7f9c2d-4a16-b8e5' \
--data '[
  {
    "linear_channel_id": "1589"
  },
  {
    "linear_channel_id": "1480"
  }
]'

Response

Body

[
  {
    "status": 200,
    "linear_channel_id": "1589",
    "linear_channel_override_status": "NOT_STARTED"
  },
  {
    "status": 200,
    "linear_channel_id": "1430",
    "linear_channel_override_status": "NOT_STARTED"
    
  }
]

Insert Ad Break in Live Source

Inserts an ad break into the specified live source. The duration of the ad, is passed in the request body (formatted as seconds).

Endpoint

POST /live_sources/{live_source_id}/adbreak/insert

Request

Example

curl --location --request POST 'https://prd-freq.frequency.com/api/2.3/live_sources/{live_source_id}/adbreak/insert' \
--header 'Content-Type: application/json' \
--header 'x-frequency-auth: dd61135eba-2c1cc8e4-37cc5e-3d54e0c2' \
--header 'x-frequency-deviceid: 8b7f9c2d-4a16-b8e5' \
--data '{
  "duration": 30
}'

Response

Body

{
  "status_code": 200,
  "message": "Ad Break inserted",
  "live_source_id": "7371538698515452552",
  "duration": 30,
  "status": ""
}

End Ad Break in Live Source

Cuts ad breaks early for the live_source_id passed in the API URL.

Endpoint

POST /live_sources/{live_source_id}/adbreak/end

Request

Example

curl --location --request GET 'https://prd-freq.frequency.com/api/2.3/' \
--header 'Content-Type: application/json' \
--header 'x-frequency-auth: dd61135eba-2c1cc8e4-37cc5e-3d54e0c2' \
--header 'x-frequency-deviceid: 8b7f9c2d-4a16-b8e5'

Response

Body

{
  "status_code": 200,
  "message": "Ad Break End",
  "live_source_id": "7371538698515452552",
  "duration": 30,
  "status": ""
}