LLMs.txt: Complete documentation index for AI agents
Users and groups

Users and groups

To provide access to ThoughtSpot content or define privileges, you must add users and groups in ThoughtSpot. You can create user accounts and user groups in the ThoughtSpot UI or via REST API calls.

User creation and updateπŸ”—

You can create users and update user profiles using the REST API v2 user endpoints.

While you can delete users, it is preferable to deactivate a user, which maintains the user’s references within the system.

When configuring SAML SSO in ThoughtSpot UI, you can select the Automatically add SAML users to ThoughtSpot upon first authentication option, which will use the values in the SAML assertion to create a user if they do not already exist on ThoughtSpot. ThoughtSpot can also add users to groups sent within the SAML assertion. To enable and configure the SAML group attributes, contact your ThoughtSpot team.

By default, ThoughtSpot sends e-mail messages to a new user and enables onboarding workflows when they log in for the first time, even when you are embedding ThoughtSpot content. To alter this behavior at a system-wide level, you need to Customize the onboarding settings. The user update API also allows setting onboarding experience values for an individual user. If you need to modify the default behavior beyond the available UI options, contact your ThoughtSpot team. To specify whether an activation email is sent to a new user, set the trigger_activation_email parameter in the POST /api/rest/2.0/users/create request.

Note

ThoughtSpot supports local management of users. For initial development and testing purposes, you can create users in ThoughtSpot and manage their profiles locally. However, in large production environments, avoid creating local user profiles to reduce administration overhead.

Required privilegesπŸ”—

To create, edit, or delete users, assign users to groups, transfer objects from one user to another, or activate, deactivate, or log out users, you need administrator privileges (ADMINISTRATION).

If Role-Based Access Control (RBAC) is enabled on your instance, the USER_ADMINISTRATION (Can manage users) privilege is required. On instances with Orgs, this privilege allows managing users only within the Org context of the API request. For more information, see Role-based access control.

User attributesπŸ”—

Note the following points about user attributes:

  • Username: The username must be unique. An API request to create a user with a username that already exists returns an error.

  • Account type: The account_type attribute indicates how the user was created and how the user authenticates. Valid values are:

    • LOCAL_USER: A user created and authenticated locally in ThoughtSpot. This is the default account type.

    • LDAP_USER: A user imported from an LDAP server.

    • SAML_USER: A user authenticated through SAML SSO.

    • OIDC_USER: A user authenticated through OpenID Connect (OIDC).

    • REMOTE_USER: A user authenticated by an external system.

      When users are imported from an external server, such as an LDAP server or an IdP, ThoughtSpot assigns the account type automatically. For example, a user imported from an LDAP server is added as LDAP_USER.

  • Visibility: The visibility attribute determines whether other users can share objects with the user. By default, users are set to SHARABLE, which allows other users and groups to share objects with them. To prevent other users from finding the user and sharing objects with them, set visibility to NON_SHARABLE. In multi-tenant deployments, users are commonly set to NON_SHARABLE.

Password resetπŸ”—

After you reset a user’s password with the POST /api/rest/2.0/users/reset-password endpoint, you can log the user out of their active sessions by using the POST /api/rest/2.0/users/force-logout endpoint. The user must then log in again with the new password.

User migration to IAMv2πŸ”—

ThoughtSpot is gradually migrating its users to Identity and Access Management v2 (IAMv2) to provide a more secure login and authentication experience through internal authentication with Okta. The following are some of the important points to note with this upgrade:

  • The email attribute is mandatory when creating a user in ThoughtSpot Okta. ThoughtSpot recommends that users provide a valid email address during user creation.

  • You must set a password during user creation if you do not want to trigger an activation email.

  • The default value for account_type will be OIDC_USER.

Administrators can manage the user account status for all users. For IAMv2 users, the API response for the following APIs will also include SUSPENDED as a user state:

To create a user:

To update user details:

Note

Updating the username of an SSO user, account_type set to SAML_USER or OIDC_USER, requires changes in both the IdP and ThoughtSpot.

If you rename an SSO user through the REST API and that user then logs in through the IdP:

  • If Just-in-Time (JIT) provisioning is enabled, ThoughtSpot creates a new duplicate account. The duplicate account does not inherit the original user’s content, groups, or permissions.

  • If JIT provisioning is disabled, the user cannot log in.

To safely update the username of an SSO user:

  1. Update the username in your IdP.

  2. Before the user logs in again, update the username in ThoughtSpot to match the new value using the REST API or Admin UI.

Both updates must be complete before the user’s next SSO login. The order of the two steps can be reversed β€” you may update ThoughtSpot first and the IdP second β€” provided the user does not log in during the interval between the two changes.

For SSO users, ThoughtSpot derives email address and display name directly from the IdP. Update these attributes in your IdP only. ThoughtSpot automatically reflects the new values when the user next logs in through SSO. Do not use the REST API or the Admin UI to update the email address or display name of an SSO user.

For users who authenticate directly with ThoughtSpot (not through an external IdP), you can update username, email address, and display name using the REST API or Admin UI. No IdP coordination is required for local users.

For more information, see the following pages:

User group creation and updateπŸ”—

Groups can be created via the REST API v2 group endpoints.

To create, edit, or delete groups, you need administrator privileges. If RBAC is enabled on your instance, the GROUP_ADMINISTRATION (Can manage groups) privilege is required. To assign Roles to a group or remove Roles from a group, you need both the GROUP_ADMINISTRATION and ROLE_ADMINISTRATION privileges.

The Group privileges are set directly on groups, either during group creation or via a group update API call.

Group hierarchyπŸ”—

ThoughtSpot supports hierarchical groups. You can create a parent group and add other groups to it as sub-groups. For example, you can create a parent group called Site and add your tenant groups to it. Sub-groups inherit the privileges of the parent group.

To add sub-groups to a group or remove sub-groups from it, use the POST /api/rest/2.0/groups/{group_identifier}/update endpoint. Removing a sub-group from a group removes only the association; it does not delete the sub-group from ThoughtSpot.

User association to groupsπŸ”—

You can add users to specific groups when creating a user or group via REST API endpoints. When you assign a user to a group, the user inherits the privileges and Roles assigned to that group.

To add users to an existing group or remove users from it, use the POST /api/rest/2.0/groups/{group_identifier}/update endpoint with the user_identifiers parameter and the ADD, REMOVE, or REPLACE operation. To update the groups of a single user, use the POST /api/rest/2.0/users/{user_identifier}/update endpoint with the group_identifiers parameter.

Removing a user from a group removes only the group association; it does not delete the user from ThoughtSpot. To delete a user, use the POST /api/rest/2.0/users/{user_identifier}/delete endpoint.

To get a list of users assigned to a group, use the POST /api/rest/2.0/groups/search endpoint.

Access control (sharing)πŸ”—

Access to objects is determined by content shared directly to the user or the groups they belong to. It is easier to manage and audit sharing through groups rather than object sharing at the individual user level.

Users can share objects or modify sharing properties through the UI or via an API call to the POST /api/rest/2.0/security/metadata/share endpoint.

Note the following points about sharing objects via REST API:

  • You can share the following types of objects: Liveboards, visualizations, Answers, Models, Views, Connections, and Collections.

  • To share an object, you must have edit access to the object.

  • The share_mode attribute can be set to READ_ONLY (Can view), MODIFY (Can edit), or NO_ACCESS. Setting share_mode to NO_ACCESS removes any access previously granted to a user or group.

  • To send a share notification to the users and groups with whom the object is shared, set notify_on_share to true.

  • To make a shared Liveboard or Answer discoverable, set has_lenient_discoverability to true.

To audit access, use the POST /api/rest/2.0/security/metadata/fetch-permissions endpoint to get the users and groups that have access to an object, or the POST /api/rest/2.0/security/principals/fetch-permissions endpoint to get the objects a user or group can access.

For more information and examples, see Access control and sharing.

Sharing a visualizationπŸ”—

Note the following points about sharing a visualization:

  • Sharing a visualization implicitly shares the entire Liveboard with the recipient.

  • The object permissions set for a shared visualization also apply to the Liveboard, unless they are overridden by another API request or in the UI.

  • If email notifications for object sharing are enabled, the recipient receives a notification with a link to the shared visualization. Although this link opens the shared visualization, the recipient can also access other visualizations on the Liveboard.

Sharing a CollectionπŸ”—

Collections support separate permissions for the Collection and for the objects within it. For more information, see Share a Collection.

Group privilegesπŸ”—

Each user group includes a set of privileges for its users. When a user is assigned to a group in ThoughtSpot, the default privileges associated with a group are assigned to its users. The group privileges allow users belonging to a group to perform specific operations and access workflows. If a user belongs to more than one group, they will have the highest level of privileges from all the groups they belong to.

Note

If a user group belongs to another user group, it inherits privileges from its parent group.

ThoughtSpot administrators can programmatically assign the following types of privileges to a user group:

  • ADMINISTRATION

    Allows users to perform the following functions:

    • Create, edit, and delete users and user groups

    • View and edit access to all data

    • Download a saved answer

  • DEVELOPER

    Allows users to perform the following functions:

    • Access Developer portal

    • Embed ThoughtSpot app or its content in an external application

    • Add custom menu options in the embedded Liveboards and visualizations

    • Re-brand the interface elements of the embedded ThoughtSpot content

  • USERDATAUPLOADING

    Allows users to upload data to ThoughtSpot.

  • DATADOWNLOADING

    Allows users to download ThoughtSpot data from search results and Liveboards.

  • DATAMANAGEMENT

    Allows users to create worksheets and views. To edit a worksheet or view created and shared by another user, the user must have edit permission to modify the object.

  • SHAREWITHALL

    Allows users to share objects with other users and user groups.

  • EXPERIMENTALFEATUREPRIVILEGE

    Allows access to the trial and experimental features that ThoughtSpot makes available to evaluating users and early adopters.

  • JOBSCHEDULING

    Allows scheduling and editing Liveboard jobs.

  • RANALYSIS

    Allows invoking R scripts to explore search answers and sharing custom scripts.

  • A3ANALYSIS

    Allows users to generate and access SpotIQ analyses.

  • BYPASSRLS

    Allows access to the following operations:

    • Create, edit, or delete existing RLS rules

    • Enable or disable Bypass RLS on a worksheet

  • SYNCMANAGEMENT

    Allows setting up secure pipelines to external business apps and sync data using ThoughtSpot Sync.

Note

ThoughtSpot also has a default group called All. When you create new users in ThoughtSpot, they are automatically added to All. By default, the members of the All group do not have permission to download or upload data. To add these privileges, you can use the Group API endpoints.

RolesπŸ”—

If Role-Based Access Control (RBAC) is enabled on your instance, administrators can define role privileges and assign them to users via groups. Roles are always scoped to an Org; a role created in one Org cannot be assigned in another.

Role assignment to groups via REST APIπŸ”—

When creating or updating a group using the REST API v2 endpoints, use the role_identifiers parameter to assign one or more roles to the group. The parameter accepts an array of role GUIDs or role names. For more information, see:

Note

Roles must be available before they can be assigned. Use the POST /api/rest/2.0/roles/create endpoint to create roles programmatically before calling the group create or update endpoints.

For a complete list of available privileges and role categories, see Role-based access control.

Β© 2026 ThoughtSpot Inc. All Rights Reserved.