0.1.16 • Public • Published

    MicroStrategy REST API npm version npm size npm downloads

    NPM Publish CodeFactor

    A light npm wrapper around some of the MicroStrategy REST API endpoints.


    HTTP requests are handled by axios, the promise based HTTP client for the browser and node.js.


    Node Environments


    npm i microstrategy --save


    yarn add microstrategy

    HTML Pages

    This module can be used on any HTML page using the bundled dist/mstrapi.min.js file. Simply include this script tag on any page:

    <script src="https://cdn.jsdelivr.net/npm/microstrategy/dist/mstrapi.min.js" crossorigin="anonymous"></script>

    See ./webpack for documentation on the bundling process.

    Once loaded via the script tag, this API module can be accessed via a global object called mstrapi:

        const baseUrl = 'http://aps-tsiebler-vm:8080/2020u1Library/api';
        const mstrClient = new mstrapi.REST({
          baseUrl: baseUrl

    See ./samples/html/cdn-login.html for an example.

    MicroStrategy REST API

    • Import the module and create a new instance of the REST client.
    • Provide a URL to your MicroStrategy Library REST API via the baseUrl parameter.
    • Login & Logout methods are exposed on the REST client. Other methods are grouped by topic.
    • Every REST method returns a Promise, making this library async await ready.
    • By default, your session state headers are stored and persisted by your client instance.
    const mstr = require('microstrategy');
    (async () => {
      const baseUrl = 'http://aps-tsiebler-vm:8080/2020u1Library/api';
      const mstrClient = new mstr.REST({
        baseUrl: baseUrl
      await mstrClient.login({
        username: 'Administrator',
        password: '',
        loginMode: 1
      // MicroStrategy Tutorial
      const projectId = 'B19DEDCC11D4E0EFC000EB9495D0F44F';
      const dossierId = 'C103CFA847057FC9FCF772ADF9092BD9';
      // APIs are grouped by topic
      const DossierAPI = mstrClient.dossiersAndDocuments;
      const dossierDefn = await DossierAPI.getDossierDefinition(dossierId);

    REST API Documentation

    These methods are simpler wrappers around the APIs exposed by the MicroStrategy Library REST API server. For full documentation, refer to your MicroStrategy Library's api-docs endpoint.

    For example, if your MicroStrategy Library environment has the following URL:


    Your API documentation can be found here:


    For public REST API documentation from the MicroStrategy demo environment, refer to the following URL: https://demo.microstrategy.com/MicroStrategyLibrary/api-docs

    More REST API Samples

    Refer to the samples folder for more samples tested in node.js. These can be directly executed using the node command:

    node samples/getDossier.js

    Missing REST APIs

    If you notice any missing endpoints, please contribute with a PR to enhance this module.

    MicroStrategy Task API

    This module includes a minimal wrapper to execute tasks via the Task API.

    • Import the module and create a new instance of the TaskAPI client.
    • Provide a URL to your MicroStrategy Web taskProc via the taskProcUrl parameter.
    • Build a request via the executeTask() method.
    const mstr = require('microstrategy');
    (async () => {
      const taskApi = new mstr.TaskAPI({
        taskProcUrl: 'http://aps-tsiebler-vm:8080/2020u1/servlet/taskProc'
      const taskId = 'login';
      // Collect these from the task builder page
      const taskParameters = {
        server: 'aps-tsiebler-vm',
        project: 'MicroStrategy Tutorial',
        userid: 'administrator',
        password: ''
      // The response includes { body, headers, status, statusText }
      try {
        const res = await taskApi.executeTask(taskId, taskParameters);
        console.log('task response: ', res.body);
      } catch (e) {


    npm i microstrategy

    DownloadsWeekly Downloads






    Unpacked Size

    1.03 MB

    Total Files


    Last publish


    • tsts123