AlphaOTT API (1.0.9)

Download OpenAPI specification:Download

Flow:

  1. Get app config
    • Use public/private url from config.json as API endpoint
  2. Login or Register to get authentication token
    • Use access_token in Authorization header
  3. Get customer
  4. Get promos by customer.services[i].type === ['LIVE_TV', 'CATCHUP_TV', 'RADIO', 'VOD', 'APPS']
  5. Get subscriptions - {private_api}/client/api/subscriptions (not described yet in Docs)
  6. Get service-provider - {public_api}/client/api/service-provider (not described yet in Docs)
  7. Get customer device limits every config.limits.interval seconds while a user watches tv/movie content (only if a feature is switched on config.limits.enabled)
  8. Get channels by customer.services[i].type === 'LIVE_TV'
  9. Get movies by customer.services[i].type === 'VOD'
  10. Update user profile
  11. Change user password

Authentication

JWT

Example:

Authorization: JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzIOiJPazhCYzNmc0o0RGcwZGg2YkRIOWJkOHdnMWdjZXQiLCJjbGllbIxNzguNzQuODSI6eyJfaWQiOiJiN2JlYmNjMy0xZWJjLTQ3MmUtODI1Ni0yNTg2ZmEyMDc3NjAiLCJ0eXBlIjoiVU5LTk9XTiIsInBsYXRmb3JtIjoiR0VORVJJQyIsInNlcmlhbCI6IjZBRUE2MDU5MzE3RjczRiIsIm1hYyI6IkYzOjFGOjY6RDM6Q0U6OTcifSwiZ3JhbnRfc2NvcGUiOiJjbGllbnQtYXBpIiwiZ3JhbnRfdHlwZSI6ImFjY2Vzc190b2tlbiIsImlhdCI6MTUzNDQ4Nzg5OCwiZXhwIjoxNTM0NTc0Mjk4LCJhdWQiOiJ6YWFwdHYiLCJpc3MiOiJjbG91ZGFudGVubmUuY2giLCJzdWIiOiI1YTBkMzcxYmY2ZjNjMTAwMDExNTQ1YzgiLCJqdGkiOiJFbGlTVW9kRXlucWZmWVdlIn0.wgQtIVVT2XkbpEV39Dh4Tw67IL9XP2bxOMGIjArHFKQ
Security Scheme Type API Key
Header parameter name: Authorization

Core

App Config

Get app config

Responses

200

OK

451

Geoblocked error

get/client/api/config.json

AlphaOTT [production]

http://mw.{brand}.com/client/api/config.json

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/config.json

Response samples

Content type
application/json
Copy
Expand all Collapse all
{}

API Version

Responses

200

OK

get/client/api/version

AlphaOTT [production]

http://mw.{brand}.com/client/api/version

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/version

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "version": "1.1.8"
}

System Status

Responses

200

OK

get/client/api/status

AlphaOTT [production]

http://mw.{brand}.com/client/api/status

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/status

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "status": "OK"
}

checkCustomerDeviceLimits Deprecated

Use /client/api/customer/device/online instead of /client/api/stats/impression

Authorizations:
query Parameters
contentId
string
Example: contentId=5915c3e3201c2313ee14be2f

Content ID

contentType
string
Enum: "tv" "vod"
Example: contentType=tv

Content Type

Responses

200

OK

400

Bad Request

403

Exceeded Device Limit

post/client/api/stats/impression

AlphaOTT [production]

http://mw.{brand}.com/client/api/stats/impression

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/stats/impression

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "status": "OK"
}

Get country list

Responses

200

OK

get/client/api/countries

AlphaOTT [production]

http://mw.{brand}.com/client/api/countries

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/countries

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

checkCustomerDeviceLimits

Authorizations:
query Parameters
contentId
string
Example: contentId=5915c3e3201c2313ee14be2f

Content ID

contentType
string
Enum: "tv" "vod" "tvShow" "catchUp"
Example: contentType=tv

Content Type

Responses

200

OK

400

Bad Request

403

Exceeded Device Limit

post/client/api/customer/device/online

AlphaOTT [production]

http://mw.{brand}.com/client/api/customer/device/online

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/customer/device/online

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "status": "OK"
}

Auth

Authentication methods for the specific device

query Parameters
device[id]
required
string
Example: device[id]=4e8e8494-ef9f-4bc1-9c65-31ef1e372f05

Device ID

device[type]
required
string
Enum: "UNKNOWN" "STB" "PC" "TV" "MOBILE" "TABLET"
Example: device[type]=UNKNOWN

Device type

device[model]
required
string
Example: device[model]=Gecko

Device model

device[platform]
required
string
Example: device[platform]=BROWSER

Device platform

device[brand]
required
string
Example: device[brand]=Google Inc.

Device brand

device[serial]
required
string
Example: device[serial]=23831B2EBD5BA09F

Device serial

device[mac]
required
string
Example: device[mac]=FD:8D:73:34:CF:BE:BE:56

Device mac address

Responses

200

OK

400

Bad Request

post/client/auth/methods

AlphaOTT [production]

http://mw.{brand}.com/client/auth/methods

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/auth/methods

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "isNew": true,
  • "authMethods":
    [
    ]
}

User Authorization

Authorizations:
Request Body schema: application/json
One of
  • code
response_type
required
string
Value: "code"
response_mode
string
Default: "json"
Enum: "query" "fragment" "form_post" "json" "redirect"
client_id
required
string
client_secret
required
string
scope
required
string
Value: "client-api"
state
string

The state string, which service returns without making any changes. The maximum length of the string is 1024 characters. You can use it for protection from CSRF attacks or for identifying the user that a token is requested for

device
required
object

Responses

200

OK

302

OK

400

Bad Request

451

Geoblocked error

post/client/auth/authorize

AlphaOTT [production]

http://mw.{brand}.com/client/auth/authorize

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/auth/authorize

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "response_type": "code",
  • "response_mode": "json",
  • "client_id": "Ok8Bc3fsJ4Dg0dh6bDH9bd8wg1gcet",
  • "client_secret": "PodF2Bfe4D6Bfbdi4uYt6ee9DURIfy7IguIgRd",
  • "scope": "client-api",
  • "state": "xyz",
  • "device":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{}

Authorization Token Exchange

Request Body schema: application/json
One of
  • password
  • refresh_token
  • authorization_code
  • firebase
grant_type
required
string
Value: "password"
password
required
string <password>
username
required
string <email>
client_id
required
string
client_secret
required
string
device
required
object

Responses

200

OK

400

Bad Request

451

Geoblocked error

post/client/auth/token

AlphaOTT [production]

http://mw.{brand}.com/client/auth/token

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/auth/token

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "grant_type": "password",
  • "password": "password",
  • "username": "example@mail.com",
  • "client_id": "Ok8Bc3fsJ4Dg0dh6bDH9bd8wg1gcet",
  • "client_secret": "PodF2Bfe4D6Bfbdi4uYt6ee9DURIfy7IguIgRd",
  • "device":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "expires_in": 300,
  • "token_type": "JWT",
  • "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGllbnRfaWQiOiJPazhCYzNmc0o0RGcwZGg2YkRIOWJkOHdnMWdjZXQiLCJjbGllbnRfaXAiOiI6OjEiLCJkZXZpY2UiOnsiX2lkIjoiNGU4ZTg0OTQtZWY5Zi00YmMxLTljNjUtMzFlZjFlMzcyZjA1IiwidHlwZSI6IlVOS05PV04iLCJwbGF0Zm9ybSI6IkJST1dTRVIiLCJzZXJpYWwiOiJEQTA5NEI5NTA2MDhEOEJBIiwibWFjIjoiODI6OTA6QTg6NTk6RDI6QjE6QzA6NzYifSwiZ3JhbnRfc2NvcGUiOiJjbGllbnQtYXBpIiwiZ3JhbnRfdHlwZSI6ImFjY2Vzc190b2tlbiIsImlhdCI6MTU0Mjc3OTkzNywiZXhwIjoxNTQyNzgwMjM3LCJhdWQiOiJ6YWFwdHYiLCJpc3MiOiJjbG91ZGFudGVubmUuY2giLCJzdWIiOiI1YmY0ZjQyMWY3MTZjZjJiZTk1NzE1MDkiLCJqdGkiOiJOWjJUSUNMWUpIMTRBSEtuIn0.iqVLPtqkpQTV9l93y6GGwN7KfNMc86smhg3Ol9MHt2g",
  • "refresh_token": "JWT:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGllbnRfaWQiOiJPazhCYzNmc0o0RGcwZGg2YkRIOWJkOHdnMWdjZXQiLCJkZXZpY2UiOnsiX2lkIjoiNGU4ZTg0OTQtZWY5Zi00YmMxLTljNjUtMzFlZjFlMzcyZjA1IiwidHlwZSI6IlVOS05PV04iLCJwbGF0Zm9ybSI6IkJST1dTRVIiLCJzZXJpYWwiOiJEQTA5NEI5NTA2MDhEOEJBIiwibWFjIjoiODI6OTA6QTg6NTk6RDI6QjE6QzA6NzYifSwiZ3JhbnRfc2NvcGUiOiJjbGllbnQtYXBpIiwiZ3JhbnRfdHlwZSI6InJlZnJlc2hfdG9rZW4iLCJpYXQiOjE1NDI3Nzk5MzcsImV4cCI6MTU0MzM4NDczNywiYXVkIjoiemFhcHR2IiwiaXNzIjoiY2xvdWRhbnRlbm5lLmNoIiwic3ViIjoiNWJmNGY0MjFmNzE2Y2YyYmU5NTcxNTA5IiwianRpIjoiTloyVElDTFlKSDE0QUhLbiJ9.VUs5sxSd1c49lxA00tA4dPPMmIlrfLx9Qh38CY6qeY0",
  • "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGllbnRfaWQiOiJPazhCYzNmc0o0RGcwZGg2YkRIOWJkOHdnMWdjZXQiLCJjbGllbnRfaXAiOiI6OjEiLCJkZXZpY2UiOnsiX2lkIjoiNGU4ZTg0OTQtZWY5Zi00YmMxLTljNjUtMzFlZjFlMzcyZjA1IiwidHlwZSI6IlVOS05PV04iLCJwbGF0Zm9ybSI6IkJST1dTRVIiLCJzZXJpYWwiOiJEQTA5NEI5NTA2MDhEOEJBIiwibWFjIjoiODI6OTA6QTg6NTk6RDI6QjE6QzA6NzYifSwiZ3JhbnRfc2NvcGUiOiJjbGllbnQtYXBpIiwiZ3JhbnRfdHlwZSI6ImFjY2Vzc190b2tlbiIsImlhdCI6MTU0Mjc3OTkzNywiZXhwIjoxNTQyNzgwMjM3LCJhdWQiOiJ6YWFwdHYiLCJpc3MiOiJjbG91ZGFudGVubmUuY2giLCJzdWIiOiI1YmY0ZjQyMWY3MTZjZjJiZTk1NzE1MDkiLCJqdGkiOiJOWjJUSUNMWUpIMTRBSEtuIn0.iqVLPtqkpQTV9l93y6GGwN7KfNMc86smhg3Ol9MHt2g"
}

Sign up

Request Body schema: application/json
password
required
string <password>

Clients should confirm password on their side

email
required
string <email>
client_id
required
string
client_secret
required
string
device
required
object

Responses

200

OK

400

Bad Request

post/client/auth/signup

AlphaOTT [production]

http://mw.{brand}.com/client/auth/signup

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/auth/signup

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "password": "password",
  • "email": "oliver.queen@mail.com",
  • "client_id": "Ok8Bc3fsJ4Dg0dh6bDH9bd8wg1gcet",
  • "client_secret": "PodF2Bfe4D6Bfbdi4uYt6ee9DURIfy7IguIgRd",
  • "device":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "expires_in": 300,
  • "token_type": "JWT",
  • "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGllbnRfaWQiOiJPazhCYzNmc0o0RGcwZGg2YkRIOWJkOHdnMWdjZXQiLCJjbGllbnRfaXAiOiI6OjEiLCJkZXZpY2UiOnsiX2lkIjoiNGU4ZTg0OTQtZWY5Zi00YmMxLTljNjUtMzFlZjFlMzcyZjA1IiwidHlwZSI6IlVOS05PV04iLCJwbGF0Zm9ybSI6IkJST1dTRVIiLCJzZXJpYWwiOiJEQTA5NEI5NTA2MDhEOEJBIiwibWFjIjoiODI6OTA6QTg6NTk6RDI6QjE6QzA6NzYifSwiZ3JhbnRfc2NvcGUiOiJjbGllbnQtYXBpIiwiZ3JhbnRfdHlwZSI6ImFjY2Vzc190b2tlbiIsImlhdCI6MTU0Mjc3OTkzNywiZXhwIjoxNTQyNzgwMjM3LCJhdWQiOiJ6YWFwdHYiLCJpc3MiOiJjbG91ZGFudGVubmUuY2giLCJzdWIiOiI1YmY0ZjQyMWY3MTZjZjJiZTk1NzE1MDkiLCJqdGkiOiJOWjJUSUNMWUpIMTRBSEtuIn0.iqVLPtqkpQTV9l93y6GGwN7KfNMc86smhg3Ol9MHt2g",
  • "refresh_token": "JWT:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGllbnRfaWQiOiJPazhCYzNmc0o0RGcwZGg2YkRIOWJkOHdnMWdjZXQiLCJkZXZpY2UiOnsiX2lkIjoiNGU4ZTg0OTQtZWY5Zi00YmMxLTljNjUtMzFlZjFlMzcyZjA1IiwidHlwZSI6IlVOS05PV04iLCJwbGF0Zm9ybSI6IkJST1dTRVIiLCJzZXJpYWwiOiJEQTA5NEI5NTA2MDhEOEJBIiwibWFjIjoiODI6OTA6QTg6NTk6RDI6QjE6QzA6NzYifSwiZ3JhbnRfc2NvcGUiOiJjbGllbnQtYXBpIiwiZ3JhbnRfdHlwZSI6InJlZnJlc2hfdG9rZW4iLCJpYXQiOjE1NDI3Nzk5MzcsImV4cCI6MTU0MzM4NDczNywiYXVkIjoiemFhcHR2IiwiaXNzIjoiY2xvdWRhbnRlbm5lLmNoIiwic3ViIjoiNWJmNGY0MjFmNzE2Y2YyYmU5NTcxNTA5IiwianRpIjoiTloyVElDTFlKSDE0QUhLbiJ9.VUs5sxSd1c49lxA00tA4dPPMmIlrfLx9Qh38CY6qeY0",
  • "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGllbnRfaWQiOiJPazhCYzNmc0o0RGcwZGg2YkRIOWJkOHdnMWdjZXQiLCJjbGllbnRfaXAiOiI6OjEiLCJkZXZpY2UiOnsiX2lkIjoiNGU4ZTg0OTQtZWY5Zi00YmMxLTljNjUtMzFlZjFlMzcyZjA1IiwidHlwZSI6IlVOS05PV04iLCJwbGF0Zm9ybSI6IkJST1dTRVIiLCJzZXJpYWwiOiJEQTA5NEI5NTA2MDhEOEJBIiwibWFjIjoiODI6OTA6QTg6NTk6RDI6QjE6QzA6NzYifSwiZ3JhbnRfc2NvcGUiOiJjbGllbnQtYXBpIiwiZ3JhbnRfdHlwZSI6ImFjY2Vzc190b2tlbiIsImlhdCI6MTU0Mjc3OTkzNywiZXhwIjoxNTQyNzgwMjM3LCJhdWQiOiJ6YWFwdHYiLCJpc3MiOiJjbG91ZGFudGVubmUuY2giLCJzdWIiOiI1YmY0ZjQyMWY3MTZjZjJiZTk1NzE1MDkiLCJqdGkiOiJOWjJUSUNMWUpIMTRBSEtuIn0.iqVLPtqkpQTV9l93y6GGwN7KfNMc86smhg3Ol9MHt2g"
}

Sign up activate

path Parameters
Token
required
string
Example: InOGX3kLDTVUZHLL5Ep5tiHIb9SA7XtO

Token

Responses

200

OK

403

Access token is not valid anymore

404

Customer not found

post/client/auth/activate/{token}

AlphaOTT [production]

http://mw.{brand}.com/client/auth/activate/{token}

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/auth/activate/{token}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "status": "OK"
}

Reset password

Request Body schema: application/json
email
required
string <email>

Responses

200

OK

400

Bad Request

post/client/auth/password/reset

AlphaOTT [production]

http://mw.{brand}.com/client/auth/password/reset

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/auth/password/reset

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "email": "oliver.queen@mail.com"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "status": "OK"
}

Reset password activation

path Parameters
Token
required
string
Example: InOGX3kLDTVUZHLL5Ep5tiHIb9SA7XtO

Token

Request Body schema: application/json
password
required
string >= 6
confirmPassword
required
string >= 6

Responses

200

OK

400

Bad Request

403

ForbiddenError

post/client/auth/password/reset/{token}

AlphaOTT [production]

http://mw.{brand}.com/client/auth/password/reset/{token}

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/auth/password/reset/{token}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "password": "password",
  • "confirmPassword": "password"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "message": "Password has been successfully changed"
}

Customer

Customer

Authorizations:

Responses

200

OK

401

API key is missing or invalid

get/client/api/customer

AlphaOTT [production]

http://mw.{brand}.com/client/api/customer

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/customer

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "_id": "5915c3bacc8e1e13969de081",
  • "title": "",
  • "firstName": "Oliver",
  • "lastName": "Queen",
  • "middleName": "",
  • "prefix": "Mr",
  • "suffix": "Sr",
  • "activated": "2017-05-12T14:16:27.134Z",
  • "created": "2017-05-12T14:16:27.134Z",
  • "email": "oliver@queen.com",
  • "serviceProvider": "alphaott",
  • "location":
    {
    },
  • "billingAddress":
    {
    },
  • "address":
    {
    },
  • "phones":
    [
    ],
  • "services":
    [
    ]
}

Update Customer Profile

Authorizations:
Request Body schema: application/json
title
string
firstName
string
lastName
string
middleName
string
prefix
string
suffix
string
billingAddress
object
address
object

Responses

200

OK

400

Bad Request

401

API key is missing or invalid

patch/client/api/customer

AlphaOTT [production]

http://mw.{brand}.com/client/api/customer

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/customer

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "title": "",
  • "firstName": "Oliver",
  • "lastName": "Queen",
  • "middleName": "",
  • "prefix": "Mr",
  • "suffix": "Sr",
  • "billingAddress":
    {
    },
  • "address":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "_id": "5915c3bacc8e1e13969de081",
  • "title": "",
  • "firstName": "Oliver",
  • "lastName": "Queen",
  • "middleName": "",
  • "prefix": "Mr",
  • "suffix": "Sr",
  • "activated": "2017-05-12T14:16:27.134Z",
  • "created": "2017-05-12T14:16:27.134Z",
  • "email": "oliver@queen.com",
  • "serviceProvider": "alphaott",
  • "location":
    {
    },
  • "billingAddress":
    {
    },
  • "address":
    {
    },
  • "phones":
    [
    ],
  • "services":
    [
    ]
}

Change Customer Password

Authorizations:
Request Body schema: application/json
oldPassword
required
string
newPassword
required
string
confirmPassword
required
string

Responses

200

OK

401

API key is missing or invalid

500

Error

post/client/api/customer/password

AlphaOTT [production]

http://mw.{brand}.com/client/api/customer/password

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/customer/password

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "oldPassword": "old_password",
  • "newPassword": "new_password",
  • "confirmPassword": "new_password"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "message": "Password has been successfully changed"
}

Get Customer Devices

Authorizations:

Responses

200

OK

401

API key is missing or invalid

get/client/api/customer/devices

AlphaOTT [production]

http://mw.{brand}.com/client/api/customer/devices

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/customer/devices

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

checkCustomerDeviceLimits

Authorizations:
query Parameters
contentId
string
Example: contentId=5915c3e3201c2313ee14be2f

Content ID

contentType
string
Enum: "tv" "vod" "tvShow" "catchUp"
Example: contentType=tv

Content Type

Responses

200

OK

400

Bad Request

403

Exceeded Device Limit

post/client/api/customer/device/online

AlphaOTT [production]

http://mw.{brand}.com/client/api/customer/device/online

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/customer/device/online

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "status": "OK"
}

Delete Customer Device

Authorizations:
path Parameters
deviceId
required
string
Example: 4e8e8494-ef9f-4bc1-9c65-31ef1e372f05

Device ID

Responses

200

OK

400

Bad Request

401

API key is missing or invalid

delete/client/api/customer/device/{deviceId}

AlphaOTT [production]

http://mw.{brand}.com/client/api/customer/device/{deviceId}

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/customer/device/{deviceId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Activate Voucher Code

Authorizations:
Request Body schema: application/json
code
required
string

Responses

200

OK

400

Error

401

API key is missing or invalid

500

Error

post/client/api/customer/voucher/activate

AlphaOTT [production]

http://mw.{brand}.com/client/api/customer/voucher/activate

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/customer/voucher/activate

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "code": "38GG-61IW-UQU8-XYKX"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "_id": "38GG61IWUQU8XYKX",
  • "code": "38GG-61IW-UQU8-XYKX",
  • "type": "ACTIVATION",
  • "status": "ACTIVE",
  • "serviceProvider": "ZaapTV™",
  • "voucherGroup": "test voucher"
}

Channels

Returns a list of channels

Examples:

  • projection is default: /client/api/servicespec/59e5b2e2a95efa0001e26ee3/tv/channels
  • projection is brief: /client/api/servicespec/59e5b2e2a95efa0001e26ee3/tv/channels?brief
path Parameters
serviceId
required
string
Example: 5915c39b1d6d2f134d69af48,5915c3defc819813c4c24cf7

Sorted string ID of the service specs to get channels separated by a comma

query Parameters
projection
string
Default: "default"
Enum: "brief" "default"

Projection is a query where we can specify the fields we would like to have returned (default is empty string)

limit
integer
Default: 50

The numbers of items to return

skip
integer
Default: 0

The number of items to skip before starting to collect the result set

sort
string
Example: sort=-rating

Specifies the order in which the query returns matching documents. If you wish sort descending by field then prefix with a - (minus)

Responses

200

OK

get/client/api/servicespec/{servcieId}/tv/channels?{projection}

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{servcieId}/tv/channels?{projection}

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{servcieId}/tv/channels?{projection}

Request samples

Copy
import { getChannelsBrief } from 'api-client/channels'
const channels = await getChannelsBrief(serviceSpecId)

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Channel Categories

path Parameters
serviceId
required
string
Example: 5915c39b1d6d2f134d69af48,5915c3defc819813c4c24cf7

Sorted string ID of the service specs to get channels separated by a comma

Responses

200

OK

get/client/api/servicespec/{servcieId}/tv/categories

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{servcieId}/tv/categories

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{servcieId}/tv/categories

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Channel Countries

Examples:

  • Default: /client/api/servicespec/59e5b2e2a95efa0001e26ee3/tv/countries
  • Posters: /client/api/servicespec/59e5b2e2a95efa0001e26ee3/tv/countries?posters
  • Cards: /client/api/servicespec/59e5b2e2a95efa0001e26ee3/tv/countries?cards
path Parameters
serviceId
required
string
Example: 5915c39b1d6d2f134d69af48,5915c3defc819813c4c24cf7

Sorted string ID of the service specs to get channels separated by a comma

query Parameters
projection
string
Default: "default"
Enum: "default" "cards" "posters"

Projection is a query where we can specify the fields we would like to have returned (default is empty string)

Responses

200

OK

get/client/api/servicespec/{servcieId}/tv/countries

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{servcieId}/tv/countries

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{servcieId}/tv/countries

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Channel Genres

path Parameters
serviceId
required
string
Example: 5915c39b1d6d2f134d69af48,5915c3defc819813c4c24cf7

Sorted string ID of the service specs to get channels separated by a comma

Responses

200

OK

get/client/api/servicespec/{servcieId}/tv/genres

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{servcieId}/tv/genres

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{servcieId}/tv/genres

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Channel Languages

Examples:

  • Default: /client/api/servicespec/59e5b2e2a95efa0001e26ee3/tv/languages
  • Posters: /client/api/servicespec/59e5b2e2a95efa0001e26ee3/tv/languages?posters
  • Cards: /client/api/servicespec/59e5b2e2a95efa0001e26ee3/tv/languages?cards
path Parameters
serviceId
required
string
Example: 5915c39b1d6d2f134d69af48,5915c3defc819813c4c24cf7

Sorted string ID of the service specs to get channels separated by a comma

query Parameters
projection
string
Default: "default"
Enum: "default" "cards" "posters"

Projection is a query where we can specify the fields we would like to have returned (default is empty string)

Responses

200

OK

get/client/api/servicespec/{servcieId}/tv/languages

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{servcieId}/tv/languages

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{servcieId}/tv/languages

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Channel Source Deprecated

Authorizations:
Request Body schema: application/json
id
required
string >= 1

Channel ID or list of ids 5915c3e3201c2313ee14be2f,592672a1b7fb245a4e417c0b

Responses

200

OK

401

API key is missing or invalid

post/client/api/tv/channels/sources?map=1&urls=1

AlphaOTT [production]

http://mw.{brand}.com/client/api/tv/channels/sources?map=1&urls=1

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/tv/channels/sources?map=1&urls=1

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "5915c3e3201c2313ee14be2f"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all

Channel Ad Source Deprecated

Authorizations:
Request Body schema: application/json
id
required
string >= 1

Channel ID or list of ids 5915c3e3201c2313ee14be2f,592672a1b7fb245a4e417c0b

Responses

200

OK

401

API key is missing or invalid

post/client/api/v2/tv/channels/sources

AlphaOTT [production]

http://mw.{brand}.com/client/api/v2/tv/channels/sources

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/v2/tv/channels/sources

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "5915c3e3201c2313ee14be2f"
}

Channel Source V3

Authorizations:
header Parameters
Accept-Media-Stream
required
string
Enum: "MPEG_DASH" "HLS" "MSS" "HDS" "MPEG_TS" "MP4"
Example: HLS, MPEG_DASH, MP4

Supported Media Stream Type(s)

Accept-Media-Stream-Encrypted
required
string
Enum: "WIDEVINE" "PLAYREADY" "CLEARKEY" "FAIRPLAY"
Example: HLS/PLAYREADY, MPEG_DASH/WIDEVINE

Combination of supported Media Stream Type(s) and DRM

Request Body schema: application/json
id
required
string >= 1

Channel ID or list of ids 5915c3e3201c2313ee14be2f,592672a1b7fb245a4e417c0b

Responses

200

OK

401

API key is missing or invalid

451

Geoblocked error

post/client/api/v3/tv/channels/sources

AlphaOTT [production]

http://mw.{brand}.com/client/api/v3/tv/channels/sources

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/v3/tv/channels/sources

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "5915c3e3201c2313ee14be2f"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "5915c3e3201c2313ee14be2f":
    [
    ]
}

TV program list

Examples:

  • get a Program list for 2019-02-20: /client/api/tv/channel/5915c3b1cc8e1e13969dcfa9/programs?date=2019-02-20
  • get a Program list from 2019-02-20 to 2019-02-22 inclusively: /client/api/tv/channel/5915c3b1cc8e1e13969dcfa9/programs?start=2019-02-20&end=2019-02-22
  • get a Program list for 2019-02-20 with timezone=360 & includeStop=true: /client/api/tv/channel/5915c3b1cc8e1e13969dcfa9/programs?date=2019-02-20&timezoneOffset=360&includeStop
path Parameters
channelId
required
string
Example: 59e5b5c4a95efa0001e28e2d

Channel ID

query Parameters
date
required
string <date-time>
Example: date=2019-02-15

Get a list of programs for Date day

start
required
string <date-time>
Example: start=2019-02-15

Get a list of programs starting from Start day. Requires End query

end
required
string <date-time>
Example: end=2019-02-15

Get a list of programs ending on End day. Requires Start query

timezoneOffset
number
Default: 0
Example: timezoneOffset=360

Time-zone offset in minutes.

includeStop
boolean
Default: false
Example: includeStop=true

Include programs that have completed in the interval [start, end] / [date]

Responses

200

OK

get/client/api/tv/channel/{channelId}/programs

AlphaOTT [production]

http://mw.{brand}.com/client/api/tv/channel/{channelId}/programs

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/tv/channel/{channelId}/programs

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

TV program

path Parameters
programId
required
string
Example: 59e5b5c4a95efa0001e28e2d

Program ID

Responses

200

OK

get/client/api/tv/program/{programId}

AlphaOTT [production]

http://mw.{brand}.com/client/api/tv/program/{programId}

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/tv/program/{programId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "id",
  • "title": "some title",
  • "description": "some description",
  • "credits": "some credits",
  • "episode": "some episode",
  • "start": "2017-05-12T14:16:27.134Z",
  • "stop": "2017-05-12T16:16:27.134Z"
}

TV channels with program list

Examples:

  • get a Program list for 2019-02-20: /client/api/servicespec/5915c39b1d6d2f134d69af51/tv/programs?date=2019-02-20
  • get a Program list from 2019-02-20 to 2019-02-22 inclusively: /client/api/servicespec/5915c39b1d6d2f134d69af51/tv/programs?start=2019-02-20&end=2019-02-22
  • get a Program list for 2019-02-20 with timezone=360 & includeStop=true: /client/api/servicespec/5915c39b1d6d2f134d69af51/tv/programs?date=2019-02-20&timezoneOffset=360&includeStop
path Parameters
serviceId
required
string
Example: 5915c39b1d6d2f134d69af48,5915c3defc819813c4c24cf7

Sorted string ID of the service specs to get channels separated by a comma

query Parameters
date
required
string <date-time>
Example: date=2019-02-15

Get a list of programs for Date day

start
required
string <date-time>
Example: start=2019-02-15

Get a list of programs starting from Start day. Requires End query

end
required
string <date-time>
Example: end=2019-02-15

Get a list of programs ending on End day. Requires Start query

timezoneOffset
number
Default: 0
Example: timezoneOffset=360

Time-zone offset in minutes.

includeStop
boolean
Default: false
Example: includeStop=true

Include programs that have completed in the interval [start, end] / [date]

Responses

200

OK

get/client/api/servicespec/{servcieId}/tv/programs

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{servcieId}/tv/programs

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{servcieId}/tv/programs

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "5915c3e3201c2313ee14be2f":
    [
    ]
}

CatchUp

CatchUp Channels

path Parameters
serviceId
required
string
Example: 5915c39b1d6d2f134d69af48,5915c3defc819813c4c24cf7

Sorted string ID of the service specs to get channels separated by a comma

Responses

200

OK

get/client/api/servicespec/{servcieId}/catchup/channels

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{servcieId}/catchup/channels

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{servcieId}/catchup/channels

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "5915c3e3201c2313ee14be2f":
    {
    },
  • "5915c3bacc8e1e13969de081":
    {
    },
  • "5915c3a7cc8e1e13969dc308":
    {
    },
  • "5915c37c1d6d2f134d697eda":
    {
    },
  • "5915c3a0cc8e1e13969db991":
    {
    },
  • "5915c3cafc819813c4c2285b":
    {
    },
  • "5915c3a7cc8e1e13969dc309":
    {
    }
}

CatchUp Channel Source

Authorizations:
path Parameters
channelId
required
string
Example: 59e5b5c4a95efa0001e28e2d

Channel ID

programId
required
string
Example: 59e5b5c4a95efa0001e28e2d

Program ID

header Parameters
Accept-Media-Stream
required
string
Enum: "MPEG_DASH" "HLS" "MSS" "HDS" "MPEG_TS" "MP4"
Example: HLS, MPEG_DASH, MP4

Supported Media Stream Type(s)

Accept-Media-Stream-Encrypted
required
string
Enum: "WIDEVINE" "PLAYREADY" "CLEARKEY" "FAIRPLAY"
Example: HLS/PLAYREADY, MPEG_DASH/WIDEVINE

Combination of supported Media Stream Type(s) and DRM

Responses

200

OK

401

API key is missing or invalid

451

Geoblocked error

get/client/api/catchup/channel/{channelId}/program/{programId}/sources

AlphaOTT [production]

http://mw.{brand}.com/client/api/catchup/channel/{channelId}/program/{programId}/sources

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/catchup/channel/{channelId}/program/{programId}/sources

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Movies

Returns a list of movies

Examples:

  • Brief & sort by rating & limit 20: /client/api/servicespec/59e5b5c4a95efa0001e28e2d/movies?brief&sort=-rating&limit=20
  • projection is default: /client/api/servicespec/59e5b5c4a95efa0001e28e2d/movies
  • projection is brief: /client/api/servicespec/59e5b5c4a95efa0001e28e2d/movies?brief
  • Search by title: /client/api/servicespec/59e5b5c4a95efa0001e28e2d/movies?title=/ARAB/i&sort=-rating
  • Pages:
    • First 50: /client/api/servicespec/59e5b5c4a95efa0001e28e2d/movies
    • 50-100: /client/api/servicespec/59e5b5c4a95efa0001e28e2d/movies?skip=50
path Parameters
serviceId
required
string
Example: 59e5b5c4a95efa0001e28e2d

String ID of the service to get movies

query Parameters
projection
string
Default: "default"
Enum: "brief" "default"

Projection is a query where we can specify the fields we would like to have returned (default is empty string)

limit
integer
Default: 50

The numbers of items to return

skip
integer
Default: 0

The number of items to skip before starting to collect the result set

sort
string
Example: sort=-rating

Specifies the order in which the query returns matching documents. If you wish sort descending by field then prefix with a - (minus)

title
string
Example: title=/usa/i

Search by title (regular expression)

plot
string
Example: plot=/story of Alf Mabrook/i

Search by plot (regular expression)

year
integer
Example: year=2009

Search by year

languages
string
Example: languages=5915c3941d6d2f134d699da3

Search by language ID

countries
string
Example: countries=5915c3941d6d2f134d699da3

Search by country ID

genres
string
Example: genres=5915c3941d6d2f134d699da3

Search by genre ID

categories
string
Example: categories=5915c3941d6d2f134d699da3

Search by category ID

studios
string
Example: studios=2009

TODO: fixme Search by studios (mongodb query)

Responses

200

OK

get/client/api/servicespec/{serviceId}/movies?{projection}

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{serviceId}/movies?{projection}

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{serviceId}/movies?{projection}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Returns a movie by ID

path Parameters
movieId
required
string
Example: 5915c3bacc8e1e13969de081

Movie ID

projection
string
Default: "default"
Enum: "brief" "default"

Projection is a query where we can specify the fields we would like to have returned (default is empty string)

Responses

200

OK

get/client/api/vod/movie/{movieId}

AlphaOTT [production]

http://mw.{brand}.com/client/api/vod/movie/{movieId}

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/vod/movie/{movieId}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "_id": "5915c3bacc8e1e13969de081",
  • "title": "Alf Mabrook",
  • "plot": "The story of Alf Mabrook is adapted from the American comedy “Groundhog Day” which presents a comic scenario in a fantasy-filled context. The protagonist (Ahmad Helmi) finds himself in a bizarre situation where he wakes up every day to relive the same events over and over. Thus our hero finds himself stuck in a cycle without any apparent exit.",
  • "plotSimple": "The story of Alf Mabrook is adapted from the American comedy “Groundhog Day” which presents a comic scenario in a fantasy-filled context. The protagonist (Ahmad Helmi) finds himself in a bizarre situation where he wakes up every day to relive the same events over and over. Thus our hero finds himself stuck in a cycle without any apparent exit.",
  • "year": 2009,
  • "rating": 0.800000011920929,
  • "mpaaRating": "G",
  • "producers":
    [
    ],
  • "directors":
    [
    ],
  • "cast":
    [
    ],
  • "posters":
    [
    ],
  • "backgrounds":
    [
    ],
  • "genres":
    [
    ],
  • "categories":
    [
    ],
  • "countries":
    [
    ],
  • "languages":
    [
    ]
}

Movie Source V1 Deprecated

Authorizations:
path Parameters
movieId
required
string
Example: 5915c3bacc8e1e13969de081

Movie ID

Responses

200

OK

401

API key is missing or invalid

get/client/api/vod/movie/{movieId}/sources

AlphaOTT [production]

http://mw.{brand}.com/client/api/vod/movie/{movieId}/sources

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/vod/movie/{movieId}/sources

Movie Source V3

Authorizations:
path Parameters
movieId
required
string
Example: 5915c3bacc8e1e13969de081

Movie ID

header Parameters
Accept-Media-Stream
required
string
Enum: "MPEG_DASH" "HLS" "MSS" "HDS" "MPEG_TS" "MP4"
Example: HLS, MPEG_DASH, MP4

Supported Media Stream Type(s)

Accept-Media-Stream-Encrypted
required
string
Enum: "WIDEVINE" "PLAYREADY" "CLEARKEY" "FAIRPLAY"
Example: HLS/PLAYREADY, MPEG_DASH/WIDEVINE

Combination of supported Media Stream Type(s) and DRM

Responses

200

OK

401

API key is missing or invalid

451

Geoblocked error

get/client/api/v3/vod/movie/{movieId}/sources

AlphaOTT [production]

http://mw.{brand}.com/client/api/v3/vod/movie/{movieId}/sources

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/v3/vod/movie/{movieId}/sources

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Movie Trailer V1 Deprecated

Authorizations:
path Parameters
movieId
required
string
Example: 5915c3bacc8e1e13969de081

Movie ID

trailerIndex
required
integer
Example: 0

Trailer Index

Responses

200

OK

401

API key is missing or invalid

get/client/api/vod/movie/{movieId}/trailer/{trailerIndex}

AlphaOTT [production]

http://mw.{brand}.com/client/api/vod/movie/{movieId}/trailer/{trailerIndex}

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/vod/movie/{movieId}/trailer/{trailerIndex}

Response samples

Content type
application/json

Movie Trailer v3

Authorizations:
path Parameters
movieId
required
string
Example: 5915c3bacc8e1e13969de081

Movie ID

trailerIndex
required
integer
Example: 0

Trailer Index

Responses

200

OK

401

API key is missing or invalid

451

Geoblocked error

get/client/api/v3/vod/movie/{movieId}/trailer/{trailerIndex}

AlphaOTT [production]

http://mw.{brand}.com/client/api/v3/vod/movie/{movieId}/trailer/{trailerIndex}

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/v3/vod/movie/{movieId}/trailer/{trailerIndex}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{}

Movie Related

path Parameters
movieId
required
string
Example: 5915c3bacc8e1e13969de081

Movie ID

serviceId
required
string
Example: 59e5b5c4a95efa0001e28e2d

String ID of the service to get movies

projection
string
Default: "default"
Enum: "brief" "default"

Projection is a query where we can specify the fields we would like to have returned (default is empty string)

Responses

200

OK

get/client/api/servicespec/{serviceId}/related/{movieId}/movies

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{serviceId}/related/{movieId}/movies

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{serviceId}/related/{movieId}/movies

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Movie Categories

path Parameters
serviceId
required
string
Example: 59e5b5c4a95efa0001e28e2d

String ID of the service to get movies

Responses

200

OK

get/client/api/servicespec/{servcieId}/movie/categories

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{servcieId}/movie/categories

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{servcieId}/movie/categories

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Movie Languages

Examples:

  • Default: /client/api/servicespec/59e5b5c4a95efa0001e28e2d/movie/languages
  • Posters: /client/api/servicespec/59e5b5c4a95efa0001e28e2d/movie/languages?posters
  • Cards: /client/api/servicespec/59e5b5c4a95efa0001e28e2d/movie/languages?cards
path Parameters
serviceId
required
string
Example: 59e5b5c4a95efa0001e28e2d

String ID of the service to get movies

query Parameters
projection
string
Default: "default"
Enum: "default" "cards" "posters"

Projection is a query where we can specify the fields we would like to have returned (default is empty string)

Responses

200

OK

get/client/api/servicespec/{servcieId}/movie/languages

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{servcieId}/movie/languages

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{servcieId}/movie/languages

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Movie Genres

path Parameters
serviceId
required
string
Example: 59e5b5c4a95efa0001e28e2d

String ID of the service to get movies

Responses

200

OK

get/client/api/servicespec/{servcieId}/movie/genres

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{servcieId}/movie/genres

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{servcieId}/movie/genres

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Movie Countries

Examples:

  • Default: /client/api/servicespec/5915c39c1d6d2f134d69afb1/movie/countries
  • Posters: /client/api/servicespec/5915c39c1d6d2f134d69afb1/movie/countries?posters
  • Cards: /client/api/servicespec/5915c39c1d6d2f134d69afb1/movie/countries?cards
path Parameters
serviceId
required
string
Example: 59e5b5c4a95efa0001e28e2d

String ID of the service to get movies

query Parameters
projection
string
Default: "default"
Enum: "default" "cards" "posters"

Projection is a query where we can specify the fields we would like to have returned (default is empty string)

Responses

200

OK

get/client/api/servicespec/{servcieId}/movie/countries

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{servcieId}/movie/countries

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{servcieId}/movie/countries

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

TvShows

Returns a list of tv shows

Examples:

  • Sort by rating & limit 20: /client/api/servicespec/59e5b5c4a95efa0001e28e2d/tv-shows?sort=-rating&limit=20
  • Search by title: /client/api/servicespec/59e5b5c4a95efa0001e28e2d/tv-shows?title=/ARAB/i&sort=-rating
  • Pages:
    • First 50: /client/api/servicespec/59e5b5c4a95efa0001e28e2d/tv-shows
    • 50-100: /client/api/servicespec/59e5b5c4a95efa0001e28e2d/tv-shows?skip=50
path Parameters
serviceId
required
string
Example: 59e5b5c4a95efa0001e28e2d

String ID of the service to get tv shows

query Parameters
limit
integer
Default: 50

The numbers of items to return

skip
integer
Default: 0

The number of items to skip before starting to collect the result set

sort
string
Example: sort=-rating

Specifies the order in which the query returns matching documents. If you wish sort descending by field then prefix with a - (minus)

title
string
Example: title=/usa/i

Search by title (regular expression)

plot
string
Example: plot=/story of Alf Mabrook/i

Search by plot (regular expression)

year
integer
Example: year=2009

Search by year

languages
string
Example: languages=5915c3941d6d2f134d699da3

Search by language ID

countries
string
Example: countries=5915c3941d6d2f134d699da3

Search by country ID

genres
string
Example: genres=5915c3941d6d2f134d699da3

Search by genre ID

categories
string
Example: categories=5915c3941d6d2f134d699da3

Search by category ID

studios
string
Example: studios=2009

TODO: fixme Search by studios (mongodb query)

Responses

200

OK

get/client/api/servicespec/{serviceId}/tv-shows

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{serviceId}/tv-shows

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{serviceId}/tv-shows

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Returns a TV Show by ID

path Parameters
tvShowId
required
string
Example: 5915c3bacc8e1e13969de081

TV Show ID

Responses

200

OK

get/client/api/vod/tv-show/{tvShowId}

AlphaOTT [production]

http://mw.{brand}.com/client/api/vod/tv-show/{tvShowId}

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/vod/tv-show/{tvShowId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "_id": "5915c3bacc8e1e13969de081",
  • "type": "TV_SHOW",
  • "title": "Alf Mabrook",
  • "plot": "The story of Alf Mabrook is adapted from the American comedy “Groundhog Day” which presents a comic scenario in a fantasy-filled context. The protagonist (Ahmad Helmi) finds himself in a bizarre situation where he wakes up every day to relive the same events over and over. Thus our hero finds himself stuck in a cycle without any apparent exit.",
  • "plotSimple": "The story of Alf Mabrook is adapted from the American comedy “Groundhog Day” which presents a comic scenario in a fantasy-filled context. The protagonist (Ahmad Helmi) finds himself in a bizarre situation where he wakes up every day to relive the same events over and over. Thus our hero finds himself stuck in a cycle without any apparent exit.",
  • "year": 2009,
  • "rating": 0.800000011920929,
  • "mpaaRating": "G",
  • "producers":
    [
    ],
  • "directors":
    [
    ],
  • "cast":
    [
    ],
  • "genres":
    [
    ],
  • "categories":
    [
    ],
  • "countries":
    [
    ],
  • "languages":
    [
    ],
  • "seasons":
    [
    ]
}

Returns a Season by ID

path Parameters
tvShowId
required
string
Example: 5915c3bacc8e1e13969de081

TV Show ID

seasonId
required
string
Example: c8e1e13965915c3bac9de081

TV Show Season ID

Responses

200

OK

get/client/api/vod/tv-show/{tvShowId}/season/{seasonId}

AlphaOTT [production]

http://mw.{brand}.com/client/api/vod/tv-show/{tvShowId}/season/{seasonId}

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/vod/tv-show/{tvShowId}/season/{seasonId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "_id": "5915c3bacc8e1e13969de081",
  • "type": "TV_SHOW_SEASON",
  • "title": "Alf Mabrook",
  • "plot": "The story of Alf Mabrook is adapted from the American comedy “Groundhog Day” which presents a comic scenario in a fantasy-filled context. The protagonist (Ahmad Helmi) finds himself in a bizarre situation where he wakes up every day to relive the same events over and over. Thus our hero finds himself stuck in a cycle without any apparent exit.",
  • "plotSimple": "The story of Alf Mabrook is adapted from the American comedy “Groundhog Day” which presents a comic scenario in a fantasy-filled context. The protagonist (Ahmad Helmi) finds himself in a bizarre situation where he wakes up every day to relive the same events over and over. Thus our hero finds himself stuck in a cycle without any apparent exit.",
  • "year": 2009,
  • "rating": 0.800000011920929,
  • "mpaaRating": "G",
  • "producers":
    [
    ],
  • "directors":
    [
    ],
  • "cast":
    [
    ],
  • "genres":
    [
    ],
  • "categories":
    [
    ],
  • "countries":
    [
    ],
  • "languages":
    [
    ],
  • "episodes":
    [
    ]
}

Returns an Episode by ID

path Parameters
tvShowId
required
string
Example: 5915c3bacc8e1e13969de081

TV Show ID

seasonId
required
string
Example: c8e1e13965915c3bac9de081

TV Show Season ID

episodeId
required
string
Example: c9de081c8e1e13965915c3ba

TV Show Episode ID

Responses

200

OK

get/client/api/vod/tv-show/{tvShowId}/season/{seasonId}/episode/{episodeId}

AlphaOTT [production]

http://mw.{brand}.com/client/api/vod/tv-show/{tvShowId}/season/{seasonId}/episode/{episodeId}

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/vod/tv-show/{tvShowId}/season/{seasonId}/episode/{episodeId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "_id": "5915c3bacc8e1e13969de081",
  • "type": "TV_SHOW_EPISODE",
  • "title": "Alf Mabrook",
  • "plot": "The story of Alf Mabrook is adapted from the American comedy “Groundhog Day” which presents a comic scenario in a fantasy-filled context. The protagonist (Ahmad Helmi) finds himself in a bizarre situation where he wakes up every day to relive the same events over and over. Thus our hero finds himself stuck in a cycle without any apparent exit.",
  • "plotSimple": "The story of Alf Mabrook is adapted from the American comedy “Groundhog Day” which presents a comic scenario in a fantasy-filled context. The protagonist (Ahmad Helmi) finds himself in a bizarre situation where he wakes up every day to relive the same events over and over. Thus our hero finds himself stuck in a cycle without any apparent exit.",
  • "year": 2009,
  • "rating": 0.800000011920929,
  • "mpaaRating": "G",
  • "producers":
    [
    ],
  • "directors":
    [
    ],
  • "cast":
    [
    ],
  • "genres":
    [
    ],
  • "categories":
    [
    ],
  • "countries":
    [
    ],
  • "languages":
    [
    ],
  • "parent":
    {
    }
}

TV Show Source V3

Authorizations:
path Parameters
tvShowId
required
string
Example: 5915c3bacc8e1e13969de081

TV Show ID

seasonId
required
string
Example: c8e1e13965915c3bac9de081

TV Show Season ID

episodeId
required
string
Example: c9de081c8e1e13965915c3ba

TV Show Episode ID

header Parameters
Accept-Media-Stream
required
string
Enum: "MPEG_DASH" "HLS" "MSS" "HDS" "MPEG_TS" "MP4"
Example: HLS, MPEG_DASH, MP4

Supported Media Stream Type(s)

Accept-Media-Stream-Encrypted
required
string
Enum: "WIDEVINE" "PLAYREADY" "CLEARKEY" "FAIRPLAY"
Example: HLS/PLAYREADY, MPEG_DASH/WIDEVINE

Combination of supported Media Stream Type(s) and DRM

Responses

200

OK

401

API key is missing or invalid

451

Geoblocked error

get/client/api/v3/vod/tv-show/{tvShowId}/season/{seasonId}/episode/{episodeId}/sources

AlphaOTT [production]

http://mw.{brand}.com/client/api/v3/vod/tv-show/{tvShowId}/season/{seasonId}/episode/{episodeId}/sources

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/v3/vod/tv-show/{tvShowId}/season/{seasonId}/episode/{episodeId}/sources

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Tv Show Trailer v3

Authorizations:
path Parameters
tvShowId
required
string
Example: 5915c3bacc8e1e13969de081

TV Show ID

trailerIndex
required
integer
Example: 0

Trailer Index

Responses

200

OK

401

API key is missing or invalid

451

Geoblocked error

get/client/api/v3/vod/tv-show/{tvShowId}/trailer/{trailerIndex}

AlphaOTT [production]

http://mw.{brand}.com/client/api/v3/vod/tv-show/{tvShowId}/trailer/{trailerIndex}

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/v3/vod/tv-show/{tvShowId}/trailer/{trailerIndex}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{}

Tv Show / Season Trailer v3

Authorizations:
path Parameters
tvShowId
required
string
Example: 5915c3bacc8e1e13969de081

TV Show ID

seasonId
required
string
Example: c8e1e13965915c3bac9de081

TV Show Season ID

trailerIndex
required
integer
Example: 0

Trailer Index

Responses

200

OK

401

API key is missing or invalid

451

Geoblocked error

get/client/api/v3/vod/tv-show/{tvShowId}/season/{seasonId}/trailer/{trailerIndex}

AlphaOTT [production]

http://mw.{brand}.com/client/api/v3/vod/tv-show/{tvShowId}/season/{seasonId}/trailer/{trailerIndex}

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/v3/vod/tv-show/{tvShowId}/season/{seasonId}/trailer/{trailerIndex}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{}

Tv Show / Episode Trailer v3

Authorizations:
path Parameters
tvShowId
required
string
Example: 5915c3bacc8e1e13969de081

TV Show ID

seasonId
required
string
Example: c8e1e13965915c3bac9de081

TV Show Season ID

episodeId
required
string
Example: c9de081c8e1e13965915c3ba

TV Show Episode ID

trailerIndex
required
integer
Example: 0

Trailer Index

Responses

200

OK

401

API key is missing or invalid

451

Geoblocked error

get/client/api/v3/vod/tv-show/{tvShowId}/season/{seasonId}/episode/{episodeId}/trailer/{trailerIndex}

AlphaOTT [production]

http://mw.{brand}.com/client/api/v3/vod/tv-show/{tvShowId}/season/{seasonId}/episode/{episodeId}/trailer/{trailerIndex}

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/v3/vod/tv-show/{tvShowId}/season/{seasonId}/episode/{episodeId}/trailer/{trailerIndex}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{}

TV Show Related

path Parameters
tvShowId
required
string
Example: 5915c3bacc8e1e13969de081

TV Show ID

serviceId
required
string
Example: 59e5b5c4a95efa0001e28e2d

String ID of the service to get tv shows

Responses

200

OK

get/client/api/servicespec/{serviceId}/related/{tvShowId}/tv-shows

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{serviceId}/related/{tvShowId}/tv-shows

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{serviceId}/related/{tvShowId}/tv-shows

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

TV Show Categories

path Parameters
serviceId
required
string
Example: 59e5b5c4a95efa0001e28e2d

String ID of the service to get tv shows

Responses

200

OK

get/client/api/servicespec/{servcieId}/tv-show/categories

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{servcieId}/tv-show/categories

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{servcieId}/tv-show/categories

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

TV Show Languages

Examples:

  • Default: /client/api/servicespec/59e5b5c4a95efa0001e28e2d/tv-show/languages
  • Posters: /client/api/servicespec/59e5b5c4a95efa0001e28e2d/tv-show/languages?posters
  • Cards: /client/api/servicespec/59e5b5c4a95efa0001e28e2d/tv-show/languages?cards
path Parameters
serviceId
required
string
Example: 59e5b5c4a95efa0001e28e2d

String ID of the service to get tv shows

query Parameters
projection
string
Default: "default"
Enum: "default" "cards" "posters"

Projection is a query where we can specify the fields we would like to have returned (default is empty string)

Responses

200

OK

get/client/api/servicespec/{servcieId}/tv-show/languages

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{servcieId}/tv-show/languages

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{servcieId}/tv-show/languages

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

TV Show Genres

path Parameters
serviceId
required
string
Example: 59e5b5c4a95efa0001e28e2d

String ID of the service to get tv shows

Responses

200

OK

get/client/api/servicespec/{servcieId}/tv-show/genres

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{servcieId}/tv-show/genres

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{servcieId}/tv-show/genres

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

TV Show Countries

Examples:

  • Default: /client/api/servicespec/5915c39c1d6d2f134d69afb1/tv-show/countries
  • Posters: /client/api/servicespec/5915c39c1d6d2f134d69afb1/tv-show/countries?posters
  • Cards: /client/api/servicespec/5915c39c1d6d2f134d69afb1/tv-show/countries?cards
path Parameters
serviceId
required
string
Example: 59e5b5c4a95efa0001e28e2d

String ID of the service to get tv shows

query Parameters
projection
string
Default: "default"
Enum: "default" "cards" "posters"

Projection is a query where we can specify the fields we would like to have returned (default is empty string)

Responses

200

OK

get/client/api/servicespec/{servcieId}/tv-show/countries

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{servcieId}/tv-show/countries

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{servcieId}/tv-show/countries

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Promos

Returns promos for `STB` Device type Deprecated

path Parameters
serviceId
required
string
Example: 59e5b5c4a95efa0001e28e2d

String ID of the service to get promo list

Responses

200

OK

get/client/api/servicespec/{servcieId}/promos

AlphaOTT [production]

http://mw.{brand}.com/client/api/servicespec/{servcieId}/promos

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/servicespec/{servcieId}/promos

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Returns promos for certain Device type

path Parameters
serviceId
required
string
Example: 59e5b5c4a95efa0001e28e2d

String ID of the service to get promo list

query Parameters
deviceType
required
any
Enum: "UNKNOWN" "STB" "PC" "TV" "MOBILE" "TABLET"
Example: deviceType=TV

Device type

devicePlatform
required
string
Example: devicePlatform=TIZEN

Device platform

Responses

200

OK

get/client/api/v2/servicespec/{servcieId}/promos

AlphaOTT [production]

http://mw.{brand}.com/client/api/v2/servicespec/{servcieId}/promos

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/client/api/v2/servicespec/{servcieId}/promos

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Subscriptions

Cancel a subscription

Authorizations:
path Parameters
subscriptionId
required
string
Example: 5d420595405267002f72d833

Subscription ID

query Parameters
cancelAtEnd
boolean
Default: true

Your subscription can be either cancelled immediately or at the end of the current term based on the value of cancelAtEnd.

Responses

200

OK

400

Bad Request

401

API key is missing or invalid

post/omf/api/subscription/{subscriptionId}/cancel

AlphaOTT [production]

http://mw.{brand}.com/omf/api/subscription/{subscriptionId}/cancel

AlphaOTT [stage]

http://{brand}.stage.webtv.lbcdn.com/omf/api/subscription/{subscriptionId}/cancel

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "status": "OK",
  • "message": "Your subscription will be canceled at the end of this term."
}