Skip to main content Skip to complementary content

Root API

Information noteIf you are using Qlik Sense Business or Qlik Sense Enterprise SaaS, see the API documentation at the Qlik (Developer Portal).
Information noteSTABLE.

This API is reliable and breaking changes are unlikely.

qlik

The Root API is the external interface to Qlik Sense and is available as the qlik namespace. It provides methods opening apps, get a reference to the current app, set the specific language, and registering callbacks for error handling. The Root API also holds methods for listing available apps and extensions, and registering extensions that you build on the fly (using the Visualization API).

Version history

Each method and property contain information around when it was introduced, updated, deprecated or removed. A list of all relevant API changes per version release can be found in API version history.

Version history
Version state Details
Introduced 1.0

Getting started

The Root API is available for mashup developers as the qlik namespace.

var config = {
	host: 'QSE_domain',
	prefix: '/',
	port: 443,
	isSecure: true,
	webIntegrationId: 'web-integration-id-here' //only needed for SaaS editions
};
require(["js/qlik"], function(qlik) {
    // open the app
    var app = qlik.openApp('c31e2aba-3b46-4b13-8b87-c5c2514dea1d', config);
}

Examples of use

Learn what you can do with the Root API.

Get a list of available apps (Qlik Sense Enterprise on Windows)

You can use the getAppList method to get a list of all apps that are available to you. It opens a WebSocket, gets the app list, and then closes the WebSocket.

var config = {
	host: 'QSE_domain',
	prefix: '/',
	port: 443,
	isSecure: true,
	webIntegrationId: 'web-integration-id-here' //only needed for SaaS editions
};
qlik.getAppList(function(list){
    var str = "";
    list.forEach(function(value) {
        str +=  value.qDocName + '('+ value.qDocId +') ';
    });
    alert(str);
}, config);

Open an app and access the App API

You must connect to the Qlik Sense app containing the objects you want to display on your web page. You do this with the qlik.openApp method.

Example:  

var config = {
	host: 'QSE_domain',
	prefix: '/',
	port: 443,
	isSecure: true,
	webIntegrationId: 'web-integration-id-here' //only needed for SaaS editions
};
require(["js/qlik"], function(qlik) {
	// open the app
	var app = qlik.openApp('c31e2aba-3b46-4b13-8b87-c5c2514dea1d', config);
	// insert Qlik objects into the page.
	app.getObject(document.getElementById('LB01'), 'uPyZavD');
}

You can also have multiple apps open at the same time.

var config = {
	host: 'QSE_domain',
	prefix: '/',
	port: 443,
	isSecure: true,
	webIntegrationId: 'web-integration-id-here' //only needed for SaaS editions
};
var app = qlik.openApp('2abac31e-3b46-4b78-8bxf-c5cea1d2514d', config);
var app2 = qlik.openApp('c31e2aba-3b46-4b13-8b87-c5c2514dea1d', config);

In return you get an app JavaScript object with app methods.

App API

Set a specific language

You can set a specific language for the Qlik Sense session. It should be defined before the app is opened, meaning the qlik.setLanguage method should be called before the qlik.openApp method is called.

var config = {
	host: 'QSE_domain',
	prefix: '/',
	port: 443,
	isSecure: true,
	webIntegrationId: 'web-integration-id-here' //only needed for SaaS editions
};
require(["js/qlik"], function(qlik) {
  //set the language to something else than default language
  qlik.setLanguage('es-EN')
  //open apps -- inserted here --
  var app = qlik.openApp('c31e2aba-3b46-4b13-8b87-c5c2514dea1d', config);
  // insert Qlik Sense objects into the page
  app.getObject(document.getElementById('LB01'), 'uPyZavD');
}

Get a global reference and access the Global API

You can open a WebSocket connection to the Qlik associative engine by calling the qlik.openApp method to get an app object in return, containing global methods.

var config = {
	host: 'QSE_domain',
	prefix: '/',
	port: 443,
	isSecure: true,
	webIntegrationId: 'web-integration-id-here' //only needed for SaaS editions
};
const app = qlik.openApp('c31e2aba-3b46-4b13-8b87-c5c2514dea1d', config);
var global = app.global;
global.getAuthenticatedUser(function(reply){
	alert(reply.qReturn);
});

Global API

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – let us know how we can improve!