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).
|
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)
|
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 | 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