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) {

Package Sidebar


npm i microstrategy

Weekly Downloads






Unpacked Size

1.03 MB

Total Files


Last publish


  • tsts123