# TypeScript SDK for REST APIs

> For the complete documentation index, see [llms.txt](https://developers.thoughtspot.com/docs/llms.txt)

Source: https://developers.thoughtspot.com/docs/rest-api-sdk-typescript

# TypeScript SDK for REST APIs

The REST API TypeScript SDK includes classes and methods that correspond to the resource elements and data types that the API uses when processing requests and responses.

The REST API SDK library for TypeScript is available on the [NPM site](https://www.npmjs.com/package/@thoughtspot/rest-api-sdk).

## Before you begin

Before you begin, check the following prerequisites:

-   Node.js version 18 or later is installed.
    
-   Access to a ThoughtSpot instance. Make sure you have the following information:
    
    -   User credentials
        
    -   URL of the ThoughtSpot instance
        
    -   Secret key (Required for trusted authentication only)
        
    
-   User privileges and object permissions to view, edit, or create ThoughtSpot objects and resources.
    

## Setup and usage

Complete the following steps:

1.  Install the SDK in your local directory.
    
    npm install @thoughtspot/rest-api-sdk --save
    
2.  Import the SDK.
    
    ```TypeScript
    import {
        createBearerAuthenticationConfig,
        ThoughtSpotRestApi,
    } from '@thoughtspot/rest-api-sdk';
    ```
    
3.  Create a client session using one of the following options:
    
    -   Get an authentication token via `getAuthToken` method.
        
        ```TypeScript
        const config = createBearerAuthenticationConfig("CLUSTER_SERVER_URL", getAuthToken);
        const tsRestApiClient = new ThoughtSpotRestApi(config);
        
        const getAuthToken = async () => {
            returns "BEARER TOKEN";
        }
        ```
        
    -   To obtain a token on behalf of another user, use `secret_key` instead of `password`. The secret key is generated on ThoughtSpot if Trusted authentication is enabled on your ThoughtSpot instance. For more information, see [Secret key management]({{navprefix}}/{{trusted-auth-secret-key}}).
        
        ```TypeScript
        const config = createBearerAuthenticationConfig("CLUSTER_SERVER_URL", {
            username: "USERNAME",
            secret_key: "SECRET_KEY",
        });
        const tsRestApiClient = new ThoughtSpotRestApi(config);
        ```
        
        If the user account doesn’t exist in ThoughtSpot, you can provision a user just in time and assign privileges.
        
        ```TypeScript
        const config = createBearerAuthenticationConfig();
        const tsRestApiClient = new ThoughtSpotRestApi(config);
        tsRestApiClient.getFullAccessToken(
            // GetFullAccessTokenRequest
            {
                username: "USERNAME",
                secret_key: "SECRET_KEY",
                email: "USER@example.com",
                display_name: "display_name_example",
                auto_create: true,
                org_id: 0,
                group_identifiers: [
                    "GROUP-A", "GROUP-B",
                ],
            }
        ).then((data: any) => {
            console.log('API called successfully. Returned data: ' + data);
        }).catch((error: any) => console.error(error));
        ```
        
    -   Use basic authentication with `username` and `password`:
        
        ```TypeScript
        const config = createBearerAuthenticationConfig("CLUSTER_SERVER_URL", {
                username: "YOUR_USERNAME",
                password: "PASSWORD",
            });
        const tsRestApiClient = new ThoughtSpotRestApi(config);
        };
        ```
        
    -   If a session cookie is already set via either Visual Embed SDK or login method, you can send requests without authentication.
        
        ```TypeScript
         const config = createConfiguration({
            baseServer: new ServerConfiguration("CLUSTER_SERVER_URL", {}),
          });
          const tsRestApiClient = new ThoughtSpotRestApi(config);
        ```
        
    
4.  Send a test request.
    
    -   Try creating a user as shown in the following example. To view and copy the supported parameters and values, use the [REST API v2 Playground]({{navprefix}}/restV2-playground).
        
        ```TypeScript
        import {
            createBearerAuthenticationConfig,
            ThoughtSpotRestApi,
        } from '@thoughtspot/rest-api-sdk';
        
        const tsRestApiClient = new ThoughtSpotRestApi(config);
        tsRestApiClient.createUser(
            // CreateUserRequest
            {
                name: "UserA",
                display_name: "User A",
                password: "123Guest!",
                email: "UserA@example.com",
                account_type: "LOCAL_USER",
                account_status: "ACTIVE",
                visibility: "SHARABLE",
                notify_on_share: true,
                show_onboarding_experience: true,
                onboarding_experience_completed: false,
                preferred_locale: "en-CA",
                trigger_welcome_email: true,
            }
        ).then((data: any) => {
            console.log('API called successfully. Returned data: ' + data);
        }).catch((error: any) => console.error(error));
        ```
        
    -   Try a GET call, for example, get a list of users via `searchUsers`. To get specific details, you can specify optional parameters such as `visibility`, `account_type`, `account_status`, `group_identifiers`, and so on. To get the details of a user, specify the name or GUID of the user as `user_identifier`.
        
        ```TypeScript
        import {
            createBearerAuthenticationConfig,
            ThoughtSpotRestApi,
        } from '@thoughtspot/rest-api-sdk';
        
        const tsRestApiClient = new ThoughtSpotRestApi(config);
        tsRestApiClient.searchUsers(
            // SearchUsersRequest (optional parameters)
            {
                user_identifier: "UserA",
            }
        ).then((data: any) => {
            console.log('API called successfully. Returned data: ' + data);
        }).catch((error: any) => console.error(error));
        ```
        
    

## Error handling

The SDK raises errors when the HTTP response code indicates an error. You can use these error codes to handle or log errors as shown in the following example:

```JavaScript
const test = async () => {
    const client = getClientWithoutAuth(HOST);
    try {
        const data = await client.searchUsers({});
        const names = data.reduce((names, user) => {
            return names + " " + user.name;
        }, "");
        console.log(names);
    } catch (e) {
        switch (e.code) {
            case 401: {
                alert("Unauthorized error");
                break;
            }
            case 400: {
                alert("Incorrect input");
                break;
            }
            default: {
                alert("Server error " + e.code);
            }
        }
    }
};
```

## Supported versions

 
| ThoughtSpot release version | Recommended SDK version |
| --- | --- |
| 
ThoughtSpot Cloud: 26.9.0.cl

 | 

v2.28.0 or later

 |
| 

ThoughtSpot Cloud: 26.8.0.cl

 | 

v2.27.1 or later

 |
| 

ThoughtSpot Cloud: 26.7.0.cl

 | 

v2.26.0 or later

 |
| 

ThoughtSpot Cloud: 26.6.0.cl

 | 

v2.25.0 or later

 |
| 

ThoughtSpot Cloud: 26.5.0.cl

 | 

v2.24.0 or later

 |
| 

ThoughtSpot Cloud: 26.4.0.cl

 | 

v2.23.0 or later

 |
| 

ThoughtSpot Cloud: 26.3.0.cl

 | 

v2.22.0 or later

 |
| 

ThoughtSpot Software: 26.3.0.sw

 | 

v2.22.0 or later

 |
| 

ThoughtSpot Cloud: 26.2.0.cl

 | 

v2.21.0 or later

 |
| 

ThoughtSpot Cloud: 10.15.0.cl

 | 

v2.20.0 or later

 |
| 

ThoughtSpot Cloud: 10.14.0.cl

 | 

v2.19.0 or later

 |
| 

ThoughtSpot Cloud: 10.13.0.cl

 | 

v2.18.0 or later

 |
| 

ThoughtSpot Cloud: 10.12.0.cl

 | 

v2.17.0 or later

 |
| 

ThoughtSpot Cloud: 10.11.0.cl

 | 

v2.16.0 or later

 |
| 

ThoughtSpot Cloud: 10.10.0.cl

 | 

v2.15.1 or later

 |
| 

ThoughtSpot Cloud: 10.9.0.cl

 | 

v2.14.0 or later

 |
| 

ThoughtSpot Cloud: 10.8.0.cl

 | 

v2.13.1 or later

 |
| 

ThoughtSpot Cloud: 10.6.0.cl

 | 

v2.12.1 or later

 |
| 

ThoughtSpot Cloud: 9.12.0.cl

 | 

v2.11.1 or later

 |
| 

ThoughtSpot Cloud: 9.12.5.cl

 | 

v2.11.1 or later

 |
| 

ThoughtSpot Cloud: 10.1.0.cl

 | 

v2.11.1 or later

 |
| 

ThoughtSpot Cloud: 10.3.0.cl

 | 

v2.11.1 or later

 |
| 

ThoughtSpot Cloud: 10.4.0.cl

 | 

v2.11.1 or later

 |
| 

ThoughtSpot Cloud: 10.5.0.cl

 | 

v2.11.1 or later

 |
| 

ThoughtSpot Software: 10.1.0.sw

 | 

v2.11.1 or later

 |
| 

ThoughtSpot Cloud: 9.10.5.cl

 | 

v2.4.1 or later

 |
| 

ThoughtSpot Cloud: 9.10.0.cl

 | 

v2.4.0 or later

 |
| 

ThoughtSpot Cloud: 9.8.0.cl

 | 

v2.2.0 or later

 |
| 

ThoughtSpot Software: 9.8.0.sw

 | 

v2.2.0 or later

 |
| 

ThoughtSpot Cloud: 9.7.0.cl

 | 

v2.1.0 or later

 |
| 

ThoughtSpot Software: 9.8.0.sw

 | 

v2.1.0 or later

 |
| 

ThoughtSpot Cloud: 9.6.0.cl

 | 

v2.0.2 or later

 |
| 

ThoughtSpot Software: 9.8.0.sw

 | 

v2.0.2 or later

 |

For information about new features, breaking changes, and deprecated parameters, see [API changelog]({{navprefix}}/{{rest-apiv2-changelog}}).

## SDK Reference

For a complete list of supported methods to use for API requests, see the following resources:

 
| Method | HTTP request |
| --- | --- |
| 
[activateUser](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#activateUser)

 | 

**POST** /api/rest/2.0/users/activate

 |
| 

[assignChangeAuthor](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#assignChangeAuthor)

 | 

**POST** /api/rest/2.0/security/metadata/assign

 |
| 

[assignTag](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#assignTag)

 | 

**POST** /api/rest/2.0/tags/assign

 |
| 

[changeUserPassword](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#changeUserPassword)

 | 

**POST** /api/rest/2.0/users/change-password

 |
| 

[commitBranch](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#commitBranch)

 | 

**POST** /api/rest/2.0/vcs/git/branches/commit

 |
| 

[connectionConfigurationSearch](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#connectionConfigurationSearch)

 | 

**POST** /api/rest/2.0/connection-configurations/search

 |
| 

[convertWorksheetToModel](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#convertWorksheetToModel)

 | 

**POST** /api/rest/2.0/metadata/worksheets/convert

 |
| 

[copyObject](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#copyObject)

 | 

**POST** /api/rest/2.0/metadata/copyobject

 |
| 

[createCalendar](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#createCalendar)

 | 

**POST** /api/rest/2.0/calendars/create

 |
| 

[createConfig](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#createConfig)

 | 

**POST** /api/rest/2.0/vcs/git/config/create

 |
| 

[createConnection](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#createConnection)

 | 

**POST** /api/rest/2.0/connection/create

 |
| 

[createConnectionConfiguration](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#createConnectionConfiguration)

 | 

**POST** /api/rest/2.0/connection-configurations/create

 |
| 

[createConversation](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#createConversation)

 | 

**POST** /api/rest/2.0/ai/conversation/create

 |
| 

[createCustomAction](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#createCustomAction)

 | 

**POST** /api/rest/2.0/customization/custom-actions

 |
| 

[createEmailCustomization](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#createEmailCustomization)

 | 

**POST** /api/rest/2.0/customization/email

 |
| 

[createOrg](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#createOrg)

 | 

**POST** /api/rest/2.0/orgs/create

 |
| 

[createRole](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#createRole)

 | 

**POST** /api/rest/2.0/roles/create

 |
| 

[createSchedule](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#createSchedule)

 | 

**POST** /api/rest/2.0/schedules/create

 |
| 

[createTag](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#createTag)

 | 

**POST** /api/rest/2.0/tags/create

 |
| 

[createUser](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#createUser)

 | 

**POST** /api/rest/2.0/users/create

 |
| 

[createUserGroup](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#createUserGroup)

 | 

**POST** /api/rest/2.0/groups/create

 |
| 

[createVariable](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#createVariable)

 | 

**POST** /api/rest/2.0/template/variables/create

 |
| 

[dbtConnection](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#dbtConnection)

 | 

**POST** /api/rest/2.0/dbt/dbt-connection

 |
| 

[dbtGenerateSyncTml](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#dbtGenerateSyncTml)

 | 

**POST** /api/rest/2.0/dbt/generate-sync-tml

 |
| 

[dbtGenerateTml](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#dbtGenerateTml)

 | 

**POST** /api/rest/2.0/dbt/generate-tml

 |
| 

[dbtSearch](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#dbtSearch)

 | 

**POST** /api/rest/2.0/dbt/search

 |
| 

[deactivateUser](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#deactivateUser)

 | 

**POST** /api/rest/2.0/users/deactivate

 |
| 

[deleteCalendar](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#deleteCalendar)

 | 

**POST** /api/rest/2.0/calendars/{calendar\_identifier}/delete

 |
| 

[deleteConfig](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#deleteConfig)

 | 

**POST** /api/rest/2.0/vcs/git/config/delete

 |
| 

[deleteConnection](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#deleteConnection)

 | 

**POST** /api/rest/2.0/connection/delete

 |
| 

[deleteConnectionConfiguration](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#deleteConnectionConfiguration)

 | 

**POST** /api/rest/2.0/connection-configurations/delete

 |
| 

[deleteConnectionV2](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#deleteConnectionV2)

 | 

**POST** /api/rest/2.0/connections/{connection\_identifier}/delete

 |
| 

[deleteCustomAction](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#deleteCustomAction)

 | 

**POST** /api/rest/2.0/customization/custom-actions/{custom\_action\_identifier}/delete

 |
| 

[deleteDbtConnection](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#deleteDbtConnection)

 | 

**POST** /api/rest/2.0/dbt/{dbt\_connection\_identifier}/delete

 |
| 

[deleteEmailCustomization](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#deleteEmailCustomization)

 | 

**POST** /api/rest/2.0/customization/email/{template\_identifier}/delete

 |
| 

[deleteMetadata](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#deleteMetadata)

 | 

**POST** /api/rest/2.0/metadata/delete

 |
| 

[deleteOrg](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#deleteOrg)

 | 

**POST** /api/rest/2.0/orgs/{org\_identifier}/delete

 |
| 

[deleteOrgEmailCustomization](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#deleteOrgEmailCustomization)

 | 

**POST** /api/rest/2.0/customization/email/delete

 |
| 

[deleteRole](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#deleteRole)

 | 

**POST** /api/rest/2.0/roles/{role\_identifier}/delete

 |
| 

[deleteSchedule](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#deleteSchedule)

 | 

**POST** /api/rest/2.0/schedules/{schedule\_identifier}/delete

 |
| 

[deleteTag](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#deleteTag)

 | 

**POST** /api/rest/2.0/tags/{tag\_identifier}/delete

 |
| 

[deleteUser](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#deleteUser)

 | 

**POST** /api/rest/2.0/users/{user\_identifier}/delete

 |
| 

[deleteUserGroup](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#deleteUserGroup)

 | 

**POST** /api/rest/2.0/groups/{group\_identifier}/delete

 |
| 

[deleteVariable](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#deleteVariable)

 | 

**POST** /api/rest/2.0/template/variables/{identifier}/delete

 |
| 

[deployCommit](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#deployCommit)

 | 

**POST** /api/rest/2.0/vcs/git/commits/deploy

 |
| 

[downloadConnectionMetadataChanges](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#downloadConnectionMetadataChanges)

 | 

**POST** /api/rest/2.0/connections/download-connection-metadata-changes/{connection\_identifier}

 |
| 

[exportAnswerReport](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#exportAnswerReport)

 | 

**POST** /api/rest/2.0/report/answer

 |
| 

[exportLiveboardReport](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#exportLiveboardReport)

 | 

**POST** /api/rest/2.0/report/liveboard

 |
| 

[exportMetadataTML](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#exportMetadataTML)

 | 

**POST** /api/rest/2.0/metadata/tml/export

 |
| 

[exportMetadataTMLBatched](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#exportMetadataTMLBatched)

 | 

**POST** /api/rest/2.0/metadata/tml/export/batch

 |
| 

[fetchAnswerData](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#fetchAnswerData)

 | 

**POST** /api/rest/2.0/metadata/answer/data

 |
| 

[fetchAnswerSqlQuery](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#fetchAnswerSqlQuery)

 | 

**POST** /api/rest/2.0/metadata/answer/sql

 |
| 

[fetchAsyncImportTaskStatus](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#fetchAsyncImportTaskStatus)

 | 

**POST** /api/rest/2.0/metadata/tml/async/status

 |
| 

[fetchColumnSecurityRules](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#fetchColumnSecurityRules)

 | 

**POST** /api/rest/2.0/security/column/rules/fetch

 |
| 

[fetchConnectionDiffStatus](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#fetchConnectionDiffStatus)

 | 

**POST** /api/rest/2.0/connections/fetch-connection-diff-status/{connection\_identifier}

 |
| 

[fetchLiveboardData](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#fetchLiveboardData)

 | 

**POST** /api/rest/2.0/metadata/liveboard/data

 |
| 

[fetchLiveboardSqlQuery](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#fetchLiveboardSqlQuery)

 | 

**POST** /api/rest/2.0/metadata/liveboard/sql

 |
| 

[fetchLogs](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#fetchLogs)

 | 

**POST** /api/rest/2.0/logs/fetch

 |
| 

[fetchPermissionsOfPrincipals](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#fetchPermissionsOfPrincipals)

 | 

**POST** /api/rest/2.0/security/principals/fetch-permissions

 |
| 

[fetchPermissionsOnMetadata](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#fetchPermissionsOnMetadata)

 | 

**POST** /api/rest/2.0/security/metadata/fetch-permissions

 |
| 

[forceLogoutUsers](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#forceLogoutUsers)

 | 

**POST** /api/rest/2.0/users/force-logout

 |
| 

[generateCSV](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#generateCSV)

 | 

**POST** /api/rest/2.0/calendars/generate-csv

 |
| 

[getCurrentUserInfo](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#getCurrentUserInfo)

 | 

**GET** /api/rest/2.0/auth/session/user

 |
| 

[getCurrentUserToken](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#getCurrentUserToken)

 | 

**GET** /api/rest/2.0/auth/session/token

 |
| 

[getCustomAccessToken](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#getCustomAccessToken)

 | 

**POST** /api/rest/2.0/auth/token/custom

 |
| 

[getFullAccessToken](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#getFullAccessToken)

 | 

**POST** /api/rest/2.0/auth/token/full

 |
| 

[getObjectAccessToken](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#getObjectAccessToken)

 | 

**POST** /api/rest/2.0/auth/token/object

 |
| 

[getSystemConfig](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#getSystemConfig)

 | 

**GET** /api/rest/2.0/system/config

 |
| 

[getSystemInformation](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#getSystemInformation)

 | 

**GET** /api/rest/2.0/system

 |
| 

[getSystemOverrideInfo](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#getSystemOverrideInfo)

 | 

**GET** /api/rest/2.0/system/config-overrides

 |
| 

[importMetadataTML](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#importMetadataTML)

 | 

**POST** /api/rest/2.0/metadata/tml/import

 |
| 

[importMetadataTMLAsync](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#importMetadataTMLAsync)

 | 

**POST** /api/rest/2.0/metadata/tml/async/import

 |
| 

[importUserGroups](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#importUserGroups)

 | 

**POST** /api/rest/2.0/groups/import

 |
| 

[importUsers](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#importUsers)

 | 

**POST** /api/rest/2.0/users/import

 |
| 

[login](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#login)

 | 

**POST** /api/rest/2.0/auth/session/login

 |
| 

[logout](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#logout)

 | 

**POST** /api/rest/2.0/auth/session/logout

 |
| 

[parameterizeMetadata](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#parameterizeMetadata)

 | 

**POST** /api/rest/2.0/metadata/parameterize

 |
| 

[publishMetadata](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#publishMetadata)

 | 

**POST** /api/rest/2.0/security/metadata/publish

 |
| 

[queryGetDecomposedQuery](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#queryGetDecomposedQuery)

 | 

**POST** /api/rest/2.0/ai/analytical-questions

 |
| 

[resetUserPassword](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#resetUserPassword)

 | 

**POST** /api/rest/2.0/users/reset-password

 |
| 

[revertCommit](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#revertCommit)

 | 

**POST** /api/rest/2.0/vcs/git/commits/{commit\_id}/revert

 |
| 

[revokeToken](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#revokeToken)

 | 

**POST** /api/rest/2.0/auth/token/revoke

 |
| 

[searchCalendars](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#searchCalendars)

 | 

**POST** /api/rest/2.0/calendars/search

 |
| 

[searchCommits](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#searchCommits)

 | 

**POST** /api/rest/2.0/vcs/git/commits/search

 |
| 

[searchConfig](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#searchConfig)

 | 

**POST** /api/rest/2.0/vcs/git/config/search

 |
| 

[searchConnection](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#searchConnection)

 | 

**POST** /api/rest/2.0/connection/search

 |
| 

[searchCustomActions](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#searchCustomActions)

 | 

**POST** /api/rest/2.0/customization/custom-actions/search

 |
| 

[searchData](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#searchData)

 | 

**POST** /api/rest/2.0/searchdata

 |
| 

[searchEmailCustomization](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#searchEmailCustomization)

 | 

**POST** /api/rest/2.0/customization/email/search

 |
| 

[searchMetadata](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#searchMetadata)

 | 

**POST** /api/rest/2.0/metadata/search

 |
| 

[searchOrgs](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#searchOrgs)

 | 

**POST** /api/rest/2.0/orgs/search

 |
| 

[searchRoles](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#searchRoles)

 | 

**POST** /api/rest/2.0/roles/search

 |
| 

[searchSchedules](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#searchSchedules)

 | 

**POST** /api/rest/2.0/schedules/search

 |
| 

[searchTags](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#searchTags)

 | 

**POST** /api/rest/2.0/tags/search

 |
| 

[searchUserGroups](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#searchUserGroups)

 | 

**POST** /api/rest/2.0/groups/search

 |
| 

[searchUsers](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#searchUsers)

 | 

**POST** /api/rest/2.0/users/search

 |
| 

[searchVariables](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#searchVariables)

 | 

**POST** /api/rest/2.0/template/variables/search

 |
| 

[sendMessage](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#sendMessage)

 | 

**POST** /api/rest/2.0/ai/conversation/{conversation\_identifier}/converse

 |
| 

[shareMetadata](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#shareMetadata)

 | 

**POST** /api/rest/2.0/security/metadata/share

 |
| 

[singleAnswer](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#singleAnswer)

 | 

**POST** /api/rest/2.0/ai/answer/create

 |
| 

[unassignTag](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#unassignTag)

 | 

**POST** /api/rest/2.0/tags/unassign

 |
| 

[unparameterizeMetadata](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#unparameterizeMetadata)

 | 

**POST** /api/rest/2.0/metadata/unparameterize

 |
| 

[unpublishMetadata](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#unpublishMetadata)

 | 

**POST** /api/rest/2.0/security/metadata/unpublish

 |
| 

[updateCalendar](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateCalendar)

 | 

**POST** /api/rest/2.0/calendars/{calendar\_identifier}/update

 |
| 

[updateColumnSecurityRules](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateColumnSecurityRules)

 | 

**POST** /api/rest/2.0/security/column/rules/update

 |
| 

[updateConfig](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateConfig)

 | 

**POST** /api/rest/2.0/vcs/git/config/update

 |
| 

[updateConnection](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateConnection)

 | 

**POST** /api/rest/2.0/connection/update

 |
| 

[updateConnectionConfiguration](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateConnectionConfiguration)

 | 

**POST** /api/rest/2.0/connection-configurations/{configuration\_identifier}/update

 |
| 

[updateConnectionV2](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateConnectionV2)

 | 

**POST** /api/rest/2.0/connections/{connection\_identifier}/update

 |
| 

[updateCustomAction](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateCustomAction)

 | 

**POST** /api/rest/2.0/customization/custom-actions/{custom\_action\_identifier}/update

 |
| 

[updateDbtConnection](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateDbtConnection)

 | 

**POST** /api/rest/2.0/dbt/update-dbt-connection

 |
| 

[updateEmailCustomization](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateEmailCustomization)

 | 

**POST** /api/rest/2.0/customization/email/update

 |
| 

[updateMetadataHeader](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateMetadataHeader)

 | 

**POST** /api/rest/2.0/metadata/headers/update

 |
| 

[updateMetadataObjId](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateMetadataObjId)

 | 

**POST** /api/rest/2.0/metadata/update-obj-id

 |
| 

[updateOrg](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateOrg)

 | 

**POST** /api/rest/2.0/orgs/{org\_identifier}/update

 |
| 

[updateRole](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateRole)

 | 

**POST** /api/rest/2.0/roles/{role\_identifier}/update

 |
| 

[updateSchedule](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateSchedule)

 | 

**POST** /api/rest/2.0/schedules/{schedule\_identifier}/update

 |
| 

[updateSystemConfig](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateSystemConfig)

 | 

**POST** /api/rest/2.0/system/config-update

 |
| 

[updateTag](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateTag)

 | 

**POST** /api/rest/2.0/tags/{tag\_identifier}/update

 |
| 

[updateUser](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateUser)

 | 

**POST** /api/rest/2.0/users/{user\_identifier}/update

 |
| 

[updateUserGroup](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateUserGroup)

 | 

**POST** /api/rest/2.0/groups/{group\_identifier}/update

 |
| 

[updateVariable](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateVariable)

 | 

**POST** /api/rest/2.0/template/variables/{identifier}/update

 |
| 

[updateVariableValues](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#updateVariableValues)

 | 

**POST** /api/rest/2.0/template/variables/update

 |
| 

[validateEmailCustomization](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#validateEmailCustomization)

 | 

**POST** /api/rest/2.0/customization/email/validate

 |
| 

[validateMerge](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#validateMerge)

 | 

**POST** /api/rest/2.0/vcs/git/branches/validate

 |
| 

[validateToken](https://github.com/thoughtspot/rest-api-sdk/blob/release/sdks/typescript/ThoughtSpotRestApi.md#validateToken)

 | 

**POST** /api/rest/2.0/auth/token/validate

 |