Skip to content

Screener Room Details

Returns details of the screener room.

Endpoint

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

Headers

Header Value
Authorization Bearer api_key

Response Body

    {
        "key": <str>,
        "force_login": <bool>,
        "recipient": {
            "email": <str>,
            "name": <str>,
        },
        "project": {
            "key": <str>,
            "name": <str>,
            "episodic": <bool>,
            "seasons": [<int>],
            "poster": <url> | null,
            "banner": <url> | null,
            "description": <str>,
            "cast_and_crew": [
                {
                    "name": <str>,
                    "role": <str>
                },
                .
                .
            ],
        },
        "status_code": <status_code>
    }

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
W2003 HTTP 401 Invalid auth token
W2101 HTTP 403 API key not authorized to perform this action
W5001 HTTP 429 Rate limited
W5000 HTTP 500 Unknown server error occurred

Screener Room Video Listing

This API lists all the videos inside the screener room.

Endpoint

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

Headers

Header Value
Authorization Bearer api_key

Query Parameters

Parameter Type Required Description
q String Optional Filter videos by substring in the name.
season String Optional Filter videos by season in case of episodic projects.
page Integer Optional Page number of the results. The default value is 1.
limit Integer Optional Number of results per page. The default value is 12. You can set it up to 30.

Response Body

    {
        "count": 30,
        "next": "example.com",
        "previous": "example.com",
        "results": [
            "key": "vid-01j1pagnn41xv3hwg8v3sqbmxx",
            "name": "ABC",
            "poster": "example.com",
            "duration_in_seconds": 120,
            "cast_and_crew": <json>, 
            "description": "Documentary series on wildlife", 
            "subtitles": <json>,
            "is_cmaf_enabled": true,
            "season": 3,
            "episode": 27,
            "original_air_date": <iso date>,
            "screening_details": {
                "expired": false,
                "max_views": 10,
                "views_consumed": <int>,
                "start_date": <int>, # epoch timestamp
                "expiry_date": <int> # epoch timestamp
            },
            "auth_details": {
                "password_auth": true,
                "two_fa_auth": true,
            },
            "overlay_watermark_details": {
                "text": "b6979d3901",
                "opacity": 60,
                "position": 1,
                "interval_in_seconds": 300,
                "duration_in_seconds": 20,
                "image_link": "https://media.indee.tv/524/video/5766/screener/scn-01hymr1mq2bb2gjvq5fjptq8ehpxvlhv.png?Expires=1734168940&Signature=nW85-SWjwKjWEb8iB4BC4dpddfn9LAvyQd~yXWNBujU9mWxJa4mXTbRgGcvANa5kHR27qT8RvZ2Up0XbOqn8UmwvO~P3qkFZQEsIW0wEs2vutUNzzzEwzYNTwwhPzLS-HRH7vJ9YKzrQaFkgEhWgr2NbeWghCyyWiGPI2HdXOyvEG2pglBxNHG047hkX0sJoIckxlrocB9F~4kNlElgl09um0K1CvMTM1qqlY~4RO8OgsIc5m4VOR7T4xwEWoVG4xMARp9DPKPbxPCT4-x4tjtJHJ6owPEVpAI5rvZNDINNa3jyp-VNqh15rvgvsHdWDLzUb~UGM6NhkT7p69eYM6Q__&Key-Pair-Id=K3HM5NS5Q9EXLB"
            }
        ]
            },
            .
            .
            .
        ]
    }
Parameter Type Description
key String The unique key for the video.
name String Name of the video.
poster String Link to the poster image.
duration_in_seconds Integer Video duration in seconds.
cast_and_crew JSON Cast and crew details for the video.
subtitles JSON Subtitle details for the video.
is_cmaf_enabled Boolean Indicates whether the video stream is CMAF.
season Integer Season that the video belongs to. This is present if the project is episodic, otherwise the value is null.
episode Integer Episode number that the video is tied to. This is present if the project is episodic, otherwise the value is null.
original_air_date ISO date The original air date for the video in ISO format.
screening_details String This contains screening-related details for the video like the view count data, expiry etc.
expired Boolean Indicates whether or the video is available for viewing.
max_views Integer The number of views which were available on the video.
views_consumed Integer The number of views consumed so far.
start_date Integer The time from which the video was available for viewing.
auth_details JSON This contains auth-related details for the video such as whether it requires a password or a pass code to play.
password_auth Boolean Indicates whether the video needs password to play.
two_fa_auth Boolean Indicates whether the video needs a passcode to play.
overlay_watermark_details JSON Contains the details for the overlay watermark which the viewing application needs to put on top of the video stream.
text String The overlay watermark text.
opacity Integer Opacity level (in percentage) for the overlay watermark.
position Integer Position for the overlay watermark (15-point grid).
interval_in_seconds Integer The interval in seconds at which the overlay watermark needs to be displayed (If this is 0, it means the overlay watermark should appear throughout the duration of the video).

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
W2003 HTTP 401 Invalid auth token
W2101 HTTP 403 API key not authorized to perform this action
W5001 HTTP 429 Rate limited
W5000 HTTP 500 Unknown server error occurred

Screener Reactivation Request

If a screener has expired and can't be watched anymore, this endpoint can be used to request for a reactivation.

Endpoint

POST v2/watch/content/screeners/{screener_key}/reactivate

Headers

If the product does not allow for link type screeners and force-login has been enabled for the screener, a JWT token is mandatory to be passed in the Authorization header.

Note: The force_login flag on the screener currently only applies to Publicity screeners.

Header Value
Authorization JWT token

If the product allows link type screeners and the force-login has not been enabled for the screener, the API key can be passed in the Authorization header for authentication.

Header Value
Authorization Bearer api_key

Request Body

    {
        "email": "abc@example.com",
        "message": <str>
    }
| Parameter | Type | Requirement | Description | |-----------------|----------------------------|--------|-------------------------------------| | email | String | Required | Email ID of the user for whom the screener reactivation is requested. | | message | String | Required | Message to be displayed to the user regarding the reactivation. |

Response Body

    {
        "status_code": <status_code>,
        "detail": <str>
    }

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
W2003 HTTP 401 Invalid auth token
W2101 HTTP 403 API key not authorized to perform this action
W5001 HTTP 429 Rate limited
W5000 HTTP 500 Unknown server error occurred

Screener 2FA Registration

If the screener has two-factor authentication (phone verification) security enabled, this endpoint will be used to register the user's phone number to be linked with it.

Endpoint

POST v2/watch/content/screeners/{screener_key}/2fa

Headers

If the product does not allow for link type screeners and force-login has been enabled for the screener, a JWT token is mandatory to be passed in the Authorization header. Note: The force_login flag on the screener currently only applies to Publicity screeners.

Header Value
Authorization JWT token

If the product allows link type screeners and the force-login has not been enabled for the screener, the API key can be passed in the Authorization header for authentication.

Header Value
Authorization Bearer api_key

Request Body

    {
        "phone": <int>,
        "country_code": <int>
    }
Parameter Type Requirement Description
phone Integer Required Phone number of the user to whom the 2FA registration is being linked.
country_code Integer Required Country code of the user's phone number.

Response Body

    {
        "status_code": <status_code>,
        "detail": <str>
    }

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
W2003 HTTP 401 Invalid auth token
W2101 HTTP 403 API key not authorized to perform this action
W5001 HTTP 429 Rate limited
W5000 HTTP 500 Unknown server error occurred

Screener 2FA OTP Request

Related to the endpoint above. Once the user's phone number is linked, this endpoint will be used to request for an OTP to start playback.

Endpoint

GET v2/watch/content/screeners/{screener_key}/2fa

Headers

If the product does not allow for link type screeners and force-login has been enabled for the screener, a JWT token is mandatory to be passed in the Authorization header. Note: The force_login flag on the screener currently only applies to Publicity screeners.

Header Value
Authorization JWT token

If the product allows link type screeners and the force-login has not been enabled for the screener, the API key can be passed in the Authorization header for authentication.

Header Value
Authorization Bearer api_key

Response Body

    {
        "status_code": W0000,
        "detail": "Success"
    }

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
W2003 HTTP 401 Invalid auth token
W2101 HTTP 403 API key not authorized to perform this action
W5001 HTTP 429 Rate limited
W5000 HTTP 500 Unknown server error occurred