ThoughtSpot Groups API

The Groups API from ThoughtSpot — 5 operation(s) for groups.

Operations 5

POST /api/rest/2.0/groups/create #
POST /api/rest/2.0/groups/{group_identifier}/delete #
POST /api/rest/2.0/groups/import #
POST /api/rest/2.0/groups/search #
POST /api/rest/2.0/groups/{group_identifier}/update #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/thoughtspot-groups-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

thoughtspot-groups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ThoughtSpot Public REST Groups API
  version: '2.0'
servers:
- url: '{base-url}'
  variables:
    base-url:
      default: https://localhost:443
security:
- bearerAuth: []
tags:
- name: Groups
paths:
  /api/rest/2.0/groups/create:
    post:
      operationId: createUserGroup
      description: "\n <span class=\"since-beta-tag\">Version: 9.0.0.cl or later</span>\n\nCreates a group object in ThoughtSpot.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `GROUP_ADMINISTRATION` (**Can manage groups**) privilege is required.\n\n#### About groups\nGroups in ThoughtSpot are used by the administrators to define privileges and organize users based on their roles and access requirements. To know more about groups and privileges, see [ThoughtSpot Product Documentation](https://docs.thoughtspot.com/cloud/latest/groups-privileges).\n\n#### Supported operations\n\nThe API endpoint lets you perform the following operations:\n\n* Assign privileges\n* Add users\n* Define sharing visibility\n* Add sub-groups\n* Assign a default Liveboard\n\n\n\n\n#### Endpoint URL\n"
      tags:
      - Groups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserGroupRequest'
        required: true
      parameters: []
      responses:
        '200':
          description: User group successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserGroupResponse'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/rest/2.0/groups/{group_identifier}/delete:
    post:
      operationId: deleteUserGroup
      description: "\n <span class=\"since-beta-tag\">Version: 9.0.0.cl or later</span>\n\nRemoves the specified group object from the ThoughtSpot system.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `GROUP_ADMINISTRATION` (**Can manage groups**) privilege is required.\n\n\n\n\n#### Endpoint URL\n"
      tags:
      - Groups
      parameters:
      - in: path
        name: group_identifier
        required: true
        schema:
          type: string
        description: GUID or name of the group.
      responses:
        '204':
          description: User group successfully deleted.
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/rest/2.0/groups/import:
    post:
      operationId: importUserGroups
      description: "\n <span class=\"since-beta-tag\">Version: 9.0.0.cl or later</span>\n\nImports group objects from external databases into ThoughtSpot.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `GROUP_ADMINISTRATION` (**Can manage groups**) privilege is required.\n\nDuring the import operation:\n\n* If the specified group is not available in ThoughtSpot, it will be added to ThoughtSpot.\n* If `delete_unspecified_groups` is set to `true`, the groups not specified in the API request, excluding administrator and system user groups, are deleted.\n* If the specified groups are already available in ThoughtSpot, the object properties of these groups are modified and synchronized as per the input data in the API request.\n\nA successful API call returns the object that represents the changes made in the ThoughtSpot system.\n\n\n\n\n#### Endpoint URL\n"
      tags:
      - Groups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportUserGroupsRequest'
        required: true
      parameters: []
      responses:
        '200':
          description: Import user groups operation successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportUserGroupsResponse'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/rest/2.0/groups/search:
    post:
      operationId: searchUserGroups
      description: "\n <span class=\"since-beta-tag\">Version: 9.0.0.cl or later</span>\n\nGets a list of user group objects from the ThoughtSpot system.\n\nTo get details of a specific user group, specify the user group GUID or name. You can also filter the API response based on User ID, Org ID, Role ID, type of group, sharing visibility, privileges assigned to the group, and the Liveboard IDs assigned to the users in the group.\n\nAvailable to all users. Users with `ADMINISTRATION` (**Can administer ThoughtSpot**) privileges can view all users properties.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `GROUP_ADMINISTRATION` (**Can manage groups**) privilege is required.\n\n**NOTE**: In addition to the GUID and name, `group_identifier` accepts a Custom object ID if one is configured for the group. The response also includes the `obj_id` field for each group that has one set.\n\n**NOTE**: If you do not get precise results, try setting `record_size` to `-1` and `record_offset` to `0`.\n\n\n\n\n#### Endpoint URL\n"
      tags:
      - Groups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchUserGroupsRequest'
        required: true
      parameters: []
      responses:
        '200':
          description: User group search result.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserGroupResponse'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/rest/2.0/groups/{group_identifier}/update:
    post:
      operationId: updateUserGroup
      description: "\n <span class=\"since-beta-tag\">Version: 9.0.0.cl or later</span>\n\nUpdates the properties of a group object in ThoughtSpot.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `GROUP_ADMINISTRATION` (**Can manage groups**) privilege is required.\n\n#### Supported operations\n\nThis API endpoint lets you perform the following operations in a single API request:\n\n* Edit [privileges](https://developers.thoughtspot.com/docs/?pageid=api-user-management#group-privileges)\n* Add or remove users\n* Change sharing visibility settings\n* Add or remove sub-groups\n* Assign a default Liveboard  or update the existing settings\n\n\n\n\n#### Endpoint URL\n"
      tags:
      - Groups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserGroupRequest'
        required: true
      parameters:
      - in: path
        name: group_identifier
        required: true
        schema:
          type: string
        description: GUID or name of the group.
      responses:
        '204':
          description: User group successfully updated.
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    SearchUserGroupsRequest:
      type: object
      properties:
        default_liveboard_identifiers:
          description: GUID of Liveboards that are assigned as default Liveboards to the users in the group.
          type: array
          items:
            type: string
        description:
          description: Description of the group
          type: string
        display_name:
          description: Display name of the group
          type: string
        name_pattern:
          description: A pattern to match case-insensitive name of the Group object.
          type: string
        group_identifier:
          description: GUID or name of the group
          type: string
        org_identifiers:
          description: ID or name of the Org to which the group belongs
          type: array
          items:
            type: string
        privileges:
          description: Privileges assigned to the group.
          type: array
          items:
            type: string
            enum:
            - ADMINISTRATION
            - AUTHORING
            - USERDATAUPLOADING
            - DATADOWNLOADING
            - USERMANAGEMENT
            - DATAMANAGEMENT
            - SHAREWITHALL
            - JOBSCHEDULING
            - A3ANALYSIS
            - EXPERIMENTALFEATUREPRIVILEGE
            - BYPASSRLS
            - RANALYSIS
            - DEVELOPER
            - USER_ADMINISTRATION
            - GROUP_ADMINISTRATION
            - SYNCMANAGEMENT
            - CAN_CREATE_CATALOG
            - DISABLE_PINBOARD_CREATION
            - LIVEBOARD_VERIFIER
            - PREVIEW_THOUGHTSPOT_SAGE
            - APPLICATION_ADMINISTRATION
            - SYSTEM_INFO_ADMINISTRATION
            - ORG_ADMINISTRATION
            - ROLE_ADMINISTRATION
            - AUTHENTICATION_ADMINISTRATION
            - BILLING_INFO_ADMINISTRATION
            - CAN_MANAGE_CUSTOM_CALENDAR
            - CAN_CREATE_OR_EDIT_CONNECTIONS
            - CAN_MANAGE_WORKSHEET_VIEWS_TABLES
            - CAN_MANAGE_VERSION_CONTROL
            - THIRDPARTY_ANALYSIS
            - ALLOW_NON_EMBED_FULL_APP_ACCESS
            - CAN_ACCESS_ANALYST_STUDIO
            - CAN_MANAGE_ANALYST_STUDIO
            - PREVIEW_DOCUMENT_SEARCH
            - CAN_MODIFY_FOLDERS
            - CAN_MANAGE_VARIABLES
            - CAN_VIEW_FOLDERS
            - CAN_MANAGE_AGENTSPOT
            - CAN_ACCESS_AGENTSPOT
            - CAN_SETUP_VERSION_CONTROL
            - CAN_MANAGE_WEBHOOKS
            - CAN_DOWNLOAD_VISUALS
            - CAN_DOWNLOAD_DETAILED_DATA
            - CAN_USE_SPOTTER
            - CAN_MANAGE_SPOTTER
            - CAN_CREATE_LIVEBOARD
            - CAN_CREATE_ANSWERS
            - CAN_ANALYZE_DATA
            - CAN_ADMINISTER_SCHEDULES
            - CAN_CREATE_KPI_ALERTS
        sub_group_identifiers:
          description: GUID or name of the sub groups. A subgroup is a group assigned to a parent group.
          type: array
          items:
            type: string
        type:
          description: Group type.
          type: string
          enum:
          - LOCAL_GROUP
          - LDAP_GROUP
          - TEAM_GROUP
          - TENANT_GROUP
        user_identifiers:
          description: GUID or name of the users assigned to the group.
          type: array
          items:
            type: string
        visibility:
          description: 'Visibility of the group. To make a group visible to other users and groups,

            set the visibility to SHAREABLE.'
          type: string
          enum:
          - SHARABLE
          - NON_SHARABLE
        role_identifiers:
          description: Filter groups with a list of Roles assigned to a group
          type: array
          items:
            type: string
        record_offset:
          description: The starting record number from where the records should be included.
          default: 0
          type: integer
          format: int32
        record_size:
          description: The number of records that should be included.
          default: 10
          type: integer
          format: int32
        sort_options:
          description: Sort options to filter group details.
          allOf:
          - $ref: '#/components/schemas/SortOptions'
        include_users:
          description: '<div><span class="since-beta-tag">Version: 10.10.0.cl or later</span></div>


            Define Parameter to consider if the users should be included in group search response.'
          default: true
          type:
          - boolean
          - 'null'
        include_sub_groups:
          description: '<div><span class="since-beta-tag">Version: 10.10.0.cl or later</span></div>


            Define Parameter to consider if the sub groups should be included in group search response.'
          default: true
          type:
          - boolean
          - 'null'
    Role:
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
          description: id of the role
        name:
          type:
          - string
          - 'null'
          description: name of the role
    ErrorResponse:
      type: object
      properties:
        error:
          type:
          - object
          - 'null'
    SortOptions:
      type: object
      properties:
        field_name:
          type:
          - string
          - 'null'
          enum:
          - NAME
          - DISPLAY_NAME
          - AUTHOR
          - CREATED
          - MODIFIED
          description: Name of the field to apply the sort on.
        order:
          type:
          - string
          - 'null'
          enum:
          - ASC
          - DESC
          description: 'Sort order : ASC(Ascending) or DESC(Descending).'
      description: Sort options.
    UserGroup:
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
        name:
          type:
          - string
          - 'null'
    ImportUserGroupsResponse:
      type: object
      required:
      - groups_added
      - groups_deleted
      - groups_updated
      properties:
        groups_added:
          type: array
          items:
            $ref: '#/components/schemas/UserGroup'
          description: The groups which are added into the system.
        groups_deleted:
          type: array
          items:
            $ref: '#/components/schemas/UserGroup'
          description: The groups which are deleted from the system.
        groups_updated:
          type: array
          items:
            $ref: '#/components/schemas/UserGroup'
          description: The groups which are updated in the system.
    UpdateUserGroupRequest:
      type: object
      properties:
        name:
          description: Name of the group to modify.
          type: string
        default_liveboard_identifiers:
          description: ID of the Liveboards to be assigned as default Liveboards to the users in the group.
          type: array
          items:
            type: string
        description:
          description: Description for the group.
          type: string
        display_name:
          description: Display name of the group.
          type: string
        privileges:
          description: 'Privileges to assign to the group. Note: AUTHORING is a no-op — always inherited via ALL_GROUP, assigning it has no effect.'
          type: array
          items:
            type: string
            enum:
            - ADMINISTRATION
            - AUTHORING
            - USERDATAUPLOADING
            - DATADOWNLOADING
            - USERMANAGEMENT
            - DATAMANAGEMENT
            - SHAREWITHALL
            - JOBSCHEDULING
            - A3ANALYSIS
            - EXPERIMENTALFEATUREPRIVILEGE
            - BYPASSRLS
            - RANALYSIS
            - DEVELOPER
            - USER_ADMINISTRATION
            - GROUP_ADMINISTRATION
            - SYNCMANAGEMENT
            - CAN_CREATE_CATALOG
            - DISABLE_PINBOARD_CREATION
            - LIVEBOARD_VERIFIER
            - PREVIEW_THOUGHTSPOT_SAGE
            - CAN_MANAGE_VERSION_CONTROL
            - THIRDPARTY_ANALYSIS
            - ALLOW_NON_EMBED_FULL_APP_ACCESS
            - CAN_ACCESS_ANALYST_STUDIO
            - CAN_MANAGE_ANALYST_STUDIO
            - CAN_MODIFY_FOLDERS
            - CAN_MANAGE_VARIABLES
            - CAN_VIEW_FOLDERS
            - CAN_MANAGE_AGENTSPOT
            - CAN_ACCESS_AGENTSPOT
            - PREVIEW_DOCUMENT_SEARCH
            - CAN_SETUP_VERSION_CONTROL
            - CAN_DOWNLOAD_VISUALS
            - CAN_DOWNLOAD_DETAILED_DATA
            - CAN_USE_SPOTTER
            - CAN_MANAGE_SPOTTER
            - CAN_CREATE_LIVEBOARD
            - CAN_CREATE_ANSWERS
            - CAN_ANALYZE_DATA
            - CAN_ADMINISTER_SCHEDULES
            - CAN_CREATE_KPI_ALERTS
        sub_group_identifiers:
          description: GUID or name of the sub groups. A subgroup is a group assigned to a parent group.
          type: array
          items:
            type: string
        type:
          description: Type of the group
          type: string
          enum:
          - LOCAL_GROUP
          - LDAP_GROUP
          - TEAM_GROUP
          - TENANT_GROUP
        user_identifiers:
          description: GUID or name of the users to assign to the group.
          type: array
          items:
            type: string
        visibility:
          description: 'Visibility of the group. To make a group visible to other users and

            groups, set the visibility to SHAREABLE.'
          type: string
          enum:
          - SHARABLE
          - NON_SHARABLE
        role_identifiers:
          description: Role identifiers of the Roles that should be assigned to the group.
          type: array
          items:
            type: string
        operation:
          description: Type of update operation. Default operation type is REPLACE
          default: REPLACE
          type: string
          enum:
          - ADD
          - REMOVE
          - REPLACE
    UserGroupResponse:
      type: object
      required:
      - display_name
      - id
      - name
      - visibility
      properties:
        obj_id:
          type:
          - string
          - 'null'
          description: 'Custom object ID (obj_id) of the group, if one is set. <br/>  <span class="since-beta-tag">Version: 26.9.0.cl or later</span>'
        author_id:
          type:
          - string
          - 'null'
          description: The unique identifier of the object
        complete_detail:
          type:
          - boolean
          - 'null'
          description: Indicates whether the response has complete detail of the group.
        content:
          type:
          - object
          - 'null'
          description: Content details of the group
        creation_time_in_millis:
          type:
          - number
          - 'null'
          format: float
          description: Creation time of the group in milliseconds
        default_liveboards:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UserGroup'
          description: Liveboards that are assigned as default Liveboards to the group.
        deleted:
          type:
          - boolean
          - 'null'
          description: Indicates whether the group is deleted
        deprecated:
          type:
          - boolean
          - 'null'
          description: Indicates whether the group is deprecated
        description:
          type:
          - string
          - 'null'
          description: Description of the group
        display_name:
          type: string
          description: Display name of the group.
        external:
          type:
          - boolean
          - 'null'
          description: Indicates whether the group is external
        generation_number:
          type:
          - integer
          - 'null'
          format: int32
          description: Generation number of the group
        hidden:
          type:
          - boolean
          - 'null'
          description: Indicates whether the group is hidden
        id:
          type: string
          description: The unique identifier of the object
        index:
          type:
          - integer
          - 'null'
          format: int32
          description: Index number of the group
        index_version:
          type:
          - integer
          - 'null'
          format: int32
          description: Index version number of the group
        metadata_version:
          type:
          - integer
          - 'null'
          format: int32
          description: Metadata version number of the group
        modification_time_in_millis:
          type:
          - number
          - 'null'
          format: float
          description: Last modified time of the group in milliseconds.
        modifier_id:
          type:
          - string
          - 'null'
          description: The unique identifier of the object
        name:
          type: string
          description: Name of the group.
        orgs:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UserGroup'
          description: Orgs in which group exists.
        owner_id:
          type:
          - string
          - 'null'
          description: The unique identifier of the object
        parent_type:
          type:
          - string
          - 'null'
          enum:
          - USER
          - GROUP
          description: Parent type of the group.
        privileges:
          type:
          - array
          - 'null'
          items:
            type: string
          description: Privileges which are assigned to the group
        sub_groups:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UserGroup'
          description: Groups who are part of the group
        system_group:
          type:
          - boolean
          - 'null'
          description: Indicates whether the group is a system group.
        tags:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UserGroup'
          description: Tags associated with the group.
        type:
          type:
          - string
          - 'null'
          enum:
          - LOCAL_GROUP
          - LDAP_GROUP
          - TEAM_GROUP
          - TENANT_GROUP
          description: Type of the group.
        users:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UserGroup'
          description: Users who are part of the group.
        visibility:
          type: string
          enum:
          - SHARABLE
          - NON_SHARABLE
          description: Visibility of the group. The SHARABLE makes a group visible to other users and groups, and thus allows them to share objects.
        roles:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Role'
          description: List of roles assgined to the user
    GroupsImportListInput:
      type: object
      required:
      - display_name
      - group_identifier
      properties:
        display_name:
          type: string
          description: Unique display name of the group.
        group_identifier:
          type: string
          description: Unique ID or name of the group.
        default_liveboard_identifiers:
          type:
          - array
          - 'null'
          items:
            type: string
          description: Unique ID of Liveboards that will be assigned as default Liveboards to the users in the group.
        description:
          type:
          - string
          - 'null'
          description: Description of the group.
        privileges:
          type:
          - array
          - 'null'
          items:
            type: string
            enum:
            - ADMINISTRATION
            - AUTHORING
            - USERDATAUPLOADING
            - DATADOWNLOADING
            - USERMANAGEMENT
            - DATAMANAGEMENT
            - SHAREWITHALL
            - JOBSCHEDULING
            - A3ANALYSIS
            - EXPERIMENTALFEATUREPRIVILEGE
            - BYPASSRLS
            - RANALYSIS
            - DEVELOPER
            - USER_ADMINISTRATION
            - GROUP_ADMINISTRATION
            - SYNCMANAGEMENT
            - CAN_CREATE_CATALOG
            - DISABLE_PINBOARD_CREATION
            - LIVEBOARD_VERIFIER
            - PREVIEW_THOUGHTSPOT_SAGE
            - CAN_MANAGE_VERSION_CONTROL
            - THIRDPARTY_ANALYSIS
            - ALLOW_NON_EMBED_FULL_APP_ACCESS
            - CAN_ACCESS_ANALYST_STUDIO
            - CAN_MANAGE_ANALYST_STUDIO
            - CAN_MODIFY_FOLDERS
            - CAN_MANAGE_VARIABLES
            - CAN_VIEW_FOLDERS
            - CAN_MANAGE_AGENTSPOT
            - CAN_ACCESS_AGENTSPOT
            - PREVIEW_DOCUMENT_SEARCH
            - CAN_SETUP_VERSION_CONTROL
            - CAN_DOWNLOAD_VISUALS
            - CAN_DOWNLOAD_DETAILED_DATA
            - CAN_USE_SPOTTER
            - CAN_MANAGE_SPOTTER
            - CAN_CREATE_LIVEBOARD
            - CAN_CREATE_ANSWERS
            - CAN_ANALYZE_DATA
            - CAN_ADMINISTER_SCHEDULES
            - CAN_CREATE_KPI_ALERTS
          description: 'Privileges that will be assigned to the group. Note: AUTHORING is a no-op — always inherited via ALL_GROUP, assigning it has no effect.'
        sub_group_identifiers:
          type:
          - array
          - 'null'
          items:
            type: string
          description: Unique ID or name of the sub-groups to add to the group.
        type:
          type:
          - string
          - 'null'
          enum:
          - LOCAL_GROUP
          - LDAP_GROUP
          - TEAM_GROUP
          - TENANT_GROUP
          description: Type of the group.
        user_identifiers:
          type:
          - array
          - 'null'
          items:
            type: string
          description: Unique ID or name of the users to assign to the group.
        visibility:
          type:
          - string
          - 'null'
          enum:
          - SHARABLE
          - NON_SHARABLE
          description: Visibility of the group. The SHARABLE makes a group visible to other users and groups, and thus allows them to share objects.
    CreateUserGroupRequest:
      type: object
      properties:
        name:
          description: Name of the group. The group name must be unique.
          type: string
        display_name:
          description: Display name for the group.
          type: string
        default_liveboard_identifiers:
          description: GUID of the Liveboards to assign as default Liveboards to the users in the group.
          type: array
          items:
            type: string
        description:
          description: Description of the group
          type: string
        privileges:
          description: 'Privileges to assign to the group. Note: AUTHORING is a no-op — always inherited via ALL_GROUP, assigning it has no effect.'
          type: array
          items:
            type: string
            enum:
            - ADMINISTRATION
            - AUTHORING
            - USERDATAUPLOADING
            - DATADOWNLOADING
            - USERMANAGEMENT
            - DATAMANAGEMENT
            - SHAREWITHALL
            - JOBSCHEDULING
            - A3ANALYSIS
            - EXPERIMENTALFEATUREPRIVILEGE
            - BYPASSRLS
            - RANALYSIS
            - DEVELOPER
            - USER_ADMINISTRATION
            - GROUP_ADMINISTRATION
            - SYNCMANAGEMENT
            - CAN_CREATE_CATALOG
            - DISABLE_PINBOARD_CREATION
            - LIVEBOARD_VERIFIER
            - PREVIEW_THOUGHTSPOT_SAGE
            - CAN_MANAGE_VERSION_CONTROL
            - THIRDPARTY_ANALYSIS
            - ALLOW_NON_EMBED_FULL_APP_ACCESS
            - CAN_ACCESS_ANALYST_STUDIO
            - CAN_MANAGE_ANALYST_STUDIO
            - CAN_MODIFY_FOLDERS
            - CAN_MANAGE_VARIABLES
            - CAN_VIEW_FOLDERS
            - CAN_MANAGE_AGENTSPOT
            - CAN_ACCESS_AGENTSPOT
            - PREVIEW_DOCUMENT_SEARCH
            - CAN_SETUP_VERSION_CONTROL
            - CAN_DOWNLOAD_VISUALS
            - CAN_DOWNLOAD_DETAILED_DATA
            - CAN_USE_SPOTTER
            - CAN_MANAGE_SPOTTER
            - CAN_CREATE_LIVEBOARD
            - CAN_CREATE_ANSWERS
            - CAN_ANALYZE_DATA
            - CAN_ADMINISTER_SCHEDULES
            - CAN_CREATE_KPI_ALERTS
        sub_group_identifiers:
          description: GUID or name of the sub groups. A subgroup is a group assigned to a parent group.
          type: array
          items:
            type: string
        type:
          description: Group type.
          default: LOCAL_GROUP
          type: string
          enum:
          - LOCAL_GROUP
          - LDAP_GROUP
          - TEAM_GROUP
          - TENANT_GROUP
        user_identifiers:
          description: GUID or name of the users to assign to the group.
          type: array
          items:
            type: string
        visibility:
          description: 'Visibility of the group. To make a group visible to other users and groups,

            set the visibility to SHAREABLE.'
          default: SHARABLE
          type: string
          enum:
          - SHARABLE
          - NON_SHARABLE
        role_identifiers:
          description: Role identifiers of the roles that should be assigned to the group.
          type: array
          items:
            type: string
      required:
      - name
      - display_name
    ImportUserGroupsRequest:
      type: object
      properties:
        groups:
          description: Details of groups which are to be imported
    

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/thoughtspot/refs/heads/main/openapi/thoughtspot-groups-api-openapi.yml