Suggest Edits

Welcome to the Zype API Documentation

 

Zype API documentation provides information to web developers who wish to use Zype’s Application Programming Interfaces (APIs). The Zype API includes modules for managing videos and associated metadata. In addition, this reference describes a number of related objects. The Zype API is a RESTful API service.

Our API is designed around standard REST CRUD (Create-Read-Update-Delete) semantics:

POST - Create a resource within a given collection

GET - Get a resource or collection of resources

PUT - Update a resource

DELETE - Delete a resource

Our default is to support JSON formatting, however if you prefer XML use the
Content-Type header with value text/xml.

Authentication

There are multiple ways to authenticate to the Zype API. Your Zype channels are
automatically set up with API keys that you can integrate with, but you can also use app keys and consumer access tokens to authenticate as well.

API Keys

Your Zype channel is automatically set up with the following API keys:

  • Admin Key: Admin keys have full access to your account and should not be distributed in video applications.
  • Read Only Key: Read only keys have limited access to your account and are not allowed to create or modify existing resources. Read only keys should be used when distributing a video application.
  • Player Key: Player keys have limited access to your account and are only
    allowed to issue player requests. Player keys should be used in embed codes for web applications.

Example

GET https://api.zype.com/videos?api_key=[api_key]

App Keys

App keys are automatically created when you set up new apps. App keys provide per app authentication so that each bundled app has separate credentials. App keys are automatically bundled using Zype app builders. App keys can be retrieved from your app's detail page.

Example:

GET https://api.zype.com/videos?app_key=[app_key]

Access Tokens

Access tokens provide per user authentication for API requests. Access tokens are time based tokens that are created using OAuth. Click here for more information about using OAuth.

Example:

GET https://api.zype.com/videos?access_token=[access_token]

Errors

Zype uses conventional HTTP response codes to indicate success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that resulted from the provided information (e.g. a required r was missing, a charge failed, etc.), and codes in the 5xx range indicate an error with Zype's servers.

200 (OK)

The request was processed successfully.

401 (Unauthorized)

The request could not be processed because no API key was provided, or the API key provided is invalid.

404 (Not Found)

The request could not be processed because the resource you are operating on could not be found.

422 (Unprocessable Entity)

The request could not be processed due to a validation rule.

500 (Server Error)

The request could not be processed due to a error on Zype's servers.

Attributes:

message - A human-readable message giving more details about the error.

Pagination

Pagination is required for all 'list' requests. The default setting for any list request is to return 10 records.

Parameters

page (optional) The page number of records to return (zero indexed).

per_page (optional) The number of records to return (Default: 10, Maximum: 100).

Attributes

Paging data is returned in the 'pagination' element on list requests. The following data is made available.

current - The current page requested

previous - The page before the page requested.

next - The page after the page requested.

per_page - The maximum number of records returned.

pages - The total number of pages available.

Example:

{
  response: { ... },
  pagination: {
    current: 1,
    previous: null,
    next: 2,
    per_page: 10,
    pages: 5
  }
}

Video Formats

Videos published through the Zype platform support the following resolution and aspect ratios.

HLS (HTTP Live Streaming):

Resolution | Aspect | Width | Height

Resolution
Aspect
Width
Height

240p

16x9

426px

240px

360p

16x9

640px

360px

480p

16x9

854px

480px

720p

16x9

1280px

720px

1080p

16x9

1920px

1080px

WebM/MP4 Streaming:

To ensure compatibility with devices that do not support HLS, Zype provides WebM and MP4 streams.

Format
Resolution
Aspect
Width
Height

WebM

360p

16x9

640px

360px

MP4

360p

16x9

640px

360px

Video formats are optional and are configurable in the Zype Publisher dashboard.

Suggest Edits

List Videos

Retrieve a list of videos from your library

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/videos
curl --request GET \
  --url https://api.zype.com/videos
var request = require("request");

var options = { method: 'GET', url: 'https://api.zype.com/videos' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/videos");

xhr.send(data);
import requests

url = "https://api.zype.com/videos"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

id
string

Filter by ID
Example: id=5992f328ce593000ef000008

id!
string

Exclude by ID
Example: id!=5992f328ce593000ef000008

created_at
string

Filter records by created date using times in ISO8601 format (Example: 2017-01-01T00:00:00-00:00) or Unix timestamps (Example: 1483228800) Note: Range filters can be applied by adding a suffix: ‘.gt’, ‘.gte’, ‘.lt’, ‘lte’ (Example: created_at.gte)

q
string

Filter by keyword

order
string

Filter by ascending or descending order
Examples

  • asc
  • desc
sort
string

Sort on the specified field

page
integer

Number of pages to return

per_page
integer

Number of records to return per page

category
string

Filter records by category value
Example: category[color]=blue

category_or
string

Filter records that match any category values listed.
Example: category_or[genre]=comedy&category_or[language]=english Matches all videos that have ANY of the category name/value pairs listed.

category!
string

Exclude records by category value
Example: category![color]=blue

friendly_title
string

Filter by friendly title

mature_content
boolean

Filter records flagged as mature

on_air
boolean

Filter records that are either on or off air

published_at
date

Filter records by published date using times in ISO8601 format Example: 2017-01-01T00:00:00-00:00 or Unix timestamps 1483228800.
Note: Range filters can be applied by adding a suffix: .gt, .gte, .lt, .lte Example: published_at.gte=2017-01-01T00:00:00-00:00

source_id
string

Filter by source identifier

type
string

Filter by type Examples: zype, hulu, youtube, crunchyroll

dpt
boolean

Filter records by Dynamic Player Technology conditions (Geo-location and device restrictions). If set to true this will return videos that are playable from your location/device.

playlist_id.inclusive
string

Filter videos by playlist, including any child playlists that are nested under the playlist specified. Any videos not in the playlist or its child playlists will not be included in the results.

playlist_id.exclusive
string

Filter videos by a single playlist. This will only return videos that exist within the playlist specified, and will not return any videos belonging to its child playlists or any other playlists.

crunchyroll_id
string

Filter by Crunchyroll ID

vimeo_id
string

Filter by Vimeo ID

youtube_id
string

Filter by YouTube ID

zobject_id
string

Filter by Zobject ID

zobject_id!
string

Exclude records by Zobject ID

hulu_id
string

Filter by Hulu ID

Response

Response will be an array of videos

Unprocessable entity

messagestring
Suggest Edits

Create Video

Add a video to your library

 

Query Auth

 Authentication is required for this endpoint.
posthttps://api.zype.com/videos
curl --request POST \
  --url https://api.zype.com/videos
var request = require("request");

var options = { method: 'POST', url: 'https://api.zype.com/videos' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.zype.com/videos");

xhr.send(data);
import requests

url = "https://api.zype.com/videos"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

video
object
 
video.title
string
required
video.active
boolean

Indicate if the video is ready to be watched

video.country
string

The country the video was created in

video.on_air
boolean

Indicates if the video is live streaming

video.description
string

Full length description of the video

video.short_description
string

Brief description of the video

video.disable_at
string

Timestamp of when your video will become inactive

video.enable_at
string

Timestamp of when your video will become active

video.episode
number

Episode number

video.season
number

Season number

video.featured
boolean
video.friendly_title
string

The URL friendly title of the video

video.keywords
array of strings

Keywords for the video

video.mature_content
boolean

Indicates if the video requires the viewer to be 18+ to view

video.pass_required
boolean
video.published_at
string
video.subscription_required
boolean
video.discovery_url
string

URL where your video can be discovered

video.custom_thumbnail_url
string

URL where your custom thumbnail is stored

video.subscription_ads_enabled
boolean
video.zobject_ids
object

IDs of Zobjects

 
video.custom_attributes
object

Any custom attributes you want to attribute to the video

 
video.segments
array
video.images_attributes
array

Response

_idstring
created_atstring
deleted_atstring
updated_atstring
on_airboolean
purchase_pricenumber

Amount to purchase the video

purchase_requiredboolean

Indicates if the video must be purchased before viewing

ratingnumber

Overall rating of the video

related_playlist_idsarray

IDs of related playlists

rental_durationnumber

Number of days video can be rented

rental_pricenumber

Price to rent video

rental_requiredboolean

Indicates if video must be rented before viewing

request_countnumber

Number of times a video has been requested

site_idstring
statusstring
crunchyroll_idstring

ID of Crunchyroll source

hulu_idstring

ID of Hulu source

mrss_idstring

ID of MRSS source

kaltura_idstring

ID of Kaltura source

vimeo_idstring

ID of the Vimeo source

youtube_idstring

ID of the YouTube source

thumbnailsarray

Thumbnails attached to the video

transcodedboolean

Indicates if video has been transcoded

video_zobjectsarray
activeboolean
discovery_urlstring
custom_thumbnail_urlstring
subscription_ads_enabledboolean
titlestring
zobject_idsobject
countrystring
descriptionstring
short_descriptionstring
disable_atstring
enable_atstring
episodenumber
seasonnumber
featuredboolean
friendly_titlestring
keywordsarray
mature_contentboolean
pass_requiredboolean
published_atstring
subscription_requiredboolean
custom_attributesobject
categories_attributesarray
segmentsarray
images_attributesarray
content_rulesarray

Unprocessable entity

messagestring
Suggest Edits

View Video

Retrieve a single video from your library

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/videos/id
curl --request GET \
  --url https://api.zype.com/videos/id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/videos/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/videos/id");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of video

Response

Return video

_idstring
created_atstring
deleted_atstring
updated_atstring
on_airboolean
purchase_pricenumber

Amount to purchase the video

purchase_requiredboolean

Indicates if the video must be purchased before viewing

ratingnumber

Overall rating of the video

related_playlist_idsarray

IDs of related playlists

rental_durationnumber

Number of days video can be rented

rental_pricenumber

Price to rent video

rental_requiredboolean

Indicates if video must be rented before viewing

request_countnumber

Number of times a video has been requested

site_idstring
statusstring
crunchyroll_idstring

ID of Crunchyroll source

hulu_idstring

ID of Hulu source

mrss_idstring

ID of MRSS source

kaltura_idstring

ID of Kaltura source

vimeo_idstring

ID of the Vimeo source

youtube_idstring

ID of the YouTube source

thumbnailsarray

Thumbnails attached to the video

transcodedboolean

Indicates if video has been transcoded

video_zobjectsarray
activeboolean
discovery_urlstring
custom_thumbnail_urlstring
subscription_ads_enabledboolean
titlestring
zobject_idsobject
countrystring
descriptionstring
short_descriptionstring
disable_atstring
enable_atstring
episodenumber
seasonnumber
featuredboolean
friendly_titlestring
keywordsarray
mature_contentboolean
pass_requiredboolean
published_atstring
subscription_requiredboolean
custom_attributesobject
categories_attributesarray
segmentsarray
images_attributesarray
content_rulesarray

Video not found

messagestring
Suggest Edits

Update Video

Update a single video from your library

 

Query Auth

 Authentication is required for this endpoint.
puthttps://api.zype.com/videos/id
curl --request PUT \
  --url https://api.zype.com/videos/id
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.zype.com/videos/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.zype.com/videos/id");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/id"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of video

Body Params

video
object
 
video.active
boolean

Indicate if the video is ready to be watched

video.country
string

The country the video was created in

video.on_air
boolean

Indicates if the video is live streaming

video.description
string

Full length description of the video

video.short_description
string

Brief description of the video

video.disable_at
string

Timestamp of when your video will become inactive

video.enable_at
string

Timestamp of when your video will become active

video.episode
number

Episode number

video.season
number

Season number

video.featured
boolean
video.friendly_title
string

The URL friendly title of the video

video.keywords
array of strings

Keywords for the video

video.mature_content
boolean

Indicates if the video requires the viewer to be 18+ to view

video.pass_required
boolean
video.published_at
string
video.subscription_required
boolean
video.discovery_url
string

URL where your video can be discovered

video.custom_thumbnail_url
string

URL where your custom thumbnail is stored

video.subscription_ads_enabled
boolean
video.title
string
video.zobject_ids
object

IDs of Zobjects

 
video.custom_attributes
object

Any custom attributes you want to attribute to the video

 
video.categories_attributes
object
 
video.categories_attributes.0
object

If you want to add more than one, just add another object. i.e. The next one will start with 1, instead of 0

 
video.categories_attributes.0._id
string

ID of the category playlist to update, only include it when updating.

video.categories_attributes.0.category_id
string

ID of the main Category you wish to add to the video

video.categories_attributes.0.title
string

Title of the category assigned to the video

video.categories_attributes.0.friendly_title
string

URL friendly title

video.categories_attributes.0.value
array of strings

List of values you wish to add to the category. Must exist in the main Category first

video.categories_attributes.0._destroy
boolean

True if you want to remove it from the object

video.segments
array
video.images_attributes
array

Response

Update video

_idstring
created_atstring
deleted_atstring
updated_atstring
on_airboolean
purchase_pricenumber

Amount to purchase the video

purchase_requiredboolean

Indicates if the video must be purchased before viewing

ratingnumber

Overall rating of the video

related_playlist_idsarray

IDs of related playlists

rental_durationnumber

Number of days video can be rented

rental_pricenumber

Price to rent video

rental_requiredboolean

Indicates if video must be rented before viewing

request_countnumber

Number of times a video has been requested

site_idstring
statusstring
crunchyroll_idstring

ID of Crunchyroll source

hulu_idstring

ID of Hulu source

mrss_idstring

ID of MRSS source

kaltura_idstring

ID of Kaltura source

vimeo_idstring

ID of the Vimeo source

youtube_idstring

ID of the YouTube source

thumbnailsarray

Thumbnails attached to the video

transcodedboolean

Indicates if video has been transcoded

video_zobjectsarray
activeboolean
discovery_urlstring
custom_thumbnail_urlstring
subscription_ads_enabledboolean
titlestring
zobject_idsobject
countrystring
descriptionstring
short_descriptionstring
disable_atstring
enable_atstring
episodenumber
seasonnumber
featuredboolean
friendly_titlestring
keywordsarray
mature_contentboolean
pass_requiredboolean
published_atstring
subscription_requiredboolean
custom_attributesobject
categories_attributesarray
segmentsarray
images_attributesarray
content_rulesarray

Video not found

messagestring

Unprocessable entity

messagestring
Suggest Edits

Delete Video

 

Query Auth

 Authentication is required for this endpoint.
deletehttps://api.zype.com/videos/id
curl --request DELETE \
  --url https://api.zype.com/videos/id
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.zype.com/videos/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.zype.com/videos/id");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/id"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of video

Response

Video deleted successfully

Playlist not found

messagestring
Suggest Edits

Add Zobject(s)

Add one or multiple Zobjects to your video

 

Query Auth

 Authentication is required for this endpoint.
puthttps://api.zype.com/videos/id/add_zobjects
curl --request PUT \
  --url https://api.zype.com/videos/id/add_zobjects
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.zype.com/videos/id/add_zobjects' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/id/add_zobjects")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.zype.com/videos/id/add_zobjects");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/id/add_zobjects"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of video

Body Params

zobject_id
object
required

Zobject IDs to be added

 

Response

_idstring
created_atstring
deleted_atstring
updated_atstring
on_airboolean
purchase_pricenumber

Amount to purchase the video

purchase_requiredboolean

Indicates if the video must be purchased before viewing

ratingnumber

Overall rating of the video

related_playlist_idsarray

IDs of related playlists

rental_durationnumber

Number of days video can be rented

rental_pricenumber

Price to rent video

rental_requiredboolean

Indicates if video must be rented before viewing

request_countnumber

Number of times a video has been requested

site_idstring
statusstring
crunchyroll_idstring

ID of Crunchyroll source

hulu_idstring

ID of Hulu source

mrss_idstring

ID of MRSS source

kaltura_idstring

ID of Kaltura source

vimeo_idstring

ID of the Vimeo source

youtube_idstring

ID of the YouTube source

thumbnailsarray

Thumbnails attached to the video

transcodedboolean

Indicates if video has been transcoded

video_zobjectsarray
activeboolean
discovery_urlstring
custom_thumbnail_urlstring
subscription_ads_enabledboolean
titlestring
zobject_idsobject
countrystring
descriptionstring
short_descriptionstring
disable_atstring
enable_atstring
episodenumber
seasonnumber
featuredboolean
friendly_titlestring
keywordsarray
mature_contentboolean
pass_requiredboolean
published_atstring
subscription_requiredboolean
custom_attributesobject
categories_attributesarray
segmentsarray
images_attributesarray
content_rulesarray

Video not found

messagestring

Unprocessable entity

messagestring
Suggest Edits

Remove Zobject(s)

Remove one or multiple Zobjects from your video

 

Query Auth

 Authentication is required for this endpoint.
puthttps://api.zype.com/videos/id/remove_zobjects
curl --request PUT \
  --url https://api.zype.com/videos/id/remove_zobjects
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.zype.com/videos/id/remove_zobjects' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/id/remove_zobjects")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.zype.com/videos/id/remove_zobjects");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/id/remove_zobjects"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of video

Body Params

zobject_id
object
required

Zobject IDs to be removed

 

Response

_idstring
created_atstring
deleted_atstring
updated_atstring
on_airboolean
purchase_pricenumber

Amount to purchase the video

purchase_requiredboolean

Indicates if the video must be purchased before viewing

ratingnumber

Overall rating of the video

related_playlist_idsarray

IDs of related playlists

rental_durationnumber

Number of days video can be rented

rental_pricenumber

Price to rent video

rental_requiredboolean

Indicates if video must be rented before viewing

request_countnumber

Number of times a video has been requested

site_idstring
statusstring
crunchyroll_idstring

ID of Crunchyroll source

hulu_idstring

ID of Hulu source

mrss_idstring

ID of MRSS source

kaltura_idstring

ID of Kaltura source

vimeo_idstring

ID of the Vimeo source

youtube_idstring

ID of the YouTube source

thumbnailsarray

Thumbnails attached to the video

transcodedboolean

Indicates if video has been transcoded

video_zobjectsarray
activeboolean
discovery_urlstring
custom_thumbnail_urlstring
subscription_ads_enabledboolean
titlestring
zobject_idsobject
countrystring
descriptionstring
short_descriptionstring
disable_atstring
enable_atstring
episodenumber
seasonnumber
featuredboolean
friendly_titlestring
keywordsarray
mature_contentboolean
pass_requiredboolean
published_atstring
subscription_requiredboolean
custom_attributesobject
categories_attributesarray
segmentsarray
images_attributesarray
content_rulesarray

Video not found

messagestring

Unprocessable entity

messagestring
Suggest Edits

Download Video

Download the original source file for your video

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/videos/id/download
curl --request GET \
  --url https://api.zype.com/videos/id/download
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/videos/id/download' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/id/download")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/videos/id/download");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/id/download"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of video

Response

urlstring

URL to use to download your video

filesizestring

size of the video file

Video not found

messagestring

Unprocessable entity

messagestring
Suggest Edits

List Ad Timings

List Ad Timings for each Ad-Timeable Data Source

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/videos/id/ad_timings
curl --request GET \
  --url https://api.zype.com/videos/id/ad_timings
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/videos/id/ad_timings' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/id/ad_timings")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/videos/id/ad_timings");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/id/ad_timings"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of video

Response

Response will be an array of objects representing Ad Timings for each Data Source.

Video not found or No Ad-Timeable Data Sources

messagestring
Suggest Edits

List Ad Timings on single Data Source

List Ad Timings for single Ad-Timeable Data Source

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/videos/id/data_sources/data_source_id/ad_timings
curl --request GET \
  --url https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of video

data_source_id
string
required

ID of data source

Response

Response will be an single object representing Ad Timings for the selected data.

_idstring
typestring
timenumber

Time in seconds when ad will be played.

modestring

Video not found or Data Source not found.

messagestring
Suggest Edits

Create new Ad Timing on Data Source

Create new Ad Timing on Data Source

 

Query Auth

 Authentication is required for this endpoint.
posthttps://api.zype.com/videos/id/data_sources/data_source_id/ad_timings
curl --request POST \
  --url https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of video

data_source_id
string
required

ID of data source

Body Params

ad_timing
object
 
ad_timing.time
number

Response

_idstring
typestring
timenumber

Time in seconds when ad will be played.

modestring

Unprocessable entity

messagestring
Suggest Edits

View Ad Timing

Retrieve a single Ad Timing from your Video/Data Source

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/videos/id/data_sources/data_source_id/ad_timings/ad_timing_id
curl --request GET \
  --url https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings/ad_timing_id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings/ad_timing_id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings/ad_timing_id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings/ad_timing_id");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings/ad_timing_id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of video

data_source_id
string
required

ID of Data Source

ad_timing_id
string
required

ID of Ad Timing

Response

Return Ad Timing

_idstring
typestring
timenumber

Time in seconds when ad will be played.

modestring

Ad Timing not found

messagestring
Suggest Edits

Update Ad Timing

Update a single Ad Timing

 

Query Auth

 Authentication is required for this endpoint.
puthttps://api.zype.com/videos/id/data_sources/data_source_id/ad_timings/ad_timing_id
curl --request PUT \
  --url https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings/ad_timing_id
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings/ad_timing_id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings/ad_timing_id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings/ad_timing_id");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings/ad_timing_id"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of video

data_source_id
string
required

ID of Data Source

ad_timing_id
string
required

ID of Ad Timing

Body Params

ad_timing
object
 
ad_timing.time
number

Response

Return Ad Timing

_idstring
typestring
timenumber

Time in seconds when ad will be played.

modestring

Ad Timing not found

messagestring
Suggest Edits

Destroy an Ad Timing

Destroy a single Ad Timing

 

Query Auth

 Authentication is required for this endpoint.
deletehttps://api.zype.com/videos/id/data_sources/data_source_id/ad_timings/ad_timing_id
curl --request DELETE \
  --url https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings/ad_timing_id
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings/ad_timing_id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings/ad_timing_id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings/ad_timing_id");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/id/data_sources/data_source_id/ad_timings/ad_timing_id"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of video

data_source_id
string
required

ID of Data Source

ad_timing_id
string
required

ID of Ad Timing

Response

Return Ad Timing

_idstring
typestring
timenumber

Time in seconds when ad will be played.

modestring

Ad Timing not found

messagestring
Suggest Edits

Create A Self Hosted Video

Create and add a Self Hosted Video to your library

 

Query Auth

 Authentication is required for this endpoint.
posthttps://api.zype.com/videos/self_hosted
curl --request POST \
  --url https://api.zype.com/videos/self_hosted
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.zype.com/videos/self_hosted' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/self_hosted")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.zype.com/videos/self_hosted");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/self_hosted"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

video
object

All Video parameters listed in POST Create Video are accepted.

 
video.title
string
required

Title of video in Zype platform.

video.url
string
required

Publicly available URL to the self hosted video or HLS manifest.

Response

_idstring
created_atstring
deleted_atstring
updated_atstring
on_airboolean
purchase_pricenumber

Amount to purchase the video

purchase_requiredboolean

Indicates if the video must be purchased before viewing

ratingnumber

Overall rating of the video

related_playlist_idsarray

IDs of related playlists

rental_durationnumber

Number of days video can be rented

rental_pricenumber

Price to rent video

rental_requiredboolean

Indicates if video must be rented before viewing

request_countnumber

Number of times a video has been requested

site_idstring
statusstring
crunchyroll_idstring

ID of Crunchyroll source

hulu_idstring

ID of Hulu source

mrss_idstring

ID of MRSS source

kaltura_idstring

ID of Kaltura source

vimeo_idstring

ID of the Vimeo source

youtube_idstring

ID of the YouTube source

thumbnailsarray

Thumbnails attached to the video

transcodedboolean

Indicates if video has been transcoded

video_zobjectsarray
activeboolean
discovery_urlstring
custom_thumbnail_urlstring
subscription_ads_enabledboolean
titlestring
zobject_idsobject
countrystring
descriptionstring
short_descriptionstring
disable_atstring
enable_atstring
episodenumber
seasonnumber
featuredboolean
friendly_titlestring
keywordsarray
mature_contentboolean
pass_requiredboolean
published_atstring
subscription_requiredboolean
custom_attributesobject
categories_attributesarray
segmentsarray
images_attributesarray
content_rulesarray

Unprocessable entity

messagestring
Suggest Edits

Playlists

 
Suggest Edits

List Playlists

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/playlists
curl --request GET \
  --url https://api.zype.com/playlists
var request = require("request");

var options = { method: 'GET', url: 'https://api.zype.com/playlists' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/playlists")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/playlists");

xhr.send(data);
import requests

url = "https://api.zype.com/playlists"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

active
boolean

Filter by active, inactive, or all records

category
string

Filter records that match all category values listed.
Example: category[genre]=comedy&category[language]=english Matches all playlists having ALL of the category name/value pairs listed.

category_or
string

Filter records that match any category values listed.
Example: category_or[genre]=comedy&category_or[language]=english Matches all playlists that have ANY of the category name/value pairs listed.

category!
string

Filter out by category value
Example: category![genre]=drama

title
string

Filter by title

id
string

Filter by ID
Example: id=5992f328ce593000ef000008

id!
string

Exclude by ID
Example: id!=5992f328ce593000ef000008

created_at
string

Filter records by created date using times in ISO8601 format (Example: 2017-01-01T00:00:00-00:00) or Unix timestamps (Example: 1483228800) Note: Range filters can be applied by adding a suffix: ‘.gt’, ‘.gte’, ‘.lt’, ‘lte’ (Example: created_at.gte)

q
string

Filter by keyword

order
string

Filter by ascending or descending order
Examples

  • asc
  • desc
sort
string

Sort on the specified field

page
integer

Number of pages to return

per_page
integer

Number of records to return per page

Response

Playlist response

Unprocessable entity

messagestring
Suggest Edits

Create Playlist

 

Query Auth

 Authentication is required for this endpoint.
posthttps://api.zype.com/playlists
curl --request POST \
  --url https://api.zype.com/playlists
var request = require("request");

var options = { method: 'POST', url: 'https://api.zype.com/playlists' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/playlists")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.zype.com/playlists");

xhr.send(data);
import requests

url = "https://api.zype.com/playlists"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

playlist
object
 
playlist.active
boolean

Indicates if the playlist is active

playlist.categories
object
 
playlist.categories.0
object

If you want to add more than one, just add another object. i.e. The next one will start with 1, instead of 0

 
playlist.categories.0._id
string

ID of the category playlist to update, only include it when updating.

playlist.categories.0.category_id
string

ID of the main Category you wish to add to the video

playlist.categories.0.title
string

Title of the category assigned to the video

playlist.categories.0.friendly_title
string

URL friendly title

playlist.categories.0.value
array of strings

List of values you wish to add to the category. Must exist in the main Category first

playlist.categories.0._destroy
boolean

True if you want to remove it from the object

playlist.title
string
playlist.friendly_title
string

The URL friendly title of the playlist

playlist.description
string
playlist.priority
number

The priority of the playlist related with its siblings. Playlists are ordered ascending by priority value

playlist.purchase_required
boolean

Indicates if playlist must be purchased

playlist.purchase_price
number

Amount to purchase the playlist bundle

playlist.rental_required
boolean

Indicates if the playlist bundle must be rented

playlist.rental_price
number

Price to rent the playlist bundle

playlist.rental_duration
number

Number of days a playlist bundle can be rented

playlist.auto_update_video_entitlements
boolean

Automatically update a customer's entitlement to view a video if it is added to the playlist

playlist.auto_remove_video_entitlements
boolean

Automatically remove a customer's entitlement to view a video if it is removed from the playlist

playlist.parent_id
string

The parent playlist ID. If this value is null, the playlist is a root playlist and can be used as the primary playlist within an app where all your other playlists and videos are nested under

playlist.playlist_type
string

Determine if videos will automatically be added to this playlist based off the category values assigned to them. If you would like this feature, set to 'category', otherwise, set to 'manual' to disable. If enabled, you may not manually add videos to this playlist. Options are:

  • manual
  • category
playlist.match_type
string

Used to specify matching categories to a playlist by ALL category values or ANY category values

  • any
  • all
playlist.thumbnail_layout
string

Orientation of the playlist thumbnail
Layout must be one of:

  • landscape
  • poster
  • square
playlist.custom_thumbnail
string

Image as a file attachment. The default thumbnail for your playlist

playlist.images_attributes
array of objects
_id
caption
title
updated_at
url
playlist.sort_options
array of objects

Playlist smart ordering allows you to change the order of its videos by sort options. The videos added or updated into a playlist with sort options are sorted automatically following that sort option

sort_by
direction
sort_by_type

Response

_idstring
_keywordsarray
created_atstring
deleted_atstring
updated_atstring
discovery_urlstring

URL where your playlist can be discovered

playlist_item_countnumber

Number of videos in a playlist

thumbnailsarray
custom_thumbnailstring
activeboolean
auto_remove_video_entitlementsboolean
auto_update_video_entitlementsboolean
descriptionstring
friendly_titlestring
titlestring
playlist_typestring
match_typestring
parent_idstring
prioritynumber
purchase_pricenumber
purchase_requiredboolean
rental_durationnumber
rental_pricenumber
rental_requiredboolean
thumbnail_layoutstring
site_idstring
imagesarray
categoriesarray
sort_optionsarray
content_rulesarray

Unprocessable entity

messagestring

Create a Category Playlist

Creating a Category Playlist, is the same as creating a Playlist but setting its playlist_type with a category value. You should call the POST action with the following parameters:

Parameter
Function
Type

playlist[playlist_type]

The playlist type to create. Accepted values: manual, category

String

playlist[match_type]

Videos that should match with the categories selected. Accepted values: any, all. If match_type is any, videos to be added to the playlist should match ANY of the categories selected. If match_type is all, videos to be added to the playlist should match ALL of the categories selected.

String

playlist[categories]

Categories that will be used to selected the proper videos to add into the playlist

Array

The playlist[categories] should contain an array of hashes. Every hash will represent a category to be added with the following parameters:

Parameter
Function
Type

categories[category_id]

ID of the category that will be referenced

Integer

categories[title]

Title of the category to be added

String

playlist[values]

Values selected of the category referenced

Array

Here is an JSON example to be set as the body to create a Category Playlist:

{
  "playlist": {
    "title": "Category Playlist",
    "playlist_type": "category",
    "match_type": "any",
    "categories": [
      {
        "category_id": "1234",
        "title": "Category Title",
        "value": [
          "Category Value"
        ]
      }
    ]
  }
}

Take into account that the category_id should be included into the site's categories. To get the list of categories, please go to the categories documentation. If a category with the selected category_id doesn't exists, you will get a 422 response with the following message:

{
  "message": "Could not save playlist: Categories is invalid"
}

Smart Ordering

Playlist smart ordering allows you to change the order of its videos by sort options. The videos added or updated into a playlist with sort options are sorted automatically following that sort option

Parameter
Function
Type

playlist[sort_options]

An array of sort options. Only two levels of sorting are accepted and videos are sorted first by first level, and second by second level

Array

Every sort_option has three fields:

  • direction: The direction to sort the results. It accepts two values: asc (ascending - lowest to highest) and desc (descending - highest to lowest) order.
  • sort_by: The field name which will be taken into account to sort the results. It accepts the following values: created_at, published_at, and title.
  • sort_by_type: The type of the field which will be taken into account to sort the results. It accepts the following values: date, datetime, string, integer, array, and boolean. The difference between date and datetime is that date will only take the date part of the field, while datetime will take the date and time part of the field; so for example, for a date "01/01/2001 01:01:01", date will take only "01/01/2001" into account, while datetime will take the complete date "01/01/2001 01:01:01" into account.

Here is an JSON example to be set as the body to create a Playlist with one level smart ordering:

{
  "playlist": {
    "playlist title": "Title",
    "sort_options": [
      {
        "direction": "desc",
        "sort_by": "published_at",
        "sort_by_type": "datetime"
      }
    ]
  }
}

And with two levels smart ordering:

{
  "playlist": {
    "playlist title": "Title",
    "sort_options": [
      {
        "direction": "desc",
        "sort_by": "published_at",
        "sort_by_type": "datetime"
      },
      {
        "direction": "asc",
        "sort_by": "title",
        "sort_by_type": "string"
      }
    ]
  }
}
Suggest Edits

View Playlist

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/playlists/id
curl --request GET \
  --url https://api.zype.com/playlists/id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/playlists/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/playlists/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/playlists/id");

xhr.send(data);
import requests

url = "https://api.zype.com/playlists/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of playlist

Response

Return a playlist

_idstring
_keywordsarray
created_atstring
deleted_atstring
updated_atstring
discovery_urlstring

URL where your playlist can be discovered

playlist_item_countnumber

Number of videos in a playlist

thumbnailsarray
custom_thumbnailstring
activeboolean
auto_remove_video_entitlementsboolean
auto_update_video_entitlementsboolean
descriptionstring
friendly_titlestring
titlestring
playlist_typestring
match_typestring
parent_idstring
prioritynumber
purchase_pricenumber
purchase_requiredboolean
rental_durationnumber
rental_pricenumber
rental_requiredboolean
thumbnail_layoutstring
site_idstring
imagesarray
categoriesarray
sort_optionsarray
content_rulesarray

Playlist not found

messagestring
Suggest Edits

Update Playlist

 

Query Auth

 Authentication is required for this endpoint.
puthttps://api.zype.com/playlists/id
curl --request PUT \
  --url https://api.zype.com/playlists/id
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.zype.com/playlists/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/playlists/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.zype.com/playlists/id");

xhr.send(data);
import requests

url = "https://api.zype.com/playlists/id"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of playlist

Body Params

playlist
object
 
playlist.active
boolean

Indicates if the playlist is active

playlist.categories
object
 
playlist.categories.0
object

If you want to add more than one, just add another object. i.e. The next one will start with 1, instead of 0

 
playlist.categories.0._id
string

ID of the category playlist to update, only include it when updating.

playlist.categories.0.category_id
string

ID of the main Category you wish to add to the video

playlist.categories.0.title
string

Title of the category assigned to the video

playlist.categories.0.friendly_title
string

URL friendly title

playlist.categories.0.value
array of strings

List of values you wish to add to the category. Must exist in the main Category first

playlist.categories.0._destroy
boolean

True if you want to remove it from the object

playlist.title
string
playlist.friendly_title
string

The URL friendly title of the playlist

playlist.description
string
playlist.priority
number

The priority of the playlist related with its siblings. Playlists are ordered ascending by priority value

playlist.purchase_required
boolean

Indicates if playlist must be purchased

playlist.purchase_price
number

Amount to purchase the playlist bundle

playlist.rental_required
boolean

Indicates if the playlist bundle must be rented

playlist.rental_price
number

Price to rent the playlist bundle

playlist.rental_duration
number

Number of days a playlist bundle can be rented

playlist.auto_update_video_entitlements
boolean

Automatically update a customer's entitlement to view a video if it is added to the playlist

playlist.auto_remove_video_entitlements
boolean

Automatically remove a customer's entitlement to view a video if it is removed from the playlist

playlist.parent_id
string

The parent playlist ID. If this value is null, the playlist is a root playlist and can be used as the primary playlist within an app where all your other playlists and videos are nested under

playlist.playlist_type
string

Determine if videos will automatically be added to this playlist based off the category values assigned to them. If you would like this feature, set to 'category', otherwise, set to 'manual' to disable. If enabled, you may not manually add videos to this playlist. Options are:

  • manual
  • category
playlist.match_type
string

Used to specify matching categories to a playlist by ALL category values or ANY category values

  • any
  • all
playlist.thumbnail_layout
string

Orientation of the playlist thumbnail
Layout must be one of:

  • landscape
  • poster
  • square
playlist.custom_thumbnail
string

Image as a file attachment. The default thumbnail for your playlist

playlist.images_attributes
array of objects
_id
caption
title
updated_at
url
playlist.sort_options
array of objects

Playlist smart ordering allows you to change the order of its videos by sort options. The videos added or updated into a playlist with sort options are sorted automatically following that sort option

sort_by
direction
sort_by_type

Response

_idstring
_keywordsarray
created_atstring
deleted_atstring
updated_atstring
discovery_urlstring

URL where your playlist can be discovered

playlist_item_countnumber

Number of videos in a playlist

thumbnailsarray
custom_thumbnailstring
activeboolean
auto_remove_video_entitlementsboolean
auto_update_video_entitlementsboolean
descriptionstring
friendly_titlestring
titlestring
playlist_typestring
match_typestring
parent_idstring
prioritynumber
purchase_pricenumber
purchase_requiredboolean
rental_durationnumber
rental_pricenumber
rental_requiredboolean
thumbnail_layoutstring
site_idstring
imagesarray
categoriesarray
sort_optionsarray
content_rulesarray

Playlist not found

messagestring

Unprocessable entity

messagestring

Update Category Playlist

Updating a Category Playlist, is the same as updating a Playlist but changing its categories.

Take into account that updating a playlist categories will overwrite the current categories. So, if you want to keep your current categories and values, adding new ones, you should add them to the JSON body parameters. If you want to delete categories or values, you have to set the categories array only with the categories that you want for your playlist, obviating the ones that you don't need anymore


Smart Ordering

Playlist smart ordering allows you to change the order of its videos by sort options. The videos added or updated into a playlist with sort options are sorted automatically following that sort option

Parameter
Function
Type

playlist[sort_options]

An array of sort options. Only two levels of sorting are accepted and videos are sorted first by first level, and second by second level

Array

Every sort_option has three fields:

  • direction: The direction to sort the results. It accepts two values: asc (ascending - lowest to highest) and desc (descending - highest to lowest) order.
  • sort_by: The field name which will be taken into account to sort the results. It accepts the following values: created_at, published_at, and title.
  • sort_by_type: The type of the field which will be taken into account to sort the results. It accepts the following values: date, datetime, string, integer, array, and boolean. The difference between date and datetime is that date will only take the date part of the field, while datetime will take the date and time part of the field; so for example, for a date "01/01/2001 01:01:01", date will take only "01/01/2001" into account, while datetime will take the complete date "01/01/2001 01:01:01" into account.

Here is an JSON example to be set as the body to update a Playlist with one level smart ordering:

{
  "playlist": {
    "sort_options": [
      {
        "direction": "desc",
        "sort_by": "published_at",
        "sort_by_type": "datetime"
      }
    ]
  }
}

And with two levels smart ordering:

{
  "playlist": {
    "playlist title": "Title",
    "sort_options": [
      {
        "direction": "desc",
        "sort_by": "published_at",
        "sort_by_type": "datetime"
      },
      {
        "direction": "asc",
        "sort_by": "title",
        "sort_by_type": "string"
      }
    ]
  }
}
Suggest Edits

Delete Playlist

 

Query Auth

 Authentication is required for this endpoint.
deletehttps://api.zype.com/playlists/id
curl --request DELETE \
  --url https://api.zype.com/playlists/id
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.zype.com/playlists/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/playlists/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.zype.com/playlists/id");

xhr.send(data);
import requests

url = "https://api.zype.com/playlists/id"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of playlist

Response

Playlist deleted successfully

Playlist not found

messagestring
Suggest Edits

List Playlist Videos

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/playlists/id/videos
curl --request GET \
  --url https://api.zype.com/playlists/id/videos
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/playlists/id/videos' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/playlists/id/videos")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/playlists/id/videos");

xhr.send(data);
import requests

url = "https://api.zype.com/playlists/id/videos"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of playlist

Query Params

created_at
string

Filter records by created date using times in ISO8601 format (Example: 2017-01-01T00:00:00-00:00) or Unix timestamps (Example: 1483228800) Note: Range filters can be applied by adding a suffix: ‘.gt’, ‘.gte’, ‘.lt’, ‘lte’ (Example: created_at.gte)

q
string

Filter by keyword

order
string

Filter by ascending or descending order
Examples

  • asc
  • desc
sort
string

Sort on the specified field

page
integer

Number of pages to return

per_page
integer

Number of records to return per page

category
string

Filter records by category value
Example: category[color]=blue

category_or
string

Filter records that match any category values listed.
Example: category_or[genre]=comedy&category_or[language]=english Matches all videos that have ANY of the category name/value pairs listed.

category!
string

Exclude records by category value
Example: category![color]=blue

friendly_title
string

Filter by friendly title

mature_content
boolean

Filter records flagged as mature

on_air
boolean

Filter records that are either on or off air

published_at
date

Filter records by published date using times in ISO8601 format Example: 2017-01-01T00:00:00-00:00 or Unix timestamps 1483228800.
Note: Range filters can be applied by adding a suffix: .gt, .gte, .lt, .lte Example: published_at.gte=2017-01-01T00:00:00-00:00

source_id
string

Filter by source identifier

type
string

Filter by type Examples: zype, hulu, youtube, crunchyroll

dpt
boolean

Filter records by Dynamic Player Technology conditions (Geo-location and device restrictions). If set to true this will return videos that are playable from your location/device.

crunchyroll_id
string

Filter by Crunchyroll ID

vimeo_id
string

Filter by Vimeo ID

youtube_id
string

Filter by YouTube ID

zobject_id
string

Filter by Zobject ID

zobject_id!
string

Filter by Zobject ID

hulu_id
string

Filter by Hulu ID

Response

Return videos for a specific playlist

Playlist not found

messagestring

Unprocessable entity

messagestring
Suggest Edits

Add Videos

Add videos to a playlist

 

Query Auth

 Authentication is required for this endpoint.
puthttps://api.zype.com/playlists/id/add_videos
curl --request PUT \
  --url 'https://api.zype.com/playlists/id/add_videos?video_id=video_id'
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.zype.com/playlists/id/add_videos',
  qs: { video_id: 'video_id' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/playlists/id/add_videos?video_id=video_id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.zype.com/playlists/id/add_videos?video_id=video_id");

xhr.send(data);
import requests

url = "https://api.zype.com/playlists/id/add_videos"

querystring = {"video_id":"video_id"}

response = requests.request("PUT", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of playlist

Query Params

video_id
array of strings
required

Array of video IDs to add

Response

Playlist not found

messagestring

Unprocessable entity

messagestring
Suggest Edits

Remove Videos

Remove videos in a playlist

 

Query Auth

 Authentication is required for this endpoint.
puthttps://api.zype.com/playlists/id/remove_videos
curl --request PUT \
  --url 'https://api.zype.com/playlists/id/remove_videos?video_id=video_id'
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.zype.com/playlists/id/remove_videos',
  qs: { video_id: 'video_id' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/playlists/id/remove_videos?video_id=video_id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.zype.com/playlists/id/remove_videos?video_id=video_id");

xhr.send(data);
import requests

url = "https://api.zype.com/playlists/id/remove_videos"

querystring = {"video_id":"video_id"}

response = requests.request("PUT", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of playlist

Query Params

video_id
array of strings
required

Array of video IDs to remove

Response

Playlist not found

messagestring

Unprocessable entity

messagestring
Suggest Edits

View Relationsips

Returns a list of playlists and its relationships

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/playlists/relationships
curl --request GET \
  --url https://api.zype.com/playlists/relationships
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/playlists/relationships' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/playlists/relationships")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/playlists/relationships");

xhr.send(data);
import requests

url = "https://api.zype.com/playlists/relationships"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Response

playlistsarray

Managing Playlist Relationships

Playlist Relationships allow you to create a parent / child relationship between two playlists. This is useful for nesting playlist content within OTT apps. For example, you could create a parent playlist called "Comedy" and nest child playlists underneath called "Romantic Comedies" and "Slapstick Comedies" to provide a better user experience for your audience. To manage Playlist Relationships, we use the parent_id and priority fields of a playlist.

Parameter
Function
Type

playlist[parent_id]

The parent playlist id. If this value is null, the playlist is a root playlist and can be used as the primary playlist within an app where all your other playlists and videos are nested under

String

playlist[priority]

The priority of the playlist related with its siblings. Playlists are ordered ascending by priority value

Integer

When creating or updating a Playlist:

  • If the parent_id and priority are not set, the playlist will be set as a root playlist with the highest priority value set.
  • If the parent_id is not set, but the priority is, then, the playlist will be set as a root playlist, and will be ordered by the priority value set. If there is another root playlist with the same priority, then it will be added after this playlist.
  • If the parent_id and priority are set, the playlist will be added as a child of the playlist with id parent_id, and will be ordered by the priority value set. If there is another sibling playlist with the same priority, then it will be added after the sibling.

To nest a playlist under a new parent, you need to change its parent_id field to the id of the playlist you want to nest it under. If you want it to be a root playlist, then you have to set the parent_id field as null or empty

Also, take into account that 0 (zero) is the highest priority.

Suggest Edits

Categories

 
Suggest Edits

List Categories

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/categories
curl --request GET \
  --url https://api.zype.com/categories
var request = require("request");

var options = { method: 'GET', url: 'https://api.zype.com/categories' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/categories")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/categories");

xhr.send(data);
import requests

url = "https://api.zype.com/categories"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

title
string

Filter by title

id
string

Filter by ID
Example: id=5992f328ce593000ef000008

id!
string

Exclude by ID
Example: id!=5992f328ce593000ef000008

created_at
string

Filter records by created date using times in ISO8601 format (Example: 2017-01-01T00:00:00-00:00) or Unix timestamps (Example: 1483228800) Note: Range filters can be applied by adding a suffix: ‘.gt’, ‘.gte’, ‘.lt’, ‘lte’ (Example: created_at.gte)

q
string

Filter by keyword

order
string

Filter by ascending or descending order
Examples

  • asc
  • desc
sort
string

Sort on the specified field

page
integer

Number of pages to return

per_page
integer

Number of records to return per page

Response

Suggest Edits

Create Category

 

Query Auth

 Authentication is required for this endpoint.
posthttps://api.zype.com/categories
curl --request POST \
  --url https://api.zype.com/categories
var request = require("request");

var options = { method: 'POST', url: 'https://api.zype.com/categories' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/categories")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.zype.com/categories");

xhr.send(data);
import requests

url = "https://api.zype.com/categories"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

category
object
 
category.title
string
category.friendly_title
string

URL friendly title

category.values
array of strings

List of values you wish to add to the category. Must exist in the main Category first

Response

_idstring
created_atstring
updated_atstring
valuesarray
titlestring
friendly_titlestring

Unprocessable entity

messagestring
Suggest Edits

View Category

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/categories/id
curl --request GET \
  --url https://api.zype.com/categories/id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/categories/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/categories/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/categories/id");

xhr.send(data);
import requests

url = "https://api.zype.com/categories/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of category

Response

Return a category

_idstring
created_atstring
updated_atstring
valuesarray
titlestring
friendly_titlestring

Category not found

messagestring
Suggest Edits

Update category

 

Query Auth

 Authentication is required for this endpoint.
puthttps://api.zype.com/categories/id
curl --request PUT \
  --url https://api.zype.com/categories/id
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.zype.com/categories/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/categories/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.zype.com/categories/id");

xhr.send(data);
import requests

url = "https://api.zype.com/categories/id"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of category

Body Params

category
object
 
category.title
string
category.friendly_title
string

URL friendly title

category.values
array of strings

List of values you wish to add to the category. Must exist in the main Category first

Response

_idstring
created_atstring
updated_atstring
valuesarray
titlestring
friendly_titlestring

Category not found

messagestring

Unprocessable entity

messagestring
Suggest Edits

Delete Category

 

Query Auth

 Authentication is required for this endpoint.
deletehttps://api.zype.com/categories/id
curl --request DELETE \
  --url https://api.zype.com/categories/id
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.zype.com/categories/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/categories/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.zype.com/categories/id");

xhr.send(data);
import requests

url = "https://api.zype.com/categories/id"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of category

Response

Category deleted successfully

Category not found

messagestring

Overview

The Zype platform contains push-button app builders which allow OTT and mobile apps to be customized and built with just a few clicks. Zype app builders contain user-customizable settings specific to the app’s respective platform and SDK features. The app settings specified in the Zype platform are saved and returned by the App endpoint.

The App endpoint is used to retrieve the custom settings and content associated with an app in the Zype platform.

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/app
curl --request GET \
  --url 'https://api.zype.com/app?app_key=app_key'
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/app',
  qs: { app_key: 'app_key' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/app?app_key=app_key")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/app?app_key=app_key");

xhr.send(data);
import requests

url = "https://api.zype.com/app"

querystring = {"app_key":"app_key"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

app_key
string
required

App key provided by Zype

Response

_idstring
activeboolean
app_type_idstring
device_idsarray
site_idstring
titlestring
versionstring
store_icon_urlstring

Use Case

If customizing an existing Zype app SDK, customizing a third-party SDK for compatibility with the Zype platform, or creating a custom app from scratch, the app’s dynamic settings and content stored in the Zype platform may be retrieved using the App endpoint. In this way, an app’s settings may be updated dynamically without, in most cases, requiring a resubmission or deploying updated files.

Suggest Edits

Subtitles

 
Suggest Edits

List Subtitles

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/videos/video_id/subtitles
curl --request GET \
  --url https://api.zype.com/videos/video_id/subtitles
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/videos/video_id/subtitles' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/video_id/subtitles")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/videos/video_id/subtitles");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/video_id/subtitles"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

video_id
string
required

ID of video

Response

Unprocessable entity

messagestring
Suggest Edits

Create Subtitle

 

Query Auth

 Authentication is required for this endpoint.
posthttps://api.zype.com/videos/video_id/subtitles
curl --request POST \
  --url https://api.zype.com/videos/video_id/subtitles
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.zype.com/videos/video_id/subtitles' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/video_id/subtitles")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.zype.com/videos/video_id/subtitles");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/video_id/subtitles"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

video_id
string
required

ID of video

Body Params

subtitle
object
 
subtitle.active
boolean

Indicates if the subtitle should be used

subtitle.language
required

Language of the subtitle

subtitle.extension_type
string
required

Original file extension of the subtitle (allowed formats: srt, vtt)

subtitle.file
string
required

Base64 encoded subtitle

Response

_idstring
activeboolean
extension_typestring
file_content_typestring
file_file_namestring
file_file_sizeinteger
file_fingerprintstring
file_updated_atstring
languagestring

Unprocessable entity

messagestring
Suggest Edits

View Subtitle

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/videos/video_id/subtitles/id
curl --request GET \
  --url https://api.zype.com/videos/video_id/subtitles/id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/videos/video_id/subtitles/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/video_id/subtitles/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/videos/video_id/subtitles/id");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/video_id/subtitles/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of the subtitle

video_id
string
required

ID of the video

Response

Return a subtitle

_idstring
activeboolean
extension_typestring
file_content_typestring
file_file_namestring
file_file_sizeinteger
file_fingerprintstring
file_updated_atstring
languagestring

Subtitle not found

messagestring
Suggest Edits

Update Subtitle

 

Query Auth

 Authentication is required for this endpoint.
puthttps://api.zype.com/videos/video_id/subtitles/id
curl --request PUT \
  --url https://api.zype.com/videos/video_id/subtitles/id
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.zype.com/videos/video_id/subtitles/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/video_id/subtitles/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.zype.com/videos/video_id/subtitles/id");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/video_id/subtitles/id"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of the subtitle

video_id
string
required

ID of the video

Body Params

subtitle
object
 
subtitle.active
boolean

Indicates if the subtitle should be used

subtitle.language
required

Language of the subtitle

subtitle.extension_type
string
required

Original file extension of the subtitle (allowed formats: srt, vtt)

subtitle.file
string
required

Base64 encoded subtitle

Response

_idstring
activeboolean
extension_typestring
file_content_typestring
file_file_namestring
file_file_sizeinteger
file_fingerprintstring
file_updated_atstring
languagestring

Subtitle not found

messagestring

Unprocessable entity

messagestring
Suggest Edits

Delete Subtitle

 

Query Auth

 Authentication is required for this endpoint.
deletehttps://api.zype.com/videos/video_id/subtitles/id
curl --request DELETE \
  --url https://api.zype.com/videos/video_id/subtitles/id
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.zype.com/videos/video_id/subtitles/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/video_id/subtitles/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.zype.com/videos/video_id/subtitles/id");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/video_id/subtitles/id"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of the subtitle

video_id
string
required

ID of the video

Response

Subtitle deleted successfully

Suggest Edits

Subtitle Playlists

 

Overview

The Subtitle Playlists API allows users to integrate subtitles with HLS manifests from a Zype video source. It’s a simple way to add subtitles which will be supported in all platforms that implement the Apple HLS specification.

Each Video can have many subtitles but they are limited to have only one subtitle of each language.

Suggest Edits

Create Subtitle Playlist

 

Query Auth

 Authentication is required for this endpoint.
posthttps://api.zype.com/videos/video_id/subtitle_playlists
curl --request POST \
  --url https://api.zype.com/videos/video_id/subtitle_playlists
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.zype.com/videos/video_id/subtitle_playlists' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/video_id/subtitle_playlists")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.zype.com/videos/video_id/subtitle_playlists");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/video_id/subtitle_playlists"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

video_id
string
required

ID of video

Body Params

subtitle_playlist
object
 
subtitle_playlist.source_url
string
required

The URL for the source subtitle

subtitle_playlist.language
string
required

The language of the source subtitle provided

Response

_idstring
created_atstring
languagestring
language_codestring
source_urlstring
updated_atstring
video_idstring

Unprocessable entity

messagestring
Suggest Edits

Delete Subtitle Playlist

 

Query Auth

 Authentication is required for this endpoint.
deletehttps://api.zype.com/videos/video_id/subtitle_playlists/language
curl --request DELETE \
  --url https://api.zype.com/videos/video_id/subtitle_playlists/language
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.zype.com/videos/video_id/subtitle_playlists/language' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/video_id/subtitle_playlists/language")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.zype.com/videos/video_id/subtitle_playlists/language");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/video_id/subtitle_playlists/language"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

language
string
required

The language of the source subtitle provided

video_id
string
required

ID of the video

Response

Subtitle playlist deleted successfully

Suggest Edits

Program Guides

 
Suggest Edits

List Program Guides

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/program_guides
curl --request GET \
  --url https://api.zype.com/program_guides
var request = require("request");

var options = { method: 'GET', url: 'https://api.zype.com/program_guides' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/program_guides")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/program_guides");

xhr.send(data);
import requests

url = "https://api.zype.com/program_guides"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

id
string

Filter by ID
Example: id=5992f328ce593000ef000008

id!
string

Exclude by ID
Example: id!=5992f328ce593000ef000008

created_at
string

Filter records by created date using times in ISO8601 format (Example: 2017-01-01T00:00:00-00:00) or Unix timestamps (Example: 1483228800) Note: Range filters can be applied by adding a suffix: ‘.gt’, ‘.gte’, ‘.lt’, ‘lte’ (Example: created_at.gte)

q
string

Filter by keyword

order
string

Filter by ascending or descending order
Examples

  • asc
  • desc
sort
string

Sort on the specified field

page
integer

Number of pages to return

per_page
integer

Number of records to return per page

Response

Unprocessable entity

messagestring
Suggest Edits

Create Program Guide

 

Query Auth

 Authentication is required for this endpoint.
posthttps://api.zype.com/program_guides
curl --request POST \
  --url https://api.zype.com/program_guides
var request = require("request");

var options = { method: 'POST', url: 'https://api.zype.com/program_guides' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/program_guides")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.zype.com/program_guides");

xhr.send(data);
import requests

url = "https://api.zype.com/program_guides"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

program_guide
object
 
program_guide.name
string
required
program_guide.url
string
required

Source URL used to sync content for the program guide

program_guide.language
array of strings
required

Two letter abbreviation of the language used to import content for the program guide (en, fr)

program_guide.time_zone
string
required

Time zone offset for the program guide

Response

_idstring
created_atstring
languagestring
namestring
program_guide_entry_countinteger
refreshed_atstring
site_idstring
statusstring
time_zonestring
updated_atstring
urlstring

Unprocessable entity

messagestring
Suggest Edits

View Program Guide

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/program_guides/id
curl --request GET \
  --url https://api.zype.com/program_guides/id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/program_guides/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/program_guides/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/program_guides/id");

xhr.send(data);
import requests

url = "https://api.zype.com/program_guides/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of program guide

Response

Return a program guide

_idstring
created_atstring
languagestring
namestring
program_guide_entry_countinteger
refreshed_atstring
site_idstring
statusstring
time_zonestring
updated_atstring
urlstring

Program guide not found

messagestring
Suggest Edits

Update Program Guide

 

Query Auth

 Authentication is required for this endpoint.
puthttps://api.zype.com/program_guides/id
curl --request PUT \
  --url https://api.zype.com/program_guides/id
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.zype.com/program_guides/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/program_guides/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.zype.com/program_guides/id");

xhr.send(data);
import requests

url = "https://api.zype.com/program_guides/id"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of program guide

Body Params

program_guide
object
 
program_guide.name
string
required
program_guide.url
string
required

Source URL used to sync content for the program guide

program_guide.language
array of strings
required

Two letter abbreviation of the language used to import content for the program guide (en, fr)

program_guide.time_zone
string
required

Time zone offset for the program guide

Response

_idstring
created_atstring
languagestring
namestring
program_guide_entry_countinteger
refreshed_atstring
site_idstring
statusstring
time_zonestring
updated_atstring
urlstring

Program guide not found

messagestring

Unprocessable entity

messagestring
Suggest Edits

Delete Program Guide

 

Query Auth

 Authentication is required for this endpoint.
deletehttps://api.zype.com/program_guides/id
curl --request DELETE \
  --url https://api.zype.com/program_guides/id
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.zype.com/program_guides/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/program_guides/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.zype.com/program_guides/id");

xhr.send(data);
import requests

url = "https://api.zype.com/program_guides/id"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of program guide

Response

Program guide deleted successfully

Program guide not found

messagestring
Suggest Edits

List Program Guide Entries

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/program_guides/id/entries
curl --request GET \
  --url https://api.zype.com/program_guides/id/entries
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/program_guides/id/entries' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/program_guides/id/entries")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/program_guides/id/entries");

xhr.send(data);
import requests

url = "https://api.zype.com/program_guides/id/entries"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of program guide

Response

Return program guide entries

_idstring
categoryarray
created_atstring
descriptionstring
durationinteger
end_timestring
program_guide_idstring
start_timestring
subtitlestring
time_zonestring
titlestring
updated_atstring
start_time_with_offsetstring
end_time_with_offsetstring

Program guide not found

messagestring
 
Suggest Edits

List Devices

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/devices
curl --request GET \
  --url https://api.zype.com/devices
var request = require("request");

var options = { method: 'GET', url: 'https://api.zype.com/devices' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/devices")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/devices");

xhr.send(data);
import requests

url = "https://api.zype.com/devices"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

title
string

Filter by title

id
string

Filter by ID
Example: id=5992f328ce593000ef000008

id!
string

Exclude by ID
Example: id!=5992f328ce593000ef000008

created_at
string

Filter records by created date using times in ISO8601 format (Example: 2017-01-01T00:00:00-00:00) or Unix timestamps (Example: 1483228800) Note: Range filters can be applied by adding a suffix: ‘.gt’, ‘.gte’, ‘.lt’, ‘lte’ (Example: created_at.gte)

q
string

Filter by keyword

order
string

Filter by ascending or descending order
Examples

  • asc
  • desc
sort
string

Sort on the specified field

page
integer

Number of pages to return

per_page
integer

Number of records to return per page

Response

Unprocessable entity

messagestring
Suggest Edits

View Device

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/devices/id
curl --request GET \
  --url https://api.zype.com/devices/id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/devices/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/devices/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/devices/id");

xhr.send(data);
import requests

url = "https://api.zype.com/devices/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of device

Response

_idstring
descriptionstring
namestring

Device not found

messagestring
Suggest Edits

Device Categories

 
Suggest Edits

List Devices Categories

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/device_categories
curl --request GET \
  --url https://api.zype.com/device_categories
var request = require("request");

var options = { method: 'GET', url: 'https://api.zype.com/device_categories' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/device_categories")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/device_categories");

xhr.send(data);
import requests

url = "https://api.zype.com/device_categories"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

title
string

Filter by title

id
string

Filter by ID
Example: id=5992f328ce593000ef000008

id!
string

Exclude by ID
Example: id!=5992f328ce593000ef000008

created_at
string

Filter records by created date using times in ISO8601 format (Example: 2017-01-01T00:00:00-00:00) or Unix timestamps (Example: 1483228800) Note: Range filters can be applied by adding a suffix: ‘.gt’, ‘.gte’, ‘.lt’, ‘lte’ (Example: created_at.gte)

q
string

Filter by keyword

order
string

Filter by ascending or descending order
Examples

  • asc
  • desc
sort
string

Sort on the specified field

page
integer

Number of pages to return

per_page
integer

Number of records to return per page

Response

Suggest Edits

View Device Category

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/device_categories/id
curl --request GET \
  --url https://api.zype.com/device_categories/id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/device_categories/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/device_categories/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/device_categories/id");

xhr.send(data);
import requests

url = "https://api.zype.com/device_categories/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of device category

Response

_idstring

593030d54d740d0053000004

_keywordsarray
created_atstring

2014-09-29T15:23:47.302-04:00

image_content_typestring

image/png

image_file_namestring

desktop.png

image_file_sizestring

19347

image_fingerprintstring

a661d27f5003bcf1523f75e3686f6b24

image_updated_atstring

2014-09-29T15:23:47.099-04:00

namestring

Web

updated_atstring

2014-09-29T15:23:47.302-04:00

Device Category not found

messagestring
Suggest Edits

Live Manifests

 
Suggest Edits

Retrieve manifest URL for live videos

Returns an object containing the ID and the masked URL for the manifest.

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/manifest/live/video_id
curl --request GET \
  --url https://api.zype.com/manifest/live/video_id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/manifest/live/video_id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/manifest/live/video_id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/manifest/live/video_id");

xhr.send(data);
import requests

url = "https://api.zype.com/manifest/live/video_id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

video_id
string
required

ID of the video

Response

_idstring

ID of the video

urlstring

URL of the manifest

Manifest not found

messagestring
Suggest Edits

View GeoIP

Retreive the GeoIP object for a specific IP Address

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/geoip
curl --request GET \
  --url https://api.zype.com/geoip
var request = require("request");

var options = { method: 'GET', url: 'https://api.zype.com/geoip' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/geoip")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/geoip");

xhr.send(data);
import requests

url = "https://api.zype.com/geoip"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

ip_address
string

Defaults to the IP of the API caller if not provided

Response

requeststring

blah

ipstring
country_codestring
country_code2string
country_code3string
country_namestring
continent_codestring
 
Suggest Edits

List Segments

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/videos/video_id/segments
curl --request GET \
  --url https://api.zype.com/videos/video_id/segments
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/videos/video_id/segments' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/video_id/segments")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/videos/video_id/segments");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/video_id/segments"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

[
  {
    "_id": "593030e14d740d0053000032",
    "video_id": "59a6cef251cc430067000440",
    "start": 90,
    "end": 120,
    "description": "Description of what the segment is about"
  }
]

Path Params

video_id
string
required

ID of video

Response

Suggest Edits

Create Segment

 

Query Auth

 Authentication is required for this endpoint.
posthttps://api.zype.com/videos/video_id/segments
curl --request POST \
  --url https://api.zype.com/videos/video_id/segments
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.zype.com/videos/video_id/segments' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/video_id/segments")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.zype.com/videos/video_id/segments");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/video_id/segments"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "_id": "593030e14d740d0053000032",
  "video_id": "59a6cef251cc430067000440",
  "start": 90,
  "end": 120,
  "description": "Description of what the segment is about"
}

Path Params

video_id
string
required

Body Params

segment
object
 
segment.video_id
string
segment.description
number
segment.start
number

When the segment starts

segment.end
number

When the segment ends

Response

_idstring
video_idstring
startnumber
endnumber
descriptionstring

Unprocessable entity

messagestring
Suggest Edits

View Segment

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/videos/video_id/segments/id
curl --request GET \
  --url https://api.zype.com/videos/video_id/segments/id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/videos/video_id/segments/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/video_id/segments/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/videos/video_id/segments/id");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/video_id/segments/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "_id": "593030e14d740d0053000032",
  "video_id": "59a6cef251cc430067000440",
  "start": 90,
  "end": 120,
  "description": "Description of what the segment is about"
}

Path Params

video_id
string
required

ID of video

id
string
required

ID of segment

Response

_idstring
video_idstring
startnumber
endnumber
descriptionstring
Suggest Edits

Update Segment

 

Query Auth

 Authentication is required for this endpoint.
puthttps://api.zype.com/videos/video_id/segments/id
curl --request PUT \
  --url https://api.zype.com/videos/video_id/segments/id
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.zype.com/videos/video_id/segments/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/video_id/segments/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.zype.com/videos/video_id/segments/id");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/video_id/segments/id"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "_id": "593030e14d740d0053000032",
  "video_id": "59a6cef251cc430067000440",
  "start": 90,
  "end": 120,
  "description": "Description of what the segment is about"
}

Path Params

video_id
string
required

ID of video

id
string
required

ID of segment

Body Params

segment
object
 
segment.video_id
string
segment.description
number
segment.start
number

When the segment starts

segment.end
number

When the segment ends

Response

_idstring
video_idstring
startnumber
endnumber
descriptionstring
Suggest Edits

Delete Segment

 

Query Auth

 Authentication is required for this endpoint.
deletehttps://api.zype.com/videos/video_id/segments/id
curl --request DELETE \
  --url https://api.zype.com/videos/video_id/segments/id
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.zype.com/videos/video_id/segments/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/videos/video_id/segments/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.zype.com/videos/video_id/segments/id");

xhr.send(data);
import requests

url = "https://api.zype.com/videos/video_id/segments/id"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

video_id
string
required

ID of video

id
string
required

ID of segment

Response

Segment deleted successfully

Segment not found

messagestring
Suggest Edits

Video Imports

 
Suggest Edits

List Video Imports

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/video_imports
curl --request GET \
  --url https://api.zype.com/video_imports
var request = require("request");

var options = { method: 'GET', url: 'https://api.zype.com/video_imports' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/video_imports")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/video_imports");

xhr.send(data);
import requests

url = "https://api.zype.com/video_imports"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

id
string

Filter by ID
Example: id=5992f328ce593000ef000008

id!
string

Exclude by ID
Example: id!=5992f328ce593000ef000008

created_at
string

Filter records by created date using times in ISO8601 format (Example: 2017-01-01T00:00:00-00:00) or Unix timestamps (Example: 1483228800) Note: Range filters can be applied by adding a suffix: ‘.gt’, ‘.gte’, ‘.lt’, ‘lte’ (Example: created_at.gte)

q
string

Filter by keyword

order
string

Filter by ascending or descending order
Examples

  • asc
  • desc
sort
string

Sort on the specified field

page
integer

Number of pages to return

per_page
integer

Number of records to return per page

type
string

Filter by title
Examples:

  • hulu
  • youtube
  • crunchyroll
active
string

Filter by active or inactive or all records
Examples:

  • true
  • false
  • all
status
string

Filter by status of import
Examples:

  • created
  • ready
video_source_id
string

Filter by ID of VideoSource

Response

Suggest Edits

Attach a Video to a Video Import

 

Query Auth

 Authentication is required for this endpoint.
puthttps://api.zype.com/video_imports/id/add_video
curl --request PUT \
  --url https://api.zype.com/video_imports/id/add_video
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.zype.com/video_imports/id/add_video' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/video_imports/id/add_video")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.zype.com/video_imports/id/add_video");

xhr.send(data);
import requests

url = "https://api.zype.com/video_imports/id/add_video"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Body Params

video_id

ID of the video to add to the VideoImport

Response

_idstring
titlestring
video_source_idstring
created_atstring
deleted_atstring
updated_atstring
descriptionstring
durationnumber
episodenumber
expires_atstring
keywordsarray
published_atstring
seasonnumber
site_idstring
starts_atstring
statusstring
thumbnailsarray
upload_idstring
video_idstring

VideoImport not found

messagestring

Unprocessable entity

messagestring
Suggest Edits

View Video Import

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/video_imports/id
curl --request GET \
  --url https://api.zype.com/video_imports/id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/video_imports/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/video_imports/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/video_imports/id");

xhr.send(data);
import requests

url = "https://api.zype.com/video_imports/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of segment

Response

_idstring
titlestring
video_source_idstring
created_atstring
deleted_atstring
updated_atstring
descriptionstring
durationnumber
episodenumber
expires_atstring
keywordsarray
published_atstring
seasonnumber
site_idstring
starts_atstring
statusstring
thumbnailsarray
upload_idstring
video_idstring

VideoImport not found

messagestring
Suggest Edits

Video Sources

 
Suggest Edits

List Video Sources

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/video_sources
curl --request GET \
  --url https://api.zype.com/video_sources
var request = require("request");

var options = { method: 'GET', url: 'https://api.zype.com/video_sources' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/video_sources")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/video_sources");

xhr.send(data);
import requests

url = "https://api.zype.com/video_sources"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

id
string

Filter by ID
Example: id=5992f328ce593000ef000008

id!
string

Exclude by ID
Example: id!=5992f328ce593000ef000008

created_at
string

Filter records by created date using times in ISO8601 format (Example: 2017-01-01T00:00:00-00:00) or Unix timestamps (Example: 1483228800) Note: Range filters can be applied by adding a suffix: ‘.gt’, ‘.gte’, ‘.lt’, ‘lte’ (Example: created_at.gte)

q
string

Filter by keyword

order
string

Filter by ascending or descending order
Examples

  • asc
  • desc
sort
string

Sort on the specified field

page
integer

Number of pages to return

per_page
integer

Number of records to return per page

type
string

The type of video sources to query.
options:

  • self_hosted
  • zype
  • hulu
  • youtube
  • crunchyroll

Response

Suggest Edits

Create Video Source

Only MRSS video sources may be created via the API at this time.

 

Query Auth

 Authentication is required for this endpoint.
posthttps://api.zype.com/video_sources
curl --request POST \
  --url https://api.zype.com/video_sources
var request = require("request");

var options = { method: 'POST', url: 'https://api.zype.com/video_sources' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/video_sources")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.zype.com/video_sources");

xhr.send(data);
import requests

url = "https://api.zype.com/video_sources"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

video_source
object
 
video_source.name
string
video_source.url
string

URL of the MRSS feed. You can update this field for the following video source types:

  • MRSS
video_source.category_id
string

Category ID assigned to the video source

video_source.mrss_category_values
array

List of MRSS category values

video_source.sync_interval
string

How often this video source should sync with the MRSS feed (daily / hourly)

video_source.auto_add
boolean

Automatically add new video sources to your video library as the feed is synced

video_source.auto_activate
boolean

Automatically activate new videos added to your video library

video_source.auto_deactivate
boolean

Automatically deactivate video data sources that are absent from this feed that have been previously imported

video_source.sync_video_data_source
boolean

Automatically update video source attributes such as thumbnails and video files

video_source.type
string

Specify the type of Video Source. Options are self_hosted, mrss, hulu, crunchyroll, kaltura, vimeo, vimeo_pro, youtube, youtube_playlist, youtube_video, zype, and zype_msl

video_source.import_from
string

Exclude videos published before this date

video_source.import_to
string

Exclude videos published after this date

Response

_idstring
created_atstring
updated_atstring
statusstring

Options are created and ready

namestring
guidstring

Globally unique identifier given by the video source

category_idstring
auto_activateboolean
auto_addboolean
auto_deactivateboolean
sync_intervalstring
sync_video_data_sourceboolean
urlstring
import_fromstring
import_tostring
editableboolean
video_countstring

How many videos are part of this video source

Unprocessable entity

messagestring
Suggest Edits

View Video Source

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/video_sources/id
curl --request GET \
  --url https://api.zype.com/video_sources/id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.zype.com/video_sources/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/video_sources/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/video_sources/id");

xhr.send(data);
import requests

url = "https://api.zype.com/video_sources/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of video source

Response

_idstring
created_atstring
updated_atstring
statusstring

Options are created and ready

namestring
guidstring

Globally unique identifier given by the video source

category_idstring
auto_activateboolean
auto_addboolean
auto_deactivateboolean
sync_intervalstring
sync_video_data_sourceboolean
urlstring
import_fromstring
import_tostring
editableboolean
video_countstring

How many videos are part of this video source

VideoSource not found

messagestring
Suggest Edits

Update Video Source

 

Query Auth

 Authentication is required for this endpoint.
puthttps://api.zype.com/video_sources/id
curl --request PUT \
  --url https://api.zype.com/video_sources/id
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.zype.com/video_sources/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/video_sources/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.zype.com/video_sources/id");

xhr.send(data);
import requests

url = "https://api.zype.com/video_sources/id"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of video source

Body Params

video_source
object
 
video_source.name
string
video_source.url
string

URL of the MRSS feed. You can update this field for the following video source types:

  • MRSS
video_source.category_id
string

Category ID assigned to the video source

video_source.mrss_category_values
array

List of MRSS category values

video_source.sync_interval
string

How often this video source should sync with the MRSS feed (daily / hourly)

video_source.auto_add
boolean

Automatically add new video sources to your video library as the feed is synced

video_source.auto_activate
boolean

Automatically activate new videos added to your video library

video_source.auto_deactivate
boolean

Automatically deactivate video data sources that are absent from this feed that have been previously imported

video_source.sync_video_data_source
boolean

Automatically update video source attributes such as thumbnails and video files

video_source.type
string

Specify the type of Video Source. Options are self_hosted, mrss, hulu, crunchyroll, kaltura, vimeo, vimeo_pro, youtube, youtube_playlist, youtube_video, zype, and zype_msl

video_source.import_from
string

Exclude videos published before this date

video_source.import_to
string

Exclude videos published after this date

Response

_idstring
created_atstring
updated_atstring
statusstring

Options are created and ready

namestring
guidstring

Globally unique identifier given by the video source

category_idstring
auto_activateboolean
auto_addboolean
auto_deactivateboolean
sync_intervalstring
sync_video_data_sourceboolean
urlstring
import_fromstring
import_tostring
editableboolean
video_countstring

How many videos are part of this video source

VideoSource not found

messagestring

Unprocessable entity

messagestring
Suggest Edits

Delete a Video Source

 

Query Auth

 Authentication is required for this endpoint.
deletehttps://api.zype.com/video_sources/id
curl --request DELETE \
  --url https://api.zype.com/video_sources/id
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.zype.com/video_sources/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/video_sources/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.zype.com/video_sources/id");

xhr.send(data);
import requests

url = "https://api.zype.com/video_sources/id"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

ID of video source

Response

VideoSource deleted successfully

VideoSource not found

messagestring
Suggest Edits

List Admin Users

Retrieve a list of administrative users on your property.

 

Query Auth

 Authentication is required for this endpoint.
gethttps://api.zype.com/site/users
curl --request GET \
  --url https://api.zype.com/site/users
var request = require("request");

var options = { method: 'GET', url: 'https://api.zype.com/site/users' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.zype.com/site/users")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.zype.com/site/users");

xhr.send(data);
import requests

url = "https://api.zype.com/site/users"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated