openapi: 3.0.0
info:
title: ThoughtSpot Public REST 10.1.0.cl 9.5.0.cl API
version: '2.0'
servers:
- url: '{base-url}'
variables:
base-url:
default: https://localhost:443
security:
- bearerAuth: []
tags:
- name: 9.5.0.cl
paths:
/api/rest/2.0/roles/create:
post:
operationId: createRole
description: "\n Version: 9.5.0.cl or later\n\nCreates a Role object in ThoughtSpot.\n\nAvailable only if [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance. To create a Role, the `ROLE_ADMINISTRATION` (**Can manage roles**) privilege is required.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.5.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRoleRequest'
required: true
parameters: []
responses:
'200':
description: Role successfully created.
content:
application/json:
schema:
$ref: '#/components/schemas/RoleResponse'
'400':
description: Invalid parameters.
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: Internal error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/api/rest/2.0/roles/{role_identifier}/delete:
post:
operationId: deleteRole
description: "\n Version: 9.5.0.cl or later\n\nDeletes a Role object from the ThoughtSpot system.\n\nAvailable only if [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance. To delete a Role, the `ROLE_ADMINISTRATION` (**Can manage roles**) privilege is required.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.5.0.cl
parameters:
- in: path
name: role_identifier
required: true
schema:
type: string
description: Unique ID or name of the Role. ReadOnly roles cannot be deleted.
responses:
'204':
description: Role 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: Internal error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/api/rest/2.0/roles/search:
post:
operationId: searchRoles
description: "\n Version: 9.5.0.cl or later\n\nGets a list of Role objects from the ThoughtSpot system.\n\nAvailable if [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance. To search for Roles, the `ROLE_ADMINISTRATION` (**Can manage roles**) privilege is required.\n\nTo get details of a specific Role object, specify the GUID or name. You can also filter the API response based on user group and Org identifiers, privileges assigned to the Role, and deprecation status.\n\n**NOTE**: In addition to the GUID and name, `role_identifiers` accepts a Custom object ID if one is configured for the role. The response also includes the `obj_id` field for each role that has one set.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.5.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchRolesRequest'
required: true
parameters: []
responses:
'200':
description: Roles search result.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SearchRoleResponse'
'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: Internal error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/api/rest/2.0/roles/{role_identifier}/update:
post:
operationId: updateRole
description: "\n Version: 9.5.0.cl or later\n\nUpdates the properties of a Role object.\n\nAvailable only if [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance. To update a Role, the `ROLE_ADMINISTRATION` (**Can manage roles**) privilege is required.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.5.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateRoleRequest'
required: true
parameters:
- in: path
name: role_identifier
required: true
schema:
type: string
description: Unique ID or name of the Role.
responses:
'200':
description: Role successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/RoleResponse'
'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:
GenericInfo:
type: object
properties:
id:
type: string
nullable: true
name:
type: string
nullable: true
SearchRoleResponse:
type: object
required:
- id
- name
- description
- privileges
properties:
id:
type: string
description: Unique Id of the role.
name:
type: string
description: Name of the role
obj_id:
type: string
description: 'Custom object ID (obj_id) of the role, if one is set.
Version: 26.9.0.cl or later'
nullable: true
description:
type: string
description: Description of the role
groups_assigned_count:
type: integer
format: int32
description: number of groups assigned with this role
nullable: true
orgs:
type: array
items:
$ref: '#/components/schemas/GenericInfo'
description: Orgs in which role exists.
nullable: true
groups:
type: array
items:
$ref: '#/components/schemas/GenericInfo'
description: Details of groups assigned with this role
nullable: true
privileges:
type: array
items:
type: string
enum:
- UNKNOWN
- ADMINISTRATION
- AUTHORING
- USERDATAUPLOADING
- DATADOWNLOADING
- USERMANAGEMENT
- SECURITYMANAGEMENT
- LOGICALMODELING
- DATAMANAGEMENT
- TAGMANAGEMENT
- SHAREWITHALL
- SYSTEMMANAGEMENT
- JOBSCHEDULING
- A3ANALYSIS
- EXPERIMENTALFEATUREPRIVILEGE
- BYPASSRLS
- RANALYSIS
- DISABLE_PINBOARD_CREATION
- DEVELOPER
- APPLICATION_ADMINISTRATION
- USER_ADMINISTRATION
- GROUP_ADMINISTRATION
- BACKUP_ADMINISTRATION
- SYSTEM_INFO_ADMINISTRATION
- ENABLESPOTAPPCREATION
- SYNCMANAGEMENT
- ORG_ADMINISTRATION
- ROLE_ADMINISTRATION
- AUTHENTICATION_ADMINISTRATION
- BILLING_INFO_ADMINISTRATION
- PREVIEW_THOUGHTSPOT_SAGE
- LIVEBOARD_VERIFIER
- CAN_MANAGE_CUSTOM_CALENDAR
- CAN_CREATE_OR_EDIT_CONNECTIONS
- CAN_CONFIGURE_CONNECTIONS
- CAN_MANAGE_WORKSHEET_VIEWS_TABLES
- CAN_MANAGE_VERSION_CONTROL
- THIRDPARTY_ANALYSIS
- CONTROL_TRUSTED_AUTH
- CAN_CREATE_CATALOG
- ALLOW_NON_EMBED_FULL_APP_ACCESS
- CAN_ACCESS_ANALYST_STUDIO
- CAN_MANAGE_ANALYST_STUDIO
- CAN_VIEW_FOLDERS
- CAN_MODIDY_FOLDERS
- CAN_MANAGE_VARIABLES
- CAN_MANAGE_AGENTSPOT
- CAN_ACCESS_AGENTSPOT
- PREVIEW_DOCUMENT_SEARCH
- 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
description: Privileges granted to the role.
permission:
type: string
enum:
- READ_ONLY
- MODIFY
- NO_ACCESS
description: Permission details of the Role
nullable: true
author_id:
type: string
description: Unique identifier of author of the role.
nullable: true
modifier_id:
type: string
description: Unique identifier of modifier of the role.
nullable: true
creation_time_in_millis:
type: object
description: Creation time of the role in milliseconds.
nullable: true
modification_time_in_millis:
type: object
description: Last modified time of the role in milliseconds.
nullable: true
deleted:
type: boolean
description: Indicates whether the role is deleted.
nullable: true
deprecated:
type: boolean
description: Indicates whether the role is deprecated.
nullable: true
external:
type: boolean
description: Indicates whether the role is external.
nullable: true
hidden:
type: boolean
description: Indicates whether the role is hidden.
nullable: true
shared_via_connection:
type: boolean
description: Indicates whether the role is shared via connection
nullable: true
description: Response for search role api should handle hidden privileges as well.
SearchRolesRequest:
type: object
properties:
role_identifiers:
description: unique ID or name of the Roles
type: array
items:
type: string
org_identifiers:
description: Unique Id or name of the Organisation
type: array
items:
type: string
group_identifiers:
description: Unique Id or name of the User Group
type: array
items:
type: string
privileges:
description: Privileges assigned to the Role. See [Documentation](https://developers.thoughtspot.com/docs/rbac#_role_categories_and_privileges)for supported roles privileges.
type: array
items:
type: string
enum:
- UNKNOWN
- ADMINISTRATION
- AUTHORING
- USERDATAUPLOADING
- DATADOWNLOADING
- USERMANAGEMENT
- SECURITYMANAGEMENT
- LOGICALMODELING
- DATAMANAGEMENT
- TAGMANAGEMENT
- SHAREWITHALL
- SYSTEMMANAGEMENT
- JOBSCHEDULING
- A3ANALYSIS
- EXPERIMENTALFEATUREPRIVILEGE
- BYPASSRLS
- RANALYSIS
- DISABLE_PINBOARD_CREATION
- DEVELOPER
- APPLICATION_ADMINISTRATION
- USER_ADMINISTRATION
- GROUP_ADMINISTRATION
- BACKUP_ADMINISTRATION
- SYSTEM_INFO_ADMINISTRATION
- ENABLESPOTAPPCREATION
- SYNCMANAGEMENT
- ORG_ADMINISTRATION
- ROLE_ADMINISTRATION
- AUTHENTICATION_ADMINISTRATION
- BILLING_INFO_ADMINISTRATION
- PREVIEW_THOUGHTSPOT_SAGE
- LIVEBOARD_VERIFIER
- CAN_MANAGE_CUSTOM_CALENDAR
- CAN_CREATE_OR_EDIT_CONNECTIONS
- CAN_CONFIGURE_CONNECTIONS
- CAN_MANAGE_WORKSHEET_VIEWS_TABLES
- CAN_MANAGE_VERSION_CONTROL
- THIRDPARTY_ANALYSIS
- CONTROL_TRUSTED_AUTH
- CAN_CREATE_CATALOG
- ALLOW_NON_EMBED_FULL_APP_ACCESS
- CAN_ACCESS_ANALYST_STUDIO
- CAN_MANAGE_ANALYST_STUDIO
- CAN_VIEW_FOLDERS
- CAN_MODIDY_FOLDERS
- CAN_MANAGE_VARIABLES
- CAN_MANAGE_AGENTSPOT
- CAN_ACCESS_AGENTSPOT
- PREVIEW_DOCUMENT_SEARCH
- 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
deprecated:
description: Indicates whether the Role is deprecated.
type: boolean
deprecated: true
nullable: true
external:
description: Indicates whether the Role is external
type: boolean
deprecated: true
nullable: true
shared_via_connection:
description: Indicates whether the Role is shared via connection
type: boolean
deprecated: true
nullable: true
permissions:
description: Permission details of the Role
type: array
items:
type: string
enum:
- READ_ONLY
- MODIFY
- NO_ACCESS
deprecated: true
CreateRoleRequest:
type: object
properties:
name:
description: Unique name of the Role.
type: string
description:
description: Description of the Role.
type: string
privileges:
description: 'Privileges granted to the Role. See [Documentation](https://developers.thoughtspot.com/docs/rbac#_role_categories_and_privileges)for supported roles privileges. Note: AUTHORING is a no-op — always inherited via ALL_GROUP, assigning it has no effect.'
type: array
items:
type: string
enum:
- USERDATAUPLOADING
- DATADOWNLOADING
- DATAMANAGEMENT
- SHAREWITHALL
- JOBSCHEDULING
- A3ANALYSIS
- BYPASSRLS
- DISABLE_PINBOARD_CREATION
- DEVELOPER
- APPLICATION_ADMINISTRATION
- USER_ADMINISTRATION
- GROUP_ADMINISTRATION
- SYSTEM_INFO_ADMINISTRATION
- SYNCMANAGEMENT
- ORG_ADMINISTRATION
- ROLE_ADMINISTRATION
- AUTHENTICATION_ADMINISTRATION
- BILLING_INFO_ADMINISTRATION
- CONTROL_TRUSTED_AUTH
- TAGMANAGEMENT
- LIVEBOARD_VERIFIER
- CAN_MANAGE_CUSTOM_CALENDAR
- CAN_CREATE_OR_EDIT_CONNECTIONS
- CAN_MANAGE_WORKSHEET_VIEWS_TABLES
- CAN_MANAGE_VERSION_CONTROL
- THIRDPARTY_ANALYSIS
- CAN_CREATE_CATALOG
- ALLOW_NON_EMBED_FULL_APP_ACCESS
- CAN_ACCESS_ANALYST_STUDIO
- CAN_MANAGE_ANALYST_STUDIO
- PREVIEW_DOCUMENT_SEARCH
- CAN_MANAGE_VARIABLES
- CAN_MODIFY_FOLDERS
- CAN_VIEW_FOLDERS
- CAN_MANAGE_AGENTSPOT
- CAN_ACCESS_AGENTSPOT
- CAN_SETUP_VERSION_CONTROL
- PREVIEW_THOUGHTSPOT_SAGE
- 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
read_only:
description: '