Resources

List of all available resources.

VideoList

/v0/videos

Allowed methods: ['GET', 'POST', 'OPTIONS']

Retrieve list of results for video content search.

Parameters:

Fields:

Name Type Readonly Details
id string Yes

unified video resource id

guid string Yes

guid from mrss feed

title string Yes

video title

description string Yes

video description

tags list of string Yes

tags associated with given video

deeplink string Yes

external deep link

language string Yes

video content language declared by content creator or guessed from description by classification algorithm (if there is no declared language)

declared_language string Yes

video content language declared by content creator

embed_url string Yes

url for embedding player

embed_html string Yes

complete html markup with embedded player

available_formats list of string Yes

defines quality of video

publication_date int Yes

defines how old is video

duration int Yes

video duration (for vod only)

video_category list of string Yes

Video category in form of a path

genre None Yes

Video genres

category_positions list of object Yes

A list of category position values in form of category path and order value.

section string Yes

Video section for Vewd Snap 3.0 applications

thumbnails object Yes

Dictionary with thumbnail urls in various formats in form of:

{
    "<format>": "<url>",
    ...
}

Notes:

  • Currently only one format (raw) is always available. raw means the best image we have without any scaling and cropping to arbitrary aspect-ratio. Other formats may be added in the future but it is advised for clients to use their own media scaling proxy services for that purpose.

Warning: this field is deprecated in favor of thumbnail_details.

thumbnail_details object Yes

Dictionary with detailed thumbnail information in various formats in form of:

{
    "<format>": {
        "url": "<url>",
        "width": <width>,
        "height": <height>,
        "orientation": <orientation>,
    },
    "others": [
        {
            "url": "<url>",
            "width": <width>,
            "height": <height>,
            "orientation": <orientation>,
        },
        ...
    ]
    ...
}
  • Currently only one specific format (raw) is available. raw means the best image we have without any scaling and cropping to arbitrary aspect-ratio. Other formats may be added in the future but it is advised for clients to use their own media scaling proxy services for that purpose.
  • Other available thumbnails parsed from feed are exposed under others field. Not every content provider however may provide us with those.
  • The <width> and <height> values are provided by content providers and that means it cannot be always trusted. It is usually correct but it may happen that actual downloaded image has different dimentsion. Note that some OVPs or content providers provide only partial dimensions (e.g. Dailymotion provides only height) and some do not provide it at all.
  • The possible values for <orientation> are "portrait" and "landscape". The null value means that we were unable to reliably determine image orientation. This is mostly determined from declared image dimensions but some OVPs always serve thumbnails in portrait. In that case we can tell that image is portrait orientation even if we don't know its dimentsions.
  • Square images are considered landscape orientation.
posters object Yes

Dictionary with detailed posters information in various formats in form of:

{
    "<format>": {
        "url": "<url>",
        "width": <width>,
        "height": <height>,
        "orientation": <orientation>,
    },
    "others": [
        {
            "url": "<url>",
            "width": <width>,
            "height": <height>,
            "orientation": <orientation>,
        },
        ...
    ]
    ...
}
  • Currently only one specific format (raw) is available. raw means the best image we have without any scaling and cropping to arbitrary aspect-ratio. Other formats may be added in the future but it is advised for clients to use their own media scaling proxy services for that purpose.
  • Other available posters parsed from feed are exposed under others field. Not every content provider however may provide us with those.
  • The <width> and <height> values are provided by content providers and that means it cannot be always trusted. It is usually correct but it may happen that actual downloaded image has different dimension. Note that some OVPs or content providers provide only partial dimensions (e.g. Dailymotion provides only height) and some do not provide it at all.
  • The possible values for <orientation> are "portrait" and "landscape". The null value means that we were unable to reliably determine image orientation. This is mostly determined from declared image dimensions but some OVPs always serve thumbnails in portrait. In that case we can tell that image is portrait orientation even if we don't know its dimensions.
  • Square images are considered landscape orientation.
mode string Yes

stream mode (one of: live, simulcast or vod)

airing_time int Yes

time when video will start (for live only)

sources list of object Yes

list of video sources with information about url, content-type (if available) and bitrate (if available)

ovp string Yes

Video provider type name (e.g.: MRSS, DAILYMOTION, JWPLAYER etc.)

app object Yes

Nested application representation for TV Store app associated with video resource in form of:

{
    "id": "<application_slug>",
    "application_id": "<application_id>",
    "encoded_url": "<encoded_url>",
    "thumbnails": <thumbnails>,
    "name": "<application_name>",
    "icon": "<icon_url>",
    "icons": <icons>
}

Where:

  • <application_slug> is an application identifier in context of Vewd App Store/Vewd Core.
  • <application_id> is an application identifier in context of Vewd Cloud.
  • <encoded_url> is the url string of TV Store application that can be decoded using Vewd Core.
  • <thumbnails> is an object containing thumbnails urls for application. It may contain additional available available formats besides standard 'raw' (see: video thumbnail field).
  • <name> is application name.
  • <icons> is an object containing application's CSP icon urls for It may contain additional available available formats besides standard 'raw' (see: video thumbnail field).
  • <icon> (DEPRECATED) is an application's CSP icon. Its size is undefined at the moment.
application_id string Yes

Application ID in Vewd Cloud

author_id string Yes

Author ID in Vewd Cloud

cloud_app_type string Yes

App type in Vewd Cloud

views int Yes

Approximate number of views tracked through journal endpoint.

channel string Yes

Channel identifier. Channel defines theme of video document like:

  • Gaming (videogames)
  • Comedy & Entertainment (fun)
  • etc.

Note: channel information currently is available only for videos from DAILYMOTION OVP. There are no plans to support that data for different OVPs yet.

csp_extras object Yes

Dictionary with CSP-specific, arbitrary data fetched from MRSS feed.

If found in feed, it contains content_id tag value:

{
    "content_id": "5928e466fd2e615665000026",
}
media_type string Yes

video media type

available_countries list of string Yes

defines countries where this specific content can be distributed on

promoted_countries list of string Yes

defines countries where this specific content is promoted

series_id string Yes

according series_id for an episode

season_id string Yes

according season_id for an episode

series_title string Yes

title of series this video belongs to

season_number int Yes

number of season this video belongs to

episode int Yes

episode number

image_has_title bool Yes

whether the video title is visible on the image associated with it

rating object Yes

Dictionary with rating data fetched from MRSS feed.

If found in feed, it contains rating schemas as keys and ratings as values:

{
    'urn:simple': 'adult',
    'urn:icra': 'r (cz 1 lz 1 nz 1 oz 1 vz 1)',
    'urn:mpaa': 'pg',
    'urn:v-chip': 'tv-y7-fv'
}
player_urls object Yes

Object containing urls to TVStore player in form of

{
    "<maybe_bitrate>": "<player_url>",
    ...
}

Where:

  • <maybe_bitrate> is either string representation of bitrate or literal 'default' string.
  • <player_url> is an URL to player resource (html tag to embed)

The 'default' key will be present only in case when bitrate for any of available sources cannot be determined. So it will be present if specific video CSP did not provide such information or whole associated OVP does not provide raw video sources (Dailymotion as an example).

This does not mean that 'default' key is always present. It is also not a recommendation of best player url. It's a responsibility of client to choose the best suited player from possible choices.

Note that, while URL format is very easy to guess, it is a subject to change at any time (without notice). Client code should not tamper with it or rely on inferred url parts meaning like service host or url parameters. This url should not be cached.

Video

/v0/videos/{video_id}

Allowed methods: ['GET', 'OPTIONS']

Retrieve single video content entry

To retrieve single videos issue GET request e.g.:

$ curl http://<this endpoint url>/{video_id}
{
    content: {
        (...)
    },
    "meta": {
        "params": {},
        (...)
    }
}

To retrieve machine readable description of this endpoint issue OPTIONS request e.g.:

$ curl -X OPTIONS http://<this endpoint url>

{
    "details": {...},
    "fields": {...},
    "params": {...},
    "methods": [...],
    (...)
}

Parameters:

Fields:

Name Type Readonly Details
id string Yes

unified video resource id

guid string Yes

guid from mrss feed

title string Yes

video title

description string Yes

video description

tags list of string Yes

tags associated with given video

deeplink string Yes

external deep link

language string Yes

video content language declared by content creator or guessed from description by classification algorithm (if there is no declared language)

declared_language string Yes

video content language declared by content creator

embed_url string Yes

url for embedding player

embed_html string Yes

complete html markup with embedded player

available_formats list of string Yes

defines quality of video

publication_date int Yes

defines how old is video

duration int Yes

video duration (for vod only)

video_category list of string Yes

Video category in form of a path

genre None Yes

Video genres

category_positions list of object Yes

A list of category position values in form of category path and order value.

section string Yes

Video section for Vewd Snap 3.0 applications

thumbnails object Yes

Dictionary with thumbnail urls in various formats in form of:

{
    "<format>": "<url>",
    ...
}

Notes:

  • Currently only one format (raw) is always available. raw means the best image we have without any scaling and cropping to arbitrary aspect-ratio. Other formats may be added in the future but it is advised for clients to use their own media scaling proxy services for that purpose.

Warning: this field is deprecated in favor of thumbnail_details.

thumbnail_details object Yes

Dictionary with detailed thumbnail information in various formats in form of:

{
    "<format>": {
        "url": "<url>",
        "width": <width>,
        "height": <height>,
        "orientation": <orientation>,
    },
    "others": [
        {
            "url": "<url>",
            "width": <width>,
            "height": <height>,
            "orientation": <orientation>,
        },
        ...
    ]
    ...
}
  • Currently only one specific format (raw) is available. raw means the best image we have without any scaling and cropping to arbitrary aspect-ratio. Other formats may be added in the future but it is advised for clients to use their own media scaling proxy services for that purpose.
  • Other available thumbnails parsed from feed are exposed under others field. Not every content provider however may provide us with those.
  • The <width> and <height> values are provided by content providers and that means it cannot be always trusted. It is usually correct but it may happen that actual downloaded image has different dimentsion. Note that some OVPs or content providers provide only partial dimensions (e.g. Dailymotion provides only height) and some do not provide it at all.
  • The possible values for <orientation> are "portrait" and "landscape". The null value means that we were unable to reliably determine image orientation. This is mostly determined from declared image dimensions but some OVPs always serve thumbnails in portrait. In that case we can tell that image is portrait orientation even if we don't know its dimentsions.
  • Square images are considered landscape orientation.
posters object Yes

Dictionary with detailed posters information in various formats in form of:

{
    "<format>": {
        "url": "<url>",
        "width": <width>,
        "height": <height>,
        "orientation": <orientation>,
    },
    "others": [
        {
            "url": "<url>",
            "width": <width>,
            "height": <height>,
            "orientation": <orientation>,
        },
        ...
    ]
    ...
}
  • Currently only one specific format (raw) is available. raw means the best image we have without any scaling and cropping to arbitrary aspect-ratio. Other formats may be added in the future but it is advised for clients to use their own media scaling proxy services for that purpose.
  • Other available posters parsed from feed are exposed under others field. Not every content provider however may provide us with those.
  • The <width> and <height> values are provided by content providers and that means it cannot be always trusted. It is usually correct but it may happen that actual downloaded image has different dimension. Note that some OVPs or content providers provide only partial dimensions (e.g. Dailymotion provides only height) and some do not provide it at all.
  • The possible values for <orientation> are "portrait" and "landscape". The null value means that we were unable to reliably determine image orientation. This is mostly determined from declared image dimensions but some OVPs always serve thumbnails in portrait. In that case we can tell that image is portrait orientation even if we don't know its dimensions.
  • Square images are considered landscape orientation.
mode string Yes

stream mode (one of: live, simulcast or vod)

airing_time int Yes

time when video will start (for live only)

sources list of object Yes

list of video sources with information about url, content-type (if available) and bitrate (if available)

ovp string Yes

Video provider type name (e.g.: MRSS, DAILYMOTION, JWPLAYER etc.)

app object Yes

Nested application representation for TV Store app associated with video resource in form of:

{
    "id": "<application_slug>",
    "application_id": "<application_id>",
    "encoded_url": "<encoded_url>",
    "thumbnails": <thumbnails>,
    "name": "<application_name>",
    "icon": "<icon_url>",
    "icons": <icons>
}

Where:

  • <application_slug> is an application identifier in context of Vewd App Store/Vewd Core.
  • <application_id> is an application identifier in context of Vewd Cloud.
  • <encoded_url> is the url string of TV Store application that can be decoded using Vewd Core.
  • <thumbnails> is an object containing thumbnails urls for application. It may contain additional available available formats besides standard 'raw' (see: video thumbnail field).
  • <name> is application name.
  • <icons> is an object containing application's CSP icon urls for It may contain additional available available formats besides standard 'raw' (see: video thumbnail field).
  • <icon> (DEPRECATED) is an application's CSP icon. Its size is undefined at the moment.
application_id string Yes

Application ID in Vewd Cloud

author_id string Yes

Author ID in Vewd Cloud

cloud_app_type string Yes

App type in Vewd Cloud

views int Yes

Approximate number of views tracked through journal endpoint.

channel string Yes

Channel identifier. Channel defines theme of video document like:

  • Gaming (videogames)
  • Comedy & Entertainment (fun)
  • etc.

Note: channel information currently is available only for videos from DAILYMOTION OVP. There are no plans to support that data for different OVPs yet.

csp_extras object Yes

Dictionary with CSP-specific, arbitrary data fetched from MRSS feed.

If found in feed, it contains content_id tag value:

{
    "content_id": "5928e466fd2e615665000026",
}
media_type string Yes

video media type

available_countries list of string Yes

defines countries where this specific content can be distributed on

promoted_countries list of string Yes

defines countries where this specific content is promoted

series_id string Yes

according series_id for an episode

season_id string Yes

according season_id for an episode

series_title string Yes

title of series this video belongs to

season_number int Yes

number of season this video belongs to

episode int Yes

episode number

image_has_title bool Yes

whether the video title is visible on the image associated with it

rating object Yes

Dictionary with rating data fetched from MRSS feed.

If found in feed, it contains rating schemas as keys and ratings as values:

{
    'urn:simple': 'adult',
    'urn:icra': 'r (cz 1 lz 1 nz 1 oz 1 vz 1)',
    'urn:mpaa': 'pg',
    'urn:v-chip': 'tv-y7-fv'
}
player_urls object Yes

Object containing urls to TVStore player in form of

{
    "<maybe_bitrate>": "<player_url>",
    ...
}

Where:

  • <maybe_bitrate> is either string representation of bitrate or literal 'default' string.
  • <player_url> is an URL to player resource (html tag to embed)

The 'default' key will be present only in case when bitrate for any of available sources cannot be determined. So it will be present if specific video CSP did not provide such information or whole associated OVP does not provide raw video sources (Dailymotion as an example).

This does not mean that 'default' key is always present. It is also not a recommendation of best player url. It's a responsibility of client to choose the best suited player from possible choices.

Note that, while URL format is very easy to guess, it is a subject to change at any time (without notice). Client code should not tamper with it or rely on inferred url parts meaning like service host or url parameters. This url should not be cached.

TVSeasonList

/v0/series/{series_id}/seasons

Allowed methods: ['GET', 'OPTIONS']

This resource does not have description yet

Parameters:

Fields:

Name Type Readonly Details
id string Yes

seasons resource id

title string Yes

seasons title

series_id string Yes

seasons series_id

description string Yes

seasons description

deeplink string Yes

external deep link

application_id string Yes

Application ID in Vewd Cloud

language string Yes

season content language declared by content creator or guessed from description or title by classification algorithm (if there is no declared language)

genre list of string Yes

seasons genre

thumbnail_details object Yes

Dictionary with detailed thumbnail information in various formats in form of:

{
    "<format>": {
        "url": "<url>",
        "width": <width>,
        "height": <height>,
        "orientation": <orientation>,
    },
    "others": [
        {
            "url": "<url>",
            "width": <width>,
            "height": <height>,
            "orientation": <orientation>,
        },
        ...
    ]
    ...
}
  • Currently only one specific format (raw) is available. raw means the best image we have without any scaling and cropping to arbitrary aspect-ratio. Other formats may be added in the future but it is advised for clients to use their own media scaling proxy services for that purpose.
  • Other available thumbnails parsed from feed are exposed under others field. Not every content provider however may provide us with those.
  • The <width> and <height> values are provided by content providers and that means it cannot be always trusted. It is usually correct but it may happen that actual downloaded image has different dimentsion. Note that some OVPs or content providers provide only partial dimensions (e.g. Dailymotion provides only height) and some do not provide it at all.
  • The possible values for <orientation> are "portrait" and "landscape". The null value means that we were unable to reliably determine image orientation. This is mostly determined from declared image dimensions but some OVPs always serve thumbnails in portrait. In that case we can tell that image is portrait orientation even if we don't know its dimentsions.
  • Square images are considered landscape orientation.
posters object Yes

Dictionary with detailed posters information in various formats in form of:

{
    "<format>": {
        "url": "<url>",
        "width": <width>,
        "height": <height>,
        "orientation": <orientation>,
    },
    "others": [
        {
            "url": "<url>",
            "width": <width>,
            "height": <height>,
            "orientation": <orientation>,
        },
        ...
    ]
    ...
}
  • Currently only one specific format (raw) is available. raw means the best image we have without any scaling and cropping to arbitrary aspect-ratio. Other formats may be added in the future but it is advised for clients to use their own media scaling proxy services for that purpose.
  • Other available posters parsed from feed are exposed under others field. Not every content provider however may provide us with those.
  • The <width> and <height> values are provided by content providers and that means it cannot be always trusted. It is usually correct but it may happen that actual downloaded image has different dimension. Note that some OVPs or content providers provide only partial dimensions (e.g. Dailymotion provides only height) and some do not provide it at all.
  • The possible values for <orientation> are "portrait" and "landscape". The null value means that we were unable to reliably determine image orientation. This is mostly determined from declared image dimensions but some OVPs always serve thumbnails in portrait. In that case we can tell that image is portrait orientation even if we don't know its dimensions.
  • Square images are considered landscape orientation.
available_countries list of string Yes

defines countries where this specific content can be distributed on

season_number int Yes

number of season

media_type string Yes

A constant string of value "season".

TVSeason

/v0/series/{series_id}/seasons/{season_id}

Allowed methods: ['GET', 'OPTIONS']

This resource does not have description yet

Parameters:

Fields:

Name Type Readonly Details
id string Yes

seasons resource id

title string Yes

seasons title

series_id string Yes

seasons series_id

description string Yes

seasons description

deeplink string Yes

external deep link

application_id string Yes

Application ID in Vewd Cloud

language string Yes

season content language declared by content creator or guessed from description or title by classification algorithm (if there is no declared language)

genre list of string Yes

seasons genre

thumbnail_details object Yes

Dictionary with detailed thumbnail information in various formats in form of:

{
    "<format>": {
        "url": "<url>",
        "width": <width>,
        "height": <height>,
        "orientation": <orientation>,
    },
    "others": [
        {
            "url": "<url>",
            "width": <width>,
            "height": <height>,
            "orientation": <orientation>,
        },
        ...
    ]
    ...
}
  • Currently only one specific format (raw) is available. raw means the best image we have without any scaling and cropping to arbitrary aspect-ratio. Other formats may be added in the future but it is advised for clients to use their own media scaling proxy services for that purpose.
  • Other available thumbnails parsed from feed are exposed under others field. Not every content provider however may provide us with those.
  • The <width> and <height> values are provided by content providers and that means it cannot be always trusted. It is usually correct but it may happen that actual downloaded image has different dimentsion. Note that some OVPs or content providers provide only partial dimensions (e.g. Dailymotion provides only height) and some do not provide it at all.
  • The possible values for <orientation> are "portrait" and "landscape". The null value means that we were unable to reliably determine image orientation. This is mostly determined from declared image dimensions but some OVPs always serve thumbnails in portrait. In that case we can tell that image is portrait orientation even if we don't know its dimentsions.
  • Square images are considered landscape orientation.
posters object Yes

Dictionary with detailed posters information in various formats in form of:

{
    "<format>": {
        "url": "<url>",
        "width": <width>,
        "height": <height>,
        "orientation": <orientation>,
    },
    "others": [
        {
            "url": "<url>",
            "width": <width>,
            "height": <height>,
            "orientation": <orientation>,
        },
        ...
    ]
    ...
}
  • Currently only one specific format (raw) is available. raw means the best image we have without any scaling and cropping to arbitrary aspect-ratio. Other formats may be added in the future but it is advised for clients to use their own media scaling proxy services for that purpose.
  • Other available posters parsed from feed are exposed under others field. Not every content provider however may provide us with those.
  • The <width> and <height> values are provided by content providers and that means it cannot be always trusted. It is usually correct but it may happen that actual downloaded image has different dimension. Note that some OVPs or content providers provide only partial dimensions (e.g. Dailymotion provides only height) and some do not provide it at all.
  • The possible values for <orientation> are "portrait" and "landscape". The null value means that we were unable to reliably determine image orientation. This is mostly determined from declared image dimensions but some OVPs always serve thumbnails in portrait. In that case we can tell that image is portrait orientation even if we don't know its dimensions.
  • Square images are considered landscape orientation.
available_countries list of string Yes

defines countries where this specific content can be distributed on

season_number int Yes

number of season

media_type string Yes

A constant string of value "season".

TVSeriesList

/v0/series

Allowed methods: ['GET', 'OPTIONS']

This resource does not have description yet

Parameters:

Fields:

Name Type Readonly Details
id string Yes

series resource id

application_id string Yes

Application ID in Vewd Cloud

deeplink string Yes

external deep link

description string Yes

series description

language string Yes

series content language declared by content creator or guessed from description or title by classification algorithm (if there is no declared language)

genre list of string Yes

series genre

thumbnail_details object Yes

Dictionary with detailed thumbnail information in various formats in form of:

{
    "<format>": {
        "url": "<url>",
        "width": <width>,
        "height": <height>,
        "orientation": <orientation>,
    },
    "others": [
        {
            "url": "<url>",
            "width": <width>,
            "height": <height>,
            "orientation": <orientation>,
        },
        ...
    ]
    ...
}
  • Currently only one specific format (raw) is available. raw means the best image we have without any scaling and cropping to arbitrary aspect-ratio. Other formats may be added in the future but it is advised for clients to use their own media scaling proxy services for that purpose.
  • Other available thumbnails parsed from feed are exposed under others field. Not every content provider however may provide us with those.
  • The <width> and <height> values are provided by content providers and that means it cannot be always trusted. It is usually correct but it may happen that actual downloaded image has different dimentsion. Note that some OVPs or content providers provide only partial dimensions (e.g. Dailymotion provides only height) and some do not provide it at all.
  • The possible values for <orientation> are "portrait" and "landscape". The null value means that we were unable to reliably determine image orientation. This is mostly determined from declared image dimensions but some OVPs always serve thumbnails in portrait. In that case we can tell that image is portrait orientation even if we don't know its dimentsions.
  • Square images are considered landscape orientation.
posters object Yes

Dictionary with detailed posters information in various formats in form of:

{
    "<format>": {
        "url": "<url>",
        "width": <width>,
        "height": <height>,
        "orientation": <orientation>,
    },
    "others": [
        {
            "url": "<url>",
            "width": <width>,
            "height": <height>,
            "orientation": <orientation>,
        },
        ...
    ]
    ...
}
  • Currently only one specific format (raw) is available. raw means the best image we have without any scaling and cropping to arbitrary aspect-ratio. Other formats may be added in the future but it is advised for clients to use their own media scaling proxy services for that purpose.
  • Other available posters parsed from feed are exposed under others field. Not every content provider however may provide us with those.
  • The <width> and <height> values are provided by content providers and that means it cannot be always trusted. It is usually correct but it may happen that actual downloaded image has different dimension. Note that some OVPs or content providers provide only partial dimensions (e.g. Dailymotion provides only height) and some do not provide it at all.
  • The possible values for <orientation> are "portrait" and "landscape". The null value means that we were unable to reliably determine image orientation. This is mostly determined from declared image dimensions but some OVPs always serve thumbnails in portrait. In that case we can tell that image is portrait orientation even if we don't know its dimensions.
  • Square images are considered landscape orientation.
section string Yes

Video section for Vewd Snap 3.0 applications

title string Yes

series title

app_id string Yes

Vewd App Store application id from which the category originates

available_countries list of string Yes

defines countries where this specific content can be distributed on

media_type string Yes

A constant string of value "series".

TVSeries

/v0/series/{series_id}

Allowed methods: ['GET', 'OPTIONS']

This resource does not have description yet

Parameters:

Fields:

Name Type Readonly Details
id string Yes

series resource id

application_id string Yes

Application ID in Vewd Cloud

deeplink string Yes

external deep link

description string Yes

series description

language string Yes

series content language declared by content creator or guessed from description or title by classification algorithm (if there is no declared language)

genre list of string Yes

series genre

thumbnail_details object Yes

Dictionary with detailed thumbnail information in various formats in form of:

{
    "<format>": {
        "url": "<url>",
        "width": <width>,
        "height": <height>,
        "orientation": <orientation>,
    },
    "others": [
        {
            "url": "<url>",
            "width": <width>,
            "height": <height>,
            "orientation": <orientation>,
        },
        ...
    ]
    ...
}
  • Currently only one specific format (raw) is available. raw means the best image we have without any scaling and cropping to arbitrary aspect-ratio. Other formats may be added in the future but it is advised for clients to use their own media scaling proxy services for that purpose.
  • Other available thumbnails parsed from feed are exposed under others field. Not every content provider however may provide us with those.
  • The <width> and <height> values are provided by content providers and that means it cannot be always trusted. It is usually correct but it may happen that actual downloaded image has different dimentsion. Note that some OVPs or content providers provide only partial dimensions (e.g. Dailymotion provides only height) and some do not provide it at all.
  • The possible values for <orientation> are "portrait" and "landscape". The null value means that we were unable to reliably determine image orientation. This is mostly determined from declared image dimensions but some OVPs always serve thumbnails in portrait. In that case we can tell that image is portrait orientation even if we don't know its dimentsions.
  • Square images are considered landscape orientation.
posters object Yes

Dictionary with detailed posters information in various formats in form of:

{
    "<format>": {
        "url": "<url>",
        "width": <width>,
        "height": <height>,
        "orientation": <orientation>,
    },
    "others": [
        {
            "url": "<url>",
            "width": <width>,
            "height": <height>,
            "orientation": <orientation>,
        },
        ...
    ]
    ...
}
  • Currently only one specific format (raw) is available. raw means the best image we have without any scaling and cropping to arbitrary aspect-ratio. Other formats may be added in the future but it is advised for clients to use their own media scaling proxy services for that purpose.
  • Other available posters parsed from feed are exposed under others field. Not every content provider however may provide us with those.
  • The <width> and <height> values are provided by content providers and that means it cannot be always trusted. It is usually correct but it may happen that actual downloaded image has different dimension. Note that some OVPs or content providers provide only partial dimensions (e.g. Dailymotion provides only height) and some do not provide it at all.
  • The possible values for <orientation> are "portrait" and "landscape". The null value means that we were unable to reliably determine image orientation. This is mostly determined from declared image dimensions but some OVPs always serve thumbnails in portrait. In that case we can tell that image is portrait orientation even if we don't know its dimensions.
  • Square images are considered landscape orientation.
section string Yes

Video section for Vewd Snap 3.0 applications

title string Yes

series title

app_id string Yes

Vewd App Store application id from which the category originates

available_countries list of string Yes

defines countries where this specific content can be distributed on

media_type string Yes

A constant string of value "series".

CategoryList

/v0/categories/{app_id}

Allowed methods: ['GET', 'OPTIONS']

Retrieve list of categories for a given application.

Parameters:

Fields:

Name Type Readonly Details
id string No

Category id

label string No

Category label

app_id string No

Vewd App Store application id from which the category originates

app_name string No

Vewd App Store application name from which the category originates

section string No

Section in which the category is defined

order int No

Order in which application is displayed

path string No

Path of the category

background_url string No

URL to background to be used for the category

thumbnail_details object No

Thumbnail details of an example video

description string No

Description of the category

language string No

Language which for this category is relevant

Journal

/v0/videos/{video_id}/journal

Allowed methods: ['POST', 'OPTIONS']

Manage journal entries for specific video for purpose of tracking video views and engagement.

session lifecycle

Each user session with single video must start with event: 'start' entry submitted with POST request. After that client must periodically submit other events with respect to payload constraints specified for each event type. Every session is bound to single video resource so trying to create new journal entry with session associated with different video or client will result in HTTP error response: 403 Forbidden.

New events reset session (see expiration param) life for defined expiration period. If client fails to submit new events in this time span then session gets expired and no new events can be submited to it. In such case 409 Conflict response is returned for any attempt to create new entries in expired session.

Note: Same 409 Conflict response is also returned when provided session never existed so there is no clear way to distinguish nonexisting sessions from expired.

Note: currently only 'engagement' event is available as a mean to keep video session alive.

session transport

Session identifier can be transported in two ways:

  1. Using cookies: Content API sets appropriate cookie using Set-Cookie header. Session identifies will change with every successful session creation (event:'start'). Age of session cookie matches expiration period of tracked session. Browser client developers should remember that they need to enable XMLHttpRequest.withCredentials option which by default is false in order to send cookies in cross-site requests.

  2. Using session field in Journal entry representation. This is useful for clients that do not implement cookie storage or require to track events simultaneously for multiple videos and what may be impossible to achieve with cookie-based session.

Important: 'session' key in entry representation takes alwas precedence over cookie value. This means that if client relies only on cookie-based session then it must ALWAYS set session field to null

video identification without video ID

Most clients have no problem with constructing journal URI for specific video because video identifier is already available for every representation of video resources served by Content API. Anyway there may be some use cases when specific service wants to provide video tracking information without the knowledge of this identifier and this content might be already indexed within Content API service. In such case the special 'guess' string must be substituted as <video_id> in URI template and additional guess object will be used by Content API to identify the video. Semantic of this object is different for every OVP but structure always remains the same:

{
    "ovp": "<ovp name>",
    "hint": "<hint string>"
}

Important: if video identifier is unknown and guessing is used instead then the guess object MUST NOT change for whole tracked session an MUST be provided with every event request. Not following this constraint may result in 409 Conflict HTTP response.

Summary of data expected in guess object for different OVPs:

OVP name <ovp name> hint_string
Dailymotion 'DAILYMOTION' Dailymotion's video ID
MRSS channel 'MRSS' Video/Stream URI without query part

event payloads

Some events expect additional payload object that contain specific event parameters. Structure of this payload is defined for every event type.

Event Payload Details
start null this event expects no payload
engagement {start: int, end: int} video timeframe seen by user since last event

Parameters:

Fields:

Name Type Readonly Details
session string No

Unique session identifier for single video view session (overrides session stored in cookie)

event string No

Event type of journal entryAvailable choices: ('start', 'engagement')

payload object No

Event-specific payload object

guess object No

OVP-specific video identification hint object.

Stats

/v0/stats

Allowed methods: ['GET', 'OPTIONS']

Experimental endpoint for providing video content statistics via faceting.

This endpoint provides additional hits key in the meta section of its response. It explains how many documents is available in general. This information is especially useful for validating if the low value of limit param does not significantly reduce the scope of statistics query.

For list of available statistics see Fields section.

Parameters:

Fields:

Name Type Readonly Details
ovp object Yes

OVP statistics

language object Yes

Language statistics

mode object Yes

Mode statistics

channel object Yes

Dailymotion channel statistics

mime_type object Yes

MIME-type statistics

video_category object Yes

Video category statistics

season_id object Yes

Statistics per season_id value.

seasons object Yes

Composite series/seasons statistics. Returned in form of <tv_series_id><tv_season_id>: .

Ranges

/v0/ranges

Allowed methods: ['GET', 'OPTIONS']

Experimental endpoint for providing range statistics via faceting.

Parameters:

Fields:

Name Type Readonly Details
created_date object Yes

Facet statistics for videos