Publish Details
Creates a Publish entry using the provided details and generates associated screeners. The screeners are configured based on the metadata and access settings specified in the request, and are made available to the viewers.
Note: Only users who are Owners, Global Admins, Admins, Analysts or Publishers on the project can call this API. Others will be denied access.
Endpoint
Headers
The JWT Access token should be passed in the authorization header for all APIs.
Header | Value |
---|---|
Authorization | JWT token |
Request Body
{
"name": "publish-x",
"delivery": {
"mode": "Email",
"reminder_email_enabled": false,
},
"user_auth": false,
"screener_auth": "2FA",
"offline_streaming": false,
"start_date": "EPOCH TIME",
"expiry_date": "EPOCH TIME",
"max_views": 5,
"watermark_type": "OVWM",
"videos": [
"vid-01jphcn09q0x4csz5f31madp5s",
"vid-03jphcn09q0x4csz5f31madcvd"
],
"viewer_list": [
{
"name": "name1",
"email": "name1@example.com",
"watermark_text": "watermark_text_1"
},
{
"name": "name2",
"email": "name2@example.com",
"watermark_text": "watermark_text_2"
}
]
}
Parameters | Type | Description | Optional/ Required |
---|---|---|---|
start_date |
Integer | Start date for the publish, in epoch format | Required |
expiry_date |
Integer | Expiry date for the publish, in epoch format | Required |
max_views |
Integer | Maximum number of views allowed per viewer | Required |
user_auth |
Boolean | Indicates whether the viewer must log in to access the screener. When enabled, users are required to authenticate using their credentials before being allowed to view the content. |
Required |
screener_auth |
String | Specifies the type of authentication required to view the screener. Supported values include < 2FA (two-factor authentication) and PWD (password-based authentication). This determines the level of identity verification the viewer must complete before accessing the content. |
Optional |
delivery |
Dict | Contains mode and reminder_email_enabled fields |
Required |
mode |
String | Mode of delivery (Email or Link ) |
Required |
offline_streaming |
Boolean | Flag that specifies whether the screener can be downloaded and watched offline. When set to true, the video will be available for temporary offline playback. This feature is typically used to enable secure offline viewing through supported apps or platforms |
Optional |
reminder_email_enabled |
Boolean | Indicates whether a reminder email should be sent to the viewer. This is only applicable when the delivery mode is Email . If enabled, a screener expiry reminder email will be sent approximately 24 hours before the screener expires. |
Optional (Required if mode is Email) |
name |
String | A name for the publish | Optional |
watermark_type |
String | Type of watermark: NOWM , OVWM , FOWM , FBWM |
Required |
videos |
List | List of video keys to be published | Required |
viewer_list |
JSON | List of viewer objects based on delivery and watermark config |
Conditional (see below) |
Watermark Types
Code | Description |
---|---|
NOWM | No Watermark |
OVWM | Overlay Watermark |
FOWM | Forensic Watermark |
FBWM | Forensic + Burned Watermark |
Viewer List Rules
If mode = Link
inside delivery dict
watermark_type = NOWM
watermark_type = OVWM / FOWM / FBWM
viewer_list = [
{ "watermark_text": "watermark_text_1" },
{ "watermark_text": "watermark_text_2" }
]
or (name is optional here)
viewer_list = [
{ "name": "name_1", "watermark_text": "watermark_text_1" },
{ "name": "name_2", "watermark_text": "watermark_text_2" }
]
watermark_type = OVWM / FOWM / FBWM
andscreener_auth = PWD
viewer_list = [
{ "watermark_text": "watermark_text_1", "password": "pass1" },
{ "watermark_text": "watermark_text_2", "password": "pass2" }
]
watermark_type = OVWM / FOWM / FBWM
andscreener_auth = 2FA
viewer_list = [
{ "watermark_text": "watermark_text_1" },
{ "watermark_text": "watermark_text_2" }
]
If mode = Email
inside delivery dict
watermark_type = NOWM
viewer_list = [
{
"name": "name_1",
"email": "name1@example.com",
},
{
"name": "name_2",
"email": "name2@example.com",
}
]
watermark_type = OVWM / FOWM / FBWM
viewer_list = [
{
"name": "name1",
"email": "name1@example.com",
"watermark_text": "watermark_text_1"
},
{
"name": "name2",
"email": "name2@example.com",
"watermark_text": "watermark_text_2"
}
]
watermark_type = OVWM / FOWM / FBWM
andscreener_auth = PWD
viewer_list = [
{
"name": "name1",
"email": "name1@example.com",
"watermark_text": "watermark_text_1",
"password": "pass1"
},
{
"name": "name2",
"email": "name2@example.com",
"watermark_text": "watermark_text_2",
"password": "pass2"
}
]
watermark_type = OVWM / FOWM / FBWM
andscreener_auth = 2FA
viewer_list = [
{
"name": "name1",
"email": "name1@example.com",
"watermark_text": "watermark_text_1",
},
{
"name": "name2",
"email": "name2@example.com",
"watermark_text": "watermark_text_2",
}
]
Response Body
{
"status_code": "A3200",
"status_message": " Screener generation completed successfully",
"key": "cmp-01jpkr210k06fs2h9dsem123sb",
"name": "publish-x",
"delivery": {
"mode": "Email",
"reminder_email_enabled": false,
},
"start_date": "EPOCH TIME",
"expiry_date": "EPOCH TIME",
"max_views": 5,
"watermark_type": "OVWM",
"screener_auth": "2FA",
"offline_streaming": false,
"videos": [
"vid-01jphcn09q0x4csz5f31madp5s",
"vid-03jphcn09q0x4csz5f31madcvd"
],
"total_screener_room_count": 2,
"total_screener_count": 4,
"generated_screener_count": 4,
"screener_rooms": [
{
"total_screeners": 2,
"viewer": "name1",
"screener_room_link": "http://localhost:3001/enterprise/screeners/room?screener_room_key=scr-01k082gm0qzm0tgghx0pqttf7gep3zng"
},
{
"total_screeners": 2,
"viewer": "name2",
"screener_room_link": "http://localhost:3001/enterprise/screeners/room?screener_room_key=scr-01k082gkstxsys6yztts7ww6x1rkgqfb"
}
]
}
Field | Type | Description |
---|---|---|
status_code |
String | Indee provided status code. |
status_message |
String | The message associated with the status |
start_date |
Integer | Start date for the publish, in epoch format |
expiry_date |
Integer | Expiry date for the publish, in epoch format |
max_views |
Integer | Maximum number of views allowed per viewer |
delivery |
Dict | Contains mode and reminder_email_enabled fields |
mode |
String | Mode of delivery (Email or Link ) |
reminder_email_enabled |
Boolean | Indicates whether a reminder email should be sent to the viewer. This is only applicable when the delivery mode is Email . If enabled, a screenerexpiry reminder email will be sent approximately 24 hours before the screener expires. |
name |
String | A name for the publish |
watermark_type |
String | Type of watermark: NOWM , OVWM , FOWM , FBWM |
key |
String | The unique key of the publish. |
videos |
List | List of video keys published |
screener_auth |
String | Specifies the type of authentication required to view the screener. Supported values include 2FA (two-factor authentication) and PWD (password-based authentication). This determines the level of identity verification the viewer must complete before accessing the content. |
offline_streaming |
Boolean | Flag that specifies whether the screener can be downloaded and watched offline. When set to true, the video will be available for temporary offline playback. This feature is typically used to enable secure offline viewing through supported apps or platforms |
total_screener_room_count |
Integer | Total number of screener rooms to be created. This is equal to the number of viewers. |
total_screener_count |
Integer | Total number of screeners to be generated. This is calculated as the number of viewers multiplied by the number of published videos. |
generated_screener_count |
Integer | Number of screeners that have been generated so far. |
screener_rooms |
Dict | A dictionary containing details for each screener room, including total_screeners , viewer , and screener_room_link . |
total_screeners |
Integer | Number of screeners in a specific screener room. This equals the number of published videos. |
viewer |
String | Name of the viewer provided at the time of publishing. If no name is given, the watermark text is used instead. |
screener_room_link |
URL | URL link to access the screener room. |
Error and Success Codes
For error codes and success codes, see Common Error Codes section.