Integrating with Xibo

Integrations with Xibo can be used to meet a variety of different requirements. They run at “arms-length” which means that they are not directly integrated with the Xibo code, and instead communicate via API’s.

There are 2 API’s available:

  • Player API (XMDS)

The CMS API is used to pull data from the Xibo CMS into another system, or push data from another system into the CMS. Integrations using the CMS API are called “Connectors” in Xibo terminology.

The Player API is used specifically for Player related interactions and all of our standard Players utilise the Player API, which we call XMDS (Xibo Media Distribution Service). If a 3rd party Player is required, or CMS data is needed by another application for the purpose of displaying Xibo content, then the Player API should be used.

Splitting the API ensures that Players can consume a simple, reliable, dedicated API which is easier to maintain and version between application versions.

Player API

The Player API is referred to as XMDS, which stands for Xibo media distribution service. XMDS is a SOAP service with a set of end points defined by a WSDL.

The XMDS WSDL can be consumed at //yoururl/xmds.php?wsdl&v=5 .

The Player API version can be requested with xmds.php?v=X where X is the version requested. The latest version is version 5.


Layouts are provided by XMDS in their XLF format (Xibo Layout Format). This is an XML file which represents the Layout presentation and content.


The CMS API is a RESTful API protected by oAuth. It can be consumed at //yoururl/api and exposes routes for all CMS operations.

If developing a CMS extension for use within the existing web portal (for example an extension to be used in a theme file), the API can be consumed directly from //yoururl/ .

The Xibo API is OpenAPI Compliant and the documentation is presented using Swagger-UI in this manual. You may also point a Swagger-UI installation to the /swagger.json resource in your CMS instance.