Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2,130 changes: 1,931 additions & 199 deletions api-spec/openapiSpecv3-2_0.json

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions sdks/java/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Add this dependency to your project's POM:
<dependency>
<groupId>com.thoughtspot</groupId>
<artifactId>rest-api-sdk</artifactId>
<version>2.18.0</version>
<version>2.19.0</version>
<scope>compile</scope>
</dependency>
```
Expand All @@ -29,7 +29,7 @@ Add this dependency to your project's build file:
}

dependencies {
implementation "com.thoughtspot:rest-api-sdk:2.18.0"
implementation "com.thoughtspot:rest-api-sdk:2.19.0"
}
```

Expand Down
2,250 changes: 1,971 additions & 279 deletions sdks/java/api/openapi.yaml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion sdks/java/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ apply plugin: 'java'
apply plugin: 'com.diffplug.spotless'

group = 'com.thoughtspot'
version = '2.18.0'
version = '2.19.0'

buildscript {
repositories {
Expand Down
2 changes: 1 addition & 1 deletion sdks/java/build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ lazy val root = (project in file(".")).
settings(
organization := "com.thoughtspot",
name := "rest-api-sdk",
version := "2.18.0",
version := "2.19.0",
scalaVersion := "2.11.4",
scalacOptions ++= Seq("-feature"),
javacOptions in compile ++= Seq("-Xlint:deprecation"),
Expand Down
37 changes: 37 additions & 0 deletions sdks/java/docs/AiApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ All URIs are relative to *CLUSTER_URL*
| [**getDataSourceSuggestions**](AiApi.md#getDataSourceSuggestions) | **POST** /api/rest/2.0/ai/data-source-suggestions |
| [**getRelevantQuestions**](AiApi.md#getRelevantQuestions) | **POST** /api/rest/2.0/ai/relevant-questions/ |
| [**queryGetDecomposedQuery**](AiApi.md#queryGetDecomposedQuery) | **POST** /api/rest/2.0/ai/analytical-questions |
| [**sendAgentMessage**](AiApi.md#sendAgentMessage) | **POST** /api/rest/2.0/ai/agent/{conversation_identifier}/converse |
| [**sendAgentMessageStreaming**](AiApi.md#sendAgentMessageStreaming) | **POST** /api/rest/2.0/ai/agent/converse/sse |
| [**sendMessage**](AiApi.md#sendMessage) | **POST** /api/rest/2.0/ai/conversation/{conversation_identifier}/converse |
| [**singleAnswer**](AiApi.md#singleAnswer) | **POST** /api/rest/2.0/ai/answer/create |
Expand Down Expand Up @@ -189,6 +190,42 @@ Version: 10.7.0.cl or later
| **400** | Operation failed | - |
| **500** | Operation failed | - |

<a id="sendAgentMessage"></a>
# **sendAgentMessage**
> Object sendAgentMessage(conversationIdentifier, sendAgentMessageRequest)



Version: 10.13.0.cl or later This API allows users to initiate or continue an agent (Spotter) conversation by submitting one or more natural language messages. To use this API, the user must have access to the relevant conversational session (via conversation_identifier) and submit at least one message. #### Usage guidelines To initiate or continue a conversation, the request must include: - &#x60;conversation_identifier&#x60;: a unique session ID for continuity and message tracking - &#x60;messages&#x60;: an array of one or more text messages, each with a value and type The API returns a array of object with a type, message, and metadata. - &#x60;type&#x60;: Type of the message — text, answer, or error. - &#x60;message&#x60;: Main content of the response. - &#x60;metadata&#x60;: Additional info depending on the message type. &gt; ###### Note: &gt; * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. &gt; * This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster.

### Parameters

| Name | Type |
|------------- | ------------- |
| **conversationIdentifier** | **String**
| **sendAgentMessageRequest** | [**SendAgentMessageRequest**](SendAgentMessageRequest.md)

### Return type

**Object**

### Authorization

[bearerAuth](../README.md#bearerAuth)

### HTTP request headers

- **Content-Type**: application/json
- **Accept**: application/json

### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | Common successful response | - |
| **201** | Common error response | - |
| **400** | Operation failed | - |
| **500** | Operation failed | - |

<a id="sendAgentMessageStreaming"></a>
# **sendAgentMessageStreaming**
> SendAgentMessageResponse sendAgentMessageStreaming(sendAgentMessageStreamingRequest)
Expand Down
2 changes: 1 addition & 1 deletion sdks/java/docs/AuthenticationApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ This endpoint does not need any parameter.



Version: 10.4.0.cl or later Gets an authentication token with custom rules and security attributes and creates a full session in ThoughtSpot for a given user. By default, the token obtained from ThoughtSpot remains valid for 5 mins. To add a new user and assign privileges during auto creation, you need &#x60;ADMINISTRATION&#x60; (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled, the &#x60;CONTROL_TRUSTED_AUTH&#x60;(**Can Enable or Disable Trusted Authentication**) privilege and edit access to the data source is required. To assign security attributes with filter rules and Parameters to the JWT token, you&#39;ll need administrator privileges and edit access to the data source (Worksheet or Model). If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled, the &#x60;CONTROL_TRUSTED_AUTH&#x60;(**Can Enable or Disable Trusted Authentication**) privilege and edit access to the data source is required. #### Usage guidelines You can generate the token for a user by providing a &#x60;username&#x60; and &#x60;password&#x60;, or by using the cluster’s &#x60;secret_key&#x60;. To generate a &#x60;secret_key&#x60; on your cluster, the administrator must enable [Trusted authentication](https://developers.thoughtspot.com/docs/?pageid&#x3D;trusted-auth#trusted-auth-enable) in the **Develop** &gt; **Customizations** &gt; **Security Settings** page. **Note**: When both &#x60;password&#x60; and &#x60;secret_key&#x60; are included in the API request, &#x60;password&#x60; takes precedence. If Multi-Factor Authentication (MFA) is enabled on your instance, the API login request with basic authentication (&#x60;username&#x60; and &#x60;password&#x60; ) returns an error. You can switch to token-based authentication with &#x60;secret_key&#x60; or contact ThoughtSpot Support for assistance. ##### Attribute-Based Access Control (ABAC) with tokens To implement Attribute-Based Access Control (ABAC) and assign security entitlements to users during session creation, you can generate a token with custom filtering rules and Parameters in the &#x60;filter_rules&#x60; and &#x60;parameter_values&#x60; array respectively. These attributes can be configured to persist on a specific set of objects for user sessions initiated using the token. Once defined, the rules are added to the user&#39;s &#x60;access_control_properties&#x60; object, after which all sessions will use the persisted values. Specify the object type as &#x60;LOGICAL_TABLE&#x60;. The &#x60;LIVEBOARD&#x60; and &#x60;ANSWER&#x60; object types are not supported. For more information, see [ABAC via tokens Documentation](https://developers.thoughtspot.com/docs/api-authv2#_get_tokens_with_custom_rules_and_filter_conditions). ##### Just-in-time provisioning For just-in-time user creation and provisioning, define the following attributes: * &#x60;auto_create&#x60; * &#x60;username&#x60; * &#x60;display_name&#x60; * &#x60;email&#x60; * &#x60;groups&#x60; Set &#x60;auto_create&#x60; to &#x60;true&#x60; if the user is not available in ThoughtSpot. If the user already exists in ThoughtSpot and the &#x60;auto_create&#x60; parameter is set to &#x60;true&#x60; in the API request, the user properties such as the display name, email, Org and group assignment will not be updated with new values. For more information, see [Just-in-time provisioning](https://developers.thoughtspot.com/docs/just-in-time-provisioning). ##### Important point to note All options in the token creation APIs that define access to the content in ThoughtSpot will do so during the token creation and not when the token is being used for authentication. For example, &#x60;auto_create:true&#x60; will create the user when the authentication token is created. Persist options such as &#x60;APPEND&#x60;, &#x60;REPLACE&#x60;, &#x60;RESET&#x60; will persist security parameters on the user profile when the token is created, while Persist option &#x60;NONE&#x60; will not persist anything but will be honoured in the session.
Version: 10.4.0.cl or later Gets an authentication token with custom rules and security attributes and creates a full session in ThoughtSpot for a given user. By default, the token obtained from ThoughtSpot remains valid for 5 mins. To add a new user and assign privileges during auto creation, you need &#x60;ADMINISTRATION&#x60; (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled, the &#x60;CONTROL_TRUSTED_AUTH&#x60;(**Can Enable or Disable Trusted Authentication**) privilege and edit access to the data source is required. To assign security attributes with filter rules and Parameters to the JWT token, you&#39;ll need administrator privileges and edit access to the data source (Worksheet or Model). If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled, the &#x60;CONTROL_TRUSTED_AUTH&#x60;(**Can Enable or Disable Trusted Authentication**) privilege and edit access to the data source is required. #### Usage guidelines You can generate the token for a user by providing a &#x60;username&#x60; and &#x60;password&#x60;, or by using the cluster’s &#x60;secret_key&#x60;. To generate a &#x60;secret_key&#x60; on your cluster, the administrator must enable [Trusted authentication](https://developers.thoughtspot.com/docs/?pageid&#x3D;trusted-auth#trusted-auth-enable) in the **Develop** &gt; **Customizations** &gt; **Security Settings** page. **Note**: When both &#x60;password&#x60; and &#x60;secret_key&#x60; are included in the API request, &#x60;password&#x60; takes precedence. If Multi-Factor Authentication (MFA) is enabled on your instance, the API login request with basic authentication (&#x60;username&#x60; and &#x60;password&#x60; ) returns an error. You can switch to token-based authentication with &#x60;secret_key&#x60; or contact ThoughtSpot Support for assistance. ##### Attribute-Based Access Control (ABAC) with tokens To implement Attribute-Based Access Control (ABAC) and assign security entitlements to users during session creation, you can generate a token with custom filtering rules and Parameters in the &#x60;filter_rules&#x60; and &#x60;parameter_values&#x60; array respectively. These attributes can be configured to persist on a specific set of objects for user sessions initiated using the token. Once defined, the rules are added to the user&#39;s &#x60;access_control_properties&#x60; object, after which all sessions will use the persisted values. Specify the object type as &#x60;LOGICAL_TABLE&#x60;. For more information, see [ABAC via tokens Documentation](https://developers.thoughtspot.com/docs/api-authv2#_get_tokens_with_custom_rules_and_filter_conditions). ##### Just-in-time provisioning For just-in-time user creation and provisioning, define the following attributes: * &#x60;auto_create&#x60; * &#x60;username&#x60; * &#x60;display_name&#x60; * &#x60;email&#x60; * &#x60;groups&#x60; Set &#x60;auto_create&#x60; to &#x60;true&#x60; if the user is not available in ThoughtSpot. If the user already exists in ThoughtSpot and the &#x60;auto_create&#x60; parameter is set to &#x60;true&#x60; in the API request, the user properties such as the display name, email, Org and group assignment will not be updated with new values. If &#x60;auto_create&#x60; is set to &#x60;true&#x60;, it won&#39;t create formula variables and hence won&#39;t be applicable for &#x60;variable_values&#x60;. For more information, see [Just-in-time provisioning](https://developers.thoughtspot.com/docs/just-in-time-provisioning). ##### Important point to note All options in the token creation APIs that define access to the content in ThoughtSpot will do so during the token creation and not when the token is being used for authentication. For example, &#x60;auto_create:true&#x60; will create the user when the authentication token is created. Persist options such as &#x60;APPEND&#x60;, &#x60;REPLACE&#x60;, &#x60;RESET&#x60; will persist security parameters on the user profile when the token is created, while Persist option &#x60;NONE&#x60; will not persist anything but will be honoured in the session. ##### Formula Variables Before using variables_values, variables must be created using Create Variable API with type as Formula_Variable (/api/rest/2.0/template/variables/create) The persist_option RESET and NONE cannot be used when variable_values are provided in the request. If you are working with variable_values, you must use other (APPEND, REPLACE) supported modes. If you want to use RESET or NONE, do not pass any variable_values. In such cases, variable_values will remain unaffected. When using object_id with variable_values, models are supported.

### Parameters

Expand Down
2 changes: 1 addition & 1 deletion sdks/java/docs/ColumnSecurityRuleResponse.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**guid** | **String** | GUID of the table for which the column security rules are fetched | [optional] |
|**tableGuid** | **String** | GUID of the table for which the column security rules are fetched | [optional] |
|**objId** | **String** | Object ID of the table for which the column security rules are fetched | [optional] |
|**columnSecurityRules** | [**List&lt;ColumnSecurityRule&gt;**](ColumnSecurityRule.md) | Array containing column security rule objects | [optional] |

Expand Down
18 changes: 18 additions & 0 deletions sdks/java/docs/CommunicationChannelPreferencesResponse.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@


# CommunicationChannelPreferencesResponse


## Properties

| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**clusterPreferences** | [**List&lt;EventChannelConfig&gt;**](EventChannelConfig.md) | Cluster-level default configurations. | [optional] |
|**orgPreferences** | [**List&lt;OrgChannelConfigResponse&gt;**](OrgChannelConfigResponse.md) | Org-specific configurations. | [optional] |


## Implemented Interfaces

* Serializable


Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@


# ConfigureCommunicationChannelPreferencesRequest


## Properties

| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**clusterPreferences** | [**List&lt;EventChannelConfigInput&gt;**](EventChannelConfigInput.md) | Cluster-level default configurations. | [optional] |
|**orgPreferences** | [**List&lt;OrgChannelConfigInput&gt;**](OrgChannelConfigInput.md) | Org-specific configurations. | [optional] |


## Implemented Interfaces

* Serializable


Loading