Screener Room Video Retrieve

watch.content.screener_room_video.retrieve

This API returns the details of a single title within a screener room, including its screening window, authentication requirements and watermarking configuration.

Headers

Header Value
Authorization Bearer api_key
ClientID platform-\<id>-app_version-\<id>

The ClientID header is required. It must have four hyphen-separated components, and the first component must be one of web, roku, firestick, fireos, appletv, ipad, tizen.

Endpoint

GET v2/watch/content/screener-rooms/{screener_room_key}/videos/{video_key}

Response Body

    {
        "key": "vid-01j1pagnn41xv3hwg8v3sqbmxx",
        "name": "ABC",
        "poster": "https://media.indee.tv/poster.jpg?Expires=...&Signature=...&Key-Pair-Id=...",
        "duration_in_sec": 5460,
        "offline_download_size": 1073741824,
        "cast_and_crew": [
            {
                "name": "Mark",
                "role": "Lead Actor"
            }
        ],
        "description": "Documentary series on wildlife",
        "subtitles": [
            {
                "file": "https://media.indee.tv/subtitle.vtt?Expires=...&Signature=...&Key-Pair-Id=...",
                "default": true,
                "label": "English",
                "active": true
            }
        ],
        "hdr_standard": "hdr10",
        "is_cmaf_enabled": true,
        "season": 2,
        "episode": 5,
        "original_air_date": 1719599515,
        "screening_details": {
            "screener_key": "scr-01j1pagnn41xv3hwg8v3sqbmxx",
            "expired": false,
            "max_views": 3,
            "views_consumed": 1,
            "start_date": 1719599515,
            "expiry_date": 1722191515,
            "offline": false
        },
        "auth_details": {
            "mode": "2fa",
            "ident": {
                "country_code": "1",
                "phone": "4567"
            }
        },
        "overlay_watermark_details": {
            "text": "viewer@example.com",
            "opacity": 40,
            "position": 3,
            "interval_in_seconds": 600,
            "duration_in_seconds": 20,
            "image_link": "https://media.indee.tv/watermark.png?Expires=...&Signature=...&Key-Pair-Id=..."
        },
        "resume_playback": {
            "from_second": 1830
        },
        "status_code": "W0000",
        "status_message": "Success"
    }
Field Type Description
key String Unique key of the title.
name String Name of the title.
poster String Link to the poster image.
duration_in_sec Integer Duration of the title in seconds.
offline_download_size Integer Size of the offline download in bytes.
cast_and_crew JSON List of cast and crew members, each with a name and a role.
description String Description of the title.
subtitles JSON The default active subtitle track, as a single-element list. Empty if the title has none.
subtitles[].file String Link to the subtitle file.
subtitles[].default Boolean Whether this is the default subtitle track.
subtitles[].label String Display label for the subtitle track.
subtitles[].active Boolean Whether the subtitle track is active.
hdr_standard String The HDR standard the title was mastered in. null when HDR is not enabled for the product or the title is not HDR.
is_cmaf_enabled Boolean Whether the title is available as CMAF packaged content.
season Integer Season number for episodic titles.
episode Integer Episode number for episodic titles.
original_air_date Integer Original air date as a Unix timestamp. null if not set.
screening_details JSON The screening window and view allowance for this title.
screening_details.screener_key String Unique key of the screener, used to start playback.
screening_details.expired Boolean Whether the screener has expired.
screening_details.max_views Integer Maximum number of views allowed.
screening_details.views_consumed Integer Number of views already consumed.
screening_details.start_date Integer Start of the screening window as a Unix timestamp.
screening_details.expiry_date Integer End of the screening window as a Unix timestamp.
screening_details.offline Boolean Whether offline viewing is permitted.
auth_details JSON The additional authentication the screener requires before playback. Empty when none is required.
auth_details.mode String Either password or 2fa.
auth_details.ident JSON For 2fa, the partially masked phone number the passcode is sent to. null when no number is registered yet, and for password.
auth_details.ident.country_code String Country code of the registered phone number.
auth_details.ident.phone String Last four digits of the registered phone number.
overlay_watermark_details JSON Overlay watermark configuration. Empty when the screener's security level does not include an overlay watermark.
overlay_watermark_details.text String Text to render in the watermark.
overlay_watermark_details.opacity Integer Opacity of the watermark as a percentage.
overlay_watermark_details.position Integer Position of the watermark on the player surface.
overlay_watermark_details.interval_in_seconds Integer Interval between watermark appearances, in seconds.
overlay_watermark_details.duration_in_seconds Integer How long the watermark stays visible, in seconds.
overlay_watermark_details.image_link String Link to the watermark image.
resume_playback JSON Where to resume playback from. Empty when resume playback is disabled for the product, when there is no recorded position, or when the screener allows more than 20 views.
resume_playback.from_second Integer Playback position to resume from, in seconds.
status_code String The Indee status code for the response.
status_message String Human readable message describing the response.

Status Codes

Indee status code HTTP Response Code Description
W0000 HTTP 200 Success
W2000 HTTP 401 Authorization header was either not passed or there was some issue parsing it
W2001 HTTP 401 API key is invalid or expired, or is not fully configured
W2009 HTTP 401 ClientID header was either not passed or is malformed
W2100 HTTP 403 Not authorized for this title. Raised when the origin domain is not whitelisted, the screener requires a signed-in viewer, link-type screeners are not permitted for this product, or the screener belongs to a different watch product
W2108 HTTP 403 Watch product is inactive
W2102 HTTP 451 Request blocked by geofencing for the resolved region
W4100 HTTP 400 The specified video key does not exist, or is not a top level title
W4201 HTTP 400 No active screener exists for this title in the specified screener room
W5001 HTTP 429 Rate limited
W5000 HTTP 500 Unknown server error occurred