openapi: 3.0.0
info:
title: ThoughtSpot Public REST 10.1.0.cl 9.0.0.cl API
version: '2.0'
servers:
- url: '{base-url}'
variables:
base-url:
default: https://localhost:443
security:
- bearerAuth: []
tags:
- name: 9.0.0.cl
paths:
/api/rest/2.0/auth/session/user:
get:
operationId: getCurrentUserInfo
description: "\n Version: 9.0.0.cl or later\n\nRetrieves details of the current user session for the token provided in the request header.\n\nAny ThoughtSpot user can access this endpoint and send an API request. The data returned in the API response varies according to user's privilege and object access permissions.\n\n**NOTE**: In ThoughtSpot, users with cluster administration privileges can access all Orgs by default. However, unless the administrator is explicitly added to an Org, the Orgs list in the session information returned by the API will include only the Primary Org. To include other Orgs in the API response, you must explicitly add the administrator to each Org in the Admin settings page in the UI or via user REST API.\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
parameters: []
responses:
'200':
description: Fetch current session user detail successful.
content:
application/json:
schema:
$ref: '#/components/schemas/User'
examples:
example_1:
description: Current user info for an admin user in the primary org
value:
id: 59481331-ee53-42be-a548-bd87be6ddd4a
name: tsadmin
display_name: TS Admin
visibility: SHARABLE
author_id: 59481331-ee53-42be-a548-bd87be6ddd4a
can_change_password: true
complete_detail: true
creation_time_in_millis: 1699900000000
current_org:
id: 0
name: Primary
deleted: false
deprecated: false
account_type: LOCAL_USER
account_status: ACTIVE
email: tsadmin@example.com
example_2:
description: Current user info for a SAML user switched to a non-primary org
value:
id: 7e4c9f2a-8b5d-4a1e-9c3b-6d8e2f5a7b4c
name: sales_analyst
display_name: Sales Analyst
visibility: SHARABLE
author_id: 7e4c9f2a-8b5d-4a1e-9c3b-6d8e2f5a7b4c
can_change_password: false
complete_detail: true
creation_time_in_millis: 1699900000000
current_org:
id: 583464508
name: sales_org
deleted: false
deprecated: false
account_type: SAML_USER
account_status: ACTIVE
email: sales_analyst@example.com
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized_access:
summary: Unauthorized access
value:
error:
message:
code: 10097
incident_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
trace_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
debug: Authentication required to retrieve the current user information.
'403':
description: Forbidden access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unexpected_error:
summary: Unexpected error
value:
error:
message:
code: 10038
incident_id_guid: d4e5f678-9012-3456-defa-456789012345
trace_id_guid: d4e5f678-9012-3456-defa-456789012345
debug: Unexpected server error while retrieving current user information.
/api/rest/2.0/auth/token/full:
post:
operationId: getFullAccessToken
description: "\n Version: 9.0.0.cl or later\n\nGenerates an authentication token for creating a full session in ThoughtSpot for a given user. Recommended for use cases that do not require Attribute-based access control (ABAC) via Row Level Security (RLS).\n\n#### Usage guidelines\n\nYou can generate a token for a user by providing a `username` and `password`, or by using the `secret_key` generated for your instance. To generate a `secret_key`, the administrator must enable [Trusted authentication](https://developers.thoughtspot.com/docs/trusted-auth-secret-key) in the **Develop** > **Customizations** > **Security Settings** page.\n\n**Note**:\n* When both `password` and `secret_key` are included in the API request, `password` takes precedence.\n* If [Multi-Factor Authentication (MFA)](https://docs.thoughtspot.com/cloud/latest/authentication-local-mfa) is enabled on your instance, the API login request with `username` and `password` returns an error. You can switch to token-based authentication with `secret_key` or contact ThoughtSpot Support for assistance.\n\nThe token obtained from ThoughtSpot is valid for 5 minutes by default. You can configure the token expiration time as required.\n\n#### Just-in-time provisioning\n\nFor [just-in-time user creation and provisioning](https://developers.thoughtspot.com/docs/just-in-time-provisioning), specify the following attributes in the API request:\n\n* `auto_create`\n* `username`\n* `display_name`\n* `email`\n* `group_identifiers`\n\nSet `auto_create` to `true` if the username does not exist in ThoughtSpot. If the user already exists in ThoughtSpot and `auto_create` is set to `true`, user properties such as display name, email and group assignment will be updated.\n\nTo add a new user and assign privileges during auto-creation, the `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege is required. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled, the `CONTROL_TRUSTED_AUTH` (**Can Enable or Disable Trusted Authentication**) privilege is required.\n\n#### Important point to note\nAll options in the token creation APIs that define user access to data in ThoughtSpot will take effect during token creation, not when the token is used for authentication. For example, `auto_create:true` will create the user when the authentication token is created.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetFullAccessTokenRequest'
required: true
parameters: []
responses:
'200':
description: Bearer auth token creation successful.
content:
application/json:
schema:
$ref: '#/components/schemas/Token'
examples:
example_1:
description: Full-access token generated using cluster secret key
value:
token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.example_full_token.signature
creation_time_in_millis: 1724277430000
expiration_time_in_millis: 1724277730000
scope:
access_type: FULL
org_id: 0
valid_for_user_id: 59481331-ee53-42be-a548-bd87be6ddd4a
valid_for_username: tsadmin
example_2:
description: Full-access token for a JIT-provisioned user in a specific org
value:
token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.example_jit_full_token.signature
creation_time_in_millis: 1724278000000
expiration_time_in_millis: 1724278300000
scope:
access_type: FULL
org_id: 1
valid_for_user_id: b3d9e1f7-2a4c-4e8b-9d1f-6c5a3b8e7d2f
valid_for_username: jit_analyst@example.com
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
invalid_request:
summary: Invalid request
value:
error:
message:
code: 10002
incident_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
trace_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
debug: Either secret_key or password must be provided.
'401':
description: Unauthorized access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized_access:
summary: Unauthorized access
value:
error:
message:
code: 10097
incident_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
trace_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
debug: Invalid credentials. The provided secret key or password is incorrect.
'403':
description: Forbidden access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
forbidden_access:
summary: Forbidden access
value:
error:
message:
code: 10023
incident_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
trace_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
debug: Trusted authentication is not enabled for this cluster or org.
'500':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unexpected_error:
summary: Unexpected error
value:
error:
message:
code: 10038
incident_id_guid: d4e5f678-9012-3456-defa-456789012345
trace_id_guid: d4e5f678-9012-3456-defa-456789012345
debug: Unexpected server error while generating the full-access token.
security: []
/api/rest/2.0/auth/token/object:
post:
operationId: getObjectAccessToken
description: "\n Version: 9.0.0.cl or later\n\nGenerates an authentication token that provides access to a specific metadata object. This object list is intersected with the list of objects the user is allowed to access via group membership. For more information, see [Object security](https://docs.thoughtspot.com/cloud/latest/security-data-object#object_security).\n\n#### Usage guidelines\n\nYou can generate a token for a user by providing a `username` and `password`, or by using the `secret_key` generated for your instance. To generate a `secret_key`, the administrator must enable [Trusted authentication](https://developers.thoughtspot.com/docs/trusted-auth-secret-key) in the **Develop** > **Customizations** > **Security Settings** page.\n\n**Note**:\n* When both `password` and `secret_key` are included in the API request, `password` takes precedence.\n* If [Multi-Factor Authentication (MFA)](https://docs.thoughtspot.com/cloud/latest/authentication-local-mfa) is enabled on your instance, the API login request with `username` and `password` returns an error. You can switch to token-based authentication with `secret_key` or contact ThoughtSpot Support for assistance.\n\nThe token obtained from ThoughtSpot is valid for 5 minutes by default. You can configure the token expiration time as required.\n\n#### Just-in-time provisioning\n\nFor [just-in-time user creation and provisioning](https://developers.thoughtspot.com/docs/just-in-time-provisioning), specify the following attributes in the API request:\n\n* `auto_create`\n* `username`\n* `display_name`\n* `email`\n* `group_identifiers`\n\nSet `auto_create` to `true` if the user is not available in ThoughtSpot. If the user already exists in ThoughtSpot and the `auto_create` parameter is set to `true`, user properties such as display name, email, and group assignment will be updated.\n\nTo add a new user and assign privileges, the `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege is required. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled, the `CONTROL_TRUSTED_AUTH`(**Can Enable or Disable Trusted Authentication**) privilege is required.\n\n#### Important point to note\n\nAll options in the token creation APIs that define user access to data in ThoughtSpot will take effect during token creation, not when the token is used for authentication. For example, `auto_create:true` will create the user when the authentication token is created.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetObjectAccessTokenRequest'
required: true
parameters: []
responses:
'200':
description: Bearer auth token creation successful.
content:
application/json:
schema:
$ref: '#/components/schemas/Token'
examples:
example_1:
description: Object-scoped access token for a specific liveboard
value:
token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.example_object_token.signature
creation_time_in_millis: 1724277430000
expiration_time_in_millis: 1724277730000
scope:
access_type: REPORT_BOOK_VIEW
org_id: 0
metadata_id: f47ac10b-58cc-4372-a567-0e02b2c3d479
valid_for_user_id: 59481331-ee53-42be-a548-bd87be6ddd4a
valid_for_username: tsadmin
example_2:
description: Object-scoped token with JIT user provisioning
value:
token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.example_jit_object_token.signature
creation_time_in_millis: 1724278000000
expiration_time_in_millis: 1724278300000
scope:
access_type: REPORT_BOOK_VIEW
org_id: 0
metadata_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
valid_for_user_id: 7e4c9f2a-8b5d-4a1e-9c3b-6d8e2f5a7b4c
valid_for_username: new_user@example.com
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
invalid_request:
summary: Invalid request
value:
error:
message:
code: 10002
incident_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
trace_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
debug: Either secret_key or password must be provided.
'401':
description: Unauthorized access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized_access:
summary: Unauthorized access
value:
error:
message:
code: 10097
incident_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
trace_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
debug: Invalid credentials. The provided secret key or password is incorrect.
'403':
description: Forbidden access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
forbidden_access:
summary: Forbidden access
value:
error:
message:
code: 10023
incident_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
trace_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
debug: Trusted authentication is not enabled for this cluster or org.
'500':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unexpected_error:
summary: Unexpected error
value:
error:
message:
code: 10038
incident_id_guid: d4e5f678-9012-3456-defa-456789012345
trace_id_guid: d4e5f678-9012-3456-defa-456789012345
debug: Unexpected server error while generating the object-scoped access token.
security: []
/api/rest/2.0/auth/session/login:
post:
operationId: login
description: "\n Version: 9.0.0.cl or later\n\nCreates a login session for a ThoughtSpot user with Basic authentication.\n\nIn Basic authentication method, REST clients log in to ThoughtSpot using `username` and `password` attributes. On a multi-tenant cluster with Orgs, users can pass the ID of the Org in the API request to log in to a specific Org context.\n\n**Note**: If Multi-Factor Authentication (MFA) is enabled on your instance, the API login request with basic authentication (`username` and `password` ) returns an error. Contact ThoughtSpot Support for assistance.\n\nA successful login returns a session cookie that can be used in your subsequent API requests.\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LoginRequest'
required: true
parameters: []
responses:
'204':
description: User login successful.
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
invalid_request:
summary: Invalid request
value:
error:
message:
code: 10002
incident_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
trace_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
debug: The specified org_identifier does not refer to a valid or accessible org.
'401':
description: Unauthorized access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized_access:
summary: Unauthorized access
value:
error:
message:
code: 10097
incident_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
trace_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
debug: Authentication failed. Verify that the username and password are correct.
'403':
description: Forbidden access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
forbidden_access:
summary: Forbidden access
value:
error:
message:
code: 10023
incident_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
trace_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
debug: User account is inactive or locked.
'500':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unexpected_error:
summary: Unexpected error
value:
error:
message:
code: 10038
incident_id_guid: d4e5f678-9012-3456-defa-456789012345
trace_id_guid: d4e5f678-9012-3456-defa-456789012345
debug: Unexpected server error during login.
/api/rest/2.0/auth/session/logout:
post:
operationId: logout
description: "\n Version: 9.0.0.cl or later\n\n\nLogs out a user from their current session.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
parameters: []
responses:
'204':
description: User logout successful.
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized_access:
summary: Unauthorized access
value:
error:
message:
code: 10097
incident_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
trace_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
debug: No active session found. User is not logged in.
'403':
description: Forbidden access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unexpected_error:
summary: Unexpected error
value:
error:
message:
code: 10038
incident_id_guid: d4e5f678-9012-3456-defa-456789012345
trace_id_guid: d4e5f678-9012-3456-defa-456789012345
debug: Unexpected server error during logout.
/api/rest/2.0/auth/token/revoke:
post:
operationId: revokeToken
description: "\n Version: 9.0.0.cl or later\n\n\nRevokes the authentication token issued for current user session.\n\nThe token of your current session expires when you make a call to the `/api/rest/2.0/auth/token/revoke` endpoint.\nthe users will not be able to access ThoughtSpot objects until a new token is obtained.\n\nTo restart your session, request for a new token from ThoughtSpot. See [Get Full Access Token](#/http/api-endpoints/authentication/get-full-access-token).\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RevokeTokenRequest'
required: true
parameters: []
responses:
'204':
description: Token successfully revoked.
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
invalid_request:
summary: Invalid request
value:
error:
message:
code: 10002
incident_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
trace_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
debug: Either user_identifier or token must be provided.
'401':
description: Unauthorized access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized_access:
summary: Unauthorized access
value:
error:
message:
code: 10097
incident_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
trace_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
debug: Authentication required to revoke a token.
'403':
description: Forbidden access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
forbidden_access:
summary: Forbidden access
value:
error:
message:
code: 10023
incident_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
trace_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
debug: Insufficient privileges to revoke tokens for another user.
'500':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unexpected_error:
summary: Unexpected error
value:
error:
message:
code: 10038
incident_id_guid: d4e5f678-9012-3456-defa-456789012345
trace_id_guid: d4e5f678-9012-3456-defa-456789012345
debug: Unexpected server error while revoking the token.
/api/rest/2.0/metadata/answer/data:
post:
operationId: fetchAnswerData
description: "\n Version: 9.0.0.cl or later\n\nFetches data from a saved Answer.\n\nRequires at least view access to the saved Answer. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled, the `CAN_DOWNLOAD_DETAILED_DATA` (**Can download detailed data**) privilege is also required.\n\nThe `record_size` attribute determines the number of records to retrieve in an API call. For more information about pagination, record size, and maximum row limit, see [Pagination and record size settings](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_pagination_settings_for_data_and_report_apis).\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FetchAnswerDataRequest'
required: true
parameters: []
responses:
'200':
description: Fetching data of specified metadata object is successful.
content:
application/json:
schema:
$ref: '#/components/schemas/AnswerDataResponse'
'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/metadata/liveboard/data:
post:
operationId: fetchLiveboardData
description: "\n Version: 9.0.0.cl or later\n\nGets data from a Liveboard object and its visualization. \n\nRequires at least view access to the Liveboard. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled, the `CAN_DOWNLOAD_DETAILED_DATA` (**Can download detailed data**) privilege is also required.\n\n#### Usage guidelines\n\nIn the request body, specify the GUID or name of the Liveboard. To get data for specific visualizations, add the GUIDs or names of the visualizations in the API request.\n\nTo include unsaved changes in the report, pass the `transient_pinboard_content` script generated from the `getExportRequestForCurrentPinboard` method in the Visual Embed SDK. Upon successful execution, the API returns the report with unsaved changes. If the new Liveboard experience mode, the transient content includes ad hoc changes to visualizations such as sorting, toggling of legends, and data drill down.\n\nFor more information, and see [Liveboard data API](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_fetch_liveboard_data_api).\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FetchLiveboardDataRequest'
required: true
parameters: []
responses:
'200':
description: Fetching data of specified metadata object is successful.
content:
application/json:
schema:
$ref: '#/components/schemas/LiveboardDataResponse'
'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/searchdata:
post:
operationId: searchData
description: "\n Version: 9.0.0.cl or later\n\nGenerates an Answer from a given data source.\n\nRequires at least view access to the data source object (Worksheet or View). If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled, the `CAN_DOWNLOAD_DETAILED_DATA` (**Can download detailed data**) privilege is also required.\n\n#### Usage guidelines\n\nTo search data, specify the data source GUID in `logical_table_identifier`. The data source can be a Worksheet, View, Table, or SQL view.\n\nPass search tokens in the `query_string` attribute in the API request as shown in the following example:\n\n```\n{\n \"query_string\": \"[sales] by [store]\",\n \"logical_table_identifier\": \"cd252e5c-b552-49a8-821d-3eadaa049cca\",\n}\n```\n\nFor more information about the `query_string` format and data source attribute, see [Search data API](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_search_data_api). \n\nThe `record_size` attribute determines the number of records to retrieve in an API call. For more information about pagination, record size, and maximum row limit, see [Pagination and record size settings](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_pagination_settings_for_data_and_report_api). \n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchDataRequest'
required: true
parameters: []
responses:
'200':
description: Fetching data of specified metadata object is successful.
content:
application/json:
schema:
$ref: '#/components/schemas/SearchDataResponse'
'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/create:
post:
operationId: createUserGroup
description: "\n Version: 9.0.0.cl or later\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:
- 9.0.0.cl
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 Version: 9.0.0.cl or later\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:
- 9.0.0.cl
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 Version: 9.0.0.cl or later\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:
- 9.0.0.cl
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 Version: 9.0.0.cl or later\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:
- 9.0.0.cl
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 Version: 9.0.0.cl or later\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:
- 9.0.0.cl
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'
/api/rest/2.0/logs/fetch:
post:
operationId: fetchLogs
description: "\n Version: 9.0.0.cl or later\n\nFetches security audit logs. \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 [Admin Control](https://developers.thoughtspot.com/docs/rbac#_admin_control) privileges are required.\n\n\n#### Usage guidelines\n\nBy default, the API retrieves logs for the last 24 hours. You can set a custom duration in EPOCH time. Make sure the log duration specified in your API request doesn’t exceed 24 hours. If you must fetch logs for a longer time range, modify the duration and make multiple sequential API requests.\n\nUpon successful execution, the API returns logs with the following information:\n* timestamp of the event\n* event ID\n* event type\n* name and GUID of the user\n* IP address of ThoughtSpot instance\n\nFor more information see [Audit logs Documentation](https://developers.thoughtspot.com/docs/audit-logs).\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FetchLogsRequest'
required: true
parameters: []
responses:
'200':
description: Log fetched successfully.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LogResponse'
'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/metadata/delete:
post:
operationId: deleteMetadata
description: "\n Version: 9.0.0.cl or later\n\nRemoves the specified metadata object from the ThoughtSpot system.\n\nRequires edit access to the metadata object. \n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteMetadataRequest'
required: true
parameters: []
responses:
'204':
description: Metadata objects 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/metadata/tml/export:
post:
operationId: exportMetadataTML
description: "\n Version: 9.0.0.cl or later\n\nExports the [TML](https://docs.thoughtspot.com/cloud/latest/tml) representation of metadata objects in JSON or YAML format.\n\nRequires `DATADOWNLOADING` (**Can download Data**) and at least view access to the metadata object.\n\n#### Usage guidelines\n\n* You can export one or several objects by passing metadata object GUIDs in the `metadata` array.\n* When exporting TML content for a Liveboard or Answer object, you can set `export_associated` to `true` to retrieve TML content for underlying Worksheets, Tables, or Views, including the GUID of each object within the headers. When `export_associated` is set to `true`, consider retrieving one metadata object at a time.\n* Set `export_fqns` to `true` to add FQNs of the referenced objects in the TML content. For example, if you send an API request to retrieve TML for a Liveboard and its associated objects, the API returns the TML content with FQNs of the referenced Worksheet. Exporting TML with FQNs is useful if ThoughtSpot has multiple objects with the same name and you want to eliminate ambiguity when importing TML files into ThoughtSpot. It eliminates the need for adding FQNs of the referenced objects manually during the import operation.\n* To export only the TML of feedbacks associated with an object, set the GUID of the object as `identifier`, and set the `type` as `FEEDBACK` in the `metadata` array.\n* To export the TML of an object along with the feedbacks associated with it, set the GUID of the object as `identifier`, set the `type` as `LOGIAL_TABLE` in the `metadata` array, and set `export_with_associated_feedbacks` in `export_options` to true.\n\nFor more information, see [TML Documentation](https://developers.thoughtspot.com/docs/tml#_export_a_tml).\n\nFor more information on feedbacks, see [Feedback Documentation](https://docs.thoughtspot.com/cloud/latest/sage-feedback).\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExportMetadataTMLRequest'
required: true
parameters: []
responses:
'200':
description: Export TMLs of specified metadata objects is successful.
content:
application/json:
schema:
type: array
items:
type: object
'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/metadata/answer/sql:
post:
operationId: fetchAnswerSqlQuery
description: "\n Version: 9.0.0.cl or later\n\nFetches the underlying SQL query data for an Answer object.\n\nRequires at least view access to the Answer object.\n\nUpon successful execution, the API returns the SQL queries for the specified object as shown in this example:\n```\n{\n \"metadata_id\":\"8fbe44a8-46ad-4b16-8d39-184b2fada490\",\n \"metadata_name\":\"Total sales\",\n \"metadata_type\":\"ANSWER\",\n \"sql_queries\":[\n {\n \"metadata_id\":\"8fbe44a8-46ad-4b16-8d39-184b2fada490\",\n \"metadata_name\":\"Total sales -test\",\n \"sql_query\":\"SELECT \\n \\\"ta_1\\\".\\\"REGION\\\" \\\"ca_1\\\", \\n \\\"ta_2\\\".\\\"PRODUCTNAME\\\" \\\"ca_2\\\", \\n \\\"ta_1\\\".\\\"STORENAME\\\" \\\"ca_3\\\", \\n CASE\\n WHEN sum(\\\"ta_3\\\".\\\"SALES\\\") IS NOT NULL THEN sum(\\\"ta_3\\\".\\\"SALES\\\")\\n ELSE 0\\n END \\\"ca_4\\\", \\n CASE\\n WHEN sum(\\\"ta_3\\\".\\\"QUANTITYPURCHASED\\\") IS NOT NULL THEN sum(\\\"ta_3\\\".\\\"QUANTITYPURCHASED\\\")\\n ELSE 0\\n END \\\"ca_5\\\"\\nFROM \\\"RETAILAPPAREL\\\".\\\"PUBLIC\\\".\\\"FACT_RETAPP_SALES\\\" \\\"ta_3\\\"\\n JOIN \\\"RETAILAPPAREL\\\".\\\"PUBLIC\\\".\\\"DIM_RETAPP_STORES\\\" \\\"ta_1\\\"\\n ON \\\"ta_3\\\".\\\"STOREID\\\" = \\\"ta_1\\\".\\\"STOREID\\\"\\n JOIN \\\"RETAILAPPAREL\\\".\\\"PUBLIC\\\".\\\"DIM_RETAPP_PRODUCTS\\\" \\\"ta_2\\\"\\n ON \\\"ta_3\\\".\\\"PRODUCTID\\\" = \\\"ta_2\\\".\\\"PRODUCTID\\\"\\nGROUP BY \\n \\\"ca_1\\\", \\n \\\"ca_2\\\", \\n \\\"ca_3\\\"\\n\"\n }\n ]\n}\n```\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FetchAnswerSqlQueryRequest'
required: true
parameters: []
responses:
'200':
description: Fetching SQL query of specified metadata object is successful.
content:
application/json:
schema:
$ref: '#/components/schemas/SqlQueryResponse'
'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/metadata/liveboard/sql:
post:
operationId: fetchLiveboardSqlQuery
description: "\n Version: 9.0.0.cl or later\n\nFetches the underlying SQL query data for a Liveboard object and its visualizations.\n\nRequires at least view access to the Liveboard object.\n\nTo get SQL query data for a Liveboard, specify the GUID of the Liveboard. Optionally, you can add an array of visualization GUIDs to retrieve the SQL query data for visualizations in the Liveboard.\n\nUpon successful execution, the API returns the SQL queries for the specified object as shown in this example:\n```\n{\n \"metadata_id\": \"fa68ae91-7588-4136-bacd-d71fb12dda69\",\n \"metadata_name\": \"Total Sales\",\n \"metadata_type\": \"LIVEBOARD\",\n \"sql_queries\": [\n {\n \"metadata_id\": \"b3b6d2b9-089a-490c-8e16-b144650b7843\",\n \"metadata_name\": \"Total quantity purchased, Total sales by region\",\n \"sql_query\": \"SELECT \\n \\\"ta_1\\\".\\\"REGION\\\" \\\"ca_1\\\", \\n CASE\\n WHEN sum(\\\"ta_2\\\".\\\"QUANTITYPURCHASED\\\") IS NOT NULL THEN sum(\\\"ta_2\\\".\\\"QUANTITYPURCHASED\\\")\\n ELSE 0\\n END \\\"ca_2\\\", \\n CASE\\n WHEN sum(\\\"ta_2\\\".\\\"SALES\\\") IS NOT NULL THEN sum(\\\"ta_2\\\".\\\"SALES\\\")\\n ELSE 0\\n END \\\"ca_3\\\"\\nFROM \\\"RETAILAPPAREL\\\".\\\"PUBLIC\\\".\\\"FACT_RETAPP_SALES\\\" \\\"ta_2\\\"\\n JOIN \\\"RETAILAPPAREL\\\".\\\"PUBLIC\\\".\\\"DIM_RETAPP_STORES\\\" \\\"ta_1\\\"\\n ON \\\"ta_2\\\".\\\"STOREID\\\" = \\\"ta_1\\\".\\\"STOREID\\\"\\nGROUP BY \\\"ca_1\\\"\"\n }\n ]\n}\n```\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FetchLiveboardSqlQueryRequest'
required: true
parameters: []
responses:
'200':
description: Fetching SQL query of specified metadata object is successful.
content:
application/json:
schema:
$ref: '#/components/schemas/SqlQueryResponse'
'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/metadata/tml/import:
post:
operationId: importMetadataTML
description: "\n Version: 9.0.0.cl or later\n\nImports [TML](https://docs.thoughtspot.com/cloud/latest/tml) files into ThoughtSpot.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtsSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the following Data control privileges may be required:\n- `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**)\n- `CAN_MANAGE_WORKSHEET_VIEWS_TABLES` (**Can manage data models**)\n\n#### Usage guidelines\n\n* Import all related objects in a single TML Import API call. For example, Tables that use the same Connection object and Worksheets connected to these Tables.\n* Include the `fqn` property to distinguish objects that have the same name.\n For example, if you have multiple Connections or Worksheets with the same name on ThoughtSpot and the Connection or Worksheet referenced in your TML file does not have a unique name to distinguish, it may result in invalid object references.\n Adding `fqn` helps ThoughtSpot differentiate a Table from another with the same name.\n We recommend [exporting TML with FQNs](#/http/api-endpoints/metadata/export-metadata-tml) and using these during the import operation.\n* You can upload multiple TML files at a time.\n If you import a Worksheet along with Liveboards, Answers, and other dependent objects in a single API call, the imported objects will be immediately available for use.\n When you import only a Worksheet object, it may take some time for the Worksheet to become available in the ThoughtSpot system. Please wait for a few minutes, and then proceed to create an Answer and Liveboard from the newly imported Worksheet.\n\nFor more information, see [TML Documentation](https://developers.thoughtspot.com/docs/tml#_import_a_tml).\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ImportMetadataTMLRequest'
required: true
parameters: []
responses:
'200':
description: Import metadata objects using specified TMLs is successful.
content:
application/json:
schema:
type: array
items:
type: object
'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/metadata/search:
post:
operationId: searchMetadata
description: "\n Version: 9.0.0.cl or later\n\nGets a list of metadata objects available on the ThoughtSpot system.\n\nThis API endpoint is available to all users who have view access to the object. Users with `ADMINISTRATION` (**Can administer ThoughtSpot**) privileges can view data for all metadata objects, including users and groups.\n\n#### Usage guidelines\n\n- To get all metadata objects, send the API request without any attributes.\n- To get metadata objects of a specific type, set the `type` attribute. For example, to fetch a Worksheet, set the type as `LOGICAL_TABLE`.\n- To filter metadata objects within type `LOGICAL_TABLE`, set the `subtypes` attribute. For example, to fetch a Worksheet, set the type as `LOGICAL_TABLE` & subtypes as `[WORKSHEET]`.\n- To get a specific metadata object, specify the GUID.\n- To customize your search and filter the API response, you can use several parameters.\n You can search for objects created or modified by specific users, by tags applied to the objects, or by using the include parameters like `include_auto_created_objects`, `include_dependent_objects`, `include_headers`, `include_incomplete_objects`, and so on.\n You can also define sorting options to sort the data retrieved in the API response.\n- To get discoverable objects when linientmodel is enabled you can use `include_discoverable_objects` as true else false. Default value is true.\n- For liveboard metadata type, to get the newer format, set the `liveboard_response_format` as V2. Default value is V1.\n- To retrieve only objects that are published, set the `include_only_published_objects` as true. Default value is false.\n\n**NOTE**: `obj_identifier` is supported for the following object types: `LIVEBOARD`, `ANSWER`, `LOGICAL_TABLE`, `LOGICAL_COLUMN`, `CONNECTION`, `USER_GROUP`, `COLLECTION`. The response includes the `metadata_obj_id` field for objects that have a Custom object ID set.\n\n**NOTE**: The following parameters support pagination of metadata records:\n\n- `tag_identifiers`\n- `type`\n- `subtypes`\n- `created_by_user_identifiers`\n- `modified_by_user_identifiers`\n- `owned_by_user_identifiers`\n- `exclude_objects`\n- `include_auto_created_objects`\n- `favorite_object_options`\n- `include_only_published_objects`\nIf you are using other parameters to search metadata, set `record_size` to `-1` and `record_offset` to `0`.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchMetadataRequest'
required: true
parameters: []
responses:
'200':
description: Metadata objects search result.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MetadataSearchResponse'
'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/orgs/create:
post:
operationId: createOrg
description: "\n Version: 9.0.0.cl or later\n\nCreates an Org object.\n\nTo use this API, the [Orgs](https://docs.thoughtspot.com/cloud/latest/orgs-overview) feature must be enabled in your cluster.\n\nRequires cluster administration (**Can administer Org**) privileges.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `ORG_ADMINISTRATION` (**Can manage Orgs**) privilege is required.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrgRequest'
required: true
parameters: []
responses:
'200':
description: Organization successfully created.
content:
application/json:
schema:
$ref: '#/components/schemas/OrgResponse'
examples:
example_1:
value:
id: 1980035173
name: test_org
status: ACTIVE
description: test_org
visibility: SHOW
'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/orgs/{org_identifier}/delete:
post:
operationId: deleteOrg
description: "\n Version: 9.0.0.cl or later\n\nDeletes an Org object from the ThoughtSpot system.\n\nRequires cluster administration (**Can administer Org**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `ORG_ADMINISTRATION` (**Can manage Orgs**) privilege is required.\n\nWhen you delete an Org, all its users and objects created in that Org context are removed. However, if the users in the deleted Org also exists in other Orgs, they are removed only from the deleted Org.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
parameters:
- in: path
name: org_identifier
required: true
schema:
type: string
description: ID or name of the Org
responses:
'204':
description: Organization 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/orgs/search:
post:
operationId: searchOrgs
description: "\n Version: 9.0.0.cl or later\n\nGets a list of Orgs configured on the ThoughtSpot system. To get details of a specific Org, specify the Org ID or name. You can also pass parameters such as status, visibility, and user identifiers to get a specific list of Orgs.\n\nRequires cluster administration (**Can administer Org**) privileges.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `ORG_ADMINISTRATION` (**Can manage Orgs**) privilege is required.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchOrgsRequest'
required: true
parameters: []
responses:
'200':
description: Organization search result.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/OrgResponse'
examples:
example_1:
value:
- id: 0
name: Primary
status: ACTIVE
description: Primary Org
visibility: SHOW
- id: 583464508
name: test_org
status: ACTIVE
description: test_org
visibility: SHOW
'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/orgs/{org_identifier}/update:
post:
operationId: updateOrg
description: "\n Version: 9.0.0.cl or later\n\nUpdates an Org object. You can modify Org properties such as name, description, and user associations.\n\nRequires cluster administration (**Can administer Org**) privileges.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `ORG_ADMINISTRATION` (**Can manage Orgs**) privilege is required.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateOrgRequest'
required: true
parameters:
- in: path
name: org_identifier
required: true
schema:
type: string
description: ID or name of the Org
responses:
'204':
description: Organization 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'
/api/rest/2.0/report/answer:
post:
operationId: exportAnswerReport
description: "\n Version: 9.0.0.cl or later\n\nExports an Answer in the given file format. You can download the Answer data as a PDF, PNG, CSV, or XLSX file.\n\nRequires at least view access to the Answer. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is not enabled, the `DATADOWNLOADING` (**Can download Data**) privilege is required. If RBAC is enabled, the required download privilege depends on the selected `file_format`: `CSV`, `XLSX`, and `PDF` require the `CAN_DOWNLOAD_DETAILED_DATA` (**Can download detailed data**) privilege, and `PNG` requires the `CAN_DOWNLOAD_VISUALS` (**Can download visuals**) privilege. For an Answer, the `PDF` export is a table PDF, which is why it falls under `CAN_DOWNLOAD_DETAILED_DATA` rather than `CAN_DOWNLOAD_VISUALS`.\n\n#### Usage guidelines\n\nIn the request body, specify the GUID or name of the Answer and set `file_format`. The default file format is CSV.\n\nUse the `type` parameter to specify whether the Answer being exported is a saved Answer (`SAVED`) or a pinned Answer on a Liveboard (`PINNED`). Defaults to `SAVED`. When using `PINNED`, the `metadata_identifier` must be the container id.\n\n**NOTE**:\n* The downloadable file returned in API response file is extensionless. Please rename the downloaded file by typing in the relevant extension.\n* HTML rendering is not supported for PDF exports of Answers with tables.\n\nOptionally, you can define [runtime overrides](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_overrides) to apply to the Answer data. \n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExportAnswerReportRequest'
required: true
parameters: []
responses:
'200':
description: Export report file of specified metadata object is successful.
content:
application/octet-stream: {}
'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/report/liveboard:
post:
operationId: exportLiveboardReport
description: "\n Version: 9.0.0.cl or later\n\nExports a Liveboard and its visualizations in PDF, PNG, CSV, or XLSX file format.\nThe default `file_format` is CSV.\n\nRequires at least view access to the Liveboard. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is not enabled, the `DATADOWNLOADING` (**Can download Data**) privilege is required. If RBAC is enabled, the required download privilege depends on the selected `file_format`: `CSV` and `XLSX` require the `CAN_DOWNLOAD_DETAILED_DATA` (**Can download detailed data**) privilege, and `PNG` and `PDF` require the `CAN_DOWNLOAD_VISUALS` (**Can download visuals**) privilege.\n\n#### Usage guidelines\n\nIn the request body, specify the GUID or name of the Liveboard. To generate a Liveboard report with specific visualizations, add GUIDs or names of the visualizations.\n\n**NOTE**: \n\n* The downloadable file returned in API response file is extensionless. Please rename the downloaded file by typing in the relevant extension.\n\n* Optionally, you can define [runtime overrides](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_overrides) to apply to the Answer data.\n\n* To include unsaved changes in the report, pass the `transient_pinboard_content` script generated from the `getExportRequestForCurrentPinboard` method in the Visual Embed SDK. Upon successful execution, the API returns the report with unsaved changes, including ad hoc changes to visualizations. For more information, see [Liveboard Report API](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_liveboard_report_api). \n\n* Starting with ThoughtSpot Cloud 10.9.0.cl release, the Liveboard can be exported in the PNG format in the resolution of your choice. To enable this on your instance, contact ThoughtSpot support. When this feature is enabled, the options `include_cover_page`,`include_filter_page` within the `png_options` will not be available for PNG exports.\n\n* Starting with the ThoughtSpot Cloud 26.2.0.cl release,\n\n * Liveboards can be exported in CSV format. \n * All visualizations within a Liveboard can be exported as individual CSV files. \n * When exporting multiple visualizations or the entire Liveboard, the system returns the report as a compressed ZIP file containing the separate CSV files for each visualization.\n\n * Liveboards can also be exported in XLSX format. \n * All selected visualizations are consolidated into a single Excel workbook (.xlsx), with each visualization placed in its own worksheet (tab). \n * XLSX exports are limited to a maximum of 255 worksheets (tabs) per workbook.\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExportLiveboardReportRequest'
required: true
parameters: []
responses:
'200':
description: Export report file of specified metadata object is successful.
content:
application/octet-stream: {}
'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/security/metadata/assign:
post:
operationId: assignChangeAuthor
description: "\n Version: 9.0.0.cl or later\n\nTransfers the ownership of one or several objects from one user to another.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `USER_ADMINISTRATION` (**Can manage users**) privilege and edit access to the objects are required.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AssignChangeAuthorRequest'
required: true
parameters: []
responses:
'204':
description: Author assignment for given metadata objects is successful.
'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/security/principals/fetch-permissions:
post:
operationId: fetchPermissionsOfPrincipals
description: "\n Version: 9.0.0.cl or later\n\nFetches object permission details for a given principal object such as a user and group.\n\nRequires view access to the metadata object. \n\n#### Usage guidelines\n\n* To get a list of all metadata objects that a user or group can access, specify the `type` and GUID or name of the principal.\n* To get permission details for a specific object, add the `type` and GUID or name of the metadata object to your API request.\n\nUpon successful execution, the API returns a list of metadata objects and permission details for each object. \n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FetchPermissionsOfPrincipalsRequest'
required: true
parameters: []
responses:
'200':
description: Fetching permissions of principals is successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PermissionOfPrincipalsResponse'
examples:
example_1:
value:
principal_permission_details:
- principal_id: 7f5e7f87-09a1-487c-a1da-c4bb35e45270
principal_name: test_user
principal_type: USER
principal_sub_type: LOCAL_USER
metadata_permission_info:
- metadata_type: LIVEBOARD
metadata_permissions:
- metadata_id: 2ff57a24-cf90-485f-8b4b-45fc17474c6f
metadata_name: Learn how to use ThoughtSpot
metadata_owner:
id: 2ff57a24-cf90-485f-8b4b-45fc17474c6f
name: Learn how to use ThoughtSpot
metadata_author:
id: 59481331-ee53-42be-a548-bd87be6ddd4a
name: tsadmin
permission: READ_ONLY
shared_permission: NO_ACCESS
group_permission: []
'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/security/metadata/fetch-permissions:
post:
operationId: fetchPermissionsOnMetadata
description: "\n Version: 9.0.0.cl or later\n\nFetches permission details for a given metadata object.\n\nRequires view access to the metadata object.\n\n#### Usage guidelines\n\n* To fetch a list of users and groups for a metadata object, specify `type` and GUID or name of the metadata object.\n* To get permission details for a specific user or group, add `type` and GUID or name of the principal object to your API request.\n\nUpon successful execution, the API returns permission details and principal information for the object specified in the API request.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FetchPermissionsOnMetadataRequest'
required: true
parameters: []
responses:
'200':
description: Fetching permissions of metadata objects is successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PermissionOfMetadataResponse'
examples:
example_1:
value:
metadata_permission_details:
- metadata_id: a62a5bf3-9f16-45b2-a174-7d30b3b577a9
metadata_name: testing
metadata_type: LIVEBOARD
metadata_owner:
id: a62a5bf3-9f16-45b2-a174-7d30b3b577a9
name: testing
metadata_author:
id: 59481331-ee53-42be-a548-bd87be6ddd4a
name: tsadmin
principal_permission_info:
- principal_type: USER_GROUP
principal_sub_type: LOCAL_GROUP
principal_permissions:
- principal_id: d0326b56-ef23-4c8a-8327-a30e99bcc72b
principal_name: Administrator
permission: MODIFY
shared_permission: NO_ACCESS
group_permission: []
- principal_type: USER
principal_sub_type: LOCAL_USER
principal_permissions:
- principal_id: 0f0dd0f7-7411-4195-a4aa-0dc6b58413c9
principal_name: su
permission: MODIFY
shared_permission: NO_ACCESS
group_permission: []
- principal_id: 59481331-ee53-42be-a548-bd87be6ddd4a
principal_name: tsadmin
permission: MODIFY
shared_permission: NO_ACCESS
group_permission: []
'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/security/metadata/share:
post:
operationId: shareMetadata
description: "\n Version: 9.0.0.cl or later\n\nAllows sharing one or several metadata objects with users and groups in ThoughtSpot.\n\nRequires edit access to the metadata object.\n\n#### Supported metadata objects:\n* Liveboards\n* Visualizations\n* Answers\n* Models\n* Views\n* Connections\n* Collections\n\n#### Object permissions\n\nYou can provide `READ_ONLY` or `MODIFY` access when sharing an object with another user or group. The `READ_ONLY` permission grants view access to the shared object, whereas `MODIFY` provides edit access.\n\nTo prevent a user or group from accessing the shared object, specify the GUID or name of the principal and set `shareMode` to `NO_ACCESS`.\n\n#### Sharing a visualization\n\n* Sharing a visualization implicitly shares the entire Liveboard with the recipient.\n* Object permissions set for a shared visualization also apply to the Liveboard unless overridden by another API request or via UI.\n* If email notifications for object sharing are enabled, a notification with a link to the shared visualization will be sent to the recipient’s email address. Although this link opens the shared visualization, recipients can also access other visualizations in the Liveboard.\n\n#### Sharing a collection\n\nCollections support **dual permissions** that provide fine-grained control:\n\n* **Collection permissions** (`share_mode`) - controls access to the collection itself (view, edit, delete the collection)\n* **Content permissions** (`content_share_mode`) - controls access to objects within the collection (view, edit objects inside)\n\n**Default Behavior:**\n- If only `share_mode` is specified, the content permissions default to `READ_ONLY` (except when `share_mode` is `NO_ACCESS`, then content also gets `NO_ACCESS`)\n- To give users edit access to collection contents, explicitly set `content_share_mode: \"MODIFY\"`\n\n## Examples\n\nThe following JSON examples can be copy-pasted as request bodies for the REST v2 API endpoint:\n\n```bash\nPOST /callosum/v1/v2/security/metadata/share\nContent-Type: application/x-www-form-urlencoded\n```\n\n### Basic collection sharing\nShare a collection with read-only access:\n\n```json\n{\n \"metadata_type\": \"COLLECTION\",\n \"metadata_identifiers\": [\"Sales Reports Collection\"],\n \"permissions\": [{\n \"principal\": {\n \"type\": \"USER\",\n \"identifier\": \"alice@company.com\"\n },\n \"share_mode\": \"READ_ONLY\"\n }],\n \"notification\": {\n \"message\": \"I've shared the Sales Reports collection with you\",\n \"notify_on_share\": true\n }\n}\n```\n\n### Collection sharing with dual permissions\nShare a collection with different permissions for the collection vs. its contents:\n\n```json\n{\n \"metadata_type\": \"COLLECTION\",\n \"metadata_identifiers\": [\"Marketing Analytics\"],\n \"permissions\": [{\n \"principal\": {\n \"type\": \"USER\",\n \"identifier\": \"bob@company.com\"\n },\n \"share_mode\": \"MODIFY\",\n \"content_share_mode\": \"READ_ONLY\"\n }, {\n \"principal\": {\n \"type\": \"USER_GROUP\",\n \"identifier\": \"Marketing Team\"\n },\n \"share_mode\": \"READ_ONLY\",\n \"content_share_mode\": \"READ_ONLY\"\n }],\n \"notification\": {\n \"emails\": [\"bob@company.com\"],\n \"message\": \"You can edit the collection but content is read-only\",\n \"enable_custom_url\": false,\n \"notify_on_share\": true\n },\n \"has_lenient_discoverability\": false\n}\n```\n\n### Multiple collections sharing\nShare multiple collections with different users:\n\n```json\n{\n \"metadata\": [\n {\n \"type\": \"COLLECTION\",\n \"identifier\": \"Q4 Reports\"\n },\n {\n \"type\": \"COLLECTION\",\n \"identifier\": \"Executive Dashboard Collection\"\n }\n ],\n \"permissions\": [{\n \"principal\": {\n \"type\": \"USER_GROUP\",\n \"identifier\": \"Executives\"\n },\n \"share_mode\": \"MODIFY\"\n }, {\n \"principal\": {\n \"type\": \"USER\",\n \"identifier\": \"manager@company.com\"\n },\n \"share_mode\": \"READ_ONLY\",\n \"content_share_mode\": \"MODIFY\"\n }],\n \"notification\": {\n \"message\": \"Sharing quarterly collections with leadership team\",\n \"notify_on_share\": true\n }\n}\n```\n\n### Remove collection access\nRemove access to a collection by setting share_mode to NO_ACCESS:\n\n```json\n{\n \"metadata_type\": \"COLLECTION\",\n \"metadata_identifiers\": [\"Confidential Reports\"],\n \"permissions\": [{\n \"principal\": {\n \"type\": \"USER\",\n \"identifier\": \"former-employee@company.com\"\n },\n \"share_mode\": \"NO_ACCESS\"\n }],\n \"notification\": {\n \"notify_on_share\": false\n }\n}\n```\n\n### Collection Permission Scenarios\n\n**Scenario 1: Collection Admin**\n- `share_mode: MODIFY` + `content_share_mode: MODIFY` = Full control over collection and its contents\n\n**Scenario 2: Collection Curator**\n- `share_mode: MODIFY` + `content_share_mode: READ_ONLY` = Can manage collection structure but not edit contents\n\n**Scenario 3: Content Editor**\n- `share_mode: READ_ONLY` + `content_share_mode: MODIFY` = Can edit objects within collection but can't change collection itself\n\n**Scenario 4: Viewer**\n- `share_mode: READ_ONLY` + `content_share_mode: READ_ONLY` = View-only access to collection and contents\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ShareMetadataRequest'
required: true
parameters: []
responses:
'204':
description: Sharing metadata objects is successful.
'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/system/config:
get:
operationId: getSystemConfig
description: "\n Version: 9.0.0.cl or later\n\nRetrieves the current configuration details of the cluster. If the request is successful, the API returns a list configuration settings applied on the cluster.\n\nRequires `ADMINISTRATION`(**Can administer ThoughtSpot**) privilege to view these complete configuration settings of the cluster.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `SYSTEM_INFO_ADMINISTRATION` (**Can view system activities**) privilege is required.\n\nThis API does not require any parameters to be passed in the request.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
parameters: []
responses:
'200':
description: Cluster config information.
content:
application/json:
schema:
$ref: '#/components/schemas/SystemConfig'
examples:
example_1:
value:
onboarding_content_url: ''
saml_enabled: false
okta_enabled: false
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized_access:
summary: Unauthorized access
value:
error:
message:
code: 10097
incident_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
trace_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
debug: Authentication required to retrieve system configuration.
'403':
description: Forbidden access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
forbidden_access:
summary: Forbidden access
value:
error:
message:
code: 10023
incident_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
trace_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
debug: ADMINISTRATION privilege required to retrieve system configuration.
'500':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unexpected_error:
summary: Unexpected error
value:
error:
message:
code: 10038
incident_id_guid: d4e5f678-9012-3456-defa-456789012345
trace_id_guid: d4e5f678-9012-3456-defa-456789012345
debug: Unexpected server error while retrieving system configuration.
/api/rest/2.0/system:
get:
operationId: getSystemInformation
description: "\n Version: 9.0.0.cl or later\n\nGets system information such as the release version, locale, time zone, deployment environment, date format, and date time format of the cluster.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privileges.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `SYSTEM_INFO_ADMINISTRATION` (**Can view system activities**) privilege is required.\n\nThis API does not require any parameters to be passed in the request. \n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
parameters: []
responses:
'200':
description: Cluster information.
content:
application/json:
schema:
$ref: '#/components/schemas/SystemInfo'
examples:
example_1:
value:
id: local
name: local
release_version: test
time_zone: America/Los_Angeles
locale: ''
date_format: MM/dd/yyyy
api_version: v1
type: SW
environment: DEV
license: EAE
date_time_format: MM/dd/yyyy h:mm a
time_format: HH:mm:ss
system_user_id: 67e15c06-d153-4924-a4cd-ff615393b60f
super_user_id: 0f0dd0f7-7411-4195-a4aa-0dc6b58413c9
hidden_object_id: 31745bb4-defd-4e8b-8de9-8fd01db78827
system_group_id: 179d8867-cf36-4a8d-a019-63a226fd3196
tsadmin_user_id: 59481331-ee53-42be-a548-bd87be6ddd4a
admin_group_id: d0326b56-ef23-4c8a-8327-a30e99bcc72b
all_tables_connection_id: bfc6feb4-8dac-402c-8ae8-78b43d318777
all_user_group_id: b25ee394-9d13-49e3-9385-cd97f5b253b4
accept_language: undefined
all_user_group_member_user_count: 13
logical_model_version: 43
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized_access:
summary: Unauthorized access
value:
error:
message:
code: 10097
incident_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
trace_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
debug: Authentication required to retrieve system information.
'403':
description: Forbidden access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
forbidden_access:
summary: Forbidden access
value:
error:
message:
code: 10023
incident_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
trace_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
debug: ADMINISTRATION privilege required to retrieve system information.
'500':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unexpected_error:
summary: Unexpected error
value:
error:
message:
code: 10038
incident_id_guid: d4e5f678-9012-3456-defa-456789012345
trace_id_guid: d4e5f678-9012-3456-defa-456789012345
debug: Unexpected server error while retrieving system information.
/api/rest/2.0/tags/assign:
post:
operationId: assignTag
description: "\n Version: 9.0.0.cl or later\n\nAssigns tags to Liveboards, Answers, Tables, and Worksheets.\n\nRequires edit access to the metadata object.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AssignTagRequest'
required: true
parameters: []
responses:
'204':
description: Tags successfully assigned.
'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/tags/create:
post:
operationId: createTag
description: "\n Version: 9.0.0.cl or later\n\nCreates a tag object.\n\nTags are labels that identify a metadata object. For example, you can create a tag to designate subject areas, such as sales, HR, marketing, and finance.\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 `TAGMANAGEMENT` (**Can manage tags**) privilege is required to create, edit, and delete tags.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTagRequest'
required: true
parameters: []
responses:
'200':
description: Tag successfully created.
content:
application/json:
schema:
$ref: '#/components/schemas/Tag'
examples:
example_1:
value:
name: test5
id: 6abf5aec-3485-4f83-b25f-8c55b92e2b20
color: '#342323'
deleted: false
hidden: false
external: false
deprecated: false
creation_time_in_millis: 1685441468684
modification_time_in_millis: 1685441468684
author_id: 59481331-ee53-42be-a548-bd87be6ddd4a
modifier_id: 59481331-ee53-42be-a548-bd87be6ddd4a
owner_id: 6abf5aec-3485-4f83-b25f-8c55b92e2b20
'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/tags/{tag_identifier}/delete:
post:
operationId: deleteTag
description: "\n Version: 9.0.0.cl or later\n\nDeletes a tag 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 `TAGMANAGEMENT` (**Can manage tags**) privilege is required to create, edit, and delete tags.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
parameters:
- in: path
name: tag_identifier
required: true
schema:
type: string
description: Tag identifier Tag name or Tag id.
responses:
'204':
description: Tag 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/tags/search:
post:
operationId: searchTags
description: "\n Version: 9.0.0.cl or later\n\nGets a list of tag objects available on the ThoughtSpot system. To get details of a specific tag object, specify the GUID or name.\n\nAny authenticated user can search for tag objects.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchTagsRequest'
required: true
parameters: []
responses:
'200':
description: Tags search result.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Tag'
examples:
example_1:
value:
- name: test4
id: 0935bbb5-17e2-43ab-b657-da6bf347cbb4
color: '#342323'
deleted: false
hidden: false
external: false
deprecated: false
creation_time_in_millis: 1684937524885
modification_time_in_millis: 1684937524885
author_id: 59481331-ee53-42be-a548-bd87be6ddd4a
modifier_id: 59481331-ee53-42be-a548-bd87be6ddd4a
owner_id: 0935bbb5-17e2-43ab-b657-da6bf347cbb4
- name: test6
id: 65a5c39a-daf5-4cae-975f-44283628494e
color: '#342323'
deleted: false
hidden: false
external: false
deprecated: false
creation_time_in_millis: 1684988834183
modification_time_in_millis: 1684988887888
author_id: 59481331-ee53-42be-a548-bd87be6ddd4a
modifier_id: 59481331-ee53-42be-a548-bd87be6ddd4a
owner_id: 65a5c39a-daf5-4cae-975f-44283628494e
'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/tags/unassign:
post:
operationId: unassignTag
description: "\n Version: 9.0.0.cl or later\n\nRemoves the tags applied to a Liveboard, Answer, Table, or Worksheet.\n\nRequires edit access to the metadata object.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UnassignTagRequest'
required: true
parameters: []
responses:
'204':
description: Tags successfully unassigned.
'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/tags/{tag_identifier}/update:
post:
operationId: updateTag
description: "\n Version: 9.0.0.cl or later\n\nUpdates a tag object.\n\nYou can modify the `name` and `color` properties of a tag object. \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 `TAGMANAGEMENT` (**Can manage tags**) privilege is required to create, edit, and delete tags.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTagRequest'
required: true
parameters:
- in: path
name: tag_identifier
required: true
schema:
type: string
description: Name or Id of the tag.
responses:
'204':
description: Tag 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'
/api/rest/2.0/users/change-password:
post:
operationId: changeUserPassword
description: "\n Version: 9.0.0.cl or later\n\nUpdates the current password of the user.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeUserPasswordRequest'
required: true
parameters: []
responses:
'204':
description: User password change operation successful.
'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/users/create:
post:
operationId: createUser
description: "\n Version: 9.0.0.cl or later\n\nCreates a user in ThoughtSpot.\n\nThe API endpoint allows you to configure several user properties such as email address, account status, share notification preferences, and sharing visibility. You can provision the user to [groups](https://docs.thoughtspot.com/cloud/latest/groups-privileges) and [Orgs](https://docs.thoughtspot.com/cloud/latest/orgs-overview). You can also add Liveboard, Answer, and Worksheet objects to the user’s favorites list, assign a default Liveboard for the user, and set user preferences.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserRequest'
required: true
parameters: []
responses:
'200':
description: User successfully created.
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'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/users/{user_identifier}/delete:
post:
operationId: deleteUser
description: "\n Version: 9.0.0.cl or later\n\nDeletes a user from the ThoughtSpot system.\n\nIf you want to remove a user from a specific Org but not from ThoughtSpot, update the group and Org mapping properties of the user object via a POST API call to the [/api/rest/2.0/users/{user_identifier}/update](#/http/api-endpoints/users/update-user) endpoint.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
parameters:
- in: path
name: user_identifier
required: true
schema:
type: string
description: GUID / name of the user
responses:
'204':
description: User 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/users/force-logout:
post:
operationId: forceLogoutUsers
description: "\n Version: 9.0.0.cl or later\n\nEnforces logout on current user sessions. \n\nUse this API with caution as it may invalidate active user sessions and force users to re-login. Make sure you specify the usernames or GUIDs. If you pass null values in the API call, all user sessions on your cluster become invalid, and the users are forced to re-login.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ForceLogoutUsersRequest'
required: true
parameters: []
responses:
'204':
description: Force logging out of users operation successful.
'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/users/import:
post:
operationId: importUsers
description: "\n Version: 9.0.0.cl or later\n\nImports user data from external databases into ThoughtSpot. During the user import operation:\n\n* If the specified users are not available in ThoughtSpot, the users are created and assigned a default password. Defining a `default_password` in the API request is optional.\n* If `delete_unspecified_users` is set to `true`, the users not specified in the API request, excluding the `tsadmin`, `guest`, `system` and `su` users, are deleted.\n* If the specified user objects are already available in ThoughtSpot, the object properties are updated 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\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ImportUsersRequest'
required: true
parameters: []
responses:
'200':
description: Import users operation successful.
content:
application/json:
schema:
$ref: '#/components/schemas/ImportUsersResponse'
'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/users/reset-password:
post:
operationId: resetUserPassword
description: "\n Version: 9.0.0.cl or later\n\nResets the password of a user account. Administrators can reset password on behalf of a user.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResetUserPasswordRequest'
required: true
parameters: []
responses:
'204':
description: User password reset operation successful.
'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/users/search:
post:
operationId: searchUsers
description: "\n Version: 9.0.0.cl or later\n\nGets a list of users available on the ThoughtSpot system.\n\nTo get details of a specific user, specify the user GUID or name. You can also filter the API response based on groups, Org ID, user visibility, account status, user type, and user preference settings and favorites.\n\nAvailable to all users. Users with `ADMINISTRATION` (**Can administer ThoughtSpot**) privileges can view all users properties. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n**NOTE**: If the API returns an empty list, consider increasing the value of the `record_size` parameter. To search across all available users, set `record_size` to `-1`.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchUsersRequest'
required: true
parameters: []
responses:
'200':
description: User search result.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/User'
'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/users/{user_identifier}/update:
post:
operationId: updateUser
description: "\n Version: 9.0.0.cl or later\n\nUpdates the properties of a user object.\n\nYou can modify user properties such as username, email, and share notification settings. You can also assign new groups and Orgs, remove the user from a group or Org, reset password, and modify user preferences.\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 `USER_ADMINISTRATION` (**Can manage users**) privilege is required.\n\n\n\n\n#### Endpoint URL\n"
tags:
- 9.0.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateUserRequest'
required: true
parameters:
- in: path
name: user_identifier
required: true
schema:
type: string
description: GUID / name of the user
responses:
'204':
description: User 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:
AssignTagRequest:
type: object
properties:
metadata:
description: Metadata objects.
type: array
items:
$ref: '#/components/schemas/TagMetadataTypeInput'
tag_identifiers:
description: GUID or name of the tag.
type: array
items:
type: string
required:
- metadata
- tag_identifiers
Runtime_Sorts:
type: object
properties:
column_name:
type: string
description: The column name to apply filter.
nullable: true
order:
type: string
enum:
- ASC
- DESC
description: Order for the sort.
nullable: true
persist:
type: boolean
default: false
description: 'Flag to persist the runtime sorts.
Version: 9.12.0.cl or later'
nullable: true
objects:
type: array
items:
$ref: '#/components/schemas/User_Object'
description: Object to apply the runtime sort.
nullable: true
description: Objects to apply the Runtime_Sorts.
Runtime_Filters:
type: object
required:
- column_name
- values
- operator
properties:
column_name:
type: string
description: The column name to apply filter.
values:
type: array
items:
type: string
description: Value of the filters.
operator:
type: string
enum:
- EQ
- NE
- LT
- LE
- GT
- GE
- IN
- BW
- CONTAINS
- BEGINS_WITH
- ENDS_WITH
- BW_INC
- BW_INC_MIN
- BW_INC_MAX
- LIKE
- NOT_IN
description: 'Operator value. Example: EQ'
persist:
type: boolean
default: false
description: 'Flag to persist the runtime filters.
Version: 9.12.0.cl or later'
nullable: true
objects:
type: array
items:
$ref: '#/components/schemas/User_Object'
description: Object to apply the runtime filter.
nullable: true
description: Objects to apply the Runtime_Filters.
ExportMetadataTMLRequest:
type: object
properties:
metadata:
description: Metadata objects.
type: array
items:
$ref: '#/components/schemas/ExportMetadataTypeInput'
export_associated:
description: Indicates whether to export associated metadata objects of specified metadata objects.
default: false
type: boolean
nullable: true
export_fqn:
description: 'Adds FQNs of the referenced objects. For example, if you are exporting a Liveboard and its associated objects,
the API returns the Liveboard TML data with the FQNs of the referenced worksheet.
If the exported TML data includes FQNs, you don''t need to manually add FQNs of the referenced objects during TML import.'
default: false
type: boolean
nullable: true
edoc_format:
description: 'TML EDOC content format.
**Note: exporting in YAML format currently requires manual formatting of the output. For more details on the workaround, please click [here](https://developers.thoughtspot.com/docs/known-issues#_version_9_12_0_cl)**'
default: JSON
type: string
enum:
- JSON
- YAML
export_schema_version:
description: Indicates whether to export worksheet TML in DEFAULT or V1 or V2 version.
default: DEFAULT
type: string
enum:
- DEFAULT
- V1
- V2
export_dependent:
description: Indicates whether to export table while exporting connection.
default: false
type: boolean
nullable: true
export_connection_as_dependent:
description: 'Indicates whether to export connection as dependent while exporting table/worksheet/answer/liveboard.
This will only be active when export_associated is true.'
default: false
type: boolean
nullable: true
all_orgs_override:
description: Indicates whether to export is happening from all orgs context.
default: false
type: boolean
nullable: true
export_options:
description: 'Flags to specify additional options for export.
Version: 10.6.0.cl or later'
allOf:
- $ref: '#/components/schemas/Export_Options'
required:
- metadata
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
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
items:
type: string
description: Unique ID of Liveboards that will be assigned as default Liveboards to the users in the group.
nullable: true
description:
type: string
description: Description of the group.
nullable: true
privileges:
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
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.'
nullable: true
sub_group_identifiers:
type: array
items:
type: string
description: Unique ID or name of the sub-groups to add to the group.
nullable: true
type:
type: string
enum:
- LOCAL_GROUP
- LDAP_GROUP
- TEAM_GROUP
- TENANT_GROUP
description: Type of the group.
nullable: true
user_identifiers:
type: array
items:
type: string
description: Unique ID or name of the users to assign to the group.
nullable: true
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.
nullable: true
ResetUserPasswordRequest:
type: object
properties:
new_password:
description: New password for the user.
type: string
user_identifier:
description: GUID or name of the user.
type: string
required:
- new_password
- user_identifier
SystemInfo:
type: object
properties:
id:
type: string
description: The unique identifier of the object
nullable: true
name:
type: string
description: Name of the cluster.
nullable: true
release_version:
type: string
description: The release version of the cluster.
nullable: true
time_zone:
type: string
description: The timezone of the cluster.
nullable: true
locale:
type: string
description: The default locale of the cluster.
nullable: true
date_format:
type: string
description: The default date format representation of the cluster.
nullable: true
api_version:
type: string
description: The API version of the cluster.
nullable: true
type:
type: string
description: The deployment type of the cluster.
nullable: true
environment:
type: string
description: The deployed environment of the cluster.
nullable: true
license:
type: string
description: The license applied to the cluster.
nullable: true
date_time_format:
type: string
description: The default date time format representation of the cluster.
nullable: true
time_format:
type: string
description: The default time format representation of the cluster.
nullable: true
system_user_id:
type: string
description: The unique identifier of system user.
nullable: true
super_user_id:
type: string
description: The unique identifier of super user.
nullable: true
hidden_object_id:
type: string
description: The unique identifier of hidden object.
nullable: true
system_group_id:
type: string
description: The unique identifier of system group.
nullable: true
tsadmin_user_id:
type: string
description: The unique identifier of tsadmin user.
nullable: true
admin_group_id:
type: string
description: The unique identifier of admin group.
nullable: true
all_tables_connection_id:
type: string
description: The unique identifier of all tables connection.
nullable: true
all_user_group_id:
type: string
description: The unique identifier of ALL group.
nullable: true
accept_language:
type: string
description: The supported accept language by the cluster.
nullable: true
all_user_group_member_user_count:
type: integer
format: int32
description: The count of users of ALL group.
nullable: true
logical_model_version:
type: integer
format: int32
description: The version number of logical model of the cluster.
nullable: true
OrgResponse:
type: object
properties:
id:
type: integer
format: int32
description: Unique identifier of the Org.
nullable: true
name:
type: string
description: Name of the Org.
nullable: true
status:
type: string
enum:
- ACTIVE
- IN_ACTIVE
description: Status of the Org.
nullable: true
description:
type: string
description: Description of the Org.
nullable: true
visibility:
type: string
enum:
- SHOW
- HIDDEN
description: Visibility of the Org.
nullable: true
SqlQueryResponse:
type: object
required:
- metadata_id
- metadata_name
- metadata_type
- sql_queries
properties:
metadata_id:
type: string
description: Unique identifier of the metadata.
metadata_name:
type: string
description: Name of the metadata.
metadata_type:
type: string
enum:
- LIVEBOARD
- ANSWER
- LOGICAL_TABLE
- LOGICAL_COLUMN
- CONNECTION
- TAG
- USER
- USER_GROUP
- LOGICAL_RELATIONSHIP
description: Type of the metadata.
sql_queries:
type: array
items:
$ref: '#/components/schemas/SqlQuery'
description: SQL query details of metadata objects.
Tag:
type: object
required:
- name
- id
properties:
name:
type: string
id:
type: string
color:
type: string
nullable: true
deleted:
type: boolean
nullable: true
hidden:
type: boolean
nullable: true
external:
type: boolean
nullable: true
deprecated:
type: boolean
nullable: true
creation_time_in_millis:
type: number
format: float
nullable: true
modification_time_in_millis:
type: number
format: float
nullable: true
author_id:
type: string
nullable: true
modifier_id:
type: string
nullable: true
owner_id:
type: string
nullable: true
AssignChangeAuthorRequest:
type: object
properties:
metadata:
description: GUID or name of the metadata object.
type: array
items:
$ref: '#/components/schemas/AuthorMetadataTypeInput'
user_identifier:
description: GUID or name of the user who you want to assign as the author.
type: string
current_owner_identifier:
description: 'GUID or name of the current author. When defined, the metadata objects
authored by the specified owner are filtered for the API operation.'
type: string
required:
- metadata
- user_identifier
PermissionOfPrincipalsResponse:
type: object
properties:
principal_permission_details:
type: object
nullable: true
UserGroup:
type: object
properties:
id:
type: string
nullable: true
name:
type: string
nullable: true
FetchPermissionsOnMetadataRequest:
type: object
properties:
metadata:
description: GUID or name of the metadata object.
type: array
items:
$ref: '#/components/schemas/PermissionsMetadataTypeInput'
principals:
description: 'User or group objects for which you want to fetch permissions.
If not specified, the API returns all users and groups that
can access the specified metadata objects.'
type: array
items:
$ref: '#/components/schemas/PrincipalsInput'
include_dependent_objects:
description: Indicates whether to fetch permissions of dependent metadata objects.
default: false
type: boolean
nullable: true
record_offset:
description: The starting record number from where the records should be included for each metadata type.
default: 0
type: integer
format: int32
record_size:
description: The number of records that should be included for each metadata type.
default: -1
type: integer
format: int32
permission_type:
description: "
{"param1": "Double List Param", "paramVal1": 0.5}. You can add multiple keys by incrementing the number at the end, for example, param2, paramVal2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_parameters).'
type: object
regional_settings:
description: Options for specific region specific overrides to support date/number/string/currency formatting.
allOf:
- $ref: '#/components/schemas/RegionalSettingsInput'
required:
- metadata_identifier
SharePermissionsInput:
type: object
required:
- principal
- share_mode
properties:
principal:
$ref: '#/components/schemas/PrincipalsInput'
description: Details of users or groups.
share_mode:
type: string
enum:
- READ_ONLY
- MODIFY
- NO_ACCESS
description: Type of access to the shared object
content_share_mode:
type: string
enum:
- READ_ONLY
- MODIFY
description: Content share mode for collections. Controls access to objects within the collection. Only applicable when sharing COLLECTION metadata type.
nullable: true
CreateUserRequest:
type: object
properties:
name:
description: Name of the user. The username string must be unique.
type: string
display_name:
description: A unique display name string for the user account, usually their first and last name
type: string
password:
description: Password for the user account. For IAMv2 users, you must set this password if you do not want to trigger an activation email.
type: string
email:
description: Email of the user account
type: string
account_type:
description: Type of the account.
default: LOCAL_USER
type: string
enum:
- LOCAL_USER
- LDAP_USER
- SAML_USER
- OIDC_USER
- REMOTE_USER
account_status:
description: Current status of the user account. The `SUSPENDED` user state indicates a transitional state applicable to IAMv2 users only.
default: ACTIVE
type: string
enum:
- ACTIVE
- INACTIVE
- EXPIRED
- LOCKED
- PENDING
- SUSPENDED
org_identifiers:
description: List of Org IDs to which the user belongs.
type: array
items:
type: string
group_identifiers:
description: GUIDs or names of the groups to which the newly created user belongs.
type: array
items:
type: string
visibility:
description: Visibility of the users. When set to SHARABLE, the user is visible to other users and groups when they try to share an object.
default: SHARABLE
type: string
enum:
- SHARABLE
- NON_SHARABLE
notify_on_share:
description: 'User preference for receiving email notifications when another ThoughtSpot
user shares a metadata object such as Answer, Liveboard, or Worksheet.'
default: true
type: boolean
nullable: true
show_onboarding_experience:
description: The user preference for revisiting the onboarding experience.
default: true
type: boolean
nullable: true
onboarding_experience_completed:
description: flag to get the on-boarding experience is completed or not.
default: false
type: boolean
nullable: true
home_liveboard_identifier:
description: 'GUID of the Liveboard to set a default Liveboard for the user.
ThoughtSpot displays this Liveboard on the Home page when the user logs in.'
type: string
favorite_metadata:
description: Metadata objects to add to the user's favorites list.
type: array
items:
$ref: '#/components/schemas/FavoriteMetadataInput'
preferred_locale:
description: 'Locale for the user. When setting this value, do not set use_browser_language
to true, otherwise the browser''s language setting will take precedence and the
preferred_locale value will be ignored.'
type: string
enum:
- en-CA
- en-GB
- en-US
- de-DE
- ja-JP
- zh-CN
- pt-BR
- fr-FR
- fr-CA
- es-US
- da-DK
- es-ES
- fi-FI
- sv-SE
- nb-NO
- pt-PT
- nl-NL
- it-IT
- ru-RU
- en-IN
- de-CH
- en-NZ
- es-MX
- en-AU
- zh-Hant
- ko-KR
- en-DE
use_browser_language:
description: 'Flag to indicate whether to use the browser locale for the user in the UI.
When set to true, the preferred_locale value is unset and the browser''s
language setting takes precedence. {"col1": "item type", "op1": "EQ", "val1": "Bags"} . You can add multiple keys by incrementing the number at the end, for example, col2, op2, val2, and col3, op3, val3. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_filters).'
type: object
runtime_sort:
description: 'JSON object representing columns to sort data at runtime. For example, {"sortCol1": "sales", "asc1": true} . You can add multiple keys by incrementing the number at the end, for example, sortCol1, asc2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_sort).'
type: object
runtime_param_override:
description: 'JSON object for setting values of parameters at runtime. For example, {"param1": "Double List Param", "paramVal1": 0.5}. You can add multiple keys by incrementing the number at the end, for example, param2, paramVal2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_parameters).'
type: object
required:
- metadata_identifier
RegionalSettingsInput:
type: object
properties:
currency_format:
type: string
description: ISO code to be appended with currency values.
nullable: true
enum:
- ADP
- AED
- AFN
- ALL
- AMD
- ANG
- AOA
- ARA
- ARS
- ATS
- AUD
- AWG
- AZN
- BAM
- BBD
- BDT
- BEF
- BGL
- BGM
- BGN
- BHD
- BIF
- BMD
- BND
- BOB
- BOP
- BOV
- BRL
- BSD
- BTN
- BUK
- BWP
- BYN
- BZD
- CAD
- CDF
- CHE
- CHF
- CHW
- CLE
- CLP
- CNX
- CNY
- COP
- COU
- CRC
- CSK
- CUC
- CUP
- CVE
- CYP
- CZK
- DDM
- DEM
- DJF
- DKK
- DOP
- DZD
- ECS
- ECV
- EEK
- EGP
- ERN
- ESP
- ETB
- EUR
- FIM
- FJD
- FKP
- FRF
- GBP
- GEK
- GEL
- GHS
- GIP
- GMD
- GNF
- GNS
- GQE
- GRD
- GTQ
- GWE
- GWP
- GYD
- HKD
- HNL
- HRD
- HRK
- HTG
- HUF
- IDR
- IEP
- ILP
- ILS
- INR
- IQD
- IRR
- ISK
- ITL
- JMD
- JOD
- JPY
- KES
- KGS
- KHR
- KMF
- KPW
- KRW
- KWD
- KYD
- KZT
- LAK
- LBP
- LKR
- LRD
- LSL
- LTL
- LTT
- LUC
- LUF
- LUL
- LVL
- LVR
- LYD
- MAD
- MAF
- MCF
- MDC
- MDL
- MGA
- MGF
- MKD
- MLF
- MMK
- MNT
- MOP
- MRU
- MTL
- MTP
- MUR
- MVR
- MWK
- MXN
- MXV
- MYR
- MZE
- MZN
- NAD
- NGN
- NIO
- NLG
- NOK
- NPR
- NZD
- OMR
- PAB
- PEI
- PEN
- PGK
- PHP
- PKR
- PLN
- PTE
- PYG
- QAR
- RHD
- RON
- RSD
- RUB
- RWF
- SAR
- SBD
- SCR
- SDG
- SEK
- SGD
- SHP
- SIT
- SKK
- SLL
- SOS
- SRD
- SRG
- SSP
- STN
- SUR
- SVC
- SYP
- SZL
- THB
- TJR
- TJS
- TMT
- TND
- TOP
- TPE
- TRY
- TTD
- TWD
- TZS
- UAH
- UAK
- UGX
- USD
- UYU
- UYW
- UZS
- VES
- VND
- VUV
- WST
- XAF
- XAG
- XAU
- XBA
- XBB
- XCD
- XDR
- XEU
- XFO
- XFU
- XOF
- XPD
- XPF
- XPT
- XRE
- XSU
- XTS
- XUA
- XXX
- YDD
- YER
- ZAR
- ZMW
user_locale:
type: string
description: Indicates the locale to be used for all formattings.
nullable: true
enum:
- en-CA
- en-GB
- en-US
- de-DE
- ja-JP
- zh-CN
- pt-BR
- fr-FR
- fr-CA
- es-US
- da-DK
- es-ES
- fi-FI
- sv-SE
- nb-NO
- pt-PT
- nl-NL
- it-IT
- ru-RU
- en-IN
- de-CH
- en-NZ
- es-MX
- en-AU
- zh-Hant
- ko-KR
- en-DE
number_format_locale:
type: string
description: Indicates the locale to be used for number formatting.
nullable: true
enum:
- en-CA
- en-GB
- en-US
- de-DE
- ja-JP
- zh-CN
- pt-BR
- fr-FR
- fr-CA
- es-US
- da-DK
- es-ES
- fi-FI
- sv-SE
- nb-NO
- pt-PT
- nl-NL
- it-IT
- ru-RU
- en-IN
- de-CH
- en-NZ
- es-MX
- en-AU
- zh-Hant
- ko-KR
- en-DE
date_format_locale:
type: string
description: Indicates the locale to be used for date formatting.
nullable: true
enum:
- en-CA
- en-GB
- en-US
- de-DE
- ja-JP
- zh-CN
- pt-BR
- fr-FR
- fr-CA
- es-US
- da-DK
- es-ES
- fi-FI
- sv-SE
- nb-NO
- pt-PT
- nl-NL
- it-IT
- ru-RU
- en-IN
- de-CH
- en-NZ
- es-MX
- en-AU
- zh-Hant
- ko-KR
- en-DE
SearchOrgsRequest:
type: object
properties:
org_identifier:
description: ID or name of the Org
type: string
description:
description: Description of the Org
type: string
visibility:
description: Visibility of the Org
type: string
enum:
- SHOW
- HIDDEN
status:
description: Status of the Org
type: string
enum:
- ACTIVE
- IN_ACTIVE
user_identifiers:
description: GUIDs or names of the users for which you want to retrieve the Orgs data
type: array
items:
type: string
User_Object:
type: object
required:
- identifier
properties:
type:
type: string
enum:
- LOGICAL_TABLE
description: " Type of object.\n \n\nRequired if the name of the object is set as the identifier. This attribute is optional when the object GUID is specified as the identifier.\n \n\n Specify the object type as `LOGICAL_TABLE`."
nullable: true
identifier:
type: string
description: Unique name/id of the object.
description: Objects to apply the User_Object.
Export_Options:
type: object
properties:
include_obj_id_ref:
type: boolean
default: false
description: Boolean Flag to export Object ID of referenced object. This flag will work only after the Object ID feature has been enabled. Please contact support to enable the feature.
nullable: true
include_guid:
type: boolean
default: true
description: Boolean flag to export guid of the object. This flag will work only after the Object ID feature has been enabled. Please contact support to enable the feature.
nullable: true
include_obj_id:
type: boolean
default: false
description: Boolean flag to export Object ID of the object. This flag will work only after the Object ID feature has been enabled. Please contact support to enable the feature.
nullable: true
export_with_associated_feedbacks:
type: boolean
default: false
description: 'Boolean flag indicating whether to export associated feedbacks of the object. This will only be respected when the object can have feedbacks. [Sales][Region]. See [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_search_data_api)
type: string
logical_table_identifier:
description: GUID of the data source object, such as a Worksheet, View, or Table. You can find the GUID of a data object from the UI or via API. See [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_search_query) for more details.
type: string
data_format:
description: JSON output in compact or full format. The FULL option is available in 9.12.5.cl or later.
default: COMPACT
type: string
enum:
- FULL
- COMPACT
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 to include in a batch.
default: 10
type: integer
format: int32
runtime_filter:
description: 'JSON object with representing filter condition to apply filters at runtime. For example, {"col1": "item type", "op1": "EQ", "val1": "Bags"} . You can add multiple keys by incrementing the number at the end, for example, col2, op2, val2, and col3, op3, val3. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_filters).'
type: object
runtime_sort:
description: 'JSON object representing columns to sort data at runtime. For example, {"sortCol1": "sales", "asc1": true} . You can add multiple keys by incrementing the number at the end, for example, sortCol1, asc2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_sort).'
type: object
runtime_param_override:
description: 'JSON object for setting values of parameters at runtime. For example, {"param1": "Double List Param", "paramVal1": 0.5}. You can add multiple keys by incrementing the number at the end, for example, param2, paramVal2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_parameters).'
type: object
required:
- query_string
- logical_table_identifier
FetchAnswerDataRequest:
type: object
properties:
metadata_identifier:
description: GUID or name of the Answer.
type: string
data_format:
description: JSON output in compact or full format. The FULL option is available in 9.12.5.cl or later.
default: COMPACT
type: string
enum:
- FULL
- COMPACT
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 to include in a batch.
default: 10
type: integer
format: int32
runtime_filter:
description: 'JSON object with representing filter condition to apply filters at runtime. For example, {"col1": "item type", "op1": "EQ", "val1": "Bags"} . You can add multiple keys by incrementing the number at the end, for example, col2, op2, val2, and col3, op3, val3. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_filters).'
type: object
runtime_sort:
description: 'JSON object representing columns to sort data at runtime. For example, {"sortCol1": "sales", "asc1": true} . You can add multiple keys by incrementing the number at the end, for example, sortCol1, asc2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_sort).'
type: object
runtime_param_override:
description: 'JSON object for setting values of parameters at runtime. For example, {"param1": "Double List Param", "paramVal1": 0.5}. You can add multiple keys by incrementing the number at the end, for example, param2, paramVal2. For more information, see [API Documentation](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_parameters).'
type: object
required:
- metadata_identifier
MetadataSearchResponse:
type: object
required:
- metadata_type
properties:
metadata_id:
type: string
description: Unique identifier of the metadata.
nullable: true
metadata_name:
type: string
description: Name of the metadata.
nullable: true
metadata_type:
type: string
enum:
- LIVEBOARD
- ANSWER
- LOGICAL_TABLE
- LOGICAL_COLUMN
- CONNECTION
- TAG
- USER
- USER_GROUP
- LOGICAL_RELATIONSHIP
- INSIGHT_SPEC
- COLLECTION
description: Type of the metadata.
metadata_obj_id:
type: string
description: 'Custom identifier of the metadata.
(Available from 10.8.0.cl onwards)'
nullable: true
dependent_objects:
type: object
description: Details of dependent objects of the metadata objects.
nullable: true
incomplete_objects:
type: array
items:
type: object
description: Details of incomplete information of the metadata objects if any.
nullable: true
metadata_detail:
type: object
description: Complete details of the metadata objects.
nullable: true
metadata_header:
type: object
description: Header information of the metadata objects.
nullable: true
visualization_headers:
type: array
items:
type: object
description: Visualization header information of the metadata objects.
nullable: true
stats:
type: object
description: Stats of the metadata object. Includes views, favorites, last_accessed.
nullable: true
description: Metadata Search Response Object.
FetchLiveboardSqlQueryRequest:
type: object
properties:
metadata_identifier:
description: ID or name of the Liveboard.
type: string
visualization_identifiers:
description: Unique ID or name of visualizations.
type: array
items:
type: string
required:
- metadata_identifier
securitySchemes:
bearerAuth:
type: http
scheme: bearer
x-roles:
- name: 26.2.0.cl
id: 26.2.0.cl
tags:
- 26.2.0.cl
description: Roles for version 26.2.0.cl
- name: 10.4.0.cl
id: 10.4.0.cl
tags:
- 10.4.0.cl
description: Roles for version 10.4.0.cl
- name: 26.7.0.cl
id: 26.7.0.cl
tags:
- 26.7.0.cl
description: Roles for version 26.7.0.cl
- name: 26.8.0.cl
id: 26.8.0.cl
tags:
- 26.8.0.cl
description: Roles for version 26.8.0.cl
- name: 26.6.0.cl
id: 26.6.0.cl
tags:
- 26.6.0.cl
description: Roles for version 26.6.0.cl
- name: 10.15.0.cl
id: 10.15.0.cl
tags:
- 10.15.0.cl
description: Roles for version 10.15.0.cl
- name: 10.13.0.cl
id: 10.13.0.cl
tags:
- 10.13.0.cl
description: Roles for version 10.13.0.cl
- name: 26.9.0.cl
id: 26.9.0.cl
tags:
- 26.9.0.cl
description: Roles for version 26.9.0.cl
- name: 10.7.0.cl
id: 10.7.0.cl
tags:
- 10.7.0.cl
description: Roles for version 10.7.0.cl
- name: 26.5.0.cl
id: 26.5.0.cl
tags:
- 26.5.0.cl
description: Roles for version 26.5.0.cl
- name: 9.0.0.cl
id: 9.0.0.cl
tags:
- 9.0.0.cl
description: Roles for version 9.0.0.cl
- name: 9.4.0.cl
id: 9.4.0.cl
tags:
- 9.4.0.cl
description: Roles for version 9.4.0.cl
- name: 9.12.0.cl
id: 9.12.0.cl
tags:
- 9.12.0.cl
description: Roles for version 9.12.0.cl
- name: 26.4.0.cl
id: 26.4.0.cl
tags:
- 26.4.0.cl
description: Roles for version 26.4.0.cl
- name: 10.12.0.cl
id: 10.12.0.cl
tags:
- 10.12.0.cl
description: Roles for version 10.12.0.cl
- name: 9.2.0.cl
id: 9.2.0.cl
tags:
- 9.2.0.cl
description: Roles for version 9.2.0.cl
- name: 9.9.0.cl
id: 9.9.0.cl
tags:
- 9.9.0.cl
description: Roles for version 9.9.0.cl
- name: 9.6.0.cl
id: 9.6.0.cl
tags:
- 9.6.0.cl
description: Roles for version 9.6.0.cl
- name: 10.10.0.cl
id: 10.10.0.cl
tags:
- 10.10.0.cl
description: Roles for version 10.10.0.cl
- name: 10.6.0.cl
id: 10.6.0.cl
tags:
- 10.6.0.cl
description: Roles for version 10.6.0.cl
- name: 10.3.0.cl
id: 10.3.0.cl
tags:
- 10.3.0.cl
description: Roles for version 10.3.0.cl
- name: 10.1.0.cl
id: 10.1.0.cl
tags:
- 10.1.0.cl
description: Roles for version 10.1.0.cl
- name: 10.9.0.cl
id: 10.9.0.cl
tags:
- 10.9.0.cl
description: Roles for version 10.9.0.cl
- name: 10.8.0.cl
id: 10.8.0.cl
tags:
- 10.8.0.cl
description: Roles for version 10.8.0.cl
- name: 9.5.0.cl
id: 9.5.0.cl
tags:
- 9.5.0.cl
description: Roles for version 9.5.0.cl
- name: 26.3.0.cl
id: 26.3.0.cl
tags:
- 26.3.0.cl
description: Roles for version 26.3.0.cl
- name: 10.14.0.cl
id: 10.14.0.cl
tags:
- 10.14.0.cl
description: Roles for version 10.14.0.cl
- name: 9.7.0.cl
id: 9.7.0.cl
tags:
- 9.7.0.cl
description: Roles for version 9.7.0.cl