Skip to main content

enigma.js

enigma.js is an open source library, developed on GitHub. The enigma.js library helps you to communicate with the Qlik associative engine in both Qlik Sense and Qlik Sense Desktop. You can use it to build your own client or to build your own Node.js service. Examples of use may be building your own browser-based analytics tools, backend services, or command-line scripts. The enigma.js library can be used as an SDK or to do CRUD (that is create, read, update and delete) operations on apps and on app entities.

To use enigma.js, you should be familiar with JavaScript, promises, websockets, and open source libraries. You will need Node.js. enigma.js implements the methods of the Qlik Engine JSON API so you should be familiar with referencing the Qlik Engine JSON API. Understanding how messages are sent from the Qlik Proxy Service to clients as well as having knowledge about Qlik concepts such as generic objects and hypercubes would also be helpful .

Note: enigma.js enables communication with the Qlik Engine, but it does not enable embedding Qlik Sense charts. What you do with the information received from the Qlik Engine, such as creating visualizations, is entirely up to you.

Getting started with enigma.js

The enigma.js open source repo in GitHub contains an example for getting started using enigma.js both inside and outside the browser. Generally speaking, using enigma.js inside the browser is similar to using it outside the browser.

You can also check out the runnable examples as well as the API documentation to help you get started.

Visit GitHub for the latest version of enigma.js, or if you want to contribute to the library:

Authentication

enigma.js is not responsible for authentication; see enigma.js authentication and Authentication solutions in Qlik Sense for more information. Often, checking if users are authenticated by subscribing to the OnAuthenticationInformation message is helpful. (see subscribing to notification messages with enigma.js) .

Documentation

The complete documentation for this library can also be found on GitHub.

Available services

This version of enigma.js provides the following services:

  • qix: provides an API to communicate with a Qlik associative engine. It can be used to build analytics tools, providing the full flexibility of the Qlik Engine JSON API.