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