VIDIZMO provides various types of APIs for its customers and the development community to build solutions around it. Depending on what you intend to do, one set of API may be more suitable to you than the other. VIDIZMO API currently is available in following forms

  • VIDIZMO Widgets API– HTML/JavaScript based widgets that can be hosted in any Web based platform
  • VIDIZMO JS API – JavaScript API to be consumed by other Web based platforms
  • VIDIZMO Web API – it’s the same API that empowers Widgets and VIDIZMO JS API and can be used in almost any language or technology
  • VIDIZMO REST Services – REST based services to be consumed by non-web applications, however web applications can also consume them

At the time of writing this document, these API are slightly different in functionalities that they offer, however in coming months, this gap between different APIs with respect to functionalities they offer will grow smaller, until it fades away completely.


Widgets API as mentioned earlier are HTML and JavaScript based applications or controls that can be used in any other website or web application, including Word press, Drupal, Joomla, SharePoint etc. These widgets come with their own user interface and hence their own markup. However by overriding style properties of different HTML elements, or by overriding the CSS based Classes used by HTML, a variety of different designs can be achieved including layout changes to a limited extent.

These Widgets are mostly for displaying content such as Videos and Channels. As explained later, these widgets based on the User Context can display public content as well as private content. When private content is desired, the VIDIZMO JS’ Login must be invoked before to let other widgets render private content under that user’s context.

This widget is the simplest of all API available and therefore fastest to utilize. Even a semi technical user who is able to embed VIDIZMO video, can embed VIDIZMO Widgets in any other website by merely copying and pasting them.

Example of VIDIZMO Widget


<div class="assigned-videos"></div>
<script type="text/javascript" src=""></script>
<script type="text/javascript">




VIDIZMO JS is a JavaScript based VIDIZMO Library that performs various operations also available from Widgets. Main purpose of having VIDIZMO JS library is to provide convenience to a large developer audience who would be interested in building Web based solutions using VIDIZMO API. The main difference between VIDIZMO JS and Widgets is lack of interface. This is a data centric API with only goal to let calling applications consume VIDIZMO data and show it in their own interface. This provides greater control over UI than possible using Widgets. However it also requires more technical knowledge, including proficiency with JavaScript as well as HTML and CSS to use and therefore may incur more time and efforts to do integration. 

Like VIDIZMO Widgets, VIDIZMO JS also runs under context of logged in user. To login, VIDIZMO JS provides routine must be called after which all subsequent API calls will return data related in user’s context. Among few of the operations available in VIDIZMO JS include Login, Logout, Upload etc. Some of these are not available in the form of widgets, and therefore if their usage is desired, VIDIZMO JS API will be the option developer resorts to. 

Below is a sample of how VIDIZMO JS Login method can be used

Example of VIDIZMO Widget 


<script type="text/javascript" src=""></script>
<script type="text/javascript">
     vidizmo.api.login({ email: 'Email Address', password : 'Password' }
, function (response) {

        if (response.status === vidizmo.enumerations.ResultStatus.SUCCESS) {
            // login success
        else {
            // login failed




VIDIZMO Web API is another form of API available with VIDIZMO. It provides the same functionality offered by VIDIZMO JS with purpose of allowing different technologies and languages to consume it. Applications written in almost any language or using any technology and framework can consume this API, list includes .NET, Java, PHP, Perl, CGI, Win32 Services etc. while languages can be C#, C/C++, PHP, Java, VB, JavaScript etc. 

Again, VIDIZMO Web API like its counterparts, is called under User Context and therefore adheres to rights and privileges of the logged in user. If used without logging in, it only can be used to perform operations or to fetch data available to anonymous users. This API is especially suited for any long running processes or backend services. This API also provides oAuth mechanism for authenticating and authorization of API calls, which can be used especially when a backend process or service wants to use API. In any case, the Web API must be called under Channel Domain which sets the Channel Context for API call. 


private HttpWebRequest search_Request;
private string _channelURL = "";
private void GetVideos()
 string _searchURL = _channelURL+ MashupHandler.ashx";
 string _searchType = "library-videos";
 String _tenantId = "43864";
 string _webAPIURL = _searchURL + "?search-type=" + _searchType + "&tenant_id=" + _tenantId;
 search_Request = (HttpWebRequest)WebRequest.Create(_webAPIURL);
 search_Request.Method = "GET";
 search_Request.BeginGetResponse(new AsyncCallback(GetVideosCallback), search_Request);
private void GetVideosCallback(IAsyncResult SearchAsync)
 HttpWebResponse search_Response = (HttpWebResponse)search_Request.EndGetRespons e(SearchAsync);
- if (search_Response.StatusCode == HttpStatusCode.OK) {
               // do something on success
 else {
               // do something on fail
static int main(string[] args)

Rest Based API

This set of API, although still useful, is an older version of API that is slowly going to fade away as the 3 above mentioned APIs become feature rich. In terms of the benefits and choices it gives to developers, it is equivalent to Web API, however with two differences, it exclusively uses oAuth 2.0 protocol to perform Authentication and Authorization for API calls and additionally supports XML as return type. Web API only supports JSON. With oAuth, it means this API strictly works on the concept of authToken obtained initially and later used with subsequent API calls. Like Web API, it can be used in any language or technology that supports REST based services with JSON or XML.

For detailed documentation about 

For their customers, to easily design their own application interface using VIDIZMO HTTP Handlers. It provided unified API consists on JavaScript that facilitate VIDIZMO customers to develop own application interface, which can usable on;

  • Cross platform and cloud ready
  • Fully functional on any desktop, mobile, tablet on the front end
  • Complete application interface on SharePoint, Word Press etc

It provides the ability to create browser based data application that work fast, stable and capable like native client / server solutions are on the desktop.


VIDIZMO API Architecture 


Before we dive into details and examples of VIDIZMO Widgets, let’s take a quick peek into Architecture of these APIs and how they work. 

VIDIZMO widget API is comprised of:

  • VIDIZMO Widgets API
  • VIDIZMO State server and
  • VIDIZMO Backend Services 

VIDIZMO Widgets API is JavaScript and HTML based API that facilitate VIDIZMO clients to use pre-existing or define custom user interface on their own application simply with HTML tags, applying styles and using JavaScript. These widgets internally use VIDIZMO JS API as well as Web APIs. In other words, these basically are 3 layers of API that facilitate user in different ways. It is also important to understand that when you are using Widgets API, you are basically using all 3 APIs. It is also true that deeper you go into the layers, more control you are going to get. 

Here’s a diagram depicting how these different layers work together to provide different levels of control as well as support for such a wide variety of technologies and frameworks. 




From diagram it is obvious that Widgets API as well as VIDIZMO JS API are loaded in the calling application space and since they use HTML and JavaScript, calling application is expected to be a Web based entity. On the other hand, VIDIZMO Web API is truly a server side API that does neat things. VIDIZMO Web API supports basic HTTP verbs including GET and POST, which makes it a lot easier to implement and increases chances of its support across a wide variety of client technologies and frameworks. Since Request is either in GET or POST, parameters can either be added as part of the URL in the form of query string or added inside a FORM tag. 

Web API uses these parameters to determine what data is required and what functions to perform. It further uses VIDIZMO State Server as well as Auth service at the backend to determine Context of the API call and its permission set. With that information available, it processes the request by further invoking any backend service it needs, and returning required data in JSON format to the calling application. This could be VIDIZMO Widgets, VIDIZMO JS API or a direct call from an external application.