The ThoughtSpot JavaScript API (JS API) enables you to use ThoughtSpot within your own Web application and to perform the following tasks:

  • Authenticate users to ThoughtSpot
  • Embed ThoughtSpot visualizations in your Web page using the <iframe> HTML tag
  • Supply ThoughtSpot data to your Web page through ThoughtSpot’s REST APIs

You can download the ThoughtSpot JavaScript library from our secure storage server.

Browser Support

The JS API works in the following browsers:

Firefox
68.x, 69.x, and later
Chrome
76.x, 77.x, and later
Internet Explorer
11.x, and later
Edge
44.x, and later
Safari
13.x, and later

Internet Explorer 10

Microsoft introduced a compatibility mode in Internet Explorer 10, which displays the page using the version of Internet Explorer that is most compatible with that page. Because we do not support any version earlier than 11, this feature may break the code.

There are two approaches for forcing the Internet Explorer to emulate the most recent version:

  • Add a Custom Response Header We recommend this approach because it is more robust, offers more control, and has a lower risk of introducing a bug to your code. in general, you must set the response header to match the server and the technology.
    • set the header name to “X-UA-Compatible”
    • set the value to “IE=Edge”
  • Add a Meta Tag Add this meta tag as the first tag in the header section of the page:

    <meta http-equiv="X-UA-Compatible" content="IE=Edge" \>

Cross-Origin HTTP Requests (CORS)

Collecting user credentials from one application (domain) and sending them to another (such as ThoughtSpot) can present security vulnerabilities such as a phishing attack. Cross-origin or cross-domain verification closes this vulnerability.

When you use the JavaScript API, your client calls ThoughtSpot from your Web page, portal, or application. Because your client and ThoughtSpot are on different domains, you must enable cross-origin HTTP requests from your client application to the ThoughtSpot application. This protects your data by preventing another actor from using the same URL to embed the visualization in its own Web pages.

Your cluster’s CORS configuration controls which domains can use your client code to authorize users. It also prevents code copying and deployment on unauthorized sites. For example, if your Web site is hosted on the domain example.com, you must enable CORS for that domain. Similarly, to test your code locally, you must also add the domain for your local server, such as http://localhost:8080. We recommend that you disable the localhost access after you finish testing.

To enable CORS between your client applications and your ThoughtSpot instance, you must work with ThoughtSpot Support.