Screener Room Details
Returns details of the screener room.
Endpoint
GET v2/watch/content/screener-rooms/{screener_room_key}
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
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
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
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
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 |