Table of Contents

Introduction

MibServer API is a RESTful-based web service that allows any application to integrate with the content management system through HTTP communication using well-defined protocols based on most popular technologies available for the web environment. This document aims to help partners and third-party developers in integrating their products with the Media-iBox workflow, automating tasks, extracting reports and creating mobile, web or desktop applications inside the MibServer ecosystem.

For better understanding of this document, we suggest reading the documentation of the following technologies used by the MibServer API:

  • OAuth 2.0 (here, here and here): massively adopted protocol for authorization flows, OAuth 2.0 is a relatively simple protocol that defines some behaviours to authenticate and authorize users without the share of user's credentials. The whole API communication is based on this protocol and understanding the OAuth 2.0 workflow will help you to integrate your application with MibServer. Libraries are available for the major programming languages and adapting them for usage with the MibServer API shouldn't require a large effort;

  • JSON API (here, here and here): an API standardization proposal aimed to be simple, extensible and highly cacheable. It also avoids some common problems as recursive serialization overflow (when items A and B are mutually linked) and for this reason is being adopted by a large number of web and SPA frameworks such as Ember, Backbone and AngularJS. It's not yet a stable protocol version and maybe some breaking changes are still to come, however MibServer API will offer version-specific endpoints from its first release to ensuring backwards compatibility, with breaking changes being restricted to new endpoints. The potential for JSON API is enormous, because it provides you compound documents instead of large trees in a structural hierarchy, so you can cache and reuse the same child along the document by reference, also reducing the bandwidth consumed. Quering system is comprehensive, extensible and above all, intuitive.

  • OData 3.0 Batch Processing (here): OData can be seen as the most stable and comprehensive WebServices framework and protocol nowadays; however, strict compliance with the protocol requires very complex implementation for both server and client sides. As MibServer API prioritizes simplicity and easy integration, allowing third-parties to connect their softwares with a low effort and cost, OData was not the better option and was replaced by JSON API in early stages of the project. Still, OData supplies some of the JSON API shortcomings and when the simpler protocol is not enough, MibServer API will appeal to the more complete one. Batch processing is one such case - a very useful and powerful tool described in OData 3.0 allowing developers to group several requests, execute them in one single hit to the server, reference the result of one action in a subsequent action and execute transactional operations via web using a request based on the Multipart MIME content type (RFC 2046).



JSON Schema

JSON Schema for all API entities: http://json-schema.org