Group APIs
The Group APIs allow you to programmatically create and manage user groups, configure privileges, and assign users to a group.
Supported operations
User groups and privileges
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
This privilege is available only if ThoughtSpot Everywhere is enabled on your instance.
-
USERDATAUPLOADING
Allows users to upload data to ThoughtSpot.
-
DATADOWNLOADING
Allows users to download ThoughtSpot data from search results and pinboards.
-
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 pinboard 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
-
Create a user group
To programmatically create a user group, send a POST
request to the /tspublic/v1/group/
API endpoint.
ThoughtSpot also has a default group called |
Request parameters
Form parameter | Description |
---|---|
|
String. Name of the user group. The group name string must be unique. |
|
String. A unique display name string for the user group, for example, |
|
String. Description text for the group. |
|
Array of strings. A JSON array of the privileges to assign to the group. Valid values for the
|
|
String. Type of user group. Default value is |
|
String. GUID of the tenant for which the user group is being created. |
|
String. Visibility of the user group. The |
Example request
curl -X POST \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Accept: application/json' \
--header 'X-Requested-By: ThoughtSpot' \
-d 'name=TS%20Group&display_name=TS%20Group&grouptype=LOCAL_GROUP&visibility=DEFAULT' \
'https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/'
https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/
Example response
If the user group is successfully created in ThoughtSpot, the API returns the user group GUID along with the following JSON response:
{
"userGroupContent": {
"schemaVersion": "4"
},
"groupIdx": 2,
"metadataVersion": -1,
"assignedPinboards": [],
"assignedGroups": [],
"inheritedGroups": [],
"privileges": [],
"type": "LOCAL_GROUP",
"parenttype": "GROUP",
"visibility": "DEFAULT",
"tenantId": "982d6da9-9cd1-479e-b9a6-35aa05f9282a",
"displayName": "TS Group",
"header": {
"id": "0f7af46f-e48c-4cca-b60f-d63d5ddbe59f",
"indexVersion": 0,
"generationNum": 0,
"name": "TS Group",
"author": "59481331-ee53-42be-a548-bd87be6ddd4a",
"created": 1624882497992,
"modified": 1624882497992,
"modifiedBy": "59481331-ee53-42be-a548-bd87be6ddd4a",
"owner": "0f7af46f-e48c-4cca-b60f-d63d5ddbe59f",
"tags": [],
"isExternal": false,
"isDeprecated": false
},
"complete": true,
"incompleteDetail": [],
"isSystemPrincipal": false
}
Update a user group
If you have admin user privileges, you can programmatically modify the properties of a group using the /tspublic/v1/group/{groupid}
API. Using this API, you can also assign privileges and modify the group visibility.
Request parameters
Form parameter | Description |
---|---|
|
String. The GUID of the user group. |
|
String. A JSON map of group properties. |
Example request
curl -X PUT \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Accept: application/json' \
--header 'X-Requested-By: ThoughtSpot' \
-d 'groupid=0f7af46f-e48c-4cca-b60f-d63d5ddbe59f&content={ "userGroupContent": { "schemaVersion": "4" }, "groupIdx": 2, "metadataVersion": -1, "assignedPinboards": [], "assignedGroups": [], "inheritedGroups": [], "privileges": [], "type": "LOCAL_GROUP", "parenttype": "GROUP", "visibility": "DEFAULT", "tenantId": "982d6da9-9cd1-479e-b9a6-35aa05f9282a", "displayName": "TS Group", "header": { "id": "0f7af46f-e48c-4cca-b60f-d63d5ddbe59f", "indexVersion": 0, "generationNum": 0, "name": "TS Group", "author": "59481331-ee53-42be-a548-bd87be6ddd4a", "created": 1624882497992, "modified": 1624882497992, "modifiedBy": "59481331-ee53-42be-a548-bd87be6ddd4a", "owner": "0f7af46f-e48c-4cca-b60f-d63d5ddbe59f", "tags": [], "isExternal": false, "isDeprecated": false }, "complete": true, "incompleteDetail": [], "isSystemPrincipal": false }' \
'https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/{groupid}'
https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/{groupid}
Example JSON for user group update
{
"userGroupContent": {
"schemaVersion": "4"
},
"groupIdx": 2,
"metadataVersion": -1,
"assignedPinboards": [],
"assignedGroups": [],
"inheritedGroups": [],
"privileges": [],
"type": "LOCAL_GROUP",
"parenttype": "GROUP",
"visibility": "DEFAULT",
"tenantId": "982d6da9-9cd1-479e-b9a6-35aa05f9282a",
"displayName": "TS Group",
"header": {
"id": "0f7af46f-e48c-4cca-b60f-d63d5ddbe59f",
"indexVersion": 0,
"generationNum": 0,
"name": "TS Group",
"author": "59481331-ee53-42be-a548-bd87be6ddd4a",
"created": 1624882497992,
"modified": 1624882497992,
"modifiedBy": "59481331-ee53-42be-a548-bd87be6ddd4a",
"owner": "0f7af46f-e48c-4cca-b60f-d63d5ddbe59f",
"tags": [],
"isExternal": false,
"isDeprecated": false
},
"complete": true,
"incompleteDetail": [],
"isSystemPrincipal": false
}
Get details of a user group
To get the details of a specific user group or all user groups in the ThoughtSpot system, send a GET
request to the /tspublic/v1/group/
API endpoint.
Request parameters
Query parameter | Description |
---|---|
|
String. The GUID of the user group to query. |
|
String. Name of the user group that you want to query. |
You can use either |
Example request
curl -X GET \ --header 'Accept: application/json' \ --header 'X-Requested-By: ThoughtSpot' \ 'https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/?groupid=0f7af46f-e48c-4cca-b60f-d63d5ddbe59f'
https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/?groupid=0f7af46f-e48c-4cca-b60f-d63d5ddbe59f
Example response
{
"userGroupContent": {},
"groupIdx": 2,
"metadataVersion": -1,
"assignedPinboards": [],
"assignedGroups": [],
"inheritedGroups": [],
"privileges": [],
"type": "LOCAL_GROUP",
"parenttype": "GROUP",
"visibility": "DEFAULT",
"tenantId": "982d6da9-9cd1-479e-b9a6-35aa05f9282a",
"displayName": "TS Group",
"header": {
"id": "0f7af46f-e48c-4cca-b60f-d63d5ddbe59f",
"indexVersion": 598,
"generationNum": 598,
"name": "TS Group",
"displayName": "TS Group",
"author": "59481331-ee53-42be-a548-bd87be6ddd4a",
"created": 1624882497992,
"modified": 1624886953559,
"modifiedBy": "59481331-ee53-42be-a548-bd87be6ddd4a",
"owner": "0f7af46f-e48c-4cca-b60f-d63d5ddbe59f",
"isDeleted": false,
"isHidden": false,
"tags": [],
"type": "LOCAL_GROUP",
"isExternal": false,
"isDeprecated": false
},
"complete": true,
"incompleteDetail": [],
"isSystemPrincipal": false
}
Add a privilege to a user group
For ease of user management and access control, ThoughtSpot administrators can create user groups and assign privileges to these groups. The privileges determine the actions that the users belonging to a group are allowed to do.
If you have admin user credentials, you can programmatically assign a privilege to a user group using the /tspublic/v1/group/addprivilege
API endpoint.
ThoughtSpot also has a default group called |
Request parameters
Make sure you set the API request’s Content-Type
header as multipart/form-data
.
Form parameter | Description |
---|---|
|
String. The type of privilege to add. Valid values for the
|
|
String. A JSON array of group names to which you want to add the privilege. To add a privilege to |
Example request
curl -X POST \
--header 'Content-Type: multipart/form-data' \
--header 'Accept: application/json' \
--header 'X-Requested-By: ThoughtSpot' \
-F 'privilege=DATADOWNLOADING' \
-F 'groupNames=["Analyst"]' \
'https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/addprivilege'
https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/addprivilege
Remove a privilege assigned to a group
To programmatically delete a privilege assigned to a user group, use the /tspublic/v1/group/removeprivilege
API.
Request parameters
Make sure you set the API request’s Content-Type
header as multipart/form-data
.
Form parameter | Description |
---|---|
|
String. The group privilege to delete. Valid values are:
|
|
String. A JSON array of group names from which you want to remove the privilege. To remove a privilege from the |
Example request
curl -X POST \
--header 'Content-Type: multipart/form-data' \
--header 'Accept: application/json' \
--header 'X-Requested-By: ThoughtSpot' \
-F 'privilege=DATAUPLOADING' \
-F 'groupNames=["Analyst"]' \
'https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/removeprivilege'
https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/removeprivilege
Add a user to a group
To programmatically add an existing ThoughtSpot user to a user group, send a POST
request to the /tspublic/v1/group/{groupid}/user/{userid}
API endpoint.
When you assign a user to a group, the user inherits the privileges assigned to that group.
Request parameters
Path Parameter | Description |
---|---|
|
String. The GUID of the user group to which you want to add the user. |
|
String. The GUID of the user that you want to assign to the specified group. |
Example request
curl -X POST \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-Requested-By: ThoughtSpot' \
'https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/1f58ba19-83a8-48ee-86e7-9c16f61157e3/user/80560f25-f24e-4c2a-b015-10b9770287c6'
https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/1f58ba19-83a8-48ee-86e7-9c16f61157e3/user/80560f25-f24e-4c2a-b015-10b9770287c6
Get a list of users assigned to a group
To get the details of users assigned to a group, send a GET
request to the /tspublic/v1/group/listuser/{groupid}
API endpoint.
Example request
curl -X GET \
--header 'Accept: application/json' \
--header 'X-Requested-By: ThoughtSpot' \
'https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/listuser/e5fc80ce-db65-4921-8ece-c7bb44fceca1'
https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/listuser/e5fc80ce-db65-4921-8ece-c7bb44fceca1
Example response
[
{
"userContent": {
"userPreferences": {
"notifyOnShare": true,
"showWalkMe": true,
"analystOnboardingComplete": false
},
"userProperties": {
"mail": "user1@thoughtspot.com",
"persona": "BUSINESS_USER"
},
"userActivityProto": {
"first_login": -1,
"welcome_email_sent": false
}
},
"state": "ACTIVE",
"assignedGroups": [
"b25ee394-9d13-49e3-9385-cd97f5b253b4",
"e5fc80ce-db65-4921-8ece-c7bb44fceca1"
],
"inheritedGroups": [
"b25ee394-9d13-49e3-9385-cd97f5b253b4",
"e5fc80ce-db65-4921-8ece-c7bb44fceca1"
],
"privileges": [
"DEVELOPER"
],
"type": "LOCAL_USER",
"parenttype": "USER",
"visibility": "DEFAULT",
"tenantId": "982d6da9-9cd1-479e-b9a6-35aa05f9282a",
"displayName": "user1-dev",
"header": {
"id": "eacaa47b-5cde-4b87-898f-41209ec45b56",
"indexVersion": 2657,
"generationNum": 2657,
"name": "user1",
"displayName": "user1-dev",
"author": "59481331-ee53-42be-a548-bd87be6ddd4a",
"created": 1622094121127,
"modified": 1623847350023,
"modifiedBy": "59481331-ee53-42be-a548-bd87be6ddd4a",
"owner": "eacaa47b-5cde-4b87-898f-41209ec45b56",
"isDeleted": false,
"isHidden": false,
"clientState": {
"preferences": {
"SAVE_ANSWER_TOOLTIP_SEEN": true
},
"tips": {
"favoriteCardTip": true,
"recentlyViewedCard": true
}
},
"tags": [],
"type": "LOCAL_USER",
"isExternal": false,
"isDeprecated": false
},
"complete": true,
"incompleteDetail": [],
"isSuperUser": false,
"isSystemPrincipal": false
}
]
Add users to a specific group
To add a list of users to a group, send a POST
request to the /tspublic/v1/group/{groupid}/users
API endpoint.
Request parameters
Parameter | Type | Description |
---|---|---|
|
path parameter |
String. The GUID of the user group to which you want to add users. |
|
query parameter |
String. A JSON array of the user GUIDs to add to the specified group. |
Example request
curl -X POST \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-Requested-By: ThoughtSpot' \
'https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/b8cc6029-3749-4596-9a33-263688a2732e/users?userids=%5B%22fab84cbc-b7ed-4fed-b241-9af2cbb453de%22%5D'
https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/b8cc6029-3749-4596-9a33-263688a2732e/users?userids=%5B%22fab84cbc-b7ed-4fed-b241-9af2cbb453de%22%5D
Update user data for a group
To add or update the list of users assigned to a group, send a PUT
request to the /tspublic/v1/group/{groupid}/users
API endpoint.
Request parameters
Form parameter | Description |
---|---|
|
String. The GUID of the user group to which the specified user IDs belong. |
|
String. A JSON array of the user GUIDs that you want to add or modify. |
Example request
curl -X PUT \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Accept: application/json' \ --header 'X-Requested-By: ThoughtSpot' \ -d 'groupid=876b3cf1-8a20-4210-b671-506eaaa5005e&userids=%5B%22d02210b1-f836-4f84-a0dd-5f555f0a65d1%22%2C%22982d6da9-9cd1-479e-b9a6-35aa05f9282a%22%5D' \ 'https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/{groupid}/users'
https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/{groupid}/users
Get a list of users in a group
To get a list of users assigned to a group, send a GET
request to the /tspublic/v1/group/{groupid}/users
API endpoint.
Example request
curl -X GET \
--header 'Accept: application/json' \
--header 'X-Requested-By: ThoughtSpot' \
'https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/b8cc6029-3749-4596-9a33-263688a2732e/users'
https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/b8cc6029-3749-4596-9a33-263688a2732e/users
Example response
[
{
"userContent": {
"userPreferences": {
"notifyOnShare": true,
"showWalkMe": true,
"analystOnboardingComplete": false
},
"userProperties": {},
"userActivityProto": {
"first_login": -1,
"welcome_email_sent": false
}
},
"state": "ACTIVE",
"assignedGroups": [
"b8cc6029-3749-4596-9a33-263688a2732e",
"b25ee394-9d13-49e3-9385-cd97f5b253b4"
],
"inheritedGroups": [
"b8cc6029-3749-4596-9a33-263688a2732e",
"b25ee394-9d13-49e3-9385-cd97f5b253b4"
],
"privileges": [
"DATADOWNLOADING"
],
"type": "LOCAL_USER",
"parenttype": "USER",
"visibility": "DEFAULT",
"tenantId": "982d6da9-9cd1-479e-b9a6-35aa05f9282a",
"displayName": "Test User 2",
"header": {
"id": "fab84cbc-b7ed-4fed-b241-9af2cbb453de",
"indexVersion": 122,
"generationNum": 122,
"name": "TestUser2",
"displayName": "Test User 2",
"author": "59481331-ee53-42be-a548-bd87be6ddd4a",
"created": 1634194734004,
"modified": 1634194734004,
"modifiedBy": "59481331-ee53-42be-a548-bd87be6ddd4a",
"owner": "fab84cbc-b7ed-4fed-b241-9af2cbb453de",
"isDeleted": false,
"isHidden": false,
"tags": [],
"type": "LOCAL_USER",
"isExternal": false,
"isDeprecated": false
},
"complete": true,
"incompleteDetail": [],
"isSuperUser": false,
"isSystemPrincipal": false
}
]
Remove users from a specific group
To remove users assigned to a specific group, send a DELETE
request to the /tspublic/v1/group/{groupid}/users
API endpoint.
Request parameters
Parameter | Type | Description |
---|---|---|
|
path parameter |
String. The GUID of the user group from which you want to remove users. |
|
query parameter |
String. A JSON array of the GUIDs of users that you want to remove from the specified group. |
Example request
curl -X DELETE \
--header 'Accept: application/json' \
--header 'X-Requested-By: ThoughtSpot' \
'https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/062caeb3-8b31-4039-819b-a6c4b02b3791/users?userids=%5B%22164913ae-ee45-49ff-bcf7-4a1f893e78e5%22%2C%22692749ac-a01b-41f1-b2ac-3e38a5131590%22%5D'
https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/062caeb3-8b31-4039-819b-a6c4b02b3791/users?userids=%5B%22164913ae-ee45-49ff-bcf7-4a1f893e78e5%22%2C%22692749ac-a01b-41f1-b2ac-3e38a5131590%22%5D
Add members to a group
To add users to one or several groups, send a POST
request to the /tspublic/v1/group/addmemberships
endpoint.
Request parameters
Make sure you set the Content-Type
header as multipart/form-data
.
Form parameter | Description |
---|---|
|
String. The GUIDs of the users to add to the specified groups. |
|
String. The GUID of the user groups to which you want to add the specified |
Example request
curl -X POST \
--header 'Content-Type: multipart/form-data' \
--header 'Accept: application/json' \
--header 'X-Requested-By: ThoughtSpot' \
--header 'Cookie: JSESSIONID=a7b4945a-fb77-4e9b-bd46-bf7d47be89ec' \
-F 'userids=['b5f53b17-0649-4107-bb97-5c7b01e4773b']' \
-F 'groupids=['dc1cd425-96b4-42a2-8ea6-cbf4379cba04']' \
'http://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/addmemberships'
https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/addmemberships
Assign groups to another group
ThoughtSpot allows you to configure hierarchical groups. You can create a master group and assign other groups to it. For example, you can create a master group called Site
and assign your tenant or ThoughtSpot user groups to this group. The subgroups inherit the privileges from their parent group.
To assign groups to a specific group, send a POST
request to the /tspublic/v1/group/{groupid}/groups
endpoint.
Request parameters
Make sure you set the API request’s Content-Type
header as multipart/form-data
.
Form parameter | Description |
---|---|
|
String. A JSON array of the GUIDs of the groups to assign. |
|
String. The GUID of the group to which you want to assign the group IDs specified in the |
Example request
curl -X POST \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Accept: application/json' \
--header 'X-Requested-By: ThoughtSpot' \
-d 'principalids=%5B%22b9541f8f-06cc-4295-8acc-cb57cfba8ced%22%2C%22982d6da9-9cd1-479e-b9a6-35aa05f9282a%22%5D&groupid=27ffc229-a3e7-4c46-aed8-26cad6b395ed' \
'https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/{groupid}/groups'
https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/{groupid}/groups
Update the subgroup objects of a group
To update the subgroups assigned to a group, send a PUT
request to the /tspublic/v1/group/{groupid}/groups
endpoint.
Request parameters
Form parameter | Description |
---|---|
|
String. A JSON array of the subgroup GUIDs. |
|
String. The GUID of the group that you want to update. |
Example request
curl -X PUT \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Accept: application/json' \
--header 'X-Requested-By: ThoughtSpot' \
-d 'principalids=%5B%22b9541f8f-06cc-4295-8acc-cb57cfba8ced%22%2C%22982d6da9-9cd1-479e-b9a6-35aa05f9282a%22%5D&groupid=27ffc229-a3e7-4c46-aed8-26cad6b395ed' \
'https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/{groupid}/groups'
https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/{groupid}/groups
Get a list of subgroups from a group object
To get a list subgroups associated with a group object, send a GET
request to the /tspublic/v1/group/{groupid}/groups
endpoint.
Request parameters
Path Parameter | Description |
---|---|
|
String. The GUID of the group that you want to query. |
Example request
curl -X GET \
--header 'Accept: application/json' \
--header 'X-Requested-By: ThoughtSpot' \
'https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/982d6da9-9cd1-479e-b9a6-35aa05f9282a/groups'
https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/982d6da9-9cd1-479e-b9a6-35aa05f9282a/groups
Example response
If the GET operation is successful, the API returns the details of the subgroups mapped to the specified group ID.
[
{
"userGroupContent": {},
"groupIdx": 2,
"metadataVersion": -1,
"assignedPinboards": [],
"assignedGroups": [
"982d6da9-9cd1-479e-b9a6-35aa05f9282a"
],
"inheritedGroups": [
"982d6da9-9cd1-479e-b9a6-35aa05f9282a"
],
"privileges": [
"DATADOWNLOADING",
"USERDATAUPLOADING"
],
"type": "LOCAL_GROUP",
"parenttype": "GROUP",
"visibility": "DEFAULT",
"tenantId": "982d6da9-9cd1-479e-b9a6-35aa05f9282a",
"displayName": "user group 2",
"header": {
"id": "fc883cd4-edd9-47c5-80c3-09f8af3a17fc",
"indexVersion": 305,
"generationNum": 305,
"name": "user_group2",
"displayName": "user group 2",
"description": "",
"author": "59481331-ee53-42be-a548-bd87be6ddd4a",
"created": 1632296030814,
"modified": 1632296031005,
"modifiedBy": "59481331-ee53-42be-a548-bd87be6ddd4a",
"owner": "fc883cd4-edd9-47c5-80c3-09f8af3a17fc",
"isDeleted": false,
"isHidden": false,
"tags": [],
"type": "LOCAL_GROUP",
"isExternal": false,
"isDeprecated": false
},
"complete": true,
"incompleteDetail": [],
"isSystemPrincipal": false
},
{
"userGroupContent": {},
"groupIdx": 2,
"metadataVersion": -1,
"assignedPinboards": [],
"assignedGroups": [
"982d6da9-9cd1-479e-b9a6-35aa05f9282a"
],
"inheritedGroups": [
"982d6da9-9cd1-479e-b9a6-35aa05f9282a"
],
"privileges": [
"DATADOWNLOADING",
"USERDATAUPLOADING"
],
"type": "LOCAL_GROUP",
"parenttype": "GROUP",
"visibility": "DEFAULT",
"tenantId": "982d6da9-9cd1-479e-b9a6-35aa05f9282a",
"displayName": "User Group",
"header": {
"id": "24ac76b8-c1ec-43ee-84d4-3974b95bf163",
"indexVersion": 305,
"generationNum": 305,
"name": "UserGroup",
"displayName": "User Group",
"description": "",
"author": "59481331-ee53-42be-a548-bd87be6ddd4a",
"created": 1632295966888,
"modified": 1632295967093,
"modifiedBy": "59481331-ee53-42be-a548-bd87be6ddd4a",
"owner": "24ac76b8-c1ec-43ee-84d4-3974b95bf163",
"isDeleted": false,
"isHidden": false,
"tags": [],
"type": "LOCAL_GROUP",
"isExternal": false,
"isDeprecated": false
},
"complete": true,
"incompleteDetail": [],
"isSystemPrincipal": false
}
]
Remove subgroups from a group
To delete subgroup from a group object, send a DELETE
request to the /tspublic/v1/group/{groupid}/groups
endpoint.
The |
Request parameters
Form parameter | Description |
---|---|
|
String. A JSON array of the subgroup GUIDs that you want to delete. |
|
String. The GUID of the group from which you want to remove the group association. |
Example request
curl -X DELETE \ --header 'Accept: application/json' \ --header 'X-Requested-By: ThoughtSpot' \ -d 'principalids=%5B%2224ac76b8-c1ec-43ee-84d4-3974b95bf163%22%5D&groupid=982d6da9-9cd1-479e-b9a6-35aa05f9282a' \ 'https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/{groupid}/groups'
https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/{groupid}/groups
Remove members from a group
To remove users from groups, send a POST
request to the /tspublic/v1/group/removememberships
endpoint.
Request parameters
Form parameter | Description |
---|---|
|
String. A JSON array of the GUIDs of the users that you want to remove from the specified |
|
String. A JSON array of the GUIDs of the user groups from which you want to remove the specified |
Example request
curl -X POST \
--header 'Content-Type: multipart/form-data' \
--header 'Accept: application/json' \
--header 'X-Requested-By: ThoughtSpot' \
--header 'Cookie: JSESSIONID=a7b4945a-fb77-4e9b-bd46-bf7d47be89ec' \
-F 'userids=['b5f53b17-0649-4107-bb97-5c7b01e4773b']' \
-F 'groupids=['dc1cd425-96b4-42a2-8ea6-cbf4379cba04']' \
'http://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/removememberships'
https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/removememberships
Delete a user from a user group
To programmatically remove a user from a user group, send a DELETE
request to the /tspublic/v1/group/{groupid}/user/{userid}
API endpoint.
The API removes only the user association. It does not delete the user from the Thoughtspot system. To delete a user, use the DELETE /tspublic/v1/user/{userid} API. |
Request parameters
Path Parameter | Description |
---|---|
|
String. The GUID of the user that you want to remove from the group. |
|
String. The GUID of the user group from which you want to remove the user. |
Example request
curl -X DELETE \
--header 'Accept: application/json' \
--header 'X-Requested-By: ThoughtSpot' \
'https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/1f58ba19-83a8-48ee-86e7-9c16f61157e3/user/80560f25-f24e-4c2a-b015-10b9770287c6'
https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/1f58ba19-83a8-48ee-86e7-9c16f61157e3/user/80560f25-f24e-4c2a-b015-10b9770287c6
Delete a user group
To remove a user group from the ThoughtSpot system, send a DELETE
request to the /tspublic/v1/group/{groupid}
API endpoint.
Example request
curl -X DELETE \ --header 'Accept: application/json' \ --header 'X-Requested-By: ThoughtSpot' \ 'https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/0f7af46f-e48c-4cca-b60f-d63d5ddbe59f'
https://<ThoughtSpot-host>/callosum/v1/tspublic/v1/group/0f7af46f-e48c-4cca-b60f-d63d5ddbe59f