Skip to main content

Frequency Documentation

Content Access

Hostname

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

Retrieve Series

Endpoint

GET /series

Parameters

Data Type

Required

Default

Example

page_size

Integer

False

30

Maximum results per page

page_size=30

page_offset

String

False

0

The page_offset value from the previous page

page_offset=2

sort

String

False

title.ASC

Sort field names by ascending (ASC) or descending (DESC)

sort=title.DESC

Request

Headers

"X-Frequency-DeviceId": "d9d7465c2341014f26a87629be46639e"
"X-Frequency-Auth": "dd61135eba-2c1cc8e4-37cc5e-3d54e0c2"
"Content-Type": "application/json"

Response

Body

Retrieve specific series metadata

GET /series/series_id

Request

Headers

"X-Frequency-DeviceId": "d9d7465c2341014f26a87629be46639e"
"X-Frequency-Auth": "dd61135eba-2c1cc8e4-37cc5e-3d54e0c2"
"Content-Type": "application/json"

Response

Body

Retrieve all videos

GET /videos

Parameters

Data Type

Required

Default

Example

media_type

String

False

h264

Return media_url as hls or h264

media_type=hls

page_size

Integer

False

30

Maximum results per page

page_size=30

page_offset

String

False

0

The page_mark value from the previous page

page_offset=2

sort

String

False

date_published.desc

Different sorts available and sorted by ascending (.asc) or descending (.desc).

  • sort=date_created.desc

  • sort=last_updated.desc

  • sort=date_available.asc

  • sort=date_expired.desc

  • sort=date_published.desc

Request

Headers

"X-Frequency-DeviceId": "d9d7465c2341014f26a87629be46639e"
"X-Frequency-Auth": "dd61135eba-2c1cc8e4-37cc5e-3d54e0c2"
"Content-Type": "application/json"

Response

Body

Retrieve specific video metadata

GET /videos/<video_id>

Parameter

Data Type

Required

Default

Example

media_type

String

false

h264

Return media_url for HLS or MP4

media_type=hls

Request

Headers

"X-Frequency-DeviceId": "d9d7465c2341014f26a87629be46639e"
"X-Frequency-Auth": "dd61135eba-2c1cc8e4-37cc5e-3d54e0c2"
"Content-Type": "application/json"

Response

Body

Retrieve videos from specific series

GET /series/<series_id>/videos

Parameter

Data Type

Required

Default

Example

media_type

String

False

h264

Return media_url for HLS or MP4

media_type=hls

sort

String

False

date_published.DESC

sort=last_updated.DESC

Sort field names by ascending (ASC) or descending (DESC)

  • date_published

  • last_updated

  • date_created

  • date_expired

page_size

Integer

False

30

Maximum results per page

page_size=30

page_offset

String

False

0

The page_offset value from the previous page

page_offset=1

Request

Headers

"X-Frequency-DeviceId": "d9d7465c2341014f26a87629be46639e"
"X-Frequency-Auth": "dd61135eba-2c1cc8e4-37cc5e-3d54e0c2"
"Content-Type": "application/json"

Response

Body

Retrieve videos from specific series and season

GET /series/<series_id>/seasons/<season_number>/videos

Parameter

Data Type

Required

Default

Example

media_type

String

False

h264

Return media_url for HLS or MP4

media_type=hls

sort

String

False

episode_number.ASC

sort=last_updated.DESC

Sort field names by ascending (ASC) or descending (DESC)

Supported field names:

last_updated

  • episode_number

  • date_published

  • last_updated

  • date_created

  • date_expired

    date_available

episode

Integer

False

N/A

Filter by episode number

episode=2

page_size

Integer

False

30

Maximum results per page

page_size=30

page_offset

String

False

0

The page_offset value from the previous page

page_k=1

Request

Headers

"X-Frequency-DeviceId": "d9d7465c2341014f26a87629be46639e"
"X-Frequency-Auth": "dd61135eba-2c1cc8e4-37cc5e-3d54e0c2"
"Content-Type": "application/json"

Response

Body

Search video (simple)

A simple query that searches for an exact match within the title and description of videos.

POST /search/videos

Parameter

Data Type

Required

Default

Example

media_type

String

False

h264

Return media_url for HLS or MP4

media_type=hls

page_size

String

False

30

Maximum results per page

page_size=30

page_offset

Integer

False

0

The page_offset value from the previous page

page_offset=1

Request

Headers

"X-Frequency-DeviceId": "d9d7465c2341014f26a87629be46639e"
"X-Frequency-Auth": "dd61135eba-2c1cc8e4-37cc5e-3d54e0c2"
"Content-Type": "application/json"

Payload

{
    "query": "\"baseball\""
}

Response

Body

Search video (advanced)

Advanced search queries further help narrow down result using filter and sort variables. Filter variable support in, and, or, lte, gte and regex values as well. Review following sample request query examples:

POST /search/videos

Parameter

Data Type

Required

Default

Example

media_type

String

False

h264

Return media_url for hls or h264

media_type=h264

page_size

String

False

30

Maximum results per page

page_size=30

page_offset

Integer

False

0

The page_offset value from the previous page

page_offset=1

Supported Filters

Advanced search can support nested queries with a variety of available filters.

Filter Name

Description

EXISTS

Search if the field passed exists for the video

EQUALS

Search if the field value matches with the value passed

CONTAINS

Search if the field value matched with the value passed

IN

Search if the filed value matches with one of the values passed in the list

REGEX

Search if the filed value matches with the regex passed

GT

Search if the field value is greater than the value passed

LT

Search if the field value is less than the value passed

GTE

Search if the field value is greater than or equals to the value passed

LTE

Search if the field value is less than or equals to the value passed

AND

To apply AND condition among all the filters passed in the list

OR

To apply OR condition among all the filters passed in the list

NOT

To apply NOT condition on the filter passed

Request

Headers

"X-Frequency-DeviceId": "d9d7465c2341014f26a87629be46639e"
"X-Frequency-Auth": "dd61135eba-2c1cc8e4-37cc5e-3d54e0c2"
"Content-Type": "application/json"

Payload samples

Sample-1: Filter title search. Search videos that contain "car" in the "title". Other usable filters here are "description" and "series_title" (series is exact matches only):

{  
    "filter":{
        "and":[
          {
            "contains": {
              "title": "car"
            }
          }
        ]
      }
}

Sample-2: With genres, multiple keywords, and sort. Regex search videos with genre "News" and keywords "Politics" and "Europe", sorted by the most recently updated:

{
   "filter":{
      "and":[
         {
            "or":[
               {
                  "regex":{
                     "genres":"News.*"
                  }
               }
            ]
         },
         {
            "and":[
               {
                  "contains":{
                     "keywords":"politics"
                  }
               },
               {
                  "contains":{
                     "keywords":"europe"
                  }
               }
            ]
         }
      ]
   },
   "sort":{
      "field":"last_updated",
      "order":"DESC"
   }
}

Sample-3: With filtering videos by date, specific brands, and duration. Search videos published within the last 3 days, in brand ID "6727647811228035", and duration less than 1500 seconds, sorted by the most recently published

{
    "filter": {
        "and": [{
            "and": [{
                "gte": {
                    "date_published": "#{subdate(now(),3d)}"
                }
            }]
        }, {
            "in": {
                "channel_id": ["6727647811228035"]
            }
        }, {
            "and": [{
                "lte": {
                    "duration": 1500
                }
            }]
        }]
    },
    "sort": {
        "field": "last_updated",
        "order": "DESC"
    }
}

Response

Body

Retrieve all playlists

GET /playlists

Parameter

Data Type

Example

page_size

String

The page_mark value from the previous page (optional)

page_mark=6798629928574052699

page_offset

Integer

Maximum results per page (optional)

page_size=30

Request

Headers

"X-Frequency-DeviceId": "d9d7465c2341014f26a87629be46639e"
"X-Frequency-Auth": "dd61135eba-2c1cc8e4-37cc5e-3d54e0c2"
"Content-Type": "application/json"

Response

Body

Retrieve specific playlist metadata

GET /playlists/<playlist_id>

Request

Headers

"X-Frequency-DeviceId": "d9d7465c2341014f26a87629be46639e"
"X-Frequency-Auth": "dd61135eba-2c1cc8e4-37cc5e-3d54e0c2"
"Content-Type": "application/json"

Response

Body

Retrieve videos for a specific playlist

GET /playlists/<playlist_id>/videos

Parameter

Data Type

Example

page_size

String

The page_mark value from the previous page (optional)

page_mark=6798629928574052699

page_offset

Integer

Maximum results per page (optional)

page_size=30

Request

Headers

"X-Frequency-DeviceId": "d9d7465c2341014f26a87629be46639e"
"X-Frequency-Auth": "dd61135eba-2c1cc8e4-37cc5e-3d54e0c2"
"Content-Type": "application/json"

Response

Body

Ingest videos and schedule in channel

POST /automation/schedule

Request

Headers

"X-Frequency-DeviceId": "d9d7465c2341014f26a87629be46639e"
"X-Frequency-Auth": "dd61135eba-2c1cc8e4-37cc5e-3d54e0c2"
"Content-Type": "application/json"

Payload

{
    "linear_channel_id": "78",
    "source_id": "6291431901791729322",
    "brand_id": "6429846635265866447",
    "program_title": "Linear Program Title",
    "program_description": "Linear Program Description",
    "videos": [{
        "video_source_id": "123456",
        "title": "Video1 Title",
        "description": "Video1 Description",
        "keywords": "one,two,three, four, five",
        "date_published": "2020-12-05T01:23:45Z",
        "image_url": "https://my.server.com/content/video1-thumbnail.jpg",
        "video_url": "https://my.server.com/content/video1.mp4",
        "duration": 20000,
        "genres": [{
            "genre": "Travel",
            "sub_genre": "Africa"
        }, {
            "genre": "Travel",
            "sub_genre": "Outdoors"
        }],
        "audio_language": "en",
        "country_origin": "US",
        "content_format": "Movie",
        "content_type": "Recipes",
        "cut": "Clip",
        "periodicity": "Daily",
        "parental_rating": "Child",
        "type": "VIDEO"
    }, {
        "duration": 20000,
        "type": "AD_POD"
    }, {
        "video_source_id": "123456",
        "title": "Video2 Title",
        "description": "Video2 Description",
        "image_url": "https://my.server.com/content/video2-thumbnail.jpg",
        "video_url": "https://my.server.com/content/video2.mp4",
        "duration_ms": 258229,            
        "video_duration_ms": 258229,
        "genres": [{
            "genre": "Travel",
            "sub_genre": "Africa"
        }, {
            "genre": "Travel",
            "sub_genre": "Outdoors"
        }],
        "audio_language": "en",
        "country_origin": "US",
        "content_format": "Movie",
        "content_type": "Recipes",
        "cut": "Clip",
        "periodicity": "Daily",
        "parental_rating": "Child",
        "type": "VIDEO",
        "video_start_frame_ms": 0,
        "video_frequency_id": "7051526393060944163"
    }],
    "schedule": {
        "start_time": "2020-11-10T13:00:00Z",
        "duration_ms": 40000
    }
}

Response

Body

{
  "request_id": "1",
  "message": "Schedule Added for processing"
}

Field Notes

Troubleshooting