Tradecast API Reference
This documentation acts as your guide to accessing and leveraging the power of the Tradecast platform through our GraphQL API.
With this API, you can seamlessly interact with the user-facing aspects of Tradecast, enabling a wide range of functionalities. Both data retrieval and manipulation are designed around the flexibility and efficiency of GraphQL.
Terms of Service
API Endpoints
# Production:
https://api.tradecast.eu/graphql
Headers
# Your foo from bar
Authorization: Bearer <YOUR_TOKEN_HERE>
# Your channel id
channelid: <YOUR_CHANNEL_ID>
Version
77.67.3
Queries
categorizedMedia
Description
🔐 You must have the following permissions to query this field:
- category: read
Response
Returns [Categorization!]
Arguments
Name | Description |
---|---|
filter - CategorizedFilter
|
|
sort - CategorizedSort
|
|
count - Int
|
|
categories - [Int]
|
Example
Query
query CategorizedMedia(
$filter: CategorizedFilter,
$sort: CategorizedSort,
$count: Int,
$categories: [Int]
) {
categorizedMedia(
filter: $filter,
sort: $sort,
count: $count,
categories: $categories
) {
id
title
showMainMenu
slug
children {
id
title
showMainMenu
slug
automatedTrading
description
thumbnail
parent {
...CategoryFragment
}
children {
...CategoryFragment
}
media {
...MediaFragment
}
mediaList {
...MediaListFragment
}
vlogList {
...VlogListFragment
}
}
media {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
limit
page
pageCount
resultCount
}
}
Variables
{
"filter": CategorizedFilter,
"sort": CategorizedSort,
"count": 987,
"categories": [987]
}
Response
{
"data": {
"categorizedMedia": [
{
"id": 123,
"title": "abc123",
"showMainMenu": false,
"slug": "xyz789",
"children": [Category],
"media": [Media],
"limit": 987,
"page": 123,
"pageCount": 123,
"resultCount": 123
}
]
}
}
category
Description
🔐 You must have the following permissions to query this field:
- category: read
Example
Query
query Category($id: Int) {
category(id: $id) {
id
title
showMainMenu
slug
automatedTrading
description
thumbnail
parent {
id
title
showMainMenu
slug
automatedTrading
description
thumbnail
parent {
...CategoryFragment
}
children {
...CategoryFragment
}
media {
...MediaFragment
}
mediaList {
...MediaListFragment
}
vlogList {
...VlogListFragment
}
}
children {
id
title
showMainMenu
slug
automatedTrading
description
thumbnail
parent {
...CategoryFragment
}
children {
...CategoryFragment
}
media {
...MediaFragment
}
mediaList {
...MediaListFragment
}
vlogList {
...VlogListFragment
}
}
media {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
mediaList {
results {
...MediaFragment
}
limit
page
pageCount
resultCount
}
vlogList {
results {
...VlogListItemFragment
}
limit
page
pageCount
resultCount
}
}
}
Variables
{"id": 123}
Response
{
"data": {
"category": {
"id": 987,
"title": "abc123",
"showMainMenu": false,
"slug": "xyz789",
"automatedTrading": "inherit",
"description": "xyz789",
"thumbnail": "abc123",
"parent": Category,
"children": [Category],
"media": [Media],
"mediaList": MediaList,
"vlogList": VlogList
}
}
}
categoryList
Response
Returns a CategoryList
Arguments
Name | Description |
---|---|
filter - CategoryFilter
|
|
sort - CategorySort
|
|
limit - Int
|
Default = 50 |
page - Int
|
Default = 1 |
parentID - Int
|
Example
Query
query CategoryList(
$filter: CategoryFilter,
$sort: CategorySort,
$limit: Int,
$page: Int,
$parentID: Int
) {
categoryList(
filter: $filter,
sort: $sort,
limit: $limit,
page: $page,
parentID: $parentID
) {
results {
id
title
showMainMenu
slug
automatedTrading
description
thumbnail
parent {
...CategoryFragment
}
children {
...CategoryFragment
}
media {
...MediaFragment
}
mediaList {
...MediaListFragment
}
vlogList {
...VlogListFragment
}
}
limit
page
pageCount
resultCount
}
}
Variables
{
"filter": CategoryFilter,
"sort": CategorySort,
"limit": 50,
"page": 1,
"parentID": 987
}
Response
{
"data": {
"categoryList": {
"results": [Category],
"limit": 987,
"page": 123,
"pageCount": 123,
"resultCount": 123
}
}
}
commentList
Description
Gets a list of comments for a vlog.
The channel must have the vlogs feature enabled to query this field.
Response
Returns a CommentList
Arguments
Name | Description |
---|---|
filter - CommentFilter
|
|
sort - CommentSort
|
|
limit - Int
|
Default = 50 |
page - Int
|
Default = 1 |
slug - String!
|
Example
Query
query CommentList(
$filter: CommentFilter,
$sort: CommentSort,
$limit: Int,
$page: Int,
$slug: String!
) {
commentList(
filter: $filter,
sort: $sort,
limit: $limit,
page: $page,
slug: $slug
) {
results {
parent
user {
...UserInfoFragment
}
date {
...CommentDatesFragment
}
createdAt
updatedAt
childCount
children {
...CommentTypeFragment
}
id
body
status
}
limit
page
pageCount
resultCount
}
}
Variables
{
"filter": CommentFilter,
"sort": CommentSort,
"limit": 50,
"page": 1,
"slug": "xyz789"
}
Response
{
"data": {
"commentList": {
"results": [CommentType],
"limit": 123,
"page": 123,
"pageCount": 123,
"resultCount": 987
}
}
}
contentPageList
Description
Gets all content pages.
🔐 You must have the following permissions to query this field:
- contentPage: read
The channel must have the contentPages feature enabled to query this field.
Response
Returns [ContentPageType]
Arguments
Name | Description |
---|---|
device - DeviceEnum
|
|
permissions - ContentPermissionsEnum
|
|
urlPath - String
|
|
type - ContentPageEnum
|
Example
Query
query ContentPageList(
$device: DeviceEnum,
$permissions: ContentPermissionsEnum,
$urlPath: String,
$type: ContentPageEnum
) {
contentPageList(
device: $device,
permissions: $permissions,
urlPath: $urlPath,
type: $type
) {
id
title
body
device
displayLoggedin
urlPath
publishStart
published
showMainMenu
type
}
}
Variables
{
"device": "standard",
"permissions": "all",
"urlPath": "abc123",
"type": "standard"
}
Response
{
"data": {
"contentPageList": [
{
"id": 987,
"title": "xyz789",
"body": "abc123",
"device": "standard",
"displayLoggedin": "all",
"urlPath": "abc123",
"publishStart": "2007-12-03T10:15:30Z",
"published": true,
"showMainMenu": true,
"type": "standard"
}
]
}
}
contentPages
Description
Gets all content pages.
🔐 You must have the following permissions to query this field:
- contentPage: read
The channel must have the contentPages feature enabled to query this field.
Response
Returns [ContentPageType]
Arguments
Name | Description |
---|---|
device - DeviceEnum
|
|
permissions - ContentPermissionsEnum
|
|
urlPath - String
|
|
type - ContentPageEnum
|
Example
Query
query ContentPages(
$device: DeviceEnum,
$permissions: ContentPermissionsEnum,
$urlPath: String,
$type: ContentPageEnum
) {
contentPages(
device: $device,
permissions: $permissions,
urlPath: $urlPath,
type: $type
) {
id
title
body
device
displayLoggedin
urlPath
publishStart
published
showMainMenu
type
}
}
Variables
{
"device": "standard",
"permissions": "all",
"urlPath": "xyz789",
"type": "standard"
}
Response
{
"data": {
"contentPages": [
{
"id": 987,
"title": "abc123",
"body": "abc123",
"device": "standard",
"displayLoggedin": "all",
"urlPath": "abc123",
"publishStart": "2007-12-03T10:15:30Z",
"published": true,
"showMainMenu": false,
"type": "standard"
}
]
}
}
contract
Description
The contract of the given ID when the contract belongs to the authenticated user
🔐 You must have the following permissions to query this field:
- contract: read
Example
Query
query Contract($id: Int) {
contract(id: $id) {
id
status
plan {
id
product {
...ProductFragment
}
title
description
currency
price
termsOfUse
renewable
type
interval
intervalValue
trialInterval
trialIntervalValue
trialMode
trialPrice
status
createdAt
updatedAt
protectedReason
usages
maxUsages
soldOut
}
currency
priceInCents
priceInCentsIncludingTax
taxRate
originalPriceInCents
isTrial
startDate
endDate
interval
intervalValue
billingInterval
appliedDiscount {
discountCode {
...DiscountCodeFragment
}
appliedDiscountInCents
currency
}
}
}
Variables
{"id": 987}
Response
{
"data": {
"contract": {
"id": 123,
"status": "active",
"plan": Plan,
"currency": "USD",
"priceInCents": 987,
"priceInCentsIncludingTax": 123,
"taxRate": 987,
"originalPriceInCents": 987,
"isTrial": true,
"startDate": "2007-12-03T10:15:30Z",
"endDate": "2007-12-03T10:15:30Z",
"interval": "day",
"intervalValue": 987,
"billingInterval": "day",
"appliedDiscount": AppliedDiscount
}
}
}
contractList
Description
Returns the list of the authenticated user's contracts
Response
Returns a ContractList
Arguments
Name | Description |
---|---|
filter - ContractFilter
|
|
sort - ContractSort
|
|
limit - Int
|
Default = 50 |
page - Int
|
Default = 1 |
_locale - String
|
Example
Query
query ContractList(
$filter: ContractFilter,
$sort: ContractSort,
$limit: Int,
$page: Int,
$_locale: String
) {
contractList(
filter: $filter,
sort: $sort,
limit: $limit,
page: $page,
_locale: $_locale
) {
results {
id
status
plan {
...PlanFragment
}
currency
priceInCents
priceInCentsIncludingTax
taxRate
originalPriceInCents
isTrial
startDate
endDate
interval
intervalValue
billingInterval
appliedDiscount {
...AppliedDiscountFragment
}
}
limit
page
pageCount
resultCount
}
}
Variables
{
"filter": ContractFilter,
"sort": ContractSort,
"limit": 50,
"page": 1,
"_locale": "xyz789"
}
Response
{
"data": {
"contractList": {
"results": [Contract],
"limit": 987,
"page": 123,
"pageCount": 987,
"resultCount": 987
}
}
}
disqusSso
Response
Returns a DisqusSso
Example
Query
query DisqusSso {
disqusSso {
publicKey
auth
}
}
Response
{
"data": {
"disqusSso": {
"publicKey": "xyz789",
"auth": "xyz789"
}
}
}
episode
Description
🔐 You must have the following permissions to query this field:
- episode: read
Example
Query
query Episode($id: Int!) {
episode(id: $id) {
id
title
description
publishStart
publishEnd
releaseDate
posterImage
media {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
trailer {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
season {
id
title
description
publishStart
publishEnd
releaseDate
trailer {
...MediaFragment
}
posterImage
extras {
...ExtraFragment
}
episodes {
...EpisodeFragment
}
series {
...SeriesFragment
}
}
extras {
id
title
media {
...MediaFragment
}
}
}
}
Variables
{"id": 123}
Response
{
"data": {
"episode": {
"id": 123,
"title": "xyz789",
"description": "xyz789",
"publishStart": "2007-12-03T10:15:30Z",
"publishEnd": "2007-12-03T10:15:30Z",
"releaseDate": "2007-12-03T10:15:30Z",
"posterImage": "abc123",
"media": Media,
"trailer": Media,
"season": Season,
"extras": [Extra]
}
}
}
extra
Description
🔐 You must have the following permissions to query this field:
- extra: read
Example
Query
query Extra($id: Int!) {
extra(id: $id) {
id
title
media {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
}
}
Variables
{"id": 123}
Response
{
"data": {
"extra": {
"id": 123,
"title": "abc123",
"media": Media
}
}
}
feedOverlay
Response
Returns a FeedOverlayList
Arguments
Name | Description |
---|---|
feedType - OverlayFeed!
|
|
id - Int!
|
|
source - OverlaySource
|
Example
Query
query FeedOverlay(
$feedType: OverlayFeed!,
$id: Int!,
$source: OverlaySource
) {
feedOverlay(
feedType: $feedType,
id: $id,
source: $source
) {
items
title
}
}
Variables
{"feedType": "rss", "id": 987, "source": "overlay"}
Response
{
"data": {
"feedOverlay": {
"items": ["abc123"],
"title": "abc123"
}
}
}
genre
Description
🔐 You must have the following permissions to query this field:
- genre: read
genreList
Response
Returns a GenreList
Arguments
Name | Description |
---|---|
limit - Int
|
Default = 50 |
page - Int
|
Default = 1 |
filter - GenreFilter
|
|
sort - GenreListSort
|
Example
Query
query GenreList(
$limit: Int,
$page: Int,
$filter: GenreFilter,
$sort: GenreListSort
) {
genreList(
limit: $limit,
page: $page,
filter: $filter,
sort: $sort
) {
results {
id
title
description
}
limit
page
pageCount
resultCount
}
}
Variables
{
"limit": 50,
"page": 1,
"filter": GenreFilter,
"sort": GenreListSort
}
Response
{
"data": {
"genreList": {
"results": [Genre],
"limit": 987,
"page": 987,
"pageCount": 987,
"resultCount": 987
}
}
}
interest
Description
🔐 You must have the following permissions to query this field:
- interest: read
Example
Query
query Interest($id: Int) {
interest(id: $id) {
id
slug
name
media {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
mediaList {
results {
...MediaFragment
}
limit
page
pageCount
resultCount
}
}
}
Variables
{"id": 987}
Response
{
"data": {
"interest": {
"id": 987,
"slug": "xyz789",
"name": "abc123",
"media": [Media],
"mediaList": MediaList
}
}
}
interestList
Response
Returns an InterestListType
Arguments
Name | Description |
---|---|
filter - InterestFilter
|
|
sort - InterestSort
|
|
limit - Int
|
Default = 50 |
page - Int
|
Default = 1 |
Example
Query
query InterestList(
$filter: InterestFilter,
$sort: InterestSort,
$limit: Int,
$page: Int
) {
interestList(
filter: $filter,
sort: $sort,
limit: $limit,
page: $page
) {
results {
id
slug
name
media {
...MediaFragment
}
mediaList {
...MediaListFragment
}
}
limit
page
pageCount
resultCount
}
}
Variables
{
"filter": InterestFilter,
"sort": InterestSort,
"limit": 50,
"page": 1
}
Response
{
"data": {
"interestList": {
"results": [Interest],
"limit": 987,
"page": 123,
"pageCount": 987,
"resultCount": 123
}
}
}
lesson
Example
Query
query Lesson($id: Int) {
lesson(id: $id) {
id
name
description
media {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
}
}
Variables
{"id": 987}
Response
{
"data": {
"lesson": {
"id": 987,
"name": "abc123",
"description": "xyz789",
"media": Media
}
}
}
lessonList
Response
Returns [LessonListItem!]
Example
Query
query LessonList {
lessonList {
lesson {
id
name
description
media {
...MediaFragment
}
}
media {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
}
}
Response
{
"data": {
"lessonList": [
{
"lesson": Lesson,
"media": Media
}
]
}
}
libraryCategories
Description
🔐 You must have the following permissions to query this field:
- libraryCategory: read
Response
Returns [FrontendLibraryCategory!]
Example
Query
query LibraryCategories {
libraryCategories {
id
title
}
}
Response
{
"data": {
"libraryCategories": [
{"id": 123, "title": "abc123"}
]
}
}
live
Description
Represents the active livestream that is taking over the timeline. Note: the id argument is deprecated and will be ignored
The channel must have the timeline feature enabled to query this field.
Example
Query
query Live($id: Int) {
live(id: $id) {
item {
media {
...TimelineMediaItemFragment
}
overlay {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
timeline {
...MediaTimelineInfoFragment
}
}
livestream {
startTime
}
}
}
Variables
{"id": 987}
Response
{
"data": {
"live": {
"item": TimelineItem,
"livestream": Livestream
}
}
}
liveChatSso
Response
Returns a LiveChatSso
Arguments
Name | Description |
---|---|
mediaId - Int!
|
Example
Query
query LiveChatSso($mediaId: Int!) {
liveChatSso(mediaId: $mediaId) {
collection {
messages
sentiments
}
userId
writeAccess
nickname
accessToken
firebaseConfig {
apiKey
applicationId
projectId
}
}
}
Variables
{"mediaId": 123}
Response
{
"data": {
"liveChatSso": {
"collection": LiveChatCollection,
"userId": "xyz789",
"writeAccess": false,
"nickname": "abc123",
"accessToken": "xyz789",
"firebaseConfig": FirebaseConfig
}
}
}
media
Description
🔐 You must have the following permissions to query this field:
- media: read
Example
Query
query Media($id: Int!) {
media(id: $id) {
id
title
description
author
categories {
id
title
showMainMenu
slug
automatedTrading
description
thumbnail
parent {
...CategoryFragment
}
children {
...CategoryFragment
}
media {
...MediaFragment
}
mediaList {
...MediaListFragment
}
vlogList {
...VlogListFragment
}
}
products {
results {
...ProductFragment
}
limit
page
pageCount
resultCount
}
date {
published
added
modified
}
createdAt
updatedAt
publishStart
views {
week
month
year
all
}
thumb
socialThumb
thumbs {
small {
...ThumbTypeFragment
}
medium {
...ThumbTypeFragment
}
large {
...ThumbTypeFragment
}
hd720 {
...ThumbTypeFragment
}
social {
...ThumbTypeFragment
}
}
interests {
id
slug
name
media {
...MediaFragment
}
mediaList {
...MediaListFragment
}
}
embedURL
keywords
socialNotificationFlags {
facebookLikes
twitterFollows
}
socialNotifications
contentType
files {
youtube {
...YoutubeFileTypeFragment
}
vimeo {
...VimeoFileTypeFragment
}
image {
...ImageFileTypeFragment
}
hls {
...HlsFileTypeFragment
}
dash {
...DashFileTypeFragment
}
progressive {
...ProgressiveFileTypeFragment
}
rtmp {
...RTMPFileTypeFragment
}
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
enabled
refID
refAppID
preroll
postroll
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
results {
...MediaFragment
}
limit
page
pageCount
resultCount
}
progress {
mediaID
media {
...MediaFragment
}
progress
watched
lastWatched
}
share {
message
enabled
url
}
subtitles {
results {
...MediaSubtitlesFragment
}
limit
page
pageCount
resultCount
}
spritesheets {
results {
...MediaSpritesheetsFragment
}
limit
page
pageCount
resultCount
}
unlisted
liveChat {
enabled
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
childMediaList {
results {
...MediaFragment
}
limit
page
pageCount
resultCount
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
}
Variables
{"id": 123}
Response
{
"data": {
"media": {
"id": 987,
"title": "xyz789",
"description": "xyz789",
"author": "abc123",
"categories": [Category],
"products": ProductList,
"date": MediaDates,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"publishStart": "2007-12-03T10:15:30Z",
"views": MediaViews,
"thumb": "abc123",
"socialThumb": "xyz789",
"thumbs": MediaThumbs,
"interests": [Interest],
"embedURL": "abc123",
"keywords": ["xyz789"],
"socialNotificationFlags": SocialNotificationFlags,
"socialNotifications": 123,
"contentType": "youtube",
"files": FileType,
"filesProtectedReason": "private",
"duration": 987,
"endedPosition": 123,
"pinned": true,
"private": true,
"automatedTrading": AutomatedTradingType,
"overlays": [OverlayLivestreamActive],
"vttTracks": [MetadataVttTrack],
"related": MediaList,
"progress": MediaProgress,
"share": MediaShare,
"subtitles": MediaSubtitlesList,
"spritesheets": MediaSpritesheetsList,
"unlisted": true,
"liveChat": MediaLiveChatSettings,
"livestreamStartTime": "2007-12-03T10:15:30Z",
"livestreamEndTime": "2007-12-03T10:15:30Z",
"liveTimeshifting": false,
"parentMedia": Media,
"childMediaList": MediaList,
"drmProtected": true,
"drmPolicy": "xyz789",
"vmapUrl": "xyz789",
"hasGeneratedVmap": true,
"canonicalUrl": "xyz789"
}
}
}
mediaByInterests
Response
Returns [ByInterest]
Arguments
Name | Description |
---|---|
filter - CategorizedFilter
|
|
sort - CategorizedSort
|
|
count - Int
|
|
interests - [Int]
|
Example
Query
query MediaByInterests(
$filter: CategorizedFilter,
$sort: CategorizedSort,
$count: Int,
$interests: [Int]
) {
mediaByInterests(
filter: $filter,
sort: $sort,
count: $count,
interests: $interests
) {
id
slug
name
media {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
limit
page
pageCount
resultCount
}
}
Variables
{
"filter": CategorizedFilter,
"sort": CategorizedSort,
"count": 123,
"interests": [123]
}
Response
{
"data": {
"mediaByInterests": [
{
"id": 987,
"slug": "xyz789",
"name": "xyz789",
"media": [Media],
"limit": 987,
"page": 123,
"pageCount": 123,
"resultCount": 123
}
]
}
}
mediaList
Response
Returns a MediaList
Arguments
Name | Description |
---|---|
filter - MediaFilter
|
|
sort - MediaSort
|
Sorts the media list, if you want to sort by multiple fields, use orderedSort instead. This field is ignored when orderedSort is set. |
orderedSort - [MediaSort]
|
Sorts the media list by multiple fields, in the order they are provided. When this field is set, the sort field is ignored. |
limit - Int
|
Default = 50 |
page - Int
|
Default = 1 |
options - MediaListOptions
|
Example
Query
query MediaList(
$filter: MediaFilter,
$sort: MediaSort,
$orderedSort: [MediaSort],
$limit: Int,
$page: Int,
$options: MediaListOptions
) {
mediaList(
filter: $filter,
sort: $sort,
orderedSort: $orderedSort,
limit: $limit,
page: $page,
options: $options
) {
results {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
limit
page
pageCount
resultCount
}
}
Variables
{
"filter": MediaFilter,
"sort": MediaSort,
"orderedSort": [MediaSort],
"limit": 50,
"page": 1,
"options": MediaListOptions
}
Response
{
"data": {
"mediaList": {
"results": [Media],
"limit": 987,
"page": 987,
"pageCount": 123,
"resultCount": 123
}
}
}
mediaProgress
Response
Returns a MediaProgress
Arguments
Name | Description |
---|---|
mediaID - Int!
|
Example
Query
query MediaProgress($mediaID: Int!) {
mediaProgress(mediaID: $mediaID) {
mediaID
media {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
progress
watched
lastWatched
}
}
Variables
{"mediaID": 987}
Response
{
"data": {
"mediaProgress": {
"mediaID": 987,
"media": Media,
"progress": 987,
"watched": true,
"lastWatched": "2007-12-03T10:15:30Z"
}
}
}
mediaProgressList
Response
Returns a MediaProgressList
Arguments
Name | Description |
---|---|
cursor - String
|
|
limit - Int
|
Default = 50 |
filter - MediaProgressFilter
|
|
options - MediaProgressOptions
|
Example
Query
query MediaProgressList(
$cursor: String,
$limit: Int,
$filter: MediaProgressFilter,
$options: MediaProgressOptions
) {
mediaProgressList(
cursor: $cursor,
limit: $limit,
filter: $filter,
options: $options
) {
results {
mediaID
media {
...MediaFragment
}
progress
watched
lastWatched
}
pageInfo {
nextCursor
hasNextPage
}
}
}
Variables
{
"cursor": "xyz789",
"limit": 50,
"filter": MediaProgressFilter,
"options": MediaProgressOptions
}
Response
{
"data": {
"mediaProgressList": {
"results": [MediaProgress],
"pageInfo": PageInfo
}
}
}
mediaRelated
Description
Media items related to the media item of the given ID
Response
Returns a MediaList!
Arguments
Name | Description |
---|---|
id - Int!
|
|
filter - MediaFilter
|
|
sort - MediaSort
|
Sorts the media list, if you want to sort by multiple fields, use orderedSort instead. This field is ignored when orderedSort is set. |
orderedSort - [MediaSort]
|
Sorts the media list by multiple fields, in the order they are provided. When this field is set, the sort field is ignored. |
limit - Int
|
Default = 50 |
page - Int
|
Default = 1 |
options - MediaListOptions
|
Example
Query
query MediaRelated(
$id: Int!,
$filter: MediaFilter,
$sort: MediaSort,
$orderedSort: [MediaSort],
$limit: Int,
$page: Int,
$options: MediaListOptions
) {
mediaRelated(
id: $id,
filter: $filter,
sort: $sort,
orderedSort: $orderedSort,
limit: $limit,
page: $page,
options: $options
) {
results {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
limit
page
pageCount
resultCount
}
}
Variables
{
"id": 987,
"filter": MediaFilter,
"sort": MediaSort,
"orderedSort": [MediaSort],
"limit": 50,
"page": 1,
"options": MediaListOptions
}
Response
{
"data": {
"mediaRelated": {
"results": [Media],
"limit": 123,
"page": 987,
"pageCount": 123,
"resultCount": 123
}
}
}
movie
Description
🔐 You must have the following permissions to query this field:
- movie: read
Example
Query
query Movie($id: Int!) {
movie(id: $id) {
id
title
description
publishStart
publishEnd
releaseDate
media {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
trailer {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
posterImage
genres {
id
title
description
}
extras {
id
title
media {
...MediaFragment
}
}
}
}
Variables
{"id": 987}
Response
{
"data": {
"movie": {
"id": 987,
"title": "xyz789",
"description": "abc123",
"publishStart": "2007-12-03T10:15:30Z",
"publishEnd": "2007-12-03T10:15:30Z",
"releaseDate": "2007-12-03T10:15:30Z",
"media": Media,
"trailer": Media,
"posterImage": "xyz789",
"genres": [Genre],
"extras": [Extra]
}
}
}
moviesAndSeriesList
Response
Returns a MoviesAndSeriesList
Arguments
Name | Description |
---|---|
limit - Int
|
Default = 50 |
page - Int
|
Default = 1 |
filter - MoviesAndSeriesFilter
|
|
sort - MoviesAndSeriesListSort
|
Example
Query
query MoviesAndSeriesList(
$limit: Int,
$page: Int,
$filter: MoviesAndSeriesFilter,
$sort: MoviesAndSeriesListSort
) {
moviesAndSeriesList(
limit: $limit,
page: $page,
filter: $filter,
sort: $sort
) {
results {
... on Movie {
...MovieFragment
}
... on Series {
...SeriesFragment
}
}
limit
page
pageCount
resultCount
}
}
Variables
{
"limit": 50,
"page": 1,
"filter": MoviesAndSeriesFilter,
"sort": MoviesAndSeriesListSort
}
Response
{
"data": {
"moviesAndSeriesList": {
"results": [Movie],
"limit": 987,
"page": 123,
"pageCount": 123,
"resultCount": 987
}
}
}
paymentServiceProviderList
Response
Returns [PaymentServiceProvider]
Example
Query
query PaymentServiceProviderList {
paymentServiceProviderList {
id
name
publicApiKey
methods {
id
name
type
supportedPlanTypes
options {
...IssuerArrayFragment
}
}
}
}
Response
{
"data": {
"paymentServiceProviderList": [
{
"id": 987,
"name": "xyz789",
"publicApiKey": "xyz789",
"methods": [PaymentMethod]
}
]
}
}
permissions
Description
The list of permissions the querying user has
Response
Returns an AclPermissions
Example
Query
query Permissions {
permissions {
category {
create
read
update
delete
}
comment {
create
read
update
delete
}
contentPage {
create
read
update
delete
}
contract {
create
read
update
delete
}
discountCode {
create
read
update
delete
}
episode {
create
read
update
delete
}
extra {
create
read
update
delete
}
genre {
create
read
update
delete
}
interest {
create
read
update
delete
}
libraryCategory {
create
read
update
delete
}
media {
create
read
update
delete
}
movie {
create
read
update
delete
}
overlay {
create
read
update
delete
}
plan {
create
read
update
delete
}
product {
create
read
update
delete
}
season {
create
read
update
delete
}
series {
create
read
update
delete
}
slide {
create
read
update
delete
}
slider {
create
read
update
delete
}
transaction {
create
read
update
delete
}
userMedia {
create
read
update
delete
}
vlog {
create
read
update
delete
}
watchLater {
create
read
update
delete
}
analytics {
create
read
update
delete
}
anyComment {
create
read
update
delete
}
chatModeration {
create
read
update
delete
}
file {
create
read
update
delete
}
mediaSpritesheets {
create
read
update
delete
}
mediaSubtitles {
create
read
update
delete
}
purchase {
create
read
update
delete
}
uiBuilder {
create
read
update
delete
}
usageReport {
create
read
update
delete
}
user {
create
read
update
delete
}
userDisplayName {
create
read
update
delete
}
settings {
create
read
update
delete
}
subscription {
create
read
update
delete
}
timeline {
create
read
update
delete
}
transition {
create
read
update
delete
}
}
}
Response
{
"data": {
"permissions": {
"category": AclCrudPermissions,
"comment": AclCrudPermissions,
"contentPage": AclCrudPermissions,
"contract": AclCrudPermissions,
"discountCode": AclCrudPermissions,
"episode": AclCrudPermissions,
"extra": AclCrudPermissions,
"genre": AclCrudPermissions,
"interest": AclCrudPermissions,
"libraryCategory": AclCrudPermissions,
"media": AclCrudPermissions,
"movie": AclCrudPermissions,
"overlay": AclCrudPermissions,
"plan": AclCrudPermissions,
"product": AclCrudPermissions,
"season": AclCrudPermissions,
"series": AclCrudPermissions,
"slide": AclCrudPermissions,
"slider": AclCrudPermissions,
"transaction": AclCrudPermissions,
"userMedia": AclCrudPermissions,
"vlog": AclCrudPermissions,
"watchLater": AclCrudPermissions,
"analytics": AclCrudPermissions,
"anyComment": AclCrudPermissions,
"chatModeration": AclCrudPermissions,
"file": AclCrudPermissions,
"mediaSpritesheets": AclCrudPermissions,
"mediaSubtitles": AclCrudPermissions,
"purchase": AclCrudPermissions,
"uiBuilder": AclCrudPermissions,
"usageReport": AclCrudPermissions,
"user": AclCrudPermissions,
"userDisplayName": AclCrudPermissions,
"settings": AclCrudPermissions,
"subscription": AclCrudPermissions,
"timeline": AclCrudPermissions,
"transition": AclCrudPermissions
}
}
}
product
Description
🔐 You must have the following permissions to query this field:
- product: read
The channel must have the premiumContent feature enabled to query this field.
Example
Query
query Product($id: Int!) {
product(id: $id) {
id
title
description
type
termsOfUse
allowSubmitMedia
allowDisqus
preventAds
createdAt
updatedAt
plans {
results {
...PlanFragment
}
limit
page
pageCount
resultCount
}
media {
results {
...MediaFragment
}
limit
page
pageCount
resultCount
}
interests {
results {
...InterestFragment
}
limit
page
pageCount
resultCount
}
categories {
results {
...CategoryFragment
}
limit
page
pageCount
resultCount
}
includedMedia {
results {
...MediaFragment
}
limit
page
pageCount
resultCount
}
trailer {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
}
}
Variables
{"id": 123}
Response
{
"data": {
"product": {
"id": 123,
"title": "abc123",
"description": "xyz789",
"type": "singularMedia",
"termsOfUse": "xyz789",
"allowSubmitMedia": true,
"allowDisqus": false,
"preventAds": true,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"plans": PlanList,
"media": MediaList,
"interests": InterestListType,
"categories": CategoryList,
"includedMedia": MediaList,
"trailer": Media
}
}
}
productList
Description
The channel must have the premiumContent feature enabled to query this field.
Response
Returns a ProductList
Arguments
Name | Description |
---|---|
page - Int
|
Default = 1 |
limit - Int
|
Default = 50 |
filter - ProductFilter
|
|
sort - ProductListSort
|
Example
Query
query ProductList(
$page: Int,
$limit: Int,
$filter: ProductFilter,
$sort: ProductListSort
) {
productList(
page: $page,
limit: $limit,
filter: $filter,
sort: $sort
) {
results {
id
title
description
type
termsOfUse
allowSubmitMedia
allowDisqus
preventAds
createdAt
updatedAt
plans {
...PlanListFragment
}
media {
...MediaListFragment
}
interests {
...InterestListTypeFragment
}
categories {
...CategoryListFragment
}
includedMedia {
...MediaListFragment
}
trailer {
...MediaFragment
}
}
limit
page
pageCount
resultCount
}
}
Variables
{
"page": 1,
"limit": 50,
"filter": ProductFilter,
"sort": ProductListSort
}
Response
{
"data": {
"productList": {
"results": [Product],
"limit": 987,
"page": 123,
"pageCount": 123,
"resultCount": 123
}
}
}
profile
Response
Returns a ProfileType!
Example
Query
query Profile {
profile {
id
username
uuid
firstName
lastName
displayName
email
country
registerType
verified
language
subscriptions
interests {
id
slug
name
media {
...MediaFragment
}
mediaList {
...MediaListFragment
}
}
roles
userNotificationPreferences {
notificationNewMedia
notificationLivestreamScheduled
notificationInvoice
newsletterSubscribed
}
canSubmitMedia
canDisqus
}
}
Response
{
"data": {
"profile": {
"id": 123,
"username": "abc123",
"uuid": "xyz789",
"firstName": "abc123",
"lastName": "xyz789",
"displayName": "abc123",
"email": "xyz789",
"country": "AF",
"registerType": 987,
"verified": true,
"language": "xyz789",
"subscriptions": [123],
"interests": [Interest],
"roles": ["elearningLessonReports"],
"userNotificationPreferences": NotificationInputs,
"canSubmitMedia": false,
"canDisqus": false
}
}
}
pspInfo
Response
Returns a PSPInfo
Example
Query
query PspInfo {
pspInfo {
id
name
currency
publicApiKey
}
}
Response
{
"data": {
"pspInfo": {
"id": 123,
"name": "xyz789",
"currency": "abc123",
"publicApiKey": "xyz789"
}
}
}
pspMethods
Response
Returns [PSPMethod]
Example
Query
query PspMethods {
pspMethods {
name
value
valueType
options {
issuerID {
...IssuerFragment
}
}
}
}
Response
{
"data": {
"pspMethods": [
{
"name": "xyz789",
"value": 987,
"valueType": "Bancontact",
"options": IssuerArray
}
]
}
}
requestDetails
Response
Returns a RequestDetails
Example
Query
query RequestDetails {
requestDetails {
country
}
}
Response
{
"data": {
"requestDetails": {"country": "xyz789"}
}
}
route
Description
🔐 You must have the following permissions to query this field:
- uiBuilder: read
The channel must have the uiBuilder feature enabled to query this field.
Response
Returns a Route
Arguments
Name | Description |
---|---|
type - UIBuilderTypeEnum!
|
|
routeName - String!
|
Example
Query
query Route(
$type: UIBuilderTypeEnum!,
$routeName: String!
) {
route(
type: $type,
routeName: $routeName
) {
type
routeName
context
status
ui {
... on UIComponentAccountView {
...UIComponentAccountViewFragment
}
... on AppUIComponentBlock {
...AppUIComponentBlockFragment
}
... on AppUIComponentCategoryMediaCollection {
...AppUIComponentCategoryMediaCollectionFragment
}
... on AppUIComponentCategoryThumbCollection {
...AppUIComponentCategoryThumbCollectionFragment
}
... on AppUIComponentContinueWatching {
...AppUIComponentContinueWatchingFragment
}
... on AppUIComponentImage {
...AppUIComponentImageFragment
}
... on AppUIComponentMarketingSlider {
...AppUIComponentMarketingSliderFragment
}
... on AppUIComponentMediaCollection {
...AppUIComponentMediaCollectionFragment
}
... on AppUIComponentOndemandCollection {
...AppUIComponentOndemandCollectionFragment
}
... on AppUIComponentText {
...AppUIComponentTextFragment
}
... on AppUIComponentTimelinePlayButton {
...AppUIComponentTimelinePlayButtonFragment
}
... on AppUIComponentTimelineSchedule {
...AppUIComponentTimelineScheduleFragment
}
... on UIComponentApp {
...UIComponentAppFragment
}
... on UIComponentBlock {
...UIComponentBlockFragment
}
... on UIComponentBlurredItem {
...UIComponentBlurredItemFragment
}
... on UIComponentBreadcrumb {
...UIComponentBreadcrumbFragment
}
... on UIComponentCategoryTags {
...UIComponentCategoryTagsFragment
}
... on UIComponentContentPagesList {
...UIComponentContentPagesListFragment
}
... on UIComponentCurrentlyPlaying {
...UIComponentCurrentlyPlayingFragment
}
... on UIComponentGridItem {
...UIComponentGridItemFragment
}
... on UIComponentGrid {
...UIComponentGridFragment
}
... on UIComponentHeading {
...UIComponentHeadingFragment
}
... on UIComponentHr {
...UIComponentHrFragment
}
... on UIComponentHtml {
...UIComponentHtmlFragment
}
... on UIComponentIcon {
...UIComponentIconFragment
}
... on UIComponentImage {
...UIComponentImageFragment
}
... on UIComponentItemComments {
...UIComponentItemCommentsFragment
}
... on UIComponentItemInterests {
...UIComponentItemInterestsFragment
}
... on UIComponentItemShare {
...UIComponentItemShareFragment
}
... on UIComponentLastWatchedOrNewMedia {
...UIComponentLastWatchedOrNewMediaFragment
}
... on UIComponentLink {
...UIComponentLinkFragment
}
... on UIComponentMediaItemsCategory {
...UIComponentMediaItemsCategoryFragment
}
... on UIComponentMediaItems {
...UIComponentMediaItemsFragment
}
... on UIComponentOndemandComponent {
...UIComponentOndemandComponentFragment
}
... on UIComponentOndemand {
...UIComponentOndemandFragment
}
... on UIComponentPageMeta {
...UIComponentPageMetaFragment
}
... on UIComponentRelatedVlogItems {
...UIComponentRelatedVlogItemsFragment
}
... on UIComponentRequestPlayer {
...UIComponentRequestPlayerFragment
}
... on UIComponentSearchView {
...UIComponentSearchViewFragment
}
... on UIComponentSettingsContent {
...UIComponentSettingsContentFragment
}
... on UIComponentSocialMediaButtons {
...UIComponentSocialMediaButtonsFragment
}
... on UIComponentText {
...UIComponentTextFragment
}
... on UIComponentThumbBackdrop {
...UIComponentThumbBackdropFragment
}
... on UIComponentVlogCategoriesList {
...UIComponentVlogCategoriesListFragment
}
... on UIComponentVlogCategoryCollection {
...UIComponentVlogCategoryCollectionFragment
}
... on UIComponentVlogItemContent {
...UIComponentVlogItemContentFragment
}
... on UIComponentVlogItemHeader {
...UIComponentVlogItemHeaderFragment
}
... on UIComponentVlogItemsCategory {
...UIComponentVlogItemsCategoryFragment
}
... on UIComponentVlogItems {
...UIComponentVlogItemsFragment
}
... on WebUIComponentMarketingSlider {
...WebUIComponentMarketingSliderFragment
}
}
rootIDs
style
created
}
}
Variables
{"type": "web", "routeName": "abc123"}
Response
{
"data": {
"route": {
"type": "web",
"routeName": "xyz789",
"context": "xyz789",
"status": "published",
"ui": [UIComponentAccountView],
"rootIDs": ["4"],
"style": "xyz789",
"created": "2007-12-03T10:15:30Z"
}
}
}
routeList
Description
The channel must have the uiBuilder feature enabled to query this field.
Response
Returns a RouteList
Arguments
Name | Description |
---|---|
type - UIBuilderTypeEnum!
|
|
cursor - String
|
|
limit - Int
|
Default = 50 |
Example
Query
query RouteList(
$type: UIBuilderTypeEnum!,
$cursor: String,
$limit: Int
) {
routeList(
type: $type,
cursor: $cursor,
limit: $limit
) {
results {
type
routeName
context
status
ui {
... on UIComponentAccountView {
...UIComponentAccountViewFragment
}
... on AppUIComponentBlock {
...AppUIComponentBlockFragment
}
... on AppUIComponentCategoryMediaCollection {
...AppUIComponentCategoryMediaCollectionFragment
}
... on AppUIComponentCategoryThumbCollection {
...AppUIComponentCategoryThumbCollectionFragment
}
... on AppUIComponentContinueWatching {
...AppUIComponentContinueWatchingFragment
}
... on AppUIComponentImage {
...AppUIComponentImageFragment
}
... on AppUIComponentMarketingSlider {
...AppUIComponentMarketingSliderFragment
}
... on AppUIComponentMediaCollection {
...AppUIComponentMediaCollectionFragment
}
... on AppUIComponentOndemandCollection {
...AppUIComponentOndemandCollectionFragment
}
... on AppUIComponentText {
...AppUIComponentTextFragment
}
... on AppUIComponentTimelinePlayButton {
...AppUIComponentTimelinePlayButtonFragment
}
... on AppUIComponentTimelineSchedule {
...AppUIComponentTimelineScheduleFragment
}
... on UIComponentApp {
...UIComponentAppFragment
}
... on UIComponentBlock {
...UIComponentBlockFragment
}
... on UIComponentBlurredItem {
...UIComponentBlurredItemFragment
}
... on UIComponentBreadcrumb {
...UIComponentBreadcrumbFragment
}
... on UIComponentCategoryTags {
...UIComponentCategoryTagsFragment
}
... on UIComponentContentPagesList {
...UIComponentContentPagesListFragment
}
... on UIComponentCurrentlyPlaying {
...UIComponentCurrentlyPlayingFragment
}
... on UIComponentGridItem {
...UIComponentGridItemFragment
}
... on UIComponentGrid {
...UIComponentGridFragment
}
... on UIComponentHeading {
...UIComponentHeadingFragment
}
... on UIComponentHr {
...UIComponentHrFragment
}
... on UIComponentHtml {
...UIComponentHtmlFragment
}
... on UIComponentIcon {
...UIComponentIconFragment
}
... on UIComponentImage {
...UIComponentImageFragment
}
... on UIComponentItemComments {
...UIComponentItemCommentsFragment
}
... on UIComponentItemInterests {
...UIComponentItemInterestsFragment
}
... on UIComponentItemShare {
...UIComponentItemShareFragment
}
... on UIComponentLastWatchedOrNewMedia {
...UIComponentLastWatchedOrNewMediaFragment
}
... on UIComponentLink {
...UIComponentLinkFragment
}
... on UIComponentMediaItemsCategory {
...UIComponentMediaItemsCategoryFragment
}
... on UIComponentMediaItems {
...UIComponentMediaItemsFragment
}
... on UIComponentOndemandComponent {
...UIComponentOndemandComponentFragment
}
... on UIComponentOndemand {
...UIComponentOndemandFragment
}
... on UIComponentPageMeta {
...UIComponentPageMetaFragment
}
... on UIComponentRelatedVlogItems {
...UIComponentRelatedVlogItemsFragment
}
... on UIComponentRequestPlayer {
...UIComponentRequestPlayerFragment
}
... on UIComponentSearchView {
...UIComponentSearchViewFragment
}
... on UIComponentSettingsContent {
...UIComponentSettingsContentFragment
}
... on UIComponentSocialMediaButtons {
...UIComponentSocialMediaButtonsFragment
}
... on UIComponentText {
...UIComponentTextFragment
}
... on UIComponentThumbBackdrop {
...UIComponentThumbBackdropFragment
}
... on UIComponentVlogCategoriesList {
...UIComponentVlogCategoriesListFragment
}
... on UIComponentVlogCategoryCollection {
...UIComponentVlogCategoryCollectionFragment
}
... on UIComponentVlogItemContent {
...UIComponentVlogItemContentFragment
}
... on UIComponentVlogItemHeader {
...UIComponentVlogItemHeaderFragment
}
... on UIComponentVlogItemsCategory {
...UIComponentVlogItemsCategoryFragment
}
... on UIComponentVlogItems {
...UIComponentVlogItemsFragment
}
... on WebUIComponentMarketingSlider {
...WebUIComponentMarketingSliderFragment
}
}
rootIDs
style
created
}
pageInfo {
nextCursor
hasNextPage
}
}
}
Variables
{
"type": "web",
"cursor": "xyz789",
"limit": 50
}
Response
{
"data": {
"routeList": {
"results": [Route],
"pageInfo": PageInfo
}
}
}
season
Description
🔐 You must have the following permissions to query this field:
- season: read
Example
Query
query Season($id: Int!) {
season(id: $id) {
id
title
description
publishStart
publishEnd
releaseDate
trailer {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
posterImage
extras {
id
title
media {
...MediaFragment
}
}
episodes {
id
title
description
publishStart
publishEnd
releaseDate
posterImage
media {
...MediaFragment
}
trailer {
...MediaFragment
}
season {
...SeasonFragment
}
extras {
...ExtraFragment
}
}
series {
id
title
description
publishStart
publishEnd
releaseDate
trailer {
...MediaFragment
}
posterImage
genres {
...GenreFragment
}
seasons {
...SeasonFragment
}
}
}
}
Variables
{"id": 123}
Response
{
"data": {
"season": {
"id": 987,
"title": "abc123",
"description": "abc123",
"publishStart": "2007-12-03T10:15:30Z",
"publishEnd": "2007-12-03T10:15:30Z",
"releaseDate": "2007-12-03T10:15:30Z",
"trailer": Media,
"posterImage": "abc123",
"extras": [Extra],
"episodes": [Episode],
"series": Series
}
}
}
series
Description
🔐 You must have the following permissions to query this field:
- series: read
Example
Query
query Series($id: Int!) {
series(id: $id) {
id
title
description
publishStart
publishEnd
releaseDate
trailer {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
posterImage
genres {
id
title
description
}
seasons {
id
title
description
publishStart
publishEnd
releaseDate
trailer {
...MediaFragment
}
posterImage
extras {
...ExtraFragment
}
episodes {
...EpisodeFragment
}
series {
...SeriesFragment
}
}
}
}
Variables
{"id": 123}
Response
{
"data": {
"series": {
"id": 987,
"title": "xyz789",
"description": "xyz789",
"publishStart": "2007-12-03T10:15:30Z",
"publishEnd": "2007-12-03T10:15:30Z",
"releaseDate": "2007-12-03T10:15:30Z",
"trailer": Media,
"posterImage": "abc123",
"genres": [Genre],
"seasons": [Season]
}
}
}
settings
Description
🔐 You must have the following permissions to query this field:
- settings: read
Response
Returns a Settings!
Example
Query
query Settings {
settings {
channel {
name
description
channelType
}
defaultLanguage
languages
analyticsApiUrl
analytics
appState
featuredMedia
googleApiMapsKey
analyticsTrackingIDs {
trackingID
}
googleTagManagerCode
hasHls
store {
ios {
...StoreDetailsFragment
}
android {
...StoreDetailsFragment
}
}
social {
facebook {
...FacebookDetailsFragment
}
twitter {
...SocialDetailsFragment
}
linkedin {
...SocialDetailsFragment
}
googleplus {
...SocialDetailsFragment
}
instagram {
...SocialDetailsFragment
}
tiktok {
...SocialDetailsFragment
}
spotify {
...SocialDetailsFragment
}
youtube {
...SocialDetailsFragment
}
snapchat {
...SocialDetailsFragment
}
pinterest {
...SocialDetailsFragment
}
}
newsletter
enableUserCountryInput
enableQualitySelector
enableCookieConsentNotice
enablePremiumContentIndicator
showOndemandViews
launchScreen {
new
loggedIn
}
notifications {
flags {
...NotificationFlagsFragment
}
inputs {
...NotificationInputsFragment
}
}
mobileApps
versions {
minAPI {
...VersionNumberTypeFragment
}
}
ui {
media {
...MediaSettingsFragment
}
restrictions {
...RestrictionSettingsFragment
}
ondemandCategorizationType
web {
...UITypeFragment
}
mobile {
...UITypeFragment
}
tv {
...UITypeFragment
}
}
hostname
features {
premiumContent {
...PremiumContentFeatureSettingsFragment
}
svod {
...SvodFeatureSettingsFragment
}
elearning {
...ElearningFeatureSettingsFragment
}
b2btv {
...B2btvFeatureSettingsFragment
}
automatedTrading {
...AutomatedTradingFeatureSettingsFragment
}
subtitles {
...SubtitlesFeatureSettingsFragment
}
chapters {
...ChaptersFeatureSettingsFragment
}
metadata {
...MetadataFeatureSettingsFragment
}
geoblocking {
...GeoblockingFeatureSettingsFragment
}
ticketCode {
...TicketCodeFeatureSettingsFragment
}
discountCode {
...DiscountCodeFeatureSettingsFragment
}
submitMedia {
...SubmitMediaSettingsFragment
}
disqus {
...DisqusSettingsFragment
}
activeDirectoryLogin {
...ActiveDirectoryLoginSettingsFragment
}
allowEmbedMediaType {
...AllowEmbedMediaTypeSettingsFragment
}
uiBuilder {
...UIBuilderFeatureSettingsFragment
}
liveChat {
...LiveChatFeatureSettingsFragment
}
marketingSliders {
...MarketingSlidersFeatureSettingsFragment
}
drm {
...DrmFeatureSettingsFragment
}
liveTimeshifting {
...LiveTimeshiftingFeatureSettingsFragment
}
sentry {
...SentryFeatureSettingsFragment
}
tvApp {
...TvAppFeatureSettingsFragment
}
vlogs {
...VlogsFeatureSettingsFragment
}
contentPages {
...ContentPagesFeatureSettingsFragment
}
timeline {
...TimelineFeatureSettingsFragment
}
frontendUser {
...FrontendUserFeatureSettingsFragment
}
broadcast {
...BroadcastFeatureSettingsTypeFragment
}
}
channelProtectedReason
allowMediaInMainCategory
apple {
teamID
appleBundleID
appBundleID
signIn {
...SignInWithAppleSettingsFragment
}
}
player {
airplay
autoSelectSubtitles
chromeCast
contextMenu
doubleTapControl
mediaSession
pip
playProgressTracking
vr360
playNextStrategy
streamLogoUrl
timelinePage
}
googleCastApplicationId
drmApiEndpoint
producedContentUrlSigning
interestCount
}
}
Response
{
"data": {
"settings": {
"channel": ChannelInfo,
"defaultLanguage": "abc123",
"languages": ["abc123"],
"analyticsApiUrl": "xyz789",
"analytics": "xyz789",
"appState": "ok",
"featuredMedia": 123,
"googleApiMapsKey": "xyz789",
"analyticsTrackingIDs": [AnalyticsSettings],
"googleTagManagerCode": "abc123",
"hasHls": false,
"store": StoreType,
"social": SocialType,
"newsletter": false,
"enableUserCountryInput": false,
"enableQualitySelector": true,
"enableCookieConsentNotice": false,
"enablePremiumContentIndicator": true,
"showOndemandViews": false,
"launchScreen": LaunchScreenSettings,
"notifications": NotificationSettings,
"mobileApps": false,
"versions": VersionType,
"ui": UISettings,
"hostname": "xyz789",
"features": FeaturesSettings,
"channelProtectedReason": "geoblocked",
"allowMediaInMainCategory": true,
"apple": AppleSettings,
"player": PlayerSettings,
"googleCastApplicationId": "xyz789",
"drmApiEndpoint": "abc123",
"producedContentUrlSigning": true,
"interestCount": 987
}
}
}
slide
Description
🔐 You must have the following permissions to query this field:
- slide: read
Example
Query
query Slide($id: Int!) {
slide(id: $id) {
id
title
hideTitle
description
hideDescription
image
showDuration
order
cta {
id
title
type
url
media {
...MediaFragment
}
product {
...ProductFragment
}
plan {
...PlanFragment
}
openExternally
}
availableOn
}
}
Variables
{"id": 123}
Response
{
"data": {
"slide": {
"id": 987,
"title": "abc123",
"hideTitle": false,
"description": "xyz789",
"hideDescription": false,
"image": "abc123",
"showDuration": 987,
"order": 987,
"cta": [SlideCta],
"availableOn": ["None"]
}
}
}
slideList
Response
Returns a SlideList
Arguments
Name | Description |
---|---|
page - Int
|
Default = 1 |
limit - Int
|
Default = 10 |
sliderId - Int!
|
|
filter - SlideFilter
|
Example
Query
query SlideList(
$page: Int,
$limit: Int,
$sliderId: Int!,
$filter: SlideFilter
) {
slideList(
page: $page,
limit: $limit,
sliderId: $sliderId,
filter: $filter
) {
results {
id
title
hideTitle
description
hideDescription
image
showDuration
order
cta {
...SlideCtaFragment
}
availableOn
}
limit
page
pageCount
resultCount
}
}
Variables
{
"page": 1,
"limit": 10,
"sliderId": 987,
"filter": SlideFilter
}
Response
{
"data": {
"slideList": {
"results": [Slide],
"limit": 987,
"page": 987,
"pageCount": 123,
"resultCount": 987
}
}
}
slider
Description
A marketing slider that can hold 10 slides
🔐 You must have the following permissions to query this field:
- slider: read
Example
Query
query Slider($id: Int!) {
slider(id: $id) {
id
showDuration
title
slides {
id
title
hideTitle
description
hideDescription
image
showDuration
order
cta {
...SlideCtaFragment
}
availableOn
}
}
}
Variables
{"id": 123}
Response
{
"data": {
"slider": {
"id": 987,
"showDuration": 987,
"title": "abc123",
"slides": [Slide]
}
}
}
sliderList
Response
Returns a SliderList
Arguments
Name | Description |
---|---|
page - Int
|
Default = 1 |
limit - Int
|
Default = 50 |
filter - SliderFilter
|
Example
Query
query SliderList(
$page: Int,
$limit: Int,
$filter: SliderFilter
) {
sliderList(
page: $page,
limit: $limit,
filter: $filter
) {
results {
id
showDuration
title
slides {
...SlideFragment
}
}
limit
page
pageCount
resultCount
}
}
Variables
{"page": 1, "limit": 50, "filter": SliderFilter}
Response
{
"data": {
"sliderList": {
"results": [Slider],
"limit": 123,
"page": 987,
"pageCount": 123,
"resultCount": 123
}
}
}
style
Description
🔐 You must have the following permissions to query this field:
- uiBuilder: read
The channel must have the uiBuilder feature enabled to query this field.
Response
Returns a Style
Arguments
Name | Description |
---|---|
type - UIBuilderTypeEnum!
|
Example
Query
query Style($type: UIBuilderTypeEnum!) {
style(type: $type) {
type
style
}
}
Variables
{"type": "web"}
Response
{
"data": {
"style": {
"type": "web",
"style": "xyz789"
}
}
}
subscriptionList
Response
Returns a SubscriptionList
Arguments
Name | Description |
---|---|
filter - SubscriptionFilter
|
|
sort - SubscriptionSort
|
|
limit - Int
|
Default = 50 |
page - Int
|
Default = 1 |
Example
Query
query SubscriptionList(
$filter: SubscriptionFilter,
$sort: SubscriptionSort,
$limit: Int,
$page: Int
) {
subscriptionList(
filter: $filter,
sort: $sort,
limit: $limit,
page: $page
) {
limit
page
pageCount
resultCount
}
}
Variables
{
"filter": SubscriptionFilter,
"sort": SubscriptionSort,
"limit": 50,
"page": 1
}
Response
{
"data": {
"subscriptionList": {
"limit": 123,
"page": 987,
"pageCount": 123,
"resultCount": 987
}
}
}
timeline
Description
Note: the id argument is deprecated and will be ignored
🔐 You must have the following permissions to query this field:
- timeline: read
The channel must have the timeline feature enabled to query this field.
Response
Returns a TimelineType
Arguments
Name | Description |
---|---|
id - Int
|
Example
Query
query Timeline($id: Int) {
timeline(id: $id) {
items {
media {
...TimelineMediaItemFragment
}
overlay {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
timeline {
...MediaTimelineInfoFragment
}
}
overlay {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
timeline {
startTime
totalDuration
lastUpdate
}
transitions {
id
userSelectable
name
frames
still
fps
url
thumbnail
preview
frameUrls
}
share {
message
url
enabled
}
automated_trading {
refID
refAppID
}
automatedTrading {
refID
refAppID
}
}
}
Variables
{"id": 123}
Response
{
"data": {
"timeline": {
"items": [TimelineItem],
"overlay": [OverlayLivestreamActive],
"timeline": TimelineInfo,
"transitions": [Transition],
"share": Share,
"automated_trading": TimelineAutomatedTradingType,
"automatedTrading": TimelineAutomatedTradingType
}
}
}
transaction
Description
The authenticated user's transaction of the given ID
🔐 You must have the following permissions to query this field:
- transaction: read
Response
Returns a Transaction
Arguments
Name | Description |
---|---|
id - Int!
|
Example
Query
query Transaction($id: Int!) {
transaction(id: $id) {
id
amountInCents
currency
provider
method
status
reason
contracts {
results {
...ContractFragment
}
limit
page
pageCount
resultCount
}
}
}
Variables
{"id": 123}
Response
{
"data": {
"transaction": {
"id": 123,
"amountInCents": 123,
"currency": "USD",
"provider": "cardGate",
"method": "Bancontact",
"status": "pending",
"reason": "authSuccess",
"contracts": ContractList
}
}
}
transition
Response
Returns a DynamoTransition
Arguments
Name | Description |
---|---|
id - String!
|
Example
Query
query Transition($id: String!) {
transition(id: $id) {
id
userSelectable
name
folder
frames
still
fps
}
}
Variables
{"id": "abc123"}
Response
{
"data": {
"transition": {
"id": "xyz789",
"userSelectable": true,
"name": "abc123",
"folder": "xyz789",
"frames": 987,
"still": 987,
"fps": 987
}
}
}
transitionList
Response
Returns a DynamoTransitionList
Example
Query
query TransitionList(
$limit: Int,
$startAfterID: String
) {
transitionList(
limit: $limit,
startAfterID: $startAfterID
) {
Items {
id
userSelectable
name
folder
frames
still
fps
}
Count
ScannedCount
LastEvaluatedID
}
}
Variables
{"limit": 987, "startAfterID": "xyz789"}
Response
{
"data": {
"transitionList": {
"Items": [DynamoTransition],
"Count": 123,
"ScannedCount": 123,
"LastEvaluatedID": "abc123"
}
}
}
tvLive
Response
Returns a Live
Example
Query
query TvLive {
tvLive {
item {
media {
...TimelineMediaItemFragment
}
overlay {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
timeline {
...MediaTimelineInfoFragment
}
}
livestream {
startTime
}
}
}
Response
{
"data": {
"tvLive": {
"item": TimelineItem,
"livestream": Livestream
}
}
}
tvTimeline
Response
Returns a TvTimelineType!
Arguments
Name | Description |
---|---|
mac - String!
|
Example
Query
query TvTimeline($mac: String!) {
tvTimeline(mac: $mac) {
items {
media {
...TimelineMediaItemFragment
}
overlay {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
timeline {
...MediaTimelineInfoFragment
}
}
mergeMethod
transitions {
id
userSelectable
name
frames
still
fps
url
thumbnail
preview
frameUrls
}
}
}
Variables
{"mac": "abc123"}
Response
{
"data": {
"tvTimeline": {
"items": [TimelineItem],
"mergeMethod": "before",
"transitions": [Transition]
}
}
}
userInterests
Description
The interests of the authenticated user
🔐 You must have the following permissions to query this field:
- interest: read
Response
Returns [Interest]
Example
Query
query UserInterests {
userInterests {
id
slug
name
media {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
mediaList {
results {
...MediaFragment
}
limit
page
pageCount
resultCount
}
}
}
Response
{
"data": {
"userInterests": [
{
"id": 123,
"slug": "abc123",
"name": "xyz789",
"media": [Media],
"mediaList": MediaList
}
]
}
}
userMediaGetUploadUrl
Description
Gets credentials to upload user media to S3.
The channel must have the submitMedia feature enabled to query this field.
Response
Returns an UploadUserMediaUploadUrl
Example
Query
query UserMediaGetUploadUrl {
userMediaGetUploadUrl {
Credentials {
AccessKeyID
SecretAccessKey
SessionToken
Expiration
}
Region
S3 {
Bucket
Key
}
}
}
Response
{
"data": {
"userMediaGetUploadUrl": {
"Credentials": Credentials,
"Region": "abc123",
"S3": S3
}
}
}
userMediaSubmissionAllowed
Description
Whether or not uploading user generated content is allowed, based on the rate limits set for the current channel.
The channel must have the submitMedia feature enabled to query this field.
Response
Returns a UserMediaSubmissionAllowStatus
Example
Query
query UserMediaSubmissionAllowed {
userMediaSubmissionAllowed {
allowed
reason
}
}
Response
{
"data": {
"userMediaSubmissionAllowed": {
"allowed": true,
"reason": "xyz789"
}
}
}
userNotificationPreferences
Description
Gets the authenticated user's notification preferences. Note: the userID argument is deprecated and will be ignored.
Response
Returns a NotificationInputs
Arguments
Name | Description |
---|---|
userID - Int
|
Example
Query
query UserNotificationPreferences($userID: Int) {
userNotificationPreferences(userID: $userID) {
notificationNewMedia
notificationLivestreamScheduled
notificationInvoice
newsletterSubscribed
}
}
Variables
{"userID": 987}
Response
{
"data": {
"userNotificationPreferences": {
"notificationNewMedia": NotificationBitmaskType,
"notificationLivestreamScheduled": NotificationBitmaskType,
"notificationInvoice": NotificationBitmaskType,
"newsletterSubscribed": NotificationBitmaskType
}
}
}
vlog
Description
Gets the vlog.
🔐 You must have the following permissions to query this field:
- vlog: read
The channel must have the vlogs feature enabled to query this field.
Example
Query
query Vlog($slug: String!) {
vlog(slug: $slug) {
commentCount
date {
published
added
modified
}
createdAt
updatedAt
publishStart
id
media {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
contentText
description
allowComments
slug
comments {
parent
user {
...UserInfoFragment
}
date {
...CommentDatesFragment
}
createdAt
updatedAt
childCount
children {
...CommentTypeFragment
}
id
body
status
}
commentList {
results {
...CommentTypeFragment
}
limit
page
pageCount
resultCount
}
related {
results {
...VlogListItemFragment
}
limit
page
pageCount
resultCount
}
}
}
Variables
{"slug": "abc123"}
Response
{
"data": {
"vlog": {
"commentCount": 987,
"date": VlogDates,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"publishStart": "2007-12-03T10:15:30Z",
"id": 987,
"media": Media,
"contentText": "xyz789",
"description": "xyz789",
"allowComments": true,
"slug": "xyz789",
"comments": [CommentType],
"commentList": CommentList,
"related": VlogList
}
}
}
vlogList
Description
Gets the list of vlogs.
The channel must have the vlogs feature enabled to query this field.
Response
Returns a VlogList
Arguments
Name | Description |
---|---|
filter - VlogFilter
|
|
sort - VlogSort
|
|
limit - Int
|
|
page - Int
|
Example
Query
query VlogList(
$filter: VlogFilter,
$sort: VlogSort,
$limit: Int,
$page: Int
) {
vlogList(
filter: $filter,
sort: $sort,
limit: $limit,
page: $page
) {
results {
title
categories {
...CategoryFragment
}
thumb
socialThumb
thumbs {
...VlogThumbsFragment
}
commentCount
date {
...VlogDatesFragment
}
createdAt
updatedAt
publishStart
id
media {
...MediaFragment
}
contentText
description
allowComments
slug
comments {
...CommentTypeFragment
}
commentList {
...CommentListFragment
}
related {
...VlogListFragment
}
}
limit
page
pageCount
resultCount
}
}
Variables
{
"filter": VlogFilter,
"sort": VlogSort,
"limit": 987,
"page": 123
}
Response
{
"data": {
"vlogList": {
"results": [VlogListItem],
"limit": 123,
"page": 123,
"pageCount": 123,
"resultCount": 987
}
}
}
vlogRelated
Description
Gets vlogs related to the given vlog.
The channel must have the vlogs feature enabled to query this field.
Response
Returns a VlogList
Arguments
Name | Description |
---|---|
slug - String!
|
|
filter - VlogFilter
|
|
sort - VlogSort
|
|
limit - Int
|
|
page - Int
|
Example
Query
query VlogRelated(
$slug: String!,
$filter: VlogFilter,
$sort: VlogSort,
$limit: Int,
$page: Int
) {
vlogRelated(
slug: $slug,
filter: $filter,
sort: $sort,
limit: $limit,
page: $page
) {
results {
title
categories {
...CategoryFragment
}
thumb
socialThumb
thumbs {
...VlogThumbsFragment
}
commentCount
date {
...VlogDatesFragment
}
createdAt
updatedAt
publishStart
id
media {
...MediaFragment
}
contentText
description
allowComments
slug
comments {
...CommentTypeFragment
}
commentList {
...CommentListFragment
}
related {
...VlogListFragment
}
}
limit
page
pageCount
resultCount
}
}
Variables
{
"slug": "abc123",
"filter": VlogFilter,
"sort": VlogSort,
"limit": 987,
"page": 987
}
Response
{
"data": {
"vlogRelated": {
"results": [VlogListItem],
"limit": 123,
"page": 123,
"pageCount": 987,
"resultCount": 123
}
}
}
watchLaterList
Response
Returns a WatchLaterMediaList
Arguments
Name | Description |
---|---|
filter - MediaFilter
|
|
sort - MediaSort
|
Sorts the media list, if you want to sort by multiple fields, use orderedSort instead. This field is ignored when orderedSort is set. |
orderedSort - [MediaSort]
|
Sorts the media list by multiple fields, in the order they are provided. When this field is set, the sort field is ignored. |
limit - Int
|
Default = 50 |
page - Int
|
Default = 1 |
options - MediaListOptions
|
Example
Query
query WatchLaterList(
$filter: MediaFilter,
$sort: MediaSort,
$orderedSort: [MediaSort],
$limit: Int,
$page: Int,
$options: MediaListOptions
) {
watchLaterList(
filter: $filter,
sort: $sort,
orderedSort: $orderedSort,
limit: $limit,
page: $page,
options: $options
) {
results {
id
title
description
author
categories {
...CategoryFragment
}
products {
...ProductListFragment
}
date {
...MediaDatesFragment
}
createdAt
updatedAt
publishStart
views {
...MediaViewsFragment
}
thumb
socialThumb
thumbs {
...MediaThumbsFragment
}
interests {
...InterestFragment
}
embedURL
keywords
socialNotificationFlags {
...SocialNotificationFlagsFragment
}
socialNotifications
contentType
files {
...FileTypeFragment
}
filesProtectedReason
duration
endedPosition
pinned
private
automatedTrading {
...AutomatedTradingTypeFragment
}
overlays {
... on OverlayLivestreamActive {
...OverlayLivestreamActiveFragment
}
... on OverlayMap {
...OverlayMapFragment
}
... on OverlayBookBuy {
...OverlayBookBuyFragment
}
... on OverlayTwitter {
...OverlayTwitterFragment
}
... on OverlayInfo {
...OverlayInfoFragment
}
... on OverlayRSS {
...OverlayRSSFragment
}
... on OverlayAutomatedTrading {
...OverlayAutomatedTradingFragment
}
... on OverlayReact {
...OverlayReactFragment
}
... on OverlayLowerThird {
...OverlayLowerThirdFragment
}
... on OverlayLink {
...OverlayLinkFragment
}
... on OverlayArea {
...OverlayAreaFragment
}
... on OverlaySeekTo {
...OverlaySeekToFragment
}
... on OverlayECommerce {
...OverlayECommerceFragment
}
}
vttTracks {
... on MetadataVttTrack {
...MetadataVttTrackFragment
}
... on ChaptersVttTrack {
...ChaptersVttTrackFragment
}
... on OverlaysVttTrack {
...OverlaysVttTrackFragment
}
}
related {
...MediaListFragment
}
progress {
...MediaProgressFragment
}
share {
...MediaShareFragment
}
subtitles {
...MediaSubtitlesListFragment
}
spritesheets {
...MediaSpritesheetsListFragment
}
unlisted
liveChat {
...MediaLiveChatSettingsFragment
}
livestreamStartTime
livestreamEndTime
liveTimeshifting
parentMedia {
...MediaFragment
}
childMediaList {
...MediaListFragment
}
drmProtected
drmPolicy
vmapUrl
hasGeneratedVmap
canonicalUrl
}
limit
page
pageCount
resultCount
}
}
Variables
{
"filter": MediaFilter,
"sort": MediaSort,
"orderedSort": [MediaSort],
"limit": 50,
"page": 1,
"options": MediaListOptions
}
Response
{
"data": {
"watchLaterList": {
"results": [Media],
"limit": 987,
"page": 987,
"pageCount": 987,
"resultCount": 123
}
}
}
Mutations
activateAccount
Response
Returns an ActivateAccount
Example
Query
mutation ActivateAccount(
$email: String!,
$token: String!
) {
activateAccount(
email: $email,
token: $token
) {
id
authToken
uuid
permissions {
livestream
livestreamTakeover
}
}
}
Variables
{
"email": "abc123",
"token": "abc123"
}
Response
{
"data": {
"activateAccount": {
"id": 987,
"authToken": "abc123",
"uuid": "xyz789",
"permissions": Permissions
}
}
}
addToWatchLater
Description
🔐 You must have the following permissions to query this field:
- watchLater: update
Example
Query
mutation AddToWatchLater(
$mediaID: Int,
$movieID: Int,
$seriesID: Int
) {
addToWatchLater(
mediaID: $mediaID,
movieID: $movieID,
seriesID: $seriesID
)
}
Variables
{"mediaID": 123, "movieID": 987, "seriesID": 123}
Response
{"data": {"addToWatchLater": true}}
answerQuestion
Response
Returns a LessonFeedback!
Example
Query
mutation AnswerQuestion(
$lessonID: Int!,
$lessonResultID: String!,
$question: Int!,
$answer: [Int],
$answerDuration: Float
) {
answerQuestion(
lessonID: $lessonID,
lessonResultID: $lessonResultID,
question: $question,
answer: $answer,
answerDuration: $answerDuration
) {
lessonResult {
id
}
questionGroup {
id
startTime
stopTime
question {
...QuestionFragment
}
}
}
}
Variables
{
"lessonID": 123,
"lessonResultID": "xyz789",
"question": 123,
"answer": [987],
"answerDuration": 123.45
}
Response
{
"data": {
"answerQuestion": {
"lessonResult": LessonResult,
"questionGroup": QuestionGroup
}
}
}
appleLogin
Response
Returns a Login
Arguments
Name | Description |
---|---|
token - String!
|
The token given by Apple's login process |
device - AppleLoginDevice
|
|
register - AppleLoginRegisterInput
|
Example
Query
mutation AppleLogin(
$token: String!,
$device: AppleLoginDevice,
$register: AppleLoginRegisterInput
) {
appleLogin(
token: $token,
device: $device,
register: $register
) {
authToken
id
uuid
verified
registerType
permissions {
livestream
livestreamTakeover
}
}
}
Variables
{
"token": "xyz789",
"device": "web",
"register": AppleLoginRegisterInput
}
Response
{
"data": {
"appleLogin": {
"authToken": "xyz789",
"id": "xyz789",
"uuid": "xyz789",
"verified": false,
"registerType": 123,
"permissions": Permissions
}
}
}
cancelContract
Description
Cancels the given contract of the authenticated user
Response
Returns a CancelContract
Example
Query
mutation CancelContract(
$contractID: Int!,
$remarkMessage: String
) {
cancelContract(
contractID: $contractID,
remarkMessage: $remarkMessage
) {
success
succes
}
}
Variables
{
"contractID": 987,
"remarkMessage": "abc123"
}
Response
{"data": {"cancelContract": {"success": false, "succes": true}}}
changePassword
Response
Returns a changePassword
Example
Query
mutation ChangePassword(
$email: String!,
$password: String!,
$passwordToken: String!
) {
changePassword(
email: $email,
password: $password,
passwordToken: $passwordToken
) {
success
succes
}
}
Variables
{
"email": "xyz789",
"password": "xyz789",
"passwordToken": "xyz789"
}
Response
{"data": {"changePassword": {"success": false, "succes": true}}}
checkDiscountCode
Description
Checks whether the logged in user can apply the specified discount code to the specified plan.
🔐 You must have the following permissions to query this field:
- discountCode: read
The channel must have the discountCode feature enabled to query this field.
Response
Returns a DiscountCodeCheckResult
Example
Query
mutation CheckDiscountCode(
$discountCode: String!,
$planID: Int!
) {
checkDiscountCode(
discountCode: $discountCode,
planID: $planID
) {
status
appliedDiscount {
discountCode {
...DiscountCodeFragment
}
plan {
...PlanFragment
}
discountedPlanPrice
}
}
}
Variables
{"discountCode": "xyz789", "planID": 123}
Response
{
"data": {
"checkDiscountCode": {
"status": "ok",
"appliedDiscount": AppliedDiscountInfo
}
}
}
createComment
Description
Creates a comment.
🔐 You must have the following permissions to query this field:
- comment: create
The channel must have the vlogs feature enabled to query this field.
Response
Returns a CreateCommentType
Example
Query
mutation CreateComment(
$vlogSlug: String!,
$body: String!,
$parent: Int
) {
createComment(
vlogSlug: $vlogSlug,
body: $body,
parent: $parent
) {
type
id
success
succes
}
}
Variables
{
"vlogSlug": "xyz789",
"body": "xyz789",
"parent": 123
}
Response
{
"data": {
"createComment": {
"type": "abc123",
"id": 123,
"success": true,
"succes": true
}
}
}
createPurchaseTransaction
Description
Creates contract/transaction entities in the database to prepare for a payment by the requested PSP
Response
Returns a PurchasePlan
Arguments
Name | Description |
---|---|
plans - [Int]!
|
|
paymentServiceProvider - ProviderEnumType!
|
|
paymentMethod - PSPMethodValueType!
|
|
options - PurchaseOptions
|
Example
Query
mutation CreatePurchaseTransaction(
$plans: [Int]!,
$paymentServiceProvider: ProviderEnumType!,
$paymentMethod: PSPMethodValueType!,
$options: PurchaseOptions
) {
createPurchaseTransaction(
plans: $plans,
paymentServiceProvider: $paymentServiceProvider,
paymentMethod: $paymentMethod,
options: $options
) {
action
url
transaction {
id
amountInCents
currency
provider
method
status
reason
contracts {
...ContractListFragment
}
}
detail {
... on PaymentIntentDetail {
...PaymentIntentDetailFragment
}
... on SetupIntentDetail {
...SetupIntentDetailFragment
}
}
}
}
Variables
{
"plans": [123],
"paymentServiceProvider": "cardGate",
"paymentMethod": "Bancontact",
"options": PurchaseOptions
}
Response
{
"data": {
"createPurchaseTransaction": {
"action": "xyz789",
"url": "abc123",
"transaction": Transaction,
"detail": PaymentIntentDetail
}
}
}
deleteComment
Description
Deletes a comment. Requires anyComment.delete permission when deleting a comment of another user.
🔐 You must have the following permissions to query this field:
- comment: delete
The channel must have the vlogs feature enabled to query this field.
Response
Returns a DeleteCommentType
Example
Query
mutation DeleteComment(
$vlogSlug: String,
$id: Int!
) {
deleteComment(
vlogSlug: $vlogSlug,
id: $id
) {
success
succes
}
}
Variables
{"vlogSlug": "abc123", "id": 987}
Response
{"data": {"deleteComment": {"success": true, "succes": true}}}
deleteTransition
deleteUser
facebookRegister
Response
Returns a Login!
Arguments
Name | Description |
---|---|
accessToken - String!
|
An access token gained from Facebook to authenticate a user with our Facebook app |
place - Place
|
|
newsletterSubscribed - Boolean
|
|
deviceType - DeviceEnum
|
|
resendActivation - Boolean
|
Whether the activation mail should be sent if the user's email is not validated yet |
Example
Query
mutation FacebookRegister(
$accessToken: String!,
$place: Place,
$newsletterSubscribed: Boolean,
$deviceType: DeviceEnum,
$resendActivation: Boolean
) {
facebookRegister(
accessToken: $accessToken,
place: $place,
newsletterSubscribed: $newsletterSubscribed,
deviceType: $deviceType,
resendActivation: $resendActivation
) {
authToken
id
uuid
verified
registerType
permissions {
livestream
livestreamTakeover
}
}
}
Variables
{
"accessToken": "xyz789",
"place": Place,
"newsletterSubscribed": true,
"deviceType": "standard",
"resendActivation": false
}
Response
{
"data": {
"facebookRegister": {
"authToken": "xyz789",
"id": "abc123",
"uuid": "abc123",
"verified": false,
"registerType": 987,
"permissions": Permissions
}
}
}
forgotPassword
Response
Returns a ForgotPassword
Arguments
Name | Description |
---|---|
email - String!
|
Example
Query
mutation ForgotPassword($email: String!) {
forgotPassword(email: $email) {
success
}
}
Variables
{"email": "xyz789"}
Response
{"data": {"forgotPassword": {"success": false}}}
livestreamCallback
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
token - String!
|
|
streamname - String!
|
|
event - LivestreamCallbackEvent!
|
Example
Query
mutation LivestreamCallback(
$token: String!,
$streamname: String!,
$event: LivestreamCallbackEvent!
) {
livestreamCallback(
token: $token,
streamname: $streamname,
event: $event
)
}
Variables
{
"token": "abc123",
"streamname": "xyz789",
"event": "publishStart"
}
Response
{"data": {"livestreamCallback": true}}
logAdPlayout
Response
Returns a LogAdPlayout
Arguments
Name | Description |
---|---|
info - AdPlayoutInfoInput!
|
Example
Query
mutation LogAdPlayout($info: AdPlayoutInfoInput!) {
logAdPlayout(info: $info) {
success
}
}
Variables
{"info": AdPlayoutInfoInput}
Response
{"data": {"logAdPlayout": {"success": true}}}
login
Response
Returns a Login
Example
Query
mutation Login(
$username: String!,
$password: String!,
$resendActivation: Boolean
) {
login(
username: $username,
password: $password,
resendActivation: $resendActivation
) {
authToken
id
uuid
verified
registerType
permissions {
livestream
livestreamTakeover
}
}
}
Variables
{
"username": "abc123",
"password": "abc123",
"resendActivation": false
}
Response
{
"data": {
"login": {
"authToken": "xyz789",
"id": "abc123",
"uuid": "abc123",
"verified": true,
"registerType": 987,
"permissions": Permissions
}
}
}
logout
Response
Returns a Logout!
Arguments
Name | Description |
---|---|
authToken - String
|
Deprecated. Auth token is already given in header |
Example
Query
mutation Logout($authToken: String) {
logout(authToken: $authToken) {
success
}
}
Variables
{"authToken": "xyz789"}
Response
{"data": {"logout": {"success": true}}}
purchaseSubscription
Response
Returns a PurchaseSubscription
Example
Query
mutation PurchaseSubscription(
$subscriptionID: Int!,
$paymentMethod: Int!,
$successRedirect: String!,
$failureRedirect: String!,
$pendingRedirect: String,
$cancelRedirect: String,
$issuerID: String,
$locale: Languages
) {
purchaseSubscription(
subscriptionID: $subscriptionID,
paymentMethod: $paymentMethod,
successRedirect: $successRedirect,
failureRedirect: $failureRedirect,
pendingRedirect: $pendingRedirect,
cancelRedirect: $cancelRedirect,
issuerID: $issuerID,
locale: $locale
) {
action
url
transactionID
providerTransactionID
providerSubscriptionID
contracts {
id
status
plan {
...PlanFragment
}
currency
priceInCents
priceInCentsIncludingTax
taxRate
originalPriceInCents
isTrial
startDate
endDate
interval
intervalValue
billingInterval
appliedDiscount {
...AppliedDiscountFragment
}
}
}
}
Variables
{
"subscriptionID": 987,
"paymentMethod": 987,
"successRedirect": "xyz789",
"failureRedirect": "abc123",
"pendingRedirect": "abc123",
"cancelRedirect": "abc123",
"issuerID": "xyz789",
"locale": "en"
}
Response
{
"data": {
"purchaseSubscription": {
"action": "xyz789",
"url": "xyz789",
"transactionID": 123,
"providerTransactionID": "abc123",
"providerSubscriptionID": "abc123",
"contracts": [Contract]
}
}
}
register
Response
Returns a Register
Example
Query
mutation Register(
$email: String!,
$firstName: String!,
$lastName: String!,
$password: String!,
$newsletterSubscribed: Boolean!,
$acceptedTerms: Boolean!,
$countryCode: Countries,
$language: Languages,
$place: Place,
$deviceType: DeviceEnum
) {
register(
email: $email,
firstName: $firstName,
lastName: $lastName,
password: $password,
newsletterSubscribed: $newsletterSubscribed,
acceptedTerms: $acceptedTerms,
countryCode: $countryCode,
language: $language,
place: $place,
deviceType: $deviceType
) {
authToken
id
uuid
verified
}
}
Variables
{
"email": "xyz789",
"firstName": "abc123",
"lastName": "abc123",
"password": "abc123",
"newsletterSubscribed": true,
"acceptedTerms": true,
"countryCode": "AF",
"language": "en",
"place": Place,
"deviceType": "standard"
}
Response
{
"data": {
"register": {
"authToken": "xyz789",
"id": 123,
"uuid": "abc123",
"verified": false
}
}
}
registerDevice
Description
Registers the authenticated user's device so that it may receive notifcations
Response
Returns a RegisterDevice!
Arguments
Name | Description |
---|---|
token - String!
|
|
deviceType - DeviceEnum!
|
Example
Query
mutation RegisterDevice(
$token: String!,
$deviceType: DeviceEnum!
) {
registerDevice(
token: $token,
deviceType: $deviceType
) {
success
}
}
Variables
{
"token": "xyz789",
"deviceType": "standard"
}
Response
{"data": {"registerDevice": {"success": false}}}
registerLivestream
Response
Returns a RegisterLivestreamFeedback!
Example
Query
mutation RegisterLivestream(
$title: String!,
$description: String!
) {
registerLivestream(
title: $title,
description: $description
) {
id
name
stream
url
valid
publish {
name
stream
url
valid
}
preview {
name
stream
url
valid
}
}
}
Variables
{
"title": "abc123",
"description": "xyz789"
}
Response
{
"data": {
"registerLivestream": {
"id": 987,
"name": "xyz789",
"stream": "xyz789",
"url": "abc123",
"valid": 123,
"publish": RegisterLivestreamData,
"preview": RegisterLivestreamData
}
}
}
registerTv
Response
Returns a Boolean!
Example
Query
mutation RegisterTv(
$mac: String!,
$duid: String!,
$firmware: String!,
$time: String
) {
registerTv(
mac: $mac,
duid: $duid,
firmware: $firmware,
time: $time
)
}
Variables
{
"mac": "xyz789",
"duid": "abc123",
"firmware": "abc123",
"time": "xyz789"
}
Response
{"data": {"registerTv": false}}
removeFromWatchLater
Description
🔐 You must have the following permissions to query this field:
- watchLater: update
Example
Query
mutation RemoveFromWatchLater(
$mediaID: Int,
$movieID: Int,
$seriesID: Int
) {
removeFromWatchLater(
mediaID: $mediaID,
movieID: $movieID,
seriesID: $seriesID
)
}
Variables
{"mediaID": 123, "movieID": 987, "seriesID": 987}
Response
{"data": {"removeFromWatchLater": true}}
requestUserDeletion
Response
Returns a Boolean
Example
Query
mutation RequestUserDeletion {
requestUserDeletion
}
Response
{"data": {"requestUserDeletion": true}}
startLesson
Response
Returns a LessonFeedback!
Arguments
Name | Description |
---|---|
id - Int!
|
Example
Query
mutation StartLesson($id: Int!) {
startLesson(id: $id) {
lessonResult {
id
}
questionGroup {
id
startTime
stopTime
question {
...QuestionFragment
}
}
}
}
Variables
{"id": 987}
Response
{
"data": {
"startLesson": {
"lessonResult": LessonResult,
"questionGroup": QuestionGroup
}
}
}
startLivestream
Response
Returns a Boolean!
Example
Query
mutation StartLivestream(
$id: Int!,
$sendPushNotifications: Boolean,
$takeover: Boolean
) {
startLivestream(
id: $id,
sendPushNotifications: $sendPushNotifications,
takeover: $takeover
)
}
Variables
{"id": 123, "sendPushNotifications": false, "takeover": false}
Response
{"data": {"startLivestream": true}}
stopLesson
Response
Returns a StopLessonFeedback!
Example
Query
mutation StopLesson(
$id: Int!,
$lessonResultID: String!
) {
stopLesson(
id: $id,
lessonResultID: $lessonResultID
) {
lesson {
id
name
description
media {
...MediaFragment
}
}
user {
firstName
lastName
displayName
}
lessonResult {
id
startTime
stopTime
}
lessonReport {
type
score {
...LessonReportScoreFragment
}
question {
...LessonReportQuestionFragment
}
}
}
}
Variables
{"id": 123, "lessonResultID": "abc123"}
Response
{
"data": {
"stopLesson": {
"lesson": Lesson,
"user": LessonUserData,
"lessonResult": LessonFinalResult,
"lessonReport": LessonReport
}
}
}
stopLivestream
storeMediaProgress
Response
Returns a Boolean
Example
Query
mutation StoreMediaProgress(
$mediaID: Int!,
$progress: Int!,
$watched: Boolean!
) {
storeMediaProgress(
mediaID: $mediaID,
progress: $progress,
watched: $watched
)
}
Variables
{"mediaID": 987, "progress": 123, "watched": false}
Response
{"data": {"storeMediaProgress": false}}
storeTransition
Response
Returns a Boolean
Example
Query
mutation StoreTransition(
$id: String,
$userSelectable: Boolean!,
$name: String!,
$folder: String!,
$frames: Int!,
$still: Int!,
$fps: Int!
) {
storeTransition(
id: $id,
userSelectable: $userSelectable,
name: $name,
folder: $folder,
frames: $frames,
still: $still,
fps: $fps
)
}
Variables
{
"id": "xyz789",
"userSelectable": false,
"name": "xyz789",
"folder": "abc123",
"frames": 123,
"still": 123,
"fps": 123
}
Response
{"data": {"storeTransition": true}}
submitUserMedia
Description
🔐 You must have the following permissions to query this field:
- userMedia: create
Response
Returns a SubmitUserMedia
Example
Query
mutation SubmitUserMedia(
$title: String!,
$description: String,
$key: String,
$libraryCategory: Int!,
$duration: Int!,
$deviceType: DeviceEnum!
) {
submitUserMedia(
title: $title,
description: $description,
key: $key,
libraryCategory: $libraryCategory,
duration: $duration,
deviceType: $deviceType
) {
success
}
}
Variables
{
"title": "xyz789",
"description": "abc123",
"key": "xyz789",
"libraryCategory": 123,
"duration": 123,
"deviceType": "standard"
}
Response
{"data": {"submitUserMedia": {"success": false}}}
tokenLogin
Description
Token login for external login methods
Example
Query
mutation TokenLogin($token: String!) {
tokenLogin(token: $token) {
authToken
id
uuid
verified
registerType
permissions {
livestream
livestreamTakeover
}
}
}
Variables
{"token": "abc123"}
Response
{
"data": {
"tokenLogin": {
"authToken": "abc123",
"id": "abc123",
"uuid": "abc123",
"verified": true,
"registerType": 987,
"permissions": Permissions
}
}
}
unregisterDevice
Description
Unregisters the authenticated user's device so that it won't receive notifcations anymore
Response
Returns an UnregisterDevice!
Arguments
Name | Description |
---|---|
token - String!
|
|
deviceType - DeviceEnum!
|
Example
Query
mutation UnregisterDevice(
$token: String!,
$deviceType: DeviceEnum!
) {
unregisterDevice(
token: $token,
deviceType: $deviceType
) {
success
}
}
Variables
{
"token": "abc123",
"deviceType": "standard"
}
Response
{"data": {"unregisterDevice": {"success": false}}}
updateComment
Description
Updates a comment. Requires anyComment.update permission when updating a comment of another user.
🔐 You must have the following permissions to query this field:
- comment: update
The channel must have the vlogs feature enabled to query this field.
Response
Returns an UpdateCommentType
Example
Query
mutation UpdateComment(
$vlogSlug: String!,
$body: String!,
$id: Int!
) {
updateComment(
vlogSlug: $vlogSlug,
body: $body,
id: $id
) {
success
succes
}
}
Variables
{
"vlogSlug": "xyz789",
"body": "abc123",
"id": 987
}
Response
{"data": {"updateComment": {"success": false, "succes": true}}}
updateUser
Response
Returns an UpdateUser
Arguments
Name | Description |
---|---|
email - String
|
|
firstName - String!
|
|
lastName - String!
|
|
displayName - String
|
|
password - String
|
|
oldPassword - String
|
|
interests - [String]
|
Deprecated. Please update to interestIDs |
interestIDs - [Int]
|
|
country - Countries
|
|
language - Languages
|
|
locale - Languages
|
Deprecated. Locale not used anymore |
Example
Query
mutation UpdateUser(
$email: String,
$firstName: String!,
$lastName: String!,
$displayName: String,
$password: String,
$oldPassword: String,
$interests: [String],
$interestIDs: [Int],
$country: Countries,
$language: Languages,
$locale: Languages
) {
updateUser(
email: $email,
firstName: $firstName,
lastName: $lastName,
displayName: $displayName,
password: $password,
oldPassword: $oldPassword,
interests: $interests,
interestIDs: $interestIDs,
country: $country,
language: $language,
locale: $locale
) {
user {
id
username
uuid
firstName
lastName
displayName
email
country
registerType
verified
language
subscriptions
interests {
...InterestFragment
}
roles
userNotificationPreferences {
...NotificationInputsFragment
}
canSubmitMedia
canDisqus
}
success
succes
}
}
Variables
{
"email": "xyz789",
"firstName": "abc123",
"lastName": "abc123",
"displayName": "xyz789",
"password": "xyz789",
"oldPassword": "abc123",
"interests": ["abc123"],
"interestIDs": [987],
"country": "AF",
"language": "en",
"locale": "en"
}
Response
{
"data": {
"updateUser": {
"user": ProfileType,
"success": false,
"succes": false
}
}
}
updateUserNotificationPreferences
Description
Updates the authenticated user's notification preferences. Note: the userID argument is deprecated and will be ignored.
Response
Returns an UpdateNotificationsType
Arguments
Name | Description |
---|---|
userID - Int
|
|
newsletterSubscribed - NotificationBitmaskType
|
|
notificationNewMedia - NotificationBitmaskType
|
|
notificationLivestreamScheduled - NotificationBitmaskType
|
|
notificationInvoice - NotificationBitmaskType
|
Example
Query
mutation UpdateUserNotificationPreferences(
$userID: Int,
$newsletterSubscribed: NotificationBitmaskType,
$notificationNewMedia: NotificationBitmaskType,
$notificationLivestreamScheduled: NotificationBitmaskType,
$notificationInvoice: NotificationBitmaskType
) {
updateUserNotificationPreferences(
userID: $userID,
newsletterSubscribed: $newsletterSubscribed,
notificationNewMedia: $notificationNewMedia,
notificationLivestreamScheduled: $notificationLivestreamScheduled,
notificationInvoice: $notificationInvoice
) {
success
succes
}
}
Variables
{
"userID": 987,
"newsletterSubscribed": NotificationBitmaskType,
"notificationNewMedia": NotificationBitmaskType,
"notificationLivestreamScheduled": NotificationBitmaskType,
"notificationInvoice": NotificationBitmaskType
}
Response
{
"data": {
"updateUserNotificationPreferences": {"success": true, "succes": true}
}
}
verifyTransaction
Description
Verifies the transactionID of the payment service provider and returns if the payment was successful
🔐 You must have the following permissions to query this field:
- transaction: read
Response
Returns a Transaction
Example
Query
mutation VerifyTransaction(
$transactionID: Int!,
$providerPaymentSourceID: String
) {
verifyTransaction(
transactionID: $transactionID,
providerPaymentSourceID: $providerPaymentSourceID
) {
id
amountInCents
currency
provider
method
status
reason
contracts {
results {
...ContractFragment
}
limit
page
pageCount
resultCount
}
}
}
Variables
{
"transactionID": 123,
"providerPaymentSourceID": "abc123"
}
Response
{
"data": {
"verifyTransaction": {
"id": 987,
"amountInCents": 123,
"currency": "USD",
"provider": "cardGate",
"method": "Bancontact",
"status": "pending",
"reason": "authSuccess",
"contracts": ContractList
}
}
}
Types
AclCrudPermissions
AclPermissions
Description
ACL permissions of various resource types
Fields
Example
{
"category": AclCrudPermissions,
"comment": AclCrudPermissions,
"contentPage": AclCrudPermissions,
"contract": AclCrudPermissions,
"discountCode": AclCrudPermissions,
"episode": AclCrudPermissions,
"extra": AclCrudPermissions,
"genre": AclCrudPermissions,
"interest": AclCrudPermissions,
"libraryCategory": AclCrudPermissions,
"media": AclCrudPermissions,
"movie": AclCrudPermissions,
"overlay": AclCrudPermissions,
"plan": AclCrudPermissions,
"product": AclCrudPermissions,
"season": AclCrudPermissions,
"series": AclCrudPermissions,
"slide": AclCrudPermissions,
"slider": AclCrudPermissions,
"transaction": AclCrudPermissions,
"userMedia": AclCrudPermissions,
"vlog": AclCrudPermissions,
"watchLater": AclCrudPermissions,
"analytics": AclCrudPermissions,
"anyComment": AclCrudPermissions,
"chatModeration": AclCrudPermissions,
"file": AclCrudPermissions,
"mediaSpritesheets": AclCrudPermissions,
"mediaSubtitles": AclCrudPermissions,
"purchase": AclCrudPermissions,
"uiBuilder": AclCrudPermissions,
"usageReport": AclCrudPermissions,
"user": AclCrudPermissions,
"userDisplayName": AclCrudPermissions,
"settings": AclCrudPermissions,
"subscription": AclCrudPermissions,
"timeline": AclCrudPermissions,
"transition": AclCrudPermissions
}
ActivateAccount
Description
Feedback after activating a user
Fields
Field Name | Description |
---|---|
id - Int!
|
|
authToken - String!
|
|
uuid - String!
|
|
permissions - Permissions!
|
Permissions are no longer used |
Example
{
"id": 123,
"authToken": "abc123",
"uuid": "xyz789",
"permissions": Permissions
}
ActiveDirectoryLoginSettings
Description
Settings for the ActiveDirectoryLogin feature
Example
{
"enabled": true,
"tenant": "xyz789",
"clientID": "xyz789",
"clientSecret": "xyz789"
}
AdErrorInput
Fields
Input Field | Description |
---|---|
errorCode - Int
|
|
errorMessage - String
|
|
errorType - AdErrorTypeEnum
|