diff --git a/api-spec/openapiSpecv3-2_0.json b/api-spec/openapiSpecv3-2_0.json
index 367af5c4c..7b633bb1e 100644
--- a/api-spec/openapiSpecv3-2_0.json
+++ b/api-spec/openapiSpecv3-2_0.json
@@ -21,6 +21,14 @@
],
"description": "Roles for version 10.4.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.7.0.cl",
"id": "10.7.0.cl",
@@ -393,6 +401,78 @@
}
}
},
+ "/api/rest/2.0/ai/instructions/get": {
+ "post": {
+ "operationId": "getNLInstructions",
+ "description": "\nBeta Version: 10.15.0.cl or later\n\nThis API allows users to retrieve existing natural language (NL) instructions for a specific data-model. These instructions guide the AI system in understanding data context and generating more accurate responses when processing natural language queries.\n\n#### Usage guidelines\n\nTo retrieve NL instructions for a data-model, the request must include:\n- `data_source_identifier`: The unique ID or name of the data-model to retrieve NL instructions\n\nThe API returns a response object with:\n- `nl_instructions_info`: An array of instruction objects, each containing:\n - `instructions`: Array of text instructions for natural language processing\n - `scope`: The scope of the instruction (`GLOBAL`). It can be extended to data-model-user scope in future.\n\n#### Instructions Scope\n\n- **GLOBAL**: Instructions that apply globally across the system on the given data-model (currently only global instructions are supported)\n\n> ###### Note:\n> * To use this API, the user needs atleast view access on the data-model and they must use corresponding org related bearerToken where the data-model exists.\n> * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available.\n> * Available from version 10.15.0.cl and later.\n> * This endpoint requires Spotter — please contact ThoughtSpot Support to enable Spotter on your cluster.\n> * Use this API to view currently configured instructions before modifying them with `setNLInstructions`.\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "AI",
+ "10.15.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "data_source_identifier": {
+ "description": "Unique ID or name of the data-model for which to retrieve NL instructions.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data_source_identifier"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Common successful response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/eureka_GetNLInstructionsResponse"
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "Common error response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/eureka_GetNLInstructionsResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
"/api/rest/2.0/ai/relevant-questions/": {
"post": {
"operationId": "getRelevantQuestions",
@@ -861,6 +941,86 @@
}
}
},
+ "/api/rest/2.0/ai/instructions/set": {
+ "post": {
+ "operationId": "setNLInstructions",
+ "description": "\nBeta Version: 10.15.0.cl or later\n\nThis API allows users to set natural language (NL) instructions for a specific data-model to improve AI-generated answers and query processing. These instructions help guide the AI system to better understand the data context and provide more accurate responses.\n\n#### Usage guidelines\n\nTo set NL instructions for a data-model, the request must include:\n- `data_source_identifier`: The unique ID or name of the data-model for which to set NL instructions\n- `nl_instructions_info`: An array of instruction objects, each containing:\n - `instructions`: Array of text instructions for the LLM\n - `scope`: The scope of the instruction (`GLOBAL`). Currently only `GLOBAL` is supported. It can be extended to data-model-user scope in future.\n\nThe API returns a response object with:\n- `success`: Boolean indicating whether the operation was successful\n\n#### Instructions Scope\n\n- **GLOBAL**: Instructions that apply globally for that data-model across the system\n\n> ###### Note:\n> * To use this API, the user needs either edit access or SPOTTER_COACHING_PRIVILEGE on the data-model and they must use corresponding org related bearerToken where the data-model exists.\n> * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available.\n> * Available from version 10.15.0.cl and later.\n> * This endpoint requires Spotter — please contact ThoughtSpot Support to enable Spotter on your cluster.\n> * Instructions help improve the accuracy and relevance of AI-generated responses for the specified data-model.\n\n\n\n\n#### Endpoint URL\n",
+ "tags": [
+ "AI",
+ "10.15.0.cl"
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "data_source_identifier": {
+ "description": "Unique ID or name of the data-model for which to set NL instructions.",
+ "type": "string"
+ },
+ "nl_instructions_info": {
+ "description": "List of NL instructions to set for the data-model.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/NLInstructionsInfoInput"
+ }
+ }
+ },
+ "required": [
+ "data_source_identifier",
+ "nl_instructions_info"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Common successful response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/eureka_SetNLInstructionsResponse"
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "Common error response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/eureka_SetNLInstructionsResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Operation failed",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
"/api/rest/2.0/ai/answer/create": {
"post": {
"operationId": "singleAnswer",
@@ -1103,7 +1263,7 @@
"type": "string"
},
"persist_option": {
- "description": "Indicates whether the specified attributes should be persisted or not.",
+ "description": "Indicates whether the specified attributes should be persisted or not. RESET and NONE are not applicable if you are setting variable_values.",
"type": "string",
"enum": [
"REPLACE",
@@ -1126,6 +1286,13 @@
"$ref": "#/components/schemas/ParameterValues"
}
},
+ "variable_values": {
+ "description": "List of variable values where `name` references an existing formula variable and `values` is any value from the corresponding column.
Version: 10.14.0.cl or later",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/VariableValues"
+ }
+ },
"objects": {
"description": "Objects on which the filter rules and parameters values should be applied to",
"type": "array",
@@ -1149,7 +1316,7 @@
}
},
"auto_create": {
- "description": " Creates a new user if the specified username does not exist in ThoughtSpot. To provision a user just-in-time (JIT), set this attribute to true.\n \n\nNote: For JIT provisioning of a user, the secret_key is required.
Version: 10.5.0.cl or later",
+ "description": " Creates a new user if the specified username does not exist in ThoughtSpot. To provision a user just-in-time (JIT), set this attribute to true.\n \n\nNote: For JIT provisioning of a user, the secret_key is required. New formula variables won't be created.
Version: 10.5.0.cl or later",
"default": true,
"type": "boolean",
"nullable": true
@@ -1279,6 +1446,14 @@
"items": {
"type": "string"
}
+ },
+ "user_parameters": {
+ "description": "
Version: 9.10.5.cl or laterDeprecated: 10.4.0.cl and later
\n\nDefine attributes such as Runtime filters and Runtime parameters to send security entitlements to a user session. For more information, see [Documentation](https://developers.thoughtspot.com/docs/abac-user-parameters).",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/User_Parameter_Options"
+ }
+ ]
}
},
"required": [
@@ -1408,6 +1583,14 @@
"items": {
"type": "string"
}
+ },
+ "user_parameters": {
+ "description": "Version: 9.10.5.cl or laterDeprecated: 10.4.0.cl and later
\n\nDefine attributes such as Runtime filters and Runtime parameters to send security entitlements to a user session. For more information, see [Documentation](https://developers.thoughtspot.com/docs/abac-user-parameters).",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/User_Parameter_Options"
+ }
+ ]
}
},
"required": [
@@ -1872,7 +2055,7 @@
"/api/rest/2.0/connection-configurations/create": {
"post": {
"operationId": "createConnectionConfiguration",
- "description": "\n Version: 10.12.0.cl or later\n\nCreates an additional configuration to an existing connection to a data warehouse. \n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n#### Usage guidelines\n\n * A JSON map of configuration attributes in `configuration`. The following example shows the configuration attributes:\n ```\n {\n \"user\":\"DEV_USER\",\n \"password\":\"TestConn123\",\n \"role\":\"DEV\",\n \"warehouse\":\"DEV_WH\"\n }\n ```\n\n* If the `policy_type` is `PRINCIPALS`, then `policy_principals` is a required field.\n* If the `policy_type` is `PROCESSES`, then `policy_processes` is a required field.\n* If the `policy_type` is `NO_POLICY`, then `policy_principals` and `policy_processes` are not required fields.\n\n\n\n\n#### Endpoint URL\n",
+ "description": "\n Version: 10.12.0.cl or later\n\nCreates an additional configuration to an existing connection to a data warehouse. \n\nRequires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n#### Usage guidelines\n\n * A JSON map of configuration attributes in `configuration`. The following example shows the configuration attributes:\n ```\n {\n \"user\":\"DEV_USER\",\n \"password\":\"TestConn123\",\n \"role\":\"DEV\",\n \"warehouse\":\"DEV_WH\"\n }\n ```\n\n* If the `policy_type` is `PRINCIPALS`, then `policy_principals` is a required field.\n* If the `policy_type` is `PROCESSES`, then `policy_processes` is a required field.\n* If the `policy_type` is `NO_POLICY`, then `policy_principals` and `policy_processes` are not required fields.\n\n#### Parameterized Connection Support\nFor parameterized connections that use OAuth authentication, only the same_as_parent and policy_process_options attributes are allowed in the API request. These attributes are not applicable to connections that are not parameterized.\n\n\n\n\n\n#### Endpoint URL\n",
"tags": [
"Connection Configurations",
"10.12.0.cl"
@@ -2088,7 +2271,7 @@
"/api/rest/2.0/connection-configurations/{configuration_identifier}/update": {
"post": {
"operationId": "updateConnectionConfiguration",
- "description": "\n Version: 10.12.0.cl or later\n\nUpdates a connection configuration object.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n#### Supported operations\nThis API endpoint lets you perform the following operations in a single API request:\n\n * Edit the name or description of the configuration\n * Edit the configuration properties\n * Edit the `policy_type`\n * Edit the type of authentication\n * Enable or disable a configuration\n\n **NOTE**: When updating a configuration where `disabled` is `true`, you must reset `disabled` to `true` in your update request payload. If not explicitly set again, the API will default `disabled` to `false`.\n \n\n\n\n#### Endpoint URL\n",
+ "description": "\n Version: 10.12.0.cl or later\n\nUpdates a connection configuration object.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.\n\n#### Supported operations\nThis API endpoint lets you perform the following operations in a single API request:\n\n * Edit the name or description of the configuration\n * Edit the configuration properties\n * Edit the `policy_type`\n * Edit the type of authentication\n * Enable or disable a configuration\n\n#### Parameterized Connection Support\nFor parameterized oauth based connections, only the `same_as_parent` and `policy_process_options` attributes are allowed. These attributes are not applicable to connections that are not parameterized.\n\n **NOTE**: When updating a configuration where `disabled` is `true`, you must reset `disabled` to `true` in your update request payload. If not explicitly set again, the API will default `disabled` to `false`.\n\n\n\n\n#### Endpoint URL\n",
"tags": [
"Connection Configurations",
"10.12.0.cl"
@@ -5072,7 +5255,7 @@
"/api/rest/2.0/customization/email": {
"post": {
"operationId": "createEmailCustomization",
- "description": "\nBeta Version: 10.10.0.cl or later\n\nCreates a customization configuration for the notification email.\n\n#### Pre-requisites\n\nRequires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.\n\n#### Usage guidelines\n\nTo create a custom configuration pass these parameters in your API request:\n\n- A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration:\n\n```\n{\n {\n \"ctaButtonBgColor\": \"#444DEA\",\n \"ctaTextFontColor\": \"#FFFFFF\",\n \"primaryBgColor\": \"#D3DEF0\",\n \"hideMobileAppNudge\": false,\n \"fontFamily\" : \"\",\n \"hideProductName\" : false,\n \"hideFooterPhone\" : false,\n \"hideFooterAddress\" : false,\n \"hidePrivacyPolicy\" : false,\n \"hideManageNotification\" : false,\n \"hideTsVocabularyDefinitions\": false,\n \"hideNotificationStatus\" : false,\n \"hideErrorMessage\": false,\n \"hideUnsubscribeLink\" : false,\n \"hideModifyAlert\": false,\n \"textTransform\": \"\",\n \"replacementValueForLiveboard\": \"LB dashboard\",\n \"replacementValueForAnswer\": \"Answer dashboard\",\n \"replacementValueForSpotIQ\": \"SpotIQ dashboard\",\n \"logoUrl\":\"\",\n \"productName\":\"ThoughtSpot\",\n \"footerPhone\":\"(800) 508-7008\",\n \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\",\n \"companyWebsiteUrl\":\"\",\n \"companyPrivacyPolicyUrl\":\"\"\n }\n}\n```\n\n\n\n\n#### Endpoint URL\n",
+ "description": "\nBeta Version: 10.10.0.cl or later\n\nCreates a customization configuration for the notification email.\n\n#### Pre-requisites\n\nRequires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.\n\n#### Usage guidelines\n\nTo create a custom configuration pass these parameters in your API request:\n\n- A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration:\n\n```\n{\n {\n \"cta_button_bg_color\": \"#444DEA\",\n \t\"cta_text_font_color\": \"#FFFFFF\",\n \t\"primary_bg_color\": \"#D3DEF0\",\n \"logo_url\": \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\",\n \t \"font_family\": \"\",\n \t\"product_name\": \"ThoughtSpot\",\n \t\"footer_address\": \"444 Castro St, Suite 1000 Mountain View, CA 94041\",\n\t \"footer_phone\": \"(800) 508-7008\",\n \"replacement_value_for_liveboard\": \"Dashboard\",\n \t\"replacement_value_for_answer\": \"Chart\",\n \t\"replacement_value_for_spot_iq\": \"AI Insights\",\n \t \"hide_footer_phone\": false,\n \"hide_footer_address\": false,\n \"hide_product_name\": false,\n \t\"hide_manage_notification\": false,\n \t\"hide_mobile_app_nudge\": false,\n \t\"hide_privacy_policy\": false,\n \t\"hide_ts_vocabulary_definitions\": false,\n \t\"hide_error_message\": false,\n \t\"hide_unsubscribe_link\": false,\n \"hide_notification_status\": false,\n \t\"hide_modify_alert\": false,\n \t\"company_website_url\": \"https://your-website.com/\",\n \t\"company_privacy_policy_url\" : \"https://link-to-privacy-policy.com/\",\n \"contact_support_url\": \"https://link-to-contact-support.com/\",\n \"hide_contact_support_url\": false\n }\n}\n```\n\n\n\n\n#### Endpoint URL\n",
"tags": [
"Email Customization",
"10.10.0.cl"
@@ -5359,7 +5542,7 @@
"/api/rest/2.0/customization/email/update": {
"post": {
"operationId": "updateEmailCustomization",
- "description": "\nBeta Version: 10.12.0.cl or later\n\nUpdates a customization configuration for the notification email.\n\n#### Pre-requisites\n\nRequires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.\n\n#### Usage guidelines\n\nTo update a custom configuration pass these parameters in your API request:\n\n- A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration:\n\n```\n{\n {\n \"ctaButtonBgColor\": \"#444DEA\",\n \"ctaTextFontColor\": \"#FFFFFF\",\n \"primaryBgColor\": \"#D3DEF0\",\n \"hideMobileAppNudge\": false,\n \"fontFamily\" : \"\",\n \"hideProductName\" : false,\n \"hideFooterPhone\" : false,\n \"hideFooterAddress\" : false,\n \"hidePrivacyPolicy\" : false,\n \"hideManageNotification\" : false,\n \"hideTsVocabularyDefinitions\": false,\n \"hideNotificationStatus\" : false,\n \"hideErrorMessage\": false,\n \"hideUnsubscribeLink\" : false,\n \"hideModifyAlert\": false,\n \"textTransform\": \"\",\n \"replacementValueForLiveboard\": \"LB dashboard\",\n \"replacementValueForAnswer\": \"Answer dashboard\",\n \"replacementValueForSpotIQ\": \"SpotIQ dashboard\",\n \"logoUrl\":\"\",\n \"productName\":\"ThoughtSpot\",\n \"footerPhone\":\"(800) 508-7008\",\n \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\",\n \"companyWebsiteUrl\":\"\",\n \"companyPrivacyPolicyUrl\":\"\"\n }\n}\n```\n\n\n\n\n#### Endpoint URL\n",
+ "description": "\nBeta Version: 10.12.0.cl or later\n\nUpdates a customization configuration for the notification email.\n\n#### Pre-requisites\n\nRequires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.\n\n#### Usage guidelines\n\nTo update a custom configuration pass these parameters in your API request:\n\n- A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration:\n\n```\n{\n {\n \"cta_button_bg_color\": \"#444DEA\",\n \t\"cta_text_font_color\": \"#FFFFFF\",\n \t\"primary_bg_color\": \"#D3DEF0\",\n \"logo_url\": \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\",\n \t \"font_family\": \"\",\n \t\"product_name\": \"ThoughtSpot\",\n \t\"footer_address\": \"444 Castro St, Suite 1000 Mountain View, CA 94041\",\n\t \"footer_phone\": \"(800) 508-7008\",\n \"replacement_value_for_liveboard\": \"Dashboard\",\n \t\"replacement_value_for_answer\": \"Chart\",\n \t\"replacement_value_for_spot_iq\": \"AI Insights\",\n \t \"hide_footer_phone\": false,\n \"hide_footer_address\": false,\n \"hide_product_name\": false,\n \t\"hide_manage_notification\": false,\n \t\"hide_mobile_app_nudge\": false,\n \t\"hide_privacy_policy\": false,\n \t\"hide_ts_vocabulary_definitions\": false,\n \t\"hide_error_message\": false,\n \t\"hide_unsubscribe_link\": false,\n \"hide_notification_status\": false,\n \t\"hide_modify_alert\": false,\n \t\"company_website_url\": \"https://your-website.com/\",\n \t\"company_privacy_policy_url\" : \"https://link-to-privacy-policy.com/\",\n \"contact_support_url\": \"https://link-to-contact-support.com/\",\n \"hide_contact_support_url\": false\n }\n}\n```\n\n\n\n\n#### Endpoint URL\n",
"tags": [
"Email Customization",
"10.12.0.cl"
@@ -5550,6 +5733,7 @@
"CAN_ACCESS_ANALYST_STUDIO",
"CAN_MANAGE_ANALYST_STUDIO",
"CAN_MODIFY_FOLDERS",
+ "CAN_MANAGE_VARIABLES",
"CAN_VIEW_FOLDERS",
"PREVIEW_DOCUMENT_SEARCH",
"CAN_SETUP_VERSION_CONTROL",
@@ -5910,6 +6094,7 @@
"CAN_MANAGE_ANALYST_STUDIO",
"PREVIEW_DOCUMENT_SEARCH",
"CAN_MODIFY_FOLDERS",
+ "CAN_MANAGE_VARIABLES",
"CAN_VIEW_FOLDERS",
"CAN_SETUP_VERSION_CONTROL",
"CAN_MANAGE_WEBHOOKS",
@@ -6118,6 +6303,7 @@
"CAN_ACCESS_ANALYST_STUDIO",
"CAN_MANAGE_ANALYST_STUDIO",
"CAN_MODIFY_FOLDERS",
+ "CAN_MANAGE_VARIABLES",
"CAN_VIEW_FOLDERS",
"PREVIEW_DOCUMENT_SEARCH",
"CAN_SETUP_VERSION_CONTROL",
@@ -7435,7 +7621,7 @@
"/api/rest/2.0/metadata/parameterize": {
"post": {
"operationId": "parameterizeMetadata",
- "description": "\nParameterize fields in metadata objects.
Beta Version: 10.9.0.cl or later\n\nAllows parameterizing fields in metadata objects in ThoughtSpot.\n\nRequires appropriate permissions to modify the metadata object.\n\nThe API endpoint allows parameterizing the following types of metadata objects:\n* Logical Tables\n* Connections\n\nFor a Logical Table the field type must be `ATTRIBUTE` and field name can be one of:\n* databaseName\n* schemaName\n* tableName\n\nFor a Connection the field type is always `CONNECTION_PROPERTY`. We use the field_name in this\ncase to specify the exact property of a connection which needs to be parameterized.\n\n\n\n\n#### Endpoint URL\n",
+ "description": "\nParameterize fields in metadata objects.
Beta Version: 10.9.0.cl or later\n\nAllows parameterizing fields in metadata objects in ThoughtSpot.\n\nRequires appropriate permissions to modify the metadata object.\n\nThe API endpoint allows parameterizing the following types of metadata objects:\n* Logical Tables\n* Connections\n* Connection Configs\n\nFor a Logical Table the field type must be `ATTRIBUTE` and field name can be one of:\n* databaseName\n* schemaName\n* tableName\n\nFor a Connection or Connection Config, the field type is always `CONNECTION_PROPERTY`. In this case, field_name specifies the exact property of the Connection or Connection Config that needs to be parameterized.\n\nFor Connection Config, the only supported field name is:\n* impersonate_user\n\n\n\n\n#### Endpoint URL\n",
"tags": [
"Metadata",
"10.9.0.cl"
@@ -7780,7 +7966,7 @@
"/api/rest/2.0/metadata/unparameterize": {
"post": {
"operationId": "unparameterizeMetadata",
- "description": "\nRemove parameterization from fields in metadata objects.
Beta Version: 10.9.0.cl or later\n\nAllows removing parameterization from fields in metadata objects in ThoughtSpot.\n\nRequires appropriate permissions to modify the metadata object.\n\nThe API endpoint allows unparameterizing the following types of metadata objects:\n* Logical Tables\n* Connections\n\nFor a Logical Table the field type must be `ATTRIBUTE` and field name can be one of:\n* databaseName\n* schemaName\n* tableName\n\nFor a Connection the field type is always `CONNECTION_PROPERTY`. We use the field_name in this\ncase to specify the exact property of a connection which needs to be unparameterized.\n\n\n\n\n#### Endpoint URL\n",
+ "description": "\nRemove parameterization from fields in metadata objects.
Beta Version: 10.9.0.cl or later\n\nAllows removing parameterization from fields in metadata objects in ThoughtSpot.\n\nRequires appropriate permissions to modify the metadata object.\n\nThe API endpoint allows unparameterizing the following types of metadata objects:\n* Logical Tables\n* Connections\n* Connection Configs\n\nFor a Logical Table the field type must be `ATTRIBUTE` and field name can be one of:\n* databaseName\n* schemaName\n* tableName\n\nFor a Connection or Connection Config, the field type is always `CONNECTION_PROPERTY`. In this case, field_name specifies the exact property of the Connection or Connection Config that needs to be unparameterized.\n\nFor Connection Config, the only supported field name is:\n* impersonate_user\n\n\n\n\n#### Endpoint URL\n",
"tags": [
"Metadata",
"10.9.0.cl"
@@ -8559,7 +8745,7 @@
"/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 or PNG file format.\n\nRequires at least view access to the Liveboard.\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\nThe default `file_format` is PDF. For PDF downloads, you can specify additional parameters to customize the page orientation and include or exclude the cover page, logo, footer text, and page numbers. Similar customization options are also available for PNG output.\n\n**NOTE**: The downloadable file returned in API response file is extensionless. Please rename the downloaded file by typing in the relevant extension.\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\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, 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**NOTE**: 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\n\n#### Endpoint URL\n",
+ "description": "\n Version: 9.0.0.cl or later\n\nExports a Liveboard and its visualizations in PDF, PNG, CSV, or XLSX file format.\n\nRequires at least view access to the Liveboard.\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\nThe default `file_format` is CSV. For PDF exports, you can specify additional parameters to customize the page orientation and include or exclude the cover page, logo, footer text, and page numbers. Similar customization options are available for PNG exports. CSV and XLSX exports do not support customization options.\n\n**NOTE**: The downloadable file returned in API response file is extensionless. Please rename the downloaded file by typing in the relevant extension.\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\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, 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**NOTE**: 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**NOTE**: Starting with the ThoughtSpot Cloud 26.2.0.cl release, Liveboards can be exported in CSV format. All visualizations in the Liveboard can be exported as individual CSV files. If multiple visualizations are selected or if the entire Liveboard is exported, the output is returned as a .zip file containing the CSV files for each visualization.\n\n**NOTE**: Starting with the ThoughtSpot Cloud 26.2.0.cl release, Liveboards can be exported in XLSX format. All selected visualizations are consolidated into a single Excel workbook (.xlsx), with each visualization placed in its own worksheet (tab). XLSX exports are limited to 255 worksheets (tabs) per workbook.\n\n\n\n\n#### Endpoint URL\n",
"tags": [
"Reports",
"9.0.0.cl"
@@ -8764,6 +8950,7 @@
"CAN_ACCESS_ANALYST_STUDIO",
"CAN_MANAGE_ANALYST_STUDIO",
"PREVIEW_DOCUMENT_SEARCH",
+ "CAN_MANAGE_VARIABLES",
"CAN_MODIFY_FOLDERS",
"CAN_VIEW_FOLDERS",
"CAN_SETUP_VERSION_CONTROL",
@@ -8996,6 +9183,7 @@
"CAN_MANAGE_ANALYST_STUDIO",
"CAN_VIEW_FOLDERS",
"CAN_MODIDY_FOLDERS",
+ "CAN_MANAGE_VARIABLES",
"PREVIEW_DOCUMENT_SEARCH",
"CAN_SETUP_VERSION_CONTROL",
"CAN_MANAGE_WEBHOOKS",
@@ -9157,6 +9345,7 @@
"CAN_ACCESS_ANALYST_STUDIO",
"CAN_MANAGE_ANALYST_STUDIO",
"CAN_MODIFY_FOLDERS",
+ "CAN_MANAGE_VARIABLES",
"CAN_VIEW_FOLDERS",
"PREVIEW_DOCUMENT_SEARCH",
"PREVIEW_THOUGHTSPOT_SAGE",
@@ -12013,7 +12202,9 @@
"examples": {
"example_1": {
"value": {
- "onboarding_content_url": ""
+ "onboarding_content_url": "",
+ "saml_enabled": false,
+ "okta_enabled": false
}
}
}
@@ -13868,6 +14059,7 @@
"CAN_MANAGE_ANALYST_STUDIO",
"PREVIEW_DOCUMENT_SEARCH",
"CAN_MODIFY_FOLDERS",
+ "CAN_MANAGE_VARIABLES",
"CAN_VIEW_FOLDERS",
"CAN_SETUP_VERSION_CONTROL",
"CAN_MANAGE_WEBHOOKS",
@@ -14244,7 +14436,7 @@
"/api/rest/2.0/template/variables/create": {
"post": {
"operationId": "createVariable",
- "description": "\nCreate a variable which can be used for parameterizing metadata objects
Beta Version: 10.14.0.cl or later\n\nAllows creating a variable which can be used for parameterizing metadata objects in ThoughtSpot.\n\nRequires ADMINISTRATION role and TENANT scope.\nThe CAN_MANAGE_VARIABLES permission allows you to manage Formula Variables in the current organization scope.\n\nThe API endpoint supports the following types of variables:\n* CONNECTION_PROPERTY - For connection properties\n* TABLE_MAPPING - For table mappings\n* CONNECTION_PROPERTY_PER_PRINCIPAL - For connection properties per principal. In order to use this please contact support to enable this.\n* FORMULA_VARIABLE - For Formula variables\n\nWhen creating a variable, you need to specify:\n* The variable type\n* A unique name for the variable\n* Whether the variable contains sensitive values (defaults to false)\n* The data type of the variable, only specify for fomula variables (defaults to null)\n\nThe operation will fail if:\n* The user lacks required permissions\n* The variable name already exists\n* The variable type is invalid\n\n\n\n#### Endpoint URL\n",
+ "description": "\nCreate a variable which can be used for parameterizing metadata objects
Beta Version: 10.14.0.cl or later\n\nAllows creating a variable which can be used for parameterizing metadata objects in ThoughtSpot.\n\nRequires ADMINISTRATION role and TENANT scope.\nThe CAN_MANAGE_VARIABLES permission allows you to manage Formula Variables in the current organization scope.\n\nThe API endpoint supports the following types of variables:\n* CONNECTION_PROPERTY - For connection properties\n* TABLE_MAPPING - For table mappings\n* CONNECTION_PROPERTY_PER_PRINCIPAL - For connection properties per principal. In order to use this please contact support to enable this.\n* FORMULA_VARIABLE - For Formula variables, introduced in 10.15.0.cl\n\nWhen creating a variable, you need to specify:\n* The variable type\n* A unique name for the variable\n* Whether the variable contains sensitive values (defaults to false)\n* The data type of the variable, only specify for formula variables (defaults to null)\n\nThe operation will fail if:\n* The user lacks required permissions\n* The variable name already exists\n* The variable type is invalid\n\n\n\n#### Endpoint URL\n",
"tags": [
"Variable",
"10.14.0.cl"
@@ -14261,7 +14453,8 @@
"enum": [
"CONNECTION_PROPERTY",
"TABLE_MAPPING",
- "CONNECTION_PROPERTY_PER_PRINCIPAL"
+ "CONNECTION_PROPERTY_PER_PRINCIPAL",
+ "FORMULA_VARIABLE"
]
},
"name": {
@@ -14457,12 +14650,12 @@
"type": "integer",
"format": "int32"
},
- "output_format": {
+ "response_content": {
"description": "Format in which we want the output",
- "default": "METADATA_ONLY",
+ "default": "METADATA",
"type": "string",
"enum": [
- "METADATA_ONLY",
+ "METADATA",
"METADATA_AND_VALUES"
]
}
@@ -19028,6 +19221,7 @@
"CAN_MANAGE_ANALYST_STUDIO",
"CAN_VIEW_FOLDERS",
"CAN_MODIDY_FOLDERS",
+ "CAN_MANAGE_VARIABLES",
"PREVIEW_DOCUMENT_SEARCH",
"CAN_SETUP_VERSION_CONTROL",
"CAN_MANAGE_WEBHOOKS",
@@ -19567,6 +19761,44 @@
}
}
},
+ "eureka_GetNLInstructionsResponse": {
+ "type": "object",
+ "required": [
+ "nl_instructions_info"
+ ],
+ "properties": {
+ "nl_instructions_info": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/NLInstructionsInfo"
+ },
+ "description": "List of NL instructions with their scopes."
+ }
+ }
+ },
+ "NLInstructionsInfo": {
+ "type": "object",
+ "required": [
+ "instructions",
+ "scope"
+ ],
+ "properties": {
+ "instructions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "User instructions for natural language processing."
+ },
+ "scope": {
+ "type": "string",
+ "enum": [
+ "GLOBAL"
+ ],
+ "description": "Scope of the instruction."
+ }
+ }
+ },
"RiseGQLArgWrapper": {
"type": "object",
"required": [
@@ -19595,7 +19827,8 @@
"enum": [
"CONNECTION_PROPERTY",
"TABLE_MAPPING",
- "CONNECTION_PROPERTY_PER_PRINCIPAL"
+ "CONNECTION_PROPERTY_PER_PRINCIPAL",
+ "FORMULA_VARIABLE"
],
"description": "Type of variable",
"nullable": true
@@ -19658,7 +19891,8 @@
"enum": [
"CONNECTION_PROPERTY",
"TABLE_MAPPING",
- "CONNECTION_PROPERTY_PER_PRINCIPAL"
+ "CONNECTION_PROPERTY_PER_PRINCIPAL",
+ "FORMULA_VARIABLE"
],
"description": "Type of the variable",
"nullable": true
@@ -20676,6 +20910,37 @@
},
"description": "Filter Rules to be applied on Objects."
},
+ "VariableValues": {
+ "type": "object",
+ "required": [
+ "name",
+ "values"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the existing formula variable."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ "description": "The values to filter on."
+ }
+ },
+ "description": "Variable values."
+ },
"TokenAccessScopeObject": {
"type": "object",
"required": [
@@ -21094,6 +21359,7 @@
"CAN_ACCESS_ANALYST_STUDIO",
"CAN_MANAGE_ANALYST_STUDIO",
"CAN_MODIFY_FOLDERS",
+ "CAN_MANAGE_VARIABLES",
"CAN_VIEW_FOLDERS",
"PREVIEW_DOCUMENT_SEARCH",
"CAN_SETUP_VERSION_CONTROL",
@@ -22084,6 +22350,7 @@
"CAN_ACCESS_ANALYST_STUDIO",
"CAN_MANAGE_ANALYST_STUDIO",
"PREVIEW_DOCUMENT_SEARCH",
+ "CAN_MANAGE_VARIABLES",
"CAN_MODIFY_FOLDERS",
"CAN_VIEW_FOLDERS",
"CAN_SETUP_VERSION_CONTROL",
@@ -23238,6 +23505,41 @@
}
}
},
+ "NLInstructionsInfoInput": {
+ "type": "object",
+ "required": [
+ "instructions",
+ "scope"
+ ],
+ "properties": {
+ "instructions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "User instructions for natural language processing."
+ },
+ "scope": {
+ "type": "string",
+ "enum": [
+ "GLOBAL"
+ ],
+ "description": "Scope of the instruction (USER or GLOBAL). Defaults to GLOBAL."
+ }
+ }
+ },
+ "eureka_SetNLInstructionsResponse": {
+ "type": "object",
+ "required": [
+ "success"
+ ],
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "description": "Success status of the operation."
+ }
+ }
+ },
"VariableUpdateAssignmentInput": {
"type": "object",
"required": [
@@ -23263,7 +23565,7 @@
"ADD",
"REMOVE",
"REPLACE",
- "CLEAR"
+ "RESET"
],
"description": "Operation to perform"
}
@@ -23733,4 +24035,4 @@
}
}
]
-}
+}
\ No newline at end of file
diff --git a/sdks/java/README.md b/sdks/java/README.md
index 7fc480fbc..2c82572c1 100644
--- a/sdks/java/README.md
+++ b/sdks/java/README.md
@@ -14,7 +14,7 @@ Add this dependency to your project's POM:
com.thoughtspot
rest-api-sdk
- 2.19.0
+ 2.20.0
compile
```
@@ -29,7 +29,7 @@ Add this dependency to your project's build file:
}
dependencies {
- implementation "com.thoughtspot:rest-api-sdk:2.19.0"
+ implementation "com.thoughtspot:rest-api-sdk:2.20.0"
}
```
diff --git a/sdks/java/api/openapi.yaml b/sdks/java/api/openapi.yaml
index e43a25c6a..9a3266d40 100644
--- a/sdks/java/api/openapi.yaml
+++ b/sdks/java/api/openapi.yaml
@@ -190,6 +190,78 @@ paths:
x-content-type: application/json
x-accepts:
- application/json
+ /api/rest/2.0/ai/instructions/get:
+ post:
+ description: |2+
+
+ Version: 10.15.0.cl or later
+
+
+ This API allows users to retrieve existing natural language (NL) instructions for a specific data-model. These instructions guide the AI system in understanding data context and generating more accurate responses when processing natural language queries.
+
+ #### Usage guidelines
+
+ To retrieve NL instructions for a data-model, the request must include:
+ - `data_source_identifier`: The unique ID or name of the data-model to retrieve NL instructions
+
+ The API returns a response object with:
+ - `nl_instructions_info`: An array of instruction objects, each containing:
+ - `instructions`: Array of text instructions for natural language processing
+ - `scope`: The scope of the instruction (`GLOBAL`). It can be extended to data-model-user scope in future.
+
+ #### Instructions Scope
+
+ - **GLOBAL**: Instructions that apply globally across the system on the given data-model (currently only global instructions are supported)
+
+ > ###### Note:
+ > * To use this API, the user needs atleast view access on the data-model and they must use corresponding org related bearerToken where the data-model exists.
+ > * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available.
+ > * Available from version 10.15.0.cl and later.
+ > * This endpoint requires Spotter — please contact ThoughtSpot Support to enable Spotter on your cluster.
+ > * Use this API to view currently configured instructions before modifying them with `setNLInstructions`.
+
+
+
+
+ operationId: getNLInstructions
+ parameters: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/getNLInstructions_request'
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/eureka_GetNLInstructionsResponse'
+ description: Common successful response
+ "201":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/eureka_GetNLInstructionsResponse'
+ description: Common error response
+ "400":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Operation failed
+ "500":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Operation failed
+ tags:
+ - AI
+ - ThoughtSpotRest
+ x-content-type: application/json
+ x-accepts:
+ - application/json
/api/rest/2.0/ai/relevant-questions/:
post:
description: |2+
@@ -509,6 +581,80 @@ paths:
x-content-type: application/json
x-accepts:
- application/json
+ /api/rest/2.0/ai/instructions/set:
+ post:
+ description: |2+
+
+ Version: 10.15.0.cl or later
+
+
+ This API allows users to set natural language (NL) instructions for a specific data-model to improve AI-generated answers and query processing. These instructions help guide the AI system to better understand the data context and provide more accurate responses.
+
+ #### Usage guidelines
+
+ To set NL instructions for a data-model, the request must include:
+ - `data_source_identifier`: The unique ID or name of the data-model for which to set NL instructions
+ - `nl_instructions_info`: An array of instruction objects, each containing:
+ - `instructions`: Array of text instructions for the LLM
+ - `scope`: The scope of the instruction (`GLOBAL`). Currently only `GLOBAL` is supported. It can be extended to data-model-user scope in future.
+
+ The API returns a response object with:
+ - `success`: Boolean indicating whether the operation was successful
+
+ #### Instructions Scope
+
+ - **GLOBAL**: Instructions that apply globally for that data-model across the system
+
+ > ###### Note:
+ > * To use this API, the user needs either edit access or SPOTTER_COACHING_PRIVILEGE on the data-model and they must use corresponding org related bearerToken where the data-model exists.
+ > * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available.
+ > * Available from version 10.15.0.cl and later.
+ > * This endpoint requires Spotter — please contact ThoughtSpot Support to enable Spotter on your cluster.
+ > * Instructions help improve the accuracy and relevance of AI-generated responses for the specified data-model.
+
+
+
+
+
+ operationId: setNLInstructions
+ parameters: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/setNLInstructions_request'
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/eureka_SetNLInstructionsResponse'
+ description: Common successful response
+ "201":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/eureka_SetNLInstructionsResponse'
+ description: Common error response
+ "400":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Operation failed
+ "500":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Operation failed
+ tags:
+ - AI
+ - ThoughtSpotRest
+ x-content-type: application/json
+ x-accepts:
+ - application/json
/api/rest/2.0/ai/answer/create:
post:
description: |2+
@@ -1265,7 +1411,10 @@ paths:
\ `PRINCIPALS`, then `policy_principals` is a required field.\n* If the `policy_type`\
\ is `PROCESSES`, then `policy_processes` is a required field.\n* If the `policy_type`\
\ is `NO_POLICY`, then `policy_principals` and `policy_processes` are not\
- \ required fields.\n\n\n\n\n\n"
+ \ required fields.\n\n#### Parameterized Connection Support\nFor parameterized\
+ \ connections that use OAuth authentication, only the same_as_parent and policy_process_options\
+ \ attributes are allowed in the API request. These attributes are not applicable\
+ \ to connections that are not parameterized.\n\n\n\n\n\n\n"
operationId: createConnectionConfiguration
parameters: []
requestBody:
@@ -1371,19 +1520,35 @@ paths:
- application/json
/api/rest/2.0/connection-configurations/{configuration_identifier}/update:
post:
- description: "\n Version: 10.12.0.cl or later\n\n\nUpdates a connection configuration\
- \ object.\n\nRequires `DATAMANAGEMENT` (**Can manage data**) and edit permissions\
- \ to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**)\
- \ privilege.\n\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac)\
- \ is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can\
- \ create/edit Connections**) privilege is required.\n\n#### Supported operations\n\
- This API endpoint lets you perform the following operations in a single API\
- \ request:\n\n * Edit the name or description of the configuration\n * Edit\
- \ the configuration properties\n * Edit the `policy_type`\n * Edit the type\
- \ of authentication\n * Enable or disable a configuration\n\n **NOTE**: When\
- \ updating a configuration where `disabled` is `true`, you must reset `disabled`\
- \ to `true` in your update request payload. If not explicitly set again, the\
- \ API will default `disabled` to `false`.\n \n\n\n\n\n"
+ description: |2+
+
+ Version: 10.12.0.cl or later
+
+
+ Updates a connection configuration object.
+
+ Requires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.
+
+ If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required.
+
+ #### Supported operations
+ This API endpoint lets you perform the following operations in a single API request:
+
+ * Edit the name or description of the configuration
+ * Edit the configuration properties
+ * Edit the `policy_type`
+ * Edit the type of authentication
+ * Enable or disable a configuration
+
+ #### Parameterized Connection Support
+ For parameterized oauth based connections, only the `same_as_parent` and `policy_process_options` attributes are allowed. These attributes are not applicable to connections that are not parameterized.
+
+ **NOTE**: When updating a configuration where `disabled` is `true`, you must reset `disabled` to `true` in your update request payload. If not explicitly set again, the API will default `disabled` to `false`.
+
+
+
+
+
operationId: updateConnectionConfiguration
parameters:
- description: Unique ID or name of the configuration.
@@ -3332,62 +3497,33 @@ paths:
- application/json
/api/rest/2.0/customization/email:
post:
- description: |2+
-
- Version: 10.10.0.cl or later
-
-
- Creates a customization configuration for the notification email.
-
- #### Pre-requisites
-
- Requires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.
- If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.
-
- **NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.
-
- #### Usage guidelines
-
- To create a custom configuration pass these parameters in your API request:
-
- - A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration:
-
- ```
- {
- {
- "ctaButtonBgColor": "#444DEA",
- "ctaTextFontColor": "#FFFFFF",
- "primaryBgColor": "#D3DEF0",
- "hideMobileAppNudge": false,
- "fontFamily" : "",
- "hideProductName" : false,
- "hideFooterPhone" : false,
- "hideFooterAddress" : false,
- "hidePrivacyPolicy" : false,
- "hideManageNotification" : false,
- "hideTsVocabularyDefinitions": false,
- "hideNotificationStatus" : false,
- "hideErrorMessage": false,
- "hideUnsubscribeLink" : false,
- "hideModifyAlert": false,
- "textTransform": "",
- "replacementValueForLiveboard": "LB dashboard",
- "replacementValueForAnswer": "Answer dashboard",
- "replacementValueForSpotIQ": "SpotIQ dashboard",
- "logoUrl":"",
- "productName":"ThoughtSpot",
- "footerPhone":"(800) 508-7008",
- "footerAddress":"444 Castro St, Suite 1000 Mountain View, CA 94041",
- "companyWebsiteUrl":"",
- "companyPrivacyPolicyUrl":""
- }
- }
- ```
-
-
-
-
-
+ description: "\nVersion: 10.10.0.cl or later\n\n\nCreates a customization configuration\
+ \ for the notification email.\n\n#### Pre-requisites\n\nRequires `DEVELOPER`\
+ \ (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**)\
+ \ privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac)\
+ \ is enabled on your instance, the `DEVELOPER` (**Has developer privilege**)\
+ \ privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact\
+ \ ThoughtSpot support to enable this on your instance.\n\n#### Usage guidelines\n\
+ \nTo create a custom configuration pass these parameters in your API request:\n\
+ \n- A JSON map of configuration attributes `template_properties`. The following\
+ \ example shows a sample set of customization configuration:\n\n```\n{\n \
+ \ {\n \"cta_button_bg_color\": \"#444DEA\",\n \t\"cta_text_font_color\"\
+ : \"#FFFFFF\",\n \t\"primary_bg_color\": \"#D3DEF0\",\n \"logo_url\"\
+ : \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\"\
+ ,\n \t \"font_family\": \"\",\n \t\"product_name\": \"ThoughtSpot\",\n\
+ \ \t\"footer_address\": \"444 Castro St, Suite 1000 Mountain View, CA 94041\"\
+ ,\n\t \"footer_phone\": \"(800) 508-7008\",\n \"replacement_value_for_liveboard\"\
+ : \"Dashboard\",\n \t\"replacement_value_for_answer\": \"Chart\",\n \
+ \ \t\"replacement_value_for_spot_iq\": \"AI Insights\",\n \t \"hide_footer_phone\"\
+ : false,\n \"hide_footer_address\": false,\n \"hide_product_name\"\
+ : false,\n \t\"hide_manage_notification\": false,\n \t\"hide_mobile_app_nudge\"\
+ : false,\n \t\"hide_privacy_policy\": false,\n \t\"hide_ts_vocabulary_definitions\"\
+ : false,\n \t\"hide_error_message\": false,\n \t\"hide_unsubscribe_link\"\
+ : false,\n \"hide_notification_status\": false,\n \t\"hide_modify_alert\"\
+ : false,\n \t\"company_website_url\": \"https://your-website.com/\",\n\
+ \ \t\"company_privacy_policy_url\" : \"https://link-to-privacy-policy.com/\"\
+ ,\n \"contact_support_url\": \"https://link-to-contact-support.com/\"\
+ ,\n \"hide_contact_support_url\": false\n }\n}\n```\n\n\n\n\n\n"
operationId: createEmailCustomization
parameters: []
requestBody:
@@ -3618,62 +3754,33 @@ paths:
- application/json
/api/rest/2.0/customization/email/update:
post:
- description: |2+
-
- Version: 10.12.0.cl or later
-
-
- Updates a customization configuration for the notification email.
-
- #### Pre-requisites
-
- Requires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege.
- If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required.
-
- **NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance.
-
- #### Usage guidelines
-
- To update a custom configuration pass these parameters in your API request:
-
- - A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration:
-
- ```
- {
- {
- "ctaButtonBgColor": "#444DEA",
- "ctaTextFontColor": "#FFFFFF",
- "primaryBgColor": "#D3DEF0",
- "hideMobileAppNudge": false,
- "fontFamily" : "",
- "hideProductName" : false,
- "hideFooterPhone" : false,
- "hideFooterAddress" : false,
- "hidePrivacyPolicy" : false,
- "hideManageNotification" : false,
- "hideTsVocabularyDefinitions": false,
- "hideNotificationStatus" : false,
- "hideErrorMessage": false,
- "hideUnsubscribeLink" : false,
- "hideModifyAlert": false,
- "textTransform": "",
- "replacementValueForLiveboard": "LB dashboard",
- "replacementValueForAnswer": "Answer dashboard",
- "replacementValueForSpotIQ": "SpotIQ dashboard",
- "logoUrl":"",
- "productName":"ThoughtSpot",
- "footerPhone":"(800) 508-7008",
- "footerAddress":"444 Castro St, Suite 1000 Mountain View, CA 94041",
- "companyWebsiteUrl":"",
- "companyPrivacyPolicyUrl":""
- }
- }
- ```
-
-
-
-
-
+ description: "\nVersion: 10.12.0.cl or later\n\n\nUpdates a customization configuration\
+ \ for the notification email.\n\n#### Pre-requisites\n\nRequires `DEVELOPER`\
+ \ (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**)\
+ \ privilege.\nIf [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac)\
+ \ is enabled on your instance, the `DEVELOPER` (**Has developer privilege**)\
+ \ privilege is required.\n\n**NOTE**:This endpoint in currently in beta. Contact\
+ \ ThoughtSpot support to enable this on your instance.\n\n#### Usage guidelines\n\
+ \nTo update a custom configuration pass these parameters in your API request:\n\
+ \n- A JSON map of configuration attributes `template_properties`. The following\
+ \ example shows a sample set of customization configuration:\n\n```\n{\n \
+ \ {\n \"cta_button_bg_color\": \"#444DEA\",\n \t\"cta_text_font_color\"\
+ : \"#FFFFFF\",\n \t\"primary_bg_color\": \"#D3DEF0\",\n \"logo_url\"\
+ : \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\"\
+ ,\n \t \"font_family\": \"\",\n \t\"product_name\": \"ThoughtSpot\",\n\
+ \ \t\"footer_address\": \"444 Castro St, Suite 1000 Mountain View, CA 94041\"\
+ ,\n\t \"footer_phone\": \"(800) 508-7008\",\n \"replacement_value_for_liveboard\"\
+ : \"Dashboard\",\n \t\"replacement_value_for_answer\": \"Chart\",\n \
+ \ \t\"replacement_value_for_spot_iq\": \"AI Insights\",\n \t \"hide_footer_phone\"\
+ : false,\n \"hide_footer_address\": false,\n \"hide_product_name\"\
+ : false,\n \t\"hide_manage_notification\": false,\n \t\"hide_mobile_app_nudge\"\
+ : false,\n \t\"hide_privacy_policy\": false,\n \t\"hide_ts_vocabulary_definitions\"\
+ : false,\n \t\"hide_error_message\": false,\n \t\"hide_unsubscribe_link\"\
+ : false,\n \"hide_notification_status\": false,\n \t\"hide_modify_alert\"\
+ : false,\n \t\"company_website_url\": \"https://your-website.com/\",\n\
+ \ \t\"company_privacy_policy_url\" : \"https://link-to-privacy-policy.com/\"\
+ ,\n \"contact_support_url\": \"https://link-to-contact-support.com/\"\
+ ,\n \"hide_contact_support_url\": false\n }\n}\n```\n\n\n\n\n\n"
operationId: updateEmailCustomization
parameters: []
requestBody:
@@ -4865,11 +4972,13 @@ paths:
\ or later\n\n\nAllows parameterizing fields in metadata objects in ThoughtSpot.\n\
\nRequires appropriate permissions to modify the metadata object.\n\nThe API\
\ endpoint allows parameterizing the following types of metadata objects:\n\
- * Logical Tables\n* Connections\n\nFor a Logical Table the field type must\
- \ be `ATTRIBUTE` and field name can be one of:\n* databaseName\n* schemaName\n\
- * tableName\n\nFor a Connection the field type is always `CONNECTION_PROPERTY`.\
- \ We use the field_name in this\ncase to specify the exact property of a connection\
- \ which needs to be parameterized.\n\n\n\n\n\n"
+ * Logical Tables\n* Connections\n* Connection Configs\n\nFor a Logical Table\
+ \ the field type must be `ATTRIBUTE` and field name can be one of:\n* databaseName\n\
+ * schemaName\n* tableName\n\nFor a Connection or Connection Config, the field\
+ \ type is always `CONNECTION_PROPERTY`. In this case, field_name specifies\
+ \ the exact property of the Connection or Connection Config that needs to\
+ \ be parameterized.\n\nFor Connection Config, the only supported field name\
+ \ is:\n* impersonate_user\n\n\n\n\n\n"
operationId: parameterizeMetadata
parameters: []
requestBody:
@@ -5007,11 +5116,12 @@ paths:
\ in metadata objects in ThoughtSpot.\n\nRequires appropriate permissions\
\ to modify the metadata object.\n\nThe API endpoint allows unparameterizing\
\ the following types of metadata objects:\n* Logical Tables\n* Connections\n\
- \nFor a Logical Table the field type must be `ATTRIBUTE` and field name can\
- \ be one of:\n* databaseName\n* schemaName\n* tableName\n\nFor a Connection\
- \ the field type is always `CONNECTION_PROPERTY`. We use the field_name in\
- \ this\ncase to specify the exact property of a connection which needs to\
- \ be unparameterized.\n\n\n\n\n\n"
+ * Connection Configs\n\nFor a Logical Table the field type must be `ATTRIBUTE`\
+ \ and field name can be one of:\n* databaseName\n* schemaName\n* tableName\n\
+ \nFor a Connection or Connection Config, the field type is always `CONNECTION_PROPERTY`.\
+ \ In this case, field_name specifies the exact property of the Connection\
+ \ or Connection Config that needs to be unparameterized.\n\nFor Connection\
+ \ Config, the only supported field name is:\n* impersonate_user\n\n\n\n\n\n"
operationId: unparameterizeMetadata
parameters: []
requestBody:
@@ -5543,17 +5653,17 @@ paths:
/api/rest/2.0/report/liveboard:
post:
description: "\n Version: 9.0.0.cl or later\n\n\nExports a Liveboard and its\
- \ visualizations in PDF or PNG file format.\n\nRequires at least view access\
- \ to the Liveboard.\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\nThe default\
- \ `file_format` is PDF. For PDF downloads, you can specify additional parameters\
- \ to customize the page orientation and include or exclude the cover page,\
- \ logo, footer text, and page numbers. Similar customization options are also\
- \ available for PNG output.\n\n**NOTE**: The downloadable file returned in\
- \ API response file is extensionless. Please rename the downloaded file by\
- \ typing in the relevant extension.\n\nOptionally, you can define [runtime\
- \ overrides](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_overrides)\
+ \ visualizations in PDF, PNG, CSV, or XLSX file format.\n\nRequires at least\
+ \ view access to the Liveboard.\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\
+ \nThe default `file_format` is CSV. For PDF exports, you can specify additional\
+ \ parameters to customize the page orientation and include or exclude the\
+ \ cover page, logo, footer text, and page numbers. Similar customization options\
+ \ are available for PNG exports. CSV and XLSX exports do not support customization\
+ \ options.\n\n**NOTE**: The downloadable file returned in API response file\
+ \ is extensionless. Please rename the downloaded file by typing in the relevant\
+ \ extension.\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\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\
@@ -5563,7 +5673,16 @@ paths:
\ 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\n\n\n"
+ \ `png_options` will not be available for PNG exports.\n\n**NOTE**: Starting\
+ \ with the ThoughtSpot Cloud 26.2.0.cl release, Liveboards can be exported\
+ \ in CSV format. All visualizations in the Liveboard can be exported as individual\
+ \ CSV files. If multiple visualizations are selected or if the entire Liveboard\
+ \ is exported, the output is returned as a .zip file containing the CSV files\
+ \ for each visualization.\n\n**NOTE**: Starting with the ThoughtSpot Cloud\
+ \ 26.2.0.cl release, Liveboards can be exported in XLSX format. All selected\
+ \ visualizations are consolidated into a single Excel workbook (.xlsx), with\
+ \ each visualization placed in its own worksheet (tab). XLSX exports are limited\
+ \ to 255 worksheets (tabs) per workbook.\n\n\n\n\n\n"
operationId: exportLiveboardReport
parameters: []
requestBody:
@@ -6787,6 +6906,8 @@ paths:
example_1:
value:
onboarding_content_url: ""
+ saml_enabled: false
+ okta_enabled: false
schema:
$ref: '#/components/schemas/SystemConfig'
description: Cluster config information.
@@ -8100,13 +8221,13 @@ paths:
\nThe API endpoint supports the following types of variables:\n* CONNECTION_PROPERTY\
\ - For connection properties\n* TABLE_MAPPING - For table mappings\n* CONNECTION_PROPERTY_PER_PRINCIPAL\
\ - For connection properties per principal. In order to use this please contact\
- \ support to enable this.\n* FORMULA_VARIABLE - For Formula variables\n\n\
- When creating a variable, you need to specify:\n* The variable type\n* A unique\
- \ name for the variable\n* Whether the variable contains sensitive values\
- \ (defaults to false)\n* The data type of the variable, only specify for fomula\
- \ variables (defaults to null)\n\nThe operation will fail if:\n* The user\
- \ lacks required permissions\n* The variable name already exists\n* The variable\
- \ type is invalid\n\n\n\n\n"
+ \ support to enable this.\n* FORMULA_VARIABLE - For Formula variables, introduced\
+ \ in 10.15.0.cl\n\nWhen creating a variable, you need to specify:\n* The variable\
+ \ type\n* A unique name for the variable\n* Whether the variable contains\
+ \ sensitive values (defaults to false)\n* The data type of the variable, only\
+ \ specify for formula variables (defaults to null)\n\nThe operation will fail\
+ \ if:\n* The user lacks required permissions\n* The variable name already\
+ \ exists\n* The variable type is invalid\n\n\n\n\n"
operationId: createVariable
parameters: []
requestBody:
@@ -12722,6 +12843,7 @@ components:
- CAN_MANAGE_ANALYST_STUDIO
- CAN_VIEW_FOLDERS
- CAN_MODIDY_FOLDERS
+ - CAN_MANAGE_VARIABLES
- PREVIEW_DOCUMENT_SEARCH
- CAN_SETUP_VERSION_CONTROL
- CAN_MANAGE_WEBHOOKS
@@ -13314,6 +13436,47 @@ components:
nullable: true
type: string
type: object
+ eureka_GetNLInstructionsResponse:
+ example:
+ nl_instructions_info:
+ - instructions:
+ - instructions
+ - instructions
+ scope: GLOBAL
+ - instructions:
+ - instructions
+ - instructions
+ scope: GLOBAL
+ properties:
+ nl_instructions_info:
+ description: List of NL instructions with their scopes.
+ items:
+ $ref: '#/components/schemas/NLInstructionsInfo'
+ type: array
+ required:
+ - nl_instructions_info
+ type: object
+ NLInstructionsInfo:
+ example:
+ instructions:
+ - instructions
+ - instructions
+ scope: GLOBAL
+ properties:
+ instructions:
+ description: User instructions for natural language processing.
+ items:
+ type: string
+ type: array
+ scope:
+ description: Scope of the instruction.
+ enum:
+ - GLOBAL
+ type: string
+ required:
+ - instructions
+ - scope
+ type: object
RiseGQLArgWrapper:
properties:
name:
@@ -13337,6 +13500,7 @@ components:
- CONNECTION_PROPERTY
- TABLE_MAPPING
- CONNECTION_PROPERTY_PER_PRINCIPAL
+ - FORMULA_VARIABLE
nullable: true
type: string
name_pattern:
@@ -13405,6 +13569,7 @@ components:
- CONNECTION_PROPERTY
- TABLE_MAPPING
- CONNECTION_PROPERTY_PER_PRINCIPAL
+ - FORMULA_VARIABLE
nullable: true
type: string
sensitive:
@@ -14395,6 +14560,21 @@ components:
- name
- values
type: object
+ VariableValues:
+ description: Variable values.
+ properties:
+ name:
+ description: The name of the existing formula variable.
+ type: string
+ values:
+ description: The values to filter on.
+ items:
+ type: object
+ type: array
+ required:
+ - name
+ - values
+ type: object
TokenAccessScopeObject:
description: Objects on which the filter rules and parameters values should
be applied to
@@ -14763,6 +14943,7 @@ components:
- CAN_ACCESS_ANALYST_STUDIO
- CAN_MANAGE_ANALYST_STUDIO
- CAN_MODIFY_FOLDERS
+ - CAN_MANAGE_VARIABLES
- CAN_VIEW_FOLDERS
- PREVIEW_DOCUMENT_SEARCH
- CAN_SETUP_VERSION_CONTROL
@@ -15745,6 +15926,7 @@ components:
- CAN_ACCESS_ANALYST_STUDIO
- CAN_MANAGE_ANALYST_STUDIO
- PREVIEW_DOCUMENT_SEARCH
+ - CAN_MANAGE_VARIABLES
- CAN_MODIFY_FOLDERS
- CAN_VIEW_FOLDERS
- CAN_SETUP_VERSION_CONTROL
@@ -16750,6 +16932,32 @@ components:
required:
- success
type: object
+ NLInstructionsInfoInput:
+ properties:
+ instructions:
+ description: User instructions for natural language processing.
+ items:
+ type: string
+ type: array
+ scope:
+ description: Scope of the instruction (USER or GLOBAL). Defaults to GLOBAL.
+ enum:
+ - GLOBAL
+ type: string
+ required:
+ - instructions
+ - scope
+ type: object
+ eureka_SetNLInstructionsResponse:
+ example:
+ success: true
+ properties:
+ success:
+ description: Success status of the operation.
+ type: boolean
+ required:
+ - success
+ type: object
VariableUpdateAssignmentInput:
description: Input for variable value update in batch operations
properties:
@@ -16767,7 +16975,7 @@ components:
- ADD
- REMOVE
- REPLACE
- - CLEAR
+ - RESET
type: string
required:
- operation
@@ -17231,6 +17439,15 @@ components:
required:
- query
type: object
+ getNLInstructions_request:
+ properties:
+ data_source_identifier:
+ description: Unique ID or name of the data-model for which to retrieve NL
+ instructions.
+ type: string
+ required:
+ - data_source_identifier
+ type: object
getRelevantQuestions_request:
properties:
metadata_context:
@@ -17339,6 +17556,20 @@ components:
- message
- metadata_identifier
type: object
+ setNLInstructions_request:
+ properties:
+ data_source_identifier:
+ description: Unique ID or name of the data-model for which to set NL instructions.
+ type: string
+ nl_instructions_info:
+ description: List of NL instructions to set for the data-model.
+ items:
+ $ref: '#/components/schemas/NLInstructionsInfoInput'
+ type: array
+ required:
+ - data_source_identifier
+ - nl_instructions_info
+ type: object
singleAnswer_request:
properties:
query:
@@ -17382,7 +17613,7 @@ components:
type: string
persist_option:
description: Indicates whether the specified attributes should be persisted
- or not.
+ or not. RESET and NONE are not applicable if you are setting variable_values.
enum:
- REPLACE
- APPEND
@@ -17399,6 +17630,13 @@ components:
items:
$ref: '#/components/schemas/ParameterValues'
type: array
+ variable_values:
+ description: "List of variable values where `name` references an existing\
+ \ formula variable and `values` is any value from the corresponding column.\
+ \ \n Version: 10.14.0.cl or later\n"
+ items:
+ $ref: '#/components/schemas/VariableValues'
+ type: array
objects:
description: Objects on which the filter rules and parameters values should
be applied to
@@ -17425,7 +17663,8 @@ components:
description: " Creates a new user if the specified username does not exist\
\ in ThoughtSpot. To provision a user just-in-time (JIT), set this attribute\
\ to true.\n \n\nNote: For JIT provisioning of a user, the secret_key\
- \ is required. \n Version: 10.5.0.cl or later\n"
+ \ is required. New formula variables won't be created. \n Version: 10.5.0.cl\
+ \ or later\n"
nullable: true
type: boolean
required:
@@ -18672,6 +18911,7 @@ components:
- CAN_ACCESS_ANALYST_STUDIO
- CAN_MANAGE_ANALYST_STUDIO
- CAN_MODIFY_FOLDERS
+ - CAN_MANAGE_VARIABLES
- CAN_VIEW_FOLDERS
- PREVIEW_DOCUMENT_SEARCH
- CAN_SETUP_VERSION_CONTROL
@@ -18804,6 +19044,7 @@ components:
- CAN_MANAGE_ANALYST_STUDIO
- PREVIEW_DOCUMENT_SEARCH
- CAN_MODIFY_FOLDERS
+ - CAN_MANAGE_VARIABLES
- CAN_VIEW_FOLDERS
- CAN_SETUP_VERSION_CONTROL
- CAN_MANAGE_WEBHOOKS
@@ -18924,6 +19165,7 @@ components:
- CAN_ACCESS_ANALYST_STUDIO
- CAN_MANAGE_ANALYST_STUDIO
- CAN_MODIFY_FOLDERS
+ - CAN_MANAGE_VARIABLES
- CAN_VIEW_FOLDERS
- PREVIEW_DOCUMENT_SEARCH
- CAN_SETUP_VERSION_CONTROL
@@ -19815,6 +20057,7 @@ components:
- CAN_ACCESS_ANALYST_STUDIO
- CAN_MANAGE_ANALYST_STUDIO
- PREVIEW_DOCUMENT_SEARCH
+ - CAN_MANAGE_VARIABLES
- CAN_MODIFY_FOLDERS
- CAN_VIEW_FOLDERS
- CAN_SETUP_VERSION_CONTROL
@@ -19903,6 +20146,7 @@ components:
- CAN_MANAGE_ANALYST_STUDIO
- CAN_VIEW_FOLDERS
- CAN_MODIDY_FOLDERS
+ - CAN_MANAGE_VARIABLES
- PREVIEW_DOCUMENT_SEARCH
- CAN_SETUP_VERSION_CONTROL
- CAN_MANAGE_WEBHOOKS
@@ -19979,6 +20223,7 @@ components:
- CAN_ACCESS_ANALYST_STUDIO
- CAN_MANAGE_ANALYST_STUDIO
- CAN_MODIFY_FOLDERS
+ - CAN_MANAGE_VARIABLES
- CAN_VIEW_FOLDERS
- PREVIEW_DOCUMENT_SEARCH
- PREVIEW_THOUGHTSPOT_SAGE
@@ -22031,6 +22276,7 @@ components:
- CAN_MANAGE_ANALYST_STUDIO
- PREVIEW_DOCUMENT_SEARCH
- CAN_MODIFY_FOLDERS
+ - CAN_MANAGE_VARIABLES
- CAN_VIEW_FOLDERS
- CAN_SETUP_VERSION_CONTROL
- CAN_MANAGE_WEBHOOKS
@@ -22238,6 +22484,7 @@ components:
- CONNECTION_PROPERTY
- TABLE_MAPPING
- CONNECTION_PROPERTY_PER_PRINCIPAL
+ - FORMULA_VARIABLE
type: string
name:
description: Name of the variable. This is unique across the cluster.
@@ -22284,11 +22531,11 @@ components:
description: The number of records that should be included
format: int32
type: integer
- output_format:
- default: METADATA_ONLY
+ response_content:
+ default: METADATA
description: Format in which we want the output
enum:
- - METADATA_ONLY
+ - METADATA
- METADATA_AND_VALUES
type: string
type: object
@@ -22667,6 +22914,11 @@ x-roles:
tags:
- 10.4.0.cl
description: Roles for version 10.4.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.7.0.cl
id: 10.7.0.cl
tags:
diff --git a/sdks/java/build.gradle b/sdks/java/build.gradle
index c560e39c8..2fa930c95 100644
--- a/sdks/java/build.gradle
+++ b/sdks/java/build.gradle
@@ -4,7 +4,7 @@ apply plugin: 'java'
apply plugin: 'com.diffplug.spotless'
group = 'com.thoughtspot'
-version = '2.19.0'
+version = '2.20.0'
buildscript {
repositories {
diff --git a/sdks/java/build.sbt b/sdks/java/build.sbt
index 76f597434..e52069f53 100644
--- a/sdks/java/build.sbt
+++ b/sdks/java/build.sbt
@@ -2,7 +2,7 @@ lazy val root = (project in file(".")).
settings(
organization := "com.thoughtspot",
name := "rest-api-sdk",
- version := "2.19.0",
+ version := "2.20.0",
scalaVersion := "2.11.4",
scalacOptions ++= Seq("-feature"),
javacOptions in compile ++= Seq("-Xlint:deprecation"),
diff --git a/sdks/java/docs/AiApi.md b/sdks/java/docs/AiApi.md
index 4318afae1..97545be0e 100644
--- a/sdks/java/docs/AiApi.md
+++ b/sdks/java/docs/AiApi.md
@@ -7,11 +7,13 @@ All URIs are relative to *CLUSTER_URL*
| [**createAgentConversation**](AiApi.md#createAgentConversation) | **POST** /api/rest/2.0/ai/agent/conversation/create |
| [**createConversation**](AiApi.md#createConversation) | **POST** /api/rest/2.0/ai/conversation/create |
| [**getDataSourceSuggestions**](AiApi.md#getDataSourceSuggestions) | **POST** /api/rest/2.0/ai/data-source-suggestions |
+| [**getNLInstructions**](AiApi.md#getNLInstructions) | **POST** /api/rest/2.0/ai/instructions/get |
| [**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 |
+| [**setNLInstructions**](AiApi.md#setNLInstructions) | **POST** /api/rest/2.0/ai/instructions/set |
| [**singleAnswer**](AiApi.md#singleAnswer) | **POST** /api/rest/2.0/ai/answer/create |
@@ -120,6 +122,41 @@ Version: 10.13.0.cl or later
| **400** | Operation failed | - |
| **500** | Operation failed | - |
+
+# **getNLInstructions**
+> EurekaGetNLInstructionsResponse getNLInstructions(getNLInstructionsRequest)
+
+
+
+ Version: 10.15.0.cl or later This API allows users to retrieve existing natural language (NL) instructions for a specific data-model. These instructions guide the AI system in understanding data context and generating more accurate responses when processing natural language queries. #### Usage guidelines To retrieve NL instructions for a data-model, the request must include: - `data_source_identifier`: The unique ID or name of the data-model to retrieve NL instructions The API returns a response object with: - `nl_instructions_info`: An array of instruction objects, each containing: - `instructions`: Array of text instructions for natural language processing - `scope`: The scope of the instruction (`GLOBAL`). It can be extended to data-model-user scope in future. #### Instructions Scope - **GLOBAL**: Instructions that apply globally across the system on the given data-model (currently only global instructions are supported) > ###### Note: > * To use this API, the user needs atleast view access on the data-model and they must use corresponding org related bearerToken where the data-model exists. > * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > * Available from version 10.15.0.cl and later. > * This endpoint requires Spotter — please contact ThoughtSpot Support to enable Spotter on your cluster. > * Use this API to view currently configured instructions before modifying them with `setNLInstructions`.
+
+### Parameters
+
+| Name | Type |
+|------------- | ------------- |
+| **getNLInstructionsRequest** | [**GetNLInstructionsRequest**](GetNLInstructionsRequest.md)
+
+### Return type
+
+[**EurekaGetNLInstructionsResponse**](EurekaGetNLInstructionsResponse.md)
+
+### 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 | - |
+
# **getRelevantQuestions**
> EurekaGetRelevantQuestionsResponse getRelevantQuestions(getRelevantQuestionsRequest)
@@ -297,6 +334,41 @@ Version: 10.7.0.cl or later
| **400** | Operation failed | - |
| **500** | Operation failed | - |
+
+# **setNLInstructions**
+> EurekaSetNLInstructionsResponse setNLInstructions(setNLInstructionsRequest)
+
+
+
+ Version: 10.15.0.cl or later This API allows users to set natural language (NL) instructions for a specific data-model to improve AI-generated answers and query processing. These instructions help guide the AI system to better understand the data context and provide more accurate responses. #### Usage guidelines To set NL instructions for a data-model, the request must include: - `data_source_identifier`: The unique ID or name of the data-model for which to set NL instructions - `nl_instructions_info`: An array of instruction objects, each containing: - `instructions`: Array of text instructions for the LLM - `scope`: The scope of the instruction (`GLOBAL`). Currently only `GLOBAL` is supported. It can be extended to data-model-user scope in future. The API returns a response object with: - `success`: Boolean indicating whether the operation was successful #### Instructions Scope - **GLOBAL**: Instructions that apply globally for that data-model across the system > ###### Note: > * To use this API, the user needs either edit access or SPOTTER_COACHING_PRIVILEGE on the data-model and they must use corresponding org related bearerToken where the data-model exists. > * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > * Available from version 10.15.0.cl and later. > * This endpoint requires Spotter — please contact ThoughtSpot Support to enable Spotter on your cluster. > * Instructions help improve the accuracy and relevance of AI-generated responses for the specified data-model.
+
+### Parameters
+
+| Name | Type |
+|------------- | ------------- |
+| **setNLInstructionsRequest** | [**SetNLInstructionsRequest**](SetNLInstructionsRequest.md)
+
+### Return type
+
+[**EurekaSetNLInstructionsResponse**](EurekaSetNLInstructionsResponse.md)
+
+### 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 | - |
+
# **singleAnswer**
> ResponseMessage singleAnswer(singleAnswerRequest)
diff --git a/sdks/java/docs/ConnectionConfigurationsApi.md b/sdks/java/docs/ConnectionConfigurationsApi.md
index fc5d4198a..8ae911d60 100644
--- a/sdks/java/docs/ConnectionConfigurationsApi.md
+++ b/sdks/java/docs/ConnectionConfigurationsApi.md
@@ -52,7 +52,7 @@ All URIs are relative to *CLUSTER_URL*
- Version: 10.12.0.cl or later Creates an additional configuration to an existing connection to a data warehouse. Requires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required. #### Usage guidelines * A JSON map of configuration attributes in `configuration`. The following example shows the configuration attributes: ``` { \"user\":\"DEV_USER\", \"password\":\"TestConn123\", \"role\":\"DEV\", \"warehouse\":\"DEV_WH\" } ``` * If the `policy_type` is `PRINCIPALS`, then `policy_principals` is a required field. * If the `policy_type` is `PROCESSES`, then `policy_processes` is a required field. * If the `policy_type` is `NO_POLICY`, then `policy_principals` and `policy_processes` are not required fields.
+ Version: 10.12.0.cl or later Creates an additional configuration to an existing connection to a data warehouse. Requires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required. #### Usage guidelines * A JSON map of configuration attributes in `configuration`. The following example shows the configuration attributes: ``` { \"user\":\"DEV_USER\", \"password\":\"TestConn123\", \"role\":\"DEV\", \"warehouse\":\"DEV_WH\" } ``` * If the `policy_type` is `PRINCIPALS`, then `policy_principals` is a required field. * If the `policy_type` is `PROCESSES`, then `policy_processes` is a required field. * If the `policy_type` is `NO_POLICY`, then `policy_principals` and `policy_processes` are not required fields. #### Parameterized Connection Support For parameterized connections that use OAuth authentication, only the same_as_parent and policy_process_options attributes are allowed in the API request. These attributes are not applicable to connections that are not parameterized.
### Parameters
@@ -124,7 +124,7 @@ null (empty response body)
- Version: 10.12.0.cl or later Updates a connection configuration object. Requires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required. #### Supported operations This API endpoint lets you perform the following operations in a single API request: * Edit the name or description of the configuration * Edit the configuration properties * Edit the `policy_type` * Edit the type of authentication * Enable or disable a configuration **NOTE**: When updating a configuration where `disabled` is `true`, you must reset `disabled` to `true` in your update request payload. If not explicitly set again, the API will default `disabled` to `false`.
+ Version: 10.12.0.cl or later Updates a connection configuration object. Requires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required. #### Supported operations This API endpoint lets you perform the following operations in a single API request: * Edit the name or description of the configuration * Edit the configuration properties * Edit the `policy_type` * Edit the type of authentication * Enable or disable a configuration #### Parameterized Connection Support For parameterized oauth based connections, only the `same_as_parent` and `policy_process_options` attributes are allowed. These attributes are not applicable to connections that are not parameterized. **NOTE**: When updating a configuration where `disabled` is `true`, you must reset `disabled` to `true` in your update request payload. If not explicitly set again, the API will default `disabled` to `false`.
### Parameters
diff --git a/sdks/java/docs/CreateEmailCustomisationResponse.md b/sdks/java/docs/CreateEmailCustomisationResponse.md
deleted file mode 100644
index 65a77dacf..000000000
--- a/sdks/java/docs/CreateEmailCustomisationResponse.md
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-# CreateEmailCustomisationResponse
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**tenantId** | **String** | Tenant ID | |
-|**org** | [**OrgType**](OrgType.md) | | |
-|**name** | **String** | Email customization name. | |
-|**templateProperties** | **Object** | Customization configuration for the email | |
-
-
-## Implemented Interfaces
-
-* Serializable
-
-
diff --git a/sdks/java/docs/CreateRoleRequest.md b/sdks/java/docs/CreateRoleRequest.md
index 4ba139579..1e4eb8e4b 100644
--- a/sdks/java/docs/CreateRoleRequest.md
+++ b/sdks/java/docs/CreateRoleRequest.md
@@ -49,6 +49,7 @@
| CAN_ACCESS_ANALYST_STUDIO | "CAN_ACCESS_ANALYST_STUDIO" |
| CAN_MANAGE_ANALYST_STUDIO | "CAN_MANAGE_ANALYST_STUDIO" |
| PREVIEW_DOCUMENT_SEARCH | "PREVIEW_DOCUMENT_SEARCH" |
+| CAN_MANAGE_VARIABLES | "CAN_MANAGE_VARIABLES" |
| CAN_MODIFY_FOLDERS | "CAN_MODIFY_FOLDERS" |
| CAN_VIEW_FOLDERS | "CAN_VIEW_FOLDERS" |
| CAN_SETUP_VERSION_CONTROL | "CAN_SETUP_VERSION_CONTROL" |
diff --git a/sdks/java/docs/CreateUserGroupRequest.md b/sdks/java/docs/CreateUserGroupRequest.md
index a5713bcdd..c7f5ce82e 100644
--- a/sdks/java/docs/CreateUserGroupRequest.md
+++ b/sdks/java/docs/CreateUserGroupRequest.md
@@ -50,6 +50,7 @@
| CAN_ACCESS_ANALYST_STUDIO | "CAN_ACCESS_ANALYST_STUDIO" |
| CAN_MANAGE_ANALYST_STUDIO | "CAN_MANAGE_ANALYST_STUDIO" |
| CAN_MODIFY_FOLDERS | "CAN_MODIFY_FOLDERS" |
+| CAN_MANAGE_VARIABLES | "CAN_MANAGE_VARIABLES" |
| CAN_VIEW_FOLDERS | "CAN_VIEW_FOLDERS" |
| PREVIEW_DOCUMENT_SEARCH | "PREVIEW_DOCUMENT_SEARCH" |
| CAN_SETUP_VERSION_CONTROL | "CAN_SETUP_VERSION_CONTROL" |
diff --git a/sdks/java/docs/CreateVariableRequest.md b/sdks/java/docs/CreateVariableRequest.md
index 603d6221c..8c75940e7 100644
--- a/sdks/java/docs/CreateVariableRequest.md
+++ b/sdks/java/docs/CreateVariableRequest.md
@@ -21,6 +21,7 @@
| CONNECTION_PROPERTY | "CONNECTION_PROPERTY" |
| TABLE_MAPPING | "TABLE_MAPPING" |
| CONNECTION_PROPERTY_PER_PRINCIPAL | "CONNECTION_PROPERTY_PER_PRINCIPAL" |
+| FORMULA_VARIABLE | "FORMULA_VARIABLE" |
diff --git a/sdks/java/docs/DbtConnectionRequest.md b/sdks/java/docs/DbtConnectionRequest.md
deleted file mode 100644
index e7e067fcc..000000000
--- a/sdks/java/docs/DbtConnectionRequest.md
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-# DbtConnectionRequest
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**connectionName** | **String** | Name of the connection. | |
-|**databaseName** | **String** | Name of the Database. | |
-|**importType** | [**ImportTypeEnum**](#ImportTypeEnum) | Mention type of Import | [optional] |
-|**accessToken** | **String** | Access token is mandatory when Import_Type is DBT_CLOUD. | [optional] |
-|**dbtUrl** | **String** | DBT URL is mandatory when Import_Type is DBT_CLOUD. | [optional] |
-|**accountId** | **String** | Account ID is mandatory when Import_Type is DBT_CLOUD | [optional] |
-|**projectId** | **String** | Project ID is mandatory when Import_Type is DBT_CLOUD | [optional] |
-|**dbtEnvId** | **String** | DBT Environment ID\" | [optional] |
-|**projectName** | **String** | Name of the project | [optional] |
-|**fileContent** | **File** | Upload DBT Manifest and Catalog artifact files as a ZIP file. This field is Mandatory when Import Type is 'ZIP_FILE' | [optional] |
-
-
-
-## Enum: ImportTypeEnum
-
-| Name | Value |
-|---- | -----|
-| DBT_CLOUD | "DBT_CLOUD" |
-| ZIP_FILE | "ZIP_FILE" |
-
-
-## Implemented Interfaces
-
-* Serializable
-
-
diff --git a/sdks/java/docs/DbtGenerateSyncTmlRequest.md b/sdks/java/docs/DbtGenerateSyncTmlRequest.md
deleted file mode 100644
index 0c56b5658..000000000
--- a/sdks/java/docs/DbtGenerateSyncTmlRequest.md
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-# DbtGenerateSyncTmlRequest
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**dbtConnectionIdentifier** | **String** | Unique ID of the DBT connection. | |
-|**fileContent** | **File** | Upload DBT Manifest and Catalog artifact files as a ZIP file. This field is mandatory if the connection was created with import_type ‘ZIP_FILE’ | [optional] |
-
-
-## Implemented Interfaces
-
-* Serializable
-
-
diff --git a/sdks/java/docs/DbtGenerateTmlRequest.md b/sdks/java/docs/DbtGenerateTmlRequest.md
deleted file mode 100644
index 875bb692d..000000000
--- a/sdks/java/docs/DbtGenerateTmlRequest.md
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-# DbtGenerateTmlRequest
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**dbtConnectionIdentifier** | **String** | Unique ID of the DBT connection. | |
-|**modelTables** | [**List<ModelTableList>**](ModelTableList.md) | List of Models and their respective Tables | [optional] |
-|**importWorksheets** | [**ImportWorksheetsEnum**](#ImportWorksheetsEnum) | Mention the worksheet tmls to import | |
-|**worksheets** | **List<String>** | List of worksheets is mandatory when import_Worksheets is type SELECTED | [optional] |
-|**fileContent** | **File** | Upload DBT Manifest and Catalog artifact files as a ZIP file. This field is mandatory if the connection was created with import_type ‘ZIP_FILE’ | [optional] |
-
-
-
-## Enum: ImportWorksheetsEnum
-
-| Name | Value |
-|---- | -----|
-| ALL | "ALL" |
-| NONE | "NONE" |
-| SELECTED | "SELECTED" |
-
-
-## Implemented Interfaces
-
-* Serializable
-
-
diff --git a/sdks/java/docs/EmailCustomisationApi.md b/sdks/java/docs/EmailCustomisationApi.md
deleted file mode 100644
index eb47004f1..000000000
--- a/sdks/java/docs/EmailCustomisationApi.md
+++ /dev/null
@@ -1,146 +0,0 @@
-# EmailCustomisationApi
-
-All URIs are relative to *CLUSTER_URL*
-
-| Method | HTTP request |
-|------------- | ------------- |
-| [**createEmailCustomisation**](EmailCustomisationApi.md#createEmailCustomisation) | **POST** /api/rest/2.0/customization/email |
-| [**deleteEmailCustomisation**](EmailCustomisationApi.md#deleteEmailCustomisation) | **POST** /api/rest/2.0/customization/email/{template_identifier}/delete |
-| [**searchEmailCustomisation**](EmailCustomisationApi.md#searchEmailCustomisation) | **POST** /api/rest/2.0/customization/email/search |
-| [**validateEmailCustomisation**](EmailCustomisationApi.md#validateEmailCustomisation) | **POST** /api/rest/2.0/customization/email/validate |
-
-
-
-# **createEmailCustomisation**
-> CreateEmailCustomisationResponse createEmailCustomisation(createEmailCustomisationRequest)
-
-
-
- Version: 10.10.0.cl or later Creates a custom configuration for the email customisation #### Pre-requisites Requires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `_Has developer privilege` privilege is required. Coms should be enabled on the cluster. #### Usage guidelines To create a custom confuguration: 1. Pass these parameters in your API request. - A JSON map of configuration attributes `template_properties`. The following example shows the configuration attribures for a csutom configuration: ``` { { \"logoUrl\": \"<logo_url>\", \"homeUrl\": \"<home_url>\", \"productName\": \"<Company Name in the Mail>\", \"footerAddress\": \"<address to be visible in the footer>\", \"ctaButtonBgColor\": \"#444DEA\", \"ctaTextFontColor\": \"#FFFFFF\", \"primaryBgColor\": \"#D3DEF0\", \"hideMobileAppNudge\": <true/false>, \"hideTsVocabularyDefinitions\": <true/false>e, \"hideProductName\": <true/false>, \"hideFooterPhone\": <true/false>, \"hideFooterAddress\": <true/false>, \"hidePrivacyPolicy\": <true/false>, \"hideManageNotification\": <true/false>, \"fontfamily\": \"<to maintain a single font in the entire email>\" } } ```
-
-### Parameters
-
-| Name | Type |
-|------------- | ------------- |
-| **createEmailCustomisationRequest** | [**CreateEmailCustomisationRequest**](CreateEmailCustomisationRequest.md)
-
-### Return type
-
-[**CreateEmailCustomisationResponse**](CreateEmailCustomisationResponse.md)
-
-### Authorization
-
-[bearerAuth](../README.md#bearerAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | OK | - |
-| **400** | Invalid request. | - |
-| **403** | Unauthorized access. | - |
-| **500** | Unexpected error | - |
-
-
-# **deleteEmailCustomisation**
-> deleteEmailCustomisation(templateIdentifier)
-
-
-
- Version: 10.10.0.cl or later Deletes the configuration for the email customisation. #### Pre-requisites Requires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `_Has developer privilege` privilege is required. Coms should be enabled on the cluster. #### Usage guidelines Deletes the configuration available for the cluster/org. Pass the `template_identifier` in the API request. Note: `template_identifier` can be fetched from search API request.
-
-### Parameters
-
-| Name | Type |
-|------------- | ------------- |
-| **templateIdentifier** | **String**
-
-### Return type
-
-null (empty response body)
-
-### Authorization
-
-[bearerAuth](../README.md#bearerAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **204** | Email Customization configuration successfully deleted. | - |
-| **400** | Invalid request. | - |
-| **403** | Unauthorized access. | - |
-| **500** | Unexpected error | - |
-
-
-# **searchEmailCustomisation**
-> List<CreateEmailCustomisationResponse> searchEmailCustomisation()
-
-
-
- Version: 10.10.0.cl or later Search the email customisation configuration if any set for the ThoughtSpot system. #### Pre-requisites Requires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `_Has developer privilege` privilege is required. Coms should be enabled on the cluster. #### Usage guidelines To get the list of configurations set in the cluster/org.
-
-### Parameters
-This endpoint does not need any parameter.
-
-### Return type
-
-[**List<CreateEmailCustomisationResponse>**](CreateEmailCustomisationResponse.md)
-
-### Authorization
-
-[bearerAuth](../README.md#bearerAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | OK | - |
-| **400** | Invalid request. | - |
-| **403** | Unauthorized access. | - |
-| **500** | Unexpected error | - |
-
-
-# **validateEmailCustomisation**
-> validateEmailCustomisation()
-
-
-
- Version: 10.10.0.cl or later Validates the email customisation configuration if any set for the ThoughtSpot system. #### Pre-requisites Requires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `_Has developer privilege` privilege is required. Coms should be enabled on the cluster.
-
-### Parameters
-This endpoint does not need any parameter.
-
-### Return type
-
-null (empty response body)
-
-### Authorization
-
-[bearerAuth](../README.md#bearerAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **204** | Triggered test email for customization configuration | - |
-| **400** | Invalid request. | - |
-| **403** | Unauthorized access. | - |
-| **500** | Unexpected error | - |
-
diff --git a/sdks/java/docs/EmailCustomizationApi.md b/sdks/java/docs/EmailCustomizationApi.md
index 1590dacff..f821267da 100644
--- a/sdks/java/docs/EmailCustomizationApi.md
+++ b/sdks/java/docs/EmailCustomizationApi.md
@@ -18,7 +18,7 @@ All URIs are relative to *CLUSTER_URL*
- Version: 10.10.0.cl or later Creates a customization configuration for the notification email. #### Pre-requisites Requires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required. **NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance. #### Usage guidelines To create a custom configuration pass these parameters in your API request: - A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration: ``` { { \"ctaButtonBgColor\": \"#444DEA\", \"ctaTextFontColor\": \"#FFFFFF\", \"primaryBgColor\": \"#D3DEF0\", \"hideMobileAppNudge\": false, \"fontFamily\" : \"\", \"hideProductName\" : false, \"hideFooterPhone\" : false, \"hideFooterAddress\" : false, \"hidePrivacyPolicy\" : false, \"hideManageNotification\" : false, \"hideTsVocabularyDefinitions\": false, \"hideNotificationStatus\" : false, \"hideErrorMessage\": false, \"hideUnsubscribeLink\" : false, \"hideModifyAlert\": false, \"textTransform\": \"\", \"replacementValueForLiveboard\": \"LB dashboard\", \"replacementValueForAnswer\": \"Answer dashboard\", \"replacementValueForSpotIQ\": \"SpotIQ dashboard\", \"logoUrl\":\"\", \"productName\":\"ThoughtSpot\", \"footerPhone\":\"(800) 508-7008\", \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\", \"companyWebsiteUrl\":\"\", \"companyPrivacyPolicyUrl\":\"\" } } ```
+ Version: 10.10.0.cl or later Creates a customization configuration for the notification email. #### Pre-requisites Requires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required. **NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance. #### Usage guidelines To create a custom configuration pass these parameters in your API request: - A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration: ``` { { \"cta_button_bg_color\": \"#444DEA\", \"cta_text_font_color\": \"#FFFFFF\", \"primary_bg_color\": \"#D3DEF0\", \"logo_url\": \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\", \"font_family\": \"\", \"product_name\": \"ThoughtSpot\", \"footer_address\": \"444 Castro St, Suite 1000 Mountain View, CA 94041\", \"footer_phone\": \"(800) 508-7008\", \"replacement_value_for_liveboard\": \"Dashboard\", \"replacement_value_for_answer\": \"Chart\", \"replacement_value_for_spot_iq\": \"AI Insights\", \"hide_footer_phone\": false, \"hide_footer_address\": false, \"hide_product_name\": false, \"hide_manage_notification\": false, \"hide_mobile_app_nudge\": false, \"hide_privacy_policy\": false, \"hide_ts_vocabulary_definitions\": false, \"hide_error_message\": false, \"hide_unsubscribe_link\": false, \"hide_notification_status\": false, \"hide_modify_alert\": false, \"company_website_url\": \"https://your-website.com/\", \"company_privacy_policy_url\" : \"https://link-to-privacy-policy.com/\", \"contact_support_url\": \"https://link-to-contact-support.com/\", \"hide_contact_support_url\": false } } ```
### Parameters
@@ -159,7 +159,7 @@ null (empty response body)
- Version: 10.12.0.cl or later Updates a customization configuration for the notification email. #### Pre-requisites Requires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required. **NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance. #### Usage guidelines To update a custom configuration pass these parameters in your API request: - A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration: ``` { { \"ctaButtonBgColor\": \"#444DEA\", \"ctaTextFontColor\": \"#FFFFFF\", \"primaryBgColor\": \"#D3DEF0\", \"hideMobileAppNudge\": false, \"fontFamily\" : \"\", \"hideProductName\" : false, \"hideFooterPhone\" : false, \"hideFooterAddress\" : false, \"hidePrivacyPolicy\" : false, \"hideManageNotification\" : false, \"hideTsVocabularyDefinitions\": false, \"hideNotificationStatus\" : false, \"hideErrorMessage\": false, \"hideUnsubscribeLink\" : false, \"hideModifyAlert\": false, \"textTransform\": \"\", \"replacementValueForLiveboard\": \"LB dashboard\", \"replacementValueForAnswer\": \"Answer dashboard\", \"replacementValueForSpotIQ\": \"SpotIQ dashboard\", \"logoUrl\":\"\", \"productName\":\"ThoughtSpot\", \"footerPhone\":\"(800) 508-7008\", \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\", \"companyWebsiteUrl\":\"\", \"companyPrivacyPolicyUrl\":\"\" } } ```
+ Version: 10.12.0.cl or later Updates a customization configuration for the notification email. #### Pre-requisites Requires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required. **NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance. #### Usage guidelines To update a custom configuration pass these parameters in your API request: - A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration: ``` { { \"cta_button_bg_color\": \"#444DEA\", \"cta_text_font_color\": \"#FFFFFF\", \"primary_bg_color\": \"#D3DEF0\", \"logo_url\": \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\", \"font_family\": \"\", \"product_name\": \"ThoughtSpot\", \"footer_address\": \"444 Castro St, Suite 1000 Mountain View, CA 94041\", \"footer_phone\": \"(800) 508-7008\", \"replacement_value_for_liveboard\": \"Dashboard\", \"replacement_value_for_answer\": \"Chart\", \"replacement_value_for_spot_iq\": \"AI Insights\", \"hide_footer_phone\": false, \"hide_footer_address\": false, \"hide_product_name\": false, \"hide_manage_notification\": false, \"hide_mobile_app_nudge\": false, \"hide_privacy_policy\": false, \"hide_ts_vocabulary_definitions\": false, \"hide_error_message\": false, \"hide_unsubscribe_link\": false, \"hide_notification_status\": false, \"hide_modify_alert\": false, \"company_website_url\": \"https://your-website.com/\", \"company_privacy_policy_url\" : \"https://link-to-privacy-policy.com/\", \"contact_support_url\": \"https://link-to-contact-support.com/\", \"hide_contact_support_url\": false } } ```
### Parameters
diff --git a/sdks/java/docs/EurekaGetNLInstructionsResponse.md b/sdks/java/docs/EurekaGetNLInstructionsResponse.md
new file mode 100644
index 000000000..2fb5f6a5f
--- /dev/null
+++ b/sdks/java/docs/EurekaGetNLInstructionsResponse.md
@@ -0,0 +1,17 @@
+
+
+# EurekaGetNLInstructionsResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**nlInstructionsInfo** | [**List<NLInstructionsInfo>**](NLInstructionsInfo.md) | List of NL instructions with their scopes. | |
+
+
+## Implemented Interfaces
+
+* Serializable
+
+
diff --git a/sdks/java/docs/CreateEmailCustomisationRequest.md b/sdks/java/docs/EurekaSetNLInstructionsResponse.md
similarity index 56%
rename from sdks/java/docs/CreateEmailCustomisationRequest.md
rename to sdks/java/docs/EurekaSetNLInstructionsResponse.md
index fa3492e91..5d256d873 100644
--- a/sdks/java/docs/CreateEmailCustomisationRequest.md
+++ b/sdks/java/docs/EurekaSetNLInstructionsResponse.md
@@ -1,13 +1,13 @@
-# CreateEmailCustomisationRequest
+# EurekaSetNLInstructionsResponse
## Properties
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**templateProperties** | **Object** | Email customization configuration as key value pair | |
+|**success** | **Boolean** | Success status of the operation. | |
## Implemented Interfaces
diff --git a/sdks/java/docs/GetCustomAccessTokenRequest.md b/sdks/java/docs/GetCustomAccessTokenRequest.md
index 29eee9c26..0147a611b 100644
--- a/sdks/java/docs/GetCustomAccessTokenRequest.md
+++ b/sdks/java/docs/GetCustomAccessTokenRequest.md
@@ -12,14 +12,15 @@
|**secretKey** | **String** | The secret key string provided by the ThoughtSpot application server. ThoughtSpot generates a secret key when Trusted authentication is enabled. | [optional] |
|**validityTimeInSec** | **Integer** | Token validity duration in seconds | [optional] |
|**orgIdentifier** | **String** | ID or name of the Org context to log in to. If the Org ID or name is not specified but a secret key is provided, the user will be logged into the Org associated with the secret key. If neither the Org ID/name nor the secret key is provided, the user will be logged into the Org context from their previous login session. | [optional] |
-|**persistOption** | [**PersistOptionEnum**](#PersistOptionEnum) | Indicates whether the specified attributes should be persisted or not. | |
+|**persistOption** | [**PersistOptionEnum**](#PersistOptionEnum) | Indicates whether the specified attributes should be persisted or not. RESET and NONE are not applicable if you are setting variable_values. | |
|**filterRules** | [**List<FilterRules>**](FilterRules.md) | Filter rules. | [optional] |
|**parameterValues** | [**List<ParameterValues>**](ParameterValues.md) | Parameter values. | [optional] |
+|**variableValues** | [**List<VariableValues>**](VariableValues.md) | List of variable values where `name` references an existing formula variable and `values` is any value from the corresponding column. Version: 10.14.0.cl or later | [optional] |
|**objects** | [**List<TokenAccessScopeObject>**](TokenAccessScopeObject.md) | Objects on which the filter rules and parameters values should be applied to | [optional] |
|**email** | **String** | (just-in-time (JIT) provisioning)Email address of the user. Specify this attribute when creating a new user. | [optional] |
|**displayName** | **String** | (just-in-time (JIT) provisioning) Indicates display name of the user. Specify this attribute when creating a new user. | [optional] |
|**groups** | [**List<GroupObject>**](GroupObject.md) | (just-in-time (JIT) provisioning) ID or name of the groups to which the newly created user belongs. Specify this attribute when creating a new user. | [optional] |
-|**autoCreate** | **Boolean** | Creates a new user if the specified username does not exist in ThoughtSpot. To provision a user just-in-time (JIT), set this attribute to true. Note: For JIT provisioning of a user, the secret_key is required. Version: 10.5.0.cl or later | [optional] |
+|**autoCreate** | **Boolean** | Creates a new user if the specified username does not exist in ThoughtSpot. To provision a user just-in-time (JIT), set this attribute to true. Note: For JIT provisioning of a user, the secret_key is required. New formula variables won't be created. Version: 10.5.0.cl or later | [optional] |
diff --git a/sdks/java/docs/GetNLInstructionsRequest.md b/sdks/java/docs/GetNLInstructionsRequest.md
new file mode 100644
index 000000000..6166b497a
--- /dev/null
+++ b/sdks/java/docs/GetNLInstructionsRequest.md
@@ -0,0 +1,17 @@
+
+
+# GetNLInstructionsRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**dataSourceIdentifier** | **String** | Unique ID or name of the data-model for which to retrieve NL instructions. | |
+
+
+## Implemented Interfaces
+
+* Serializable
+
+
diff --git a/sdks/java/docs/GroupsImportListInput.md b/sdks/java/docs/GroupsImportListInput.md
index 45de8ff7f..74734d6de 100644
--- a/sdks/java/docs/GroupsImportListInput.md
+++ b/sdks/java/docs/GroupsImportListInput.md
@@ -49,6 +49,7 @@
| CAN_ACCESS_ANALYST_STUDIO | "CAN_ACCESS_ANALYST_STUDIO" |
| CAN_MANAGE_ANALYST_STUDIO | "CAN_MANAGE_ANALYST_STUDIO" |
| CAN_MODIFY_FOLDERS | "CAN_MODIFY_FOLDERS" |
+| CAN_MANAGE_VARIABLES | "CAN_MANAGE_VARIABLES" |
| CAN_VIEW_FOLDERS | "CAN_VIEW_FOLDERS" |
| PREVIEW_DOCUMENT_SEARCH | "PREVIEW_DOCUMENT_SEARCH" |
| CAN_SETUP_VERSION_CONTROL | "CAN_SETUP_VERSION_CONTROL" |
diff --git a/sdks/java/docs/InputVariableValue.md b/sdks/java/docs/InputVariableValue.md
deleted file mode 100644
index efd60ca49..000000000
--- a/sdks/java/docs/InputVariableValue.md
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-# InputVariableValue
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**value** | **String** | The connection property value | |
-|**orgIdentifier** | **String** | The unique name of the org | |
-|**principalType** | [**PrincipalTypeEnum**](#PrincipalTypeEnum) | Principal type | [optional] |
-|**principalIdentifier** | **String** | Unique ID or name of the principal | [optional] |
-|**priority** | **Integer** | The priority assigned to this value. If there are 2 matching values, the one with the higher priority will be picked. | [optional] |
-
-
-
-## Enum: PrincipalTypeEnum
-
-| Name | Value |
-|---- | -----|
-| USER | "USER" |
-| USER_GROUP | "USER_GROUP" |
-
-
-## Implemented Interfaces
-
-* Serializable
-
-
diff --git a/sdks/java/docs/MetadataApi.md b/sdks/java/docs/MetadataApi.md
index 5fc30396c..1b147bf2f 100644
--- a/sdks/java/docs/MetadataApi.md
+++ b/sdks/java/docs/MetadataApi.md
@@ -388,7 +388,7 @@ null (empty response body)
- Parameterize fields in metadata objects. Version: 10.9.0.cl or later Allows parameterizing fields in metadata objects in ThoughtSpot. Requires appropriate permissions to modify the metadata object. The API endpoint allows parameterizing the following types of metadata objects: * Logical Tables * Connections For a Logical Table the field type must be `ATTRIBUTE` and field name can be one of: * databaseName * schemaName * tableName For a Connection the field type is always `CONNECTION_PROPERTY`. We use the field_name in this case to specify the exact property of a connection which needs to be parameterized.
+ Parameterize fields in metadata objects. Version: 10.9.0.cl or later Allows parameterizing fields in metadata objects in ThoughtSpot. Requires appropriate permissions to modify the metadata object. The API endpoint allows parameterizing the following types of metadata objects: * Logical Tables * Connections * Connection Configs For a Logical Table the field type must be `ATTRIBUTE` and field name can be one of: * databaseName * schemaName * tableName For a Connection or Connection Config, the field type is always `CONNECTION_PROPERTY`. In this case, field_name specifies the exact property of the Connection or Connection Config that needs to be parameterized. For Connection Config, the only supported field name is: * impersonate_user
### Parameters
@@ -460,7 +460,7 @@ null (empty response body)
- Remove parameterization from fields in metadata objects. Version: 10.9.0.cl or later Allows removing parameterization from fields in metadata objects in ThoughtSpot. Requires appropriate permissions to modify the metadata object. The API endpoint allows unparameterizing the following types of metadata objects: * Logical Tables * Connections For a Logical Table the field type must be `ATTRIBUTE` and field name can be one of: * databaseName * schemaName * tableName For a Connection the field type is always `CONNECTION_PROPERTY`. We use the field_name in this case to specify the exact property of a connection which needs to be unparameterized.
+ Remove parameterization from fields in metadata objects. Version: 10.9.0.cl or later Allows removing parameterization from fields in metadata objects in ThoughtSpot. Requires appropriate permissions to modify the metadata object. The API endpoint allows unparameterizing the following types of metadata objects: * Logical Tables * Connections * Connection Configs For a Logical Table the field type must be `ATTRIBUTE` and field name can be one of: * databaseName * schemaName * tableName For a Connection or Connection Config, the field type is always `CONNECTION_PROPERTY`. In this case, field_name specifies the exact property of the Connection or Connection Config that needs to be unparameterized. For Connection Config, the only supported field name is: * impersonate_user
### Parameters
diff --git a/sdks/java/docs/NLInstructionsInfo.md b/sdks/java/docs/NLInstructionsInfo.md
new file mode 100644
index 000000000..e781721a1
--- /dev/null
+++ b/sdks/java/docs/NLInstructionsInfo.md
@@ -0,0 +1,26 @@
+
+
+# NLInstructionsInfo
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**instructions** | **List<String>** | User instructions for natural language processing. | |
+|**scope** | [**ScopeEnum**](#ScopeEnum) | Scope of the instruction. | |
+
+
+
+## Enum: ScopeEnum
+
+| Name | Value |
+|---- | -----|
+| GLOBAL | "GLOBAL" |
+
+
+## Implemented Interfaces
+
+* Serializable
+
+
diff --git a/sdks/java/docs/NLInstructionsInfoInput.md b/sdks/java/docs/NLInstructionsInfoInput.md
new file mode 100644
index 000000000..5d8acffd2
--- /dev/null
+++ b/sdks/java/docs/NLInstructionsInfoInput.md
@@ -0,0 +1,26 @@
+
+
+# NLInstructionsInfoInput
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**instructions** | **List<String>** | User instructions for natural language processing. | |
+|**scope** | [**ScopeEnum**](#ScopeEnum) | Scope of the instruction (USER or GLOBAL). Defaults to GLOBAL. | |
+
+
+
+## Enum: ScopeEnum
+
+| Name | Value |
+|---- | -----|
+| GLOBAL | "GLOBAL" |
+
+
+## Implemented Interfaces
+
+* Serializable
+
+
diff --git a/sdks/java/docs/ReportsApi.md b/sdks/java/docs/ReportsApi.md
index d0314e506..2f1705a5d 100644
--- a/sdks/java/docs/ReportsApi.md
+++ b/sdks/java/docs/ReportsApi.md
@@ -50,7 +50,7 @@ All URIs are relative to *CLUSTER_URL*
- Version: 9.0.0.cl or later Exports a Liveboard and its visualizations in PDF or PNG file format. Requires at least view access to the Liveboard. #### Usage guidelines In 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. The default `file_format` is PDF. For PDF downloads, you can specify additional parameters to customize the page orientation and include or exclude the cover page, logo, footer text, and page numbers. Similar customization options are also available for PNG output. **NOTE**: The downloadable file returned in API response file is extensionless. Please rename the downloaded file by typing in the relevant extension. Optionally, you can define [runtime overrides](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_overrides) to apply to the Answer data. 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). **NOTE**: 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.
+ Version: 9.0.0.cl or later Exports a Liveboard and its visualizations in PDF, PNG, CSV, or XLSX file format. Requires at least view access to the Liveboard. #### Usage guidelines In 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. The default `file_format` is CSV. For PDF exports, you can specify additional parameters to customize the page orientation and include or exclude the cover page, logo, footer text, and page numbers. Similar customization options are available for PNG exports. CSV and XLSX exports do not support customization options. **NOTE**: The downloadable file returned in API response file is extensionless. Please rename the downloaded file by typing in the relevant extension. Optionally, you can define [runtime overrides](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_overrides) to apply to the Answer data. 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). **NOTE**: 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. **NOTE**: Starting with the ThoughtSpot Cloud 26.2.0.cl release, Liveboards can be exported in CSV format. All visualizations in the Liveboard can be exported as individual CSV files. If multiple visualizations are selected or if the entire Liveboard is exported, the output is returned as a .zip file containing the CSV files for each visualization. **NOTE**: Starting with the ThoughtSpot Cloud 26.2.0.cl release, Liveboards can be exported in XLSX format. All selected visualizations are consolidated into a single Excel workbook (.xlsx), with each visualization placed in its own worksheet (tab). XLSX exports are limited to 255 worksheets (tabs) per workbook.
### Parameters
diff --git a/sdks/java/docs/RoleResponse.md b/sdks/java/docs/RoleResponse.md
index ceb2383df..ecc261df4 100644
--- a/sdks/java/docs/RoleResponse.md
+++ b/sdks/java/docs/RoleResponse.md
@@ -62,6 +62,7 @@
| CAN_ACCESS_ANALYST_STUDIO | "CAN_ACCESS_ANALYST_STUDIO" |
| CAN_MANAGE_ANALYST_STUDIO | "CAN_MANAGE_ANALYST_STUDIO" |
| PREVIEW_DOCUMENT_SEARCH | "PREVIEW_DOCUMENT_SEARCH" |
+| CAN_MANAGE_VARIABLES | "CAN_MANAGE_VARIABLES" |
| CAN_MODIFY_FOLDERS | "CAN_MODIFY_FOLDERS" |
| CAN_VIEW_FOLDERS | "CAN_VIEW_FOLDERS" |
| CAN_SETUP_VERSION_CONTROL | "CAN_SETUP_VERSION_CONTROL" |
diff --git a/sdks/java/docs/SearchRoleResponse.md b/sdks/java/docs/SearchRoleResponse.md
index 822764d6d..4a34c8233 100644
--- a/sdks/java/docs/SearchRoleResponse.md
+++ b/sdks/java/docs/SearchRoleResponse.md
@@ -77,6 +77,7 @@ Response for search role api should handle hidden privileges as well.
| CAN_MANAGE_ANALYST_STUDIO | "CAN_MANAGE_ANALYST_STUDIO" |
| CAN_VIEW_FOLDERS | "CAN_VIEW_FOLDERS" |
| CAN_MODIDY_FOLDERS | "CAN_MODIDY_FOLDERS" |
+| CAN_MANAGE_VARIABLES | "CAN_MANAGE_VARIABLES" |
| PREVIEW_DOCUMENT_SEARCH | "PREVIEW_DOCUMENT_SEARCH" |
| CAN_SETUP_VERSION_CONTROL | "CAN_SETUP_VERSION_CONTROL" |
| CAN_MANAGE_WEBHOOKS | "CAN_MANAGE_WEBHOOKS" |
diff --git a/sdks/java/docs/SearchRolesRequest.md b/sdks/java/docs/SearchRolesRequest.md
index 59ba8914a..3579d06db 100644
--- a/sdks/java/docs/SearchRolesRequest.md
+++ b/sdks/java/docs/SearchRolesRequest.md
@@ -67,6 +67,7 @@
| CAN_MANAGE_ANALYST_STUDIO | "CAN_MANAGE_ANALYST_STUDIO" |
| CAN_VIEW_FOLDERS | "CAN_VIEW_FOLDERS" |
| CAN_MODIDY_FOLDERS | "CAN_MODIDY_FOLDERS" |
+| CAN_MANAGE_VARIABLES | "CAN_MANAGE_VARIABLES" |
| PREVIEW_DOCUMENT_SEARCH | "PREVIEW_DOCUMENT_SEARCH" |
| CAN_SETUP_VERSION_CONTROL | "CAN_SETUP_VERSION_CONTROL" |
| CAN_MANAGE_WEBHOOKS | "CAN_MANAGE_WEBHOOKS" |
diff --git a/sdks/java/docs/SearchUserGroupsRequest.md b/sdks/java/docs/SearchUserGroupsRequest.md
index cb358b2eb..2171e91ef 100644
--- a/sdks/java/docs/SearchUserGroupsRequest.md
+++ b/sdks/java/docs/SearchUserGroupsRequest.md
@@ -67,6 +67,7 @@
| CAN_MANAGE_ANALYST_STUDIO | "CAN_MANAGE_ANALYST_STUDIO" |
| PREVIEW_DOCUMENT_SEARCH | "PREVIEW_DOCUMENT_SEARCH" |
| CAN_MODIFY_FOLDERS | "CAN_MODIFY_FOLDERS" |
+| CAN_MANAGE_VARIABLES | "CAN_MANAGE_VARIABLES" |
| CAN_VIEW_FOLDERS | "CAN_VIEW_FOLDERS" |
| CAN_SETUP_VERSION_CONTROL | "CAN_SETUP_VERSION_CONTROL" |
| CAN_MANAGE_WEBHOOKS | "CAN_MANAGE_WEBHOOKS" |
diff --git a/sdks/java/docs/SearchUsersRequest.md b/sdks/java/docs/SearchUsersRequest.md
index 9be79d6ca..d8db3b4de 100644
--- a/sdks/java/docs/SearchUsersRequest.md
+++ b/sdks/java/docs/SearchUsersRequest.md
@@ -79,6 +79,7 @@
| CAN_MANAGE_ANALYST_STUDIO | "CAN_MANAGE_ANALYST_STUDIO" |
| PREVIEW_DOCUMENT_SEARCH | "PREVIEW_DOCUMENT_SEARCH" |
| CAN_MODIFY_FOLDERS | "CAN_MODIFY_FOLDERS" |
+| CAN_MANAGE_VARIABLES | "CAN_MANAGE_VARIABLES" |
| CAN_VIEW_FOLDERS | "CAN_VIEW_FOLDERS" |
| CAN_SETUP_VERSION_CONTROL | "CAN_SETUP_VERSION_CONTROL" |
| CAN_MANAGE_WEBHOOKS | "CAN_MANAGE_WEBHOOKS" |
diff --git a/sdks/java/docs/SearchVariablesRequest.md b/sdks/java/docs/SearchVariablesRequest.md
index f5cf7a9fe..d23ce40fe 100644
--- a/sdks/java/docs/SearchVariablesRequest.md
+++ b/sdks/java/docs/SearchVariablesRequest.md
@@ -11,15 +11,15 @@
|**valueScope** | [**List<ValueScopeInput>**](ValueScopeInput.md) | Array of scope filters | [optional] |
|**recordOffset** | **Integer** | The starting record number from where the records should be included | [optional] |
|**recordSize** | **Integer** | The number of records that should be included | [optional] |
-|**outputFormat** | [**OutputFormatEnum**](#OutputFormatEnum) | Format in which we want the output | [optional] |
+|**responseContent** | [**ResponseContentEnum**](#ResponseContentEnum) | Format in which we want the output | [optional] |
-## Enum: OutputFormatEnum
+## Enum: ResponseContentEnum
| Name | Value |
|---- | -----|
-| METADATA_ONLY | "METADATA_ONLY" |
+| METADATA | "METADATA" |
| METADATA_AND_VALUES | "METADATA_AND_VALUES" |
diff --git a/sdks/java/docs/SetNLInstructionsRequest.md b/sdks/java/docs/SetNLInstructionsRequest.md
new file mode 100644
index 000000000..1ff983a0e
--- /dev/null
+++ b/sdks/java/docs/SetNLInstructionsRequest.md
@@ -0,0 +1,18 @@
+
+
+# SetNLInstructionsRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**dataSourceIdentifier** | **String** | Unique ID or name of the data-model for which to set NL instructions. | |
+|**nlInstructionsInfo** | [**List<NLInstructionsInfoInput>**](NLInstructionsInfoInput.md) | List of NL instructions to set for the data-model. | |
+
+
+## Implemented Interfaces
+
+* Serializable
+
+
diff --git a/sdks/java/docs/ThoughtSpotRestApi.md b/sdks/java/docs/ThoughtSpotRestApi.md
index 17b6699af..9c73c4492 100644
--- a/sdks/java/docs/ThoughtSpotRestApi.md
+++ b/sdks/java/docs/ThoughtSpotRestApi.md
@@ -75,6 +75,7 @@ All URIs are relative to *CLUSTER_URL*
| [**getCustomAccessToken**](ThoughtSpotRestApi.md#getCustomAccessToken) | **POST** /api/rest/2.0/auth/token/custom |
| [**getDataSourceSuggestions**](ThoughtSpotRestApi.md#getDataSourceSuggestions) | **POST** /api/rest/2.0/ai/data-source-suggestions |
| [**getFullAccessToken**](ThoughtSpotRestApi.md#getFullAccessToken) | **POST** /api/rest/2.0/auth/token/full |
+| [**getNLInstructions**](ThoughtSpotRestApi.md#getNLInstructions) | **POST** /api/rest/2.0/ai/instructions/get |
| [**getObjectAccessToken**](ThoughtSpotRestApi.md#getObjectAccessToken) | **POST** /api/rest/2.0/auth/token/object |
| [**getRelevantQuestions**](ThoughtSpotRestApi.md#getRelevantQuestions) | **POST** /api/rest/2.0/ai/relevant-questions/ |
| [**getSystemConfig**](ThoughtSpotRestApi.md#getSystemConfig) | **GET** /api/rest/2.0/system/config |
@@ -112,6 +113,7 @@ All URIs are relative to *CLUSTER_URL*
| [**sendAgentMessage**](ThoughtSpotRestApi.md#sendAgentMessage) | **POST** /api/rest/2.0/ai/agent/{conversation_identifier}/converse |
| [**sendAgentMessageStreaming**](ThoughtSpotRestApi.md#sendAgentMessageStreaming) | **POST** /api/rest/2.0/ai/agent/converse/sse |
| [**sendMessage**](ThoughtSpotRestApi.md#sendMessage) | **POST** /api/rest/2.0/ai/conversation/{conversation_identifier}/converse |
+| [**setNLInstructions**](ThoughtSpotRestApi.md#setNLInstructions) | **POST** /api/rest/2.0/ai/instructions/set |
| [**shareMetadata**](ThoughtSpotRestApi.md#shareMetadata) | **POST** /api/rest/2.0/security/metadata/share |
| [**singleAnswer**](ThoughtSpotRestApi.md#singleAnswer) | **POST** /api/rest/2.0/ai/answer/create |
| [**unassignTag**](ThoughtSpotRestApi.md#unassignTag) | **POST** /api/rest/2.0/tags/unassign |
@@ -617,7 +619,7 @@ Version: 10.13.0.cl or later
- Version: 10.12.0.cl or later Creates an additional configuration to an existing connection to a data warehouse. Requires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required. #### Usage guidelines * A JSON map of configuration attributes in `configuration`. The following example shows the configuration attributes: ``` { \"user\":\"DEV_USER\", \"password\":\"TestConn123\", \"role\":\"DEV\", \"warehouse\":\"DEV_WH\" } ``` * If the `policy_type` is `PRINCIPALS`, then `policy_principals` is a required field. * If the `policy_type` is `PROCESSES`, then `policy_processes` is a required field. * If the `policy_type` is `NO_POLICY`, then `policy_principals` and `policy_processes` are not required fields.
+ Version: 10.12.0.cl or later Creates an additional configuration to an existing connection to a data warehouse. Requires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required. #### Usage guidelines * A JSON map of configuration attributes in `configuration`. The following example shows the configuration attributes: ``` { \"user\":\"DEV_USER\", \"password\":\"TestConn123\", \"role\":\"DEV\", \"warehouse\":\"DEV_WH\" } ``` * If the `policy_type` is `PRINCIPALS`, then `policy_principals` is a required field. * If the `policy_type` is `PROCESSES`, then `policy_processes` is a required field. * If the `policy_type` is `NO_POLICY`, then `policy_principals` and `policy_processes` are not required fields. #### Parameterized Connection Support For parameterized connections that use OAuth authentication, only the same_as_parent and policy_process_options attributes are allowed in the API request. These attributes are not applicable to connections that are not parameterized.
### Parameters
@@ -724,7 +726,7 @@ Version: 10.13.0.cl or later
- Version: 10.10.0.cl or later Creates a customization configuration for the notification email. #### Pre-requisites Requires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required. **NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance. #### Usage guidelines To create a custom configuration pass these parameters in your API request: - A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration: ``` { { \"ctaButtonBgColor\": \"#444DEA\", \"ctaTextFontColor\": \"#FFFFFF\", \"primaryBgColor\": \"#D3DEF0\", \"hideMobileAppNudge\": false, \"fontFamily\" : \"\", \"hideProductName\" : false, \"hideFooterPhone\" : false, \"hideFooterAddress\" : false, \"hidePrivacyPolicy\" : false, \"hideManageNotification\" : false, \"hideTsVocabularyDefinitions\": false, \"hideNotificationStatus\" : false, \"hideErrorMessage\": false, \"hideUnsubscribeLink\" : false, \"hideModifyAlert\": false, \"textTransform\": \"\", \"replacementValueForLiveboard\": \"LB dashboard\", \"replacementValueForAnswer\": \"Answer dashboard\", \"replacementValueForSpotIQ\": \"SpotIQ dashboard\", \"logoUrl\":\"\", \"productName\":\"ThoughtSpot\", \"footerPhone\":\"(800) 508-7008\", \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\", \"companyWebsiteUrl\":\"\", \"companyPrivacyPolicyUrl\":\"\" } } ```
+ Version: 10.10.0.cl or later Creates a customization configuration for the notification email. #### Pre-requisites Requires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required. **NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance. #### Usage guidelines To create a custom configuration pass these parameters in your API request: - A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration: ``` { { \"cta_button_bg_color\": \"#444DEA\", \"cta_text_font_color\": \"#FFFFFF\", \"primary_bg_color\": \"#D3DEF0\", \"logo_url\": \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\", \"font_family\": \"\", \"product_name\": \"ThoughtSpot\", \"footer_address\": \"444 Castro St, Suite 1000 Mountain View, CA 94041\", \"footer_phone\": \"(800) 508-7008\", \"replacement_value_for_liveboard\": \"Dashboard\", \"replacement_value_for_answer\": \"Chart\", \"replacement_value_for_spot_iq\": \"AI Insights\", \"hide_footer_phone\": false, \"hide_footer_address\": false, \"hide_product_name\": false, \"hide_manage_notification\": false, \"hide_mobile_app_nudge\": false, \"hide_privacy_policy\": false, \"hide_ts_vocabulary_definitions\": false, \"hide_error_message\": false, \"hide_unsubscribe_link\": false, \"hide_notification_status\": false, \"hide_modify_alert\": false, \"company_website_url\": \"https://your-website.com/\", \"company_privacy_policy_url\" : \"https://link-to-privacy-policy.com/\", \"contact_support_url\": \"https://link-to-contact-support.com/\", \"hide_contact_support_url\": false } } ```
### Parameters
@@ -975,7 +977,7 @@ Version: 10.13.0.cl or later
- Create a variable which can be used for parameterizing metadata objects Version: 10.14.0.cl or later Allows creating a variable which can be used for parameterizing metadata objects in ThoughtSpot. Requires ADMINISTRATION role and TENANT scope. The CAN_MANAGE_VARIABLES permission allows you to manage Formula Variables in the current organization scope. The API endpoint supports the following types of variables: * CONNECTION_PROPERTY - For connection properties * TABLE_MAPPING - For table mappings * CONNECTION_PROPERTY_PER_PRINCIPAL - For connection properties per principal. In order to use this please contact support to enable this. * FORMULA_VARIABLE - For Formula variables When creating a variable, you need to specify: * The variable type * A unique name for the variable * Whether the variable contains sensitive values (defaults to false) * The data type of the variable, only specify for fomula variables (defaults to null) The operation will fail if: * The user lacks required permissions * The variable name already exists * The variable type is invalid
+ Create a variable which can be used for parameterizing metadata objects Version: 10.14.0.cl or later Allows creating a variable which can be used for parameterizing metadata objects in ThoughtSpot. Requires ADMINISTRATION role and TENANT scope. The CAN_MANAGE_VARIABLES permission allows you to manage Formula Variables in the current organization scope. The API endpoint supports the following types of variables: * CONNECTION_PROPERTY - For connection properties * TABLE_MAPPING - For table mappings * CONNECTION_PROPERTY_PER_PRINCIPAL - For connection properties per principal. In order to use this please contact support to enable this. * FORMULA_VARIABLE - For Formula variables, introduced in 10.15.0.cl When creating a variable, you need to specify: * The variable type * A unique name for the variable * Whether the variable contains sensitive values (defaults to false) * The data type of the variable, only specify for formula variables (defaults to null) The operation will fail if: * The user lacks required permissions * The variable name already exists * The variable type is invalid
### Parameters
@@ -1993,7 +1995,7 @@ null (empty response body)
- Version: 9.0.0.cl or later Exports a Liveboard and its visualizations in PDF or PNG file format. Requires at least view access to the Liveboard. #### Usage guidelines In 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. The default `file_format` is PDF. For PDF downloads, you can specify additional parameters to customize the page orientation and include or exclude the cover page, logo, footer text, and page numbers. Similar customization options are also available for PNG output. **NOTE**: The downloadable file returned in API response file is extensionless. Please rename the downloaded file by typing in the relevant extension. Optionally, you can define [runtime overrides](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_overrides) to apply to the Answer data. 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). **NOTE**: 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.
+ Version: 9.0.0.cl or later Exports a Liveboard and its visualizations in PDF, PNG, CSV, or XLSX file format. Requires at least view access to the Liveboard. #### Usage guidelines In 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. The default `file_format` is CSV. For PDF exports, you can specify additional parameters to customize the page orientation and include or exclude the cover page, logo, footer text, and page numbers. Similar customization options are available for PNG exports. CSV and XLSX exports do not support customization options. **NOTE**: The downloadable file returned in API response file is extensionless. Please rename the downloaded file by typing in the relevant extension. Optionally, you can define [runtime overrides](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_overrides) to apply to the Answer data. 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). **NOTE**: 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. **NOTE**: Starting with the ThoughtSpot Cloud 26.2.0.cl release, Liveboards can be exported in CSV format. All visualizations in the Liveboard can be exported as individual CSV files. If multiple visualizations are selected or if the entire Liveboard is exported, the output is returned as a .zip file containing the CSV files for each visualization. **NOTE**: Starting with the ThoughtSpot Cloud 26.2.0.cl release, Liveboards can be exported in XLSX format. All selected visualizations are consolidated into a single Excel workbook (.xlsx), with each visualization placed in its own worksheet (tab). XLSX exports are limited to 255 worksheets (tabs) per workbook.
### Parameters
@@ -2700,6 +2702,41 @@ No authorization required
| **403** | Forbidden access. | - |
| **500** | Unexpected error | - |
+
+# **getNLInstructions**
+> EurekaGetNLInstructionsResponse getNLInstructions(getNLInstructionsRequest)
+
+
+
+ Version: 10.15.0.cl or later This API allows users to retrieve existing natural language (NL) instructions for a specific data-model. These instructions guide the AI system in understanding data context and generating more accurate responses when processing natural language queries. #### Usage guidelines To retrieve NL instructions for a data-model, the request must include: - `data_source_identifier`: The unique ID or name of the data-model to retrieve NL instructions The API returns a response object with: - `nl_instructions_info`: An array of instruction objects, each containing: - `instructions`: Array of text instructions for natural language processing - `scope`: The scope of the instruction (`GLOBAL`). It can be extended to data-model-user scope in future. #### Instructions Scope - **GLOBAL**: Instructions that apply globally across the system on the given data-model (currently only global instructions are supported) > ###### Note: > * To use this API, the user needs atleast view access on the data-model and they must use corresponding org related bearerToken where the data-model exists. > * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > * Available from version 10.15.0.cl and later. > * This endpoint requires Spotter — please contact ThoughtSpot Support to enable Spotter on your cluster. > * Use this API to view currently configured instructions before modifying them with `setNLInstructions`.
+
+### Parameters
+
+| Name | Type |
+|------------- | ------------- |
+| **getNLInstructionsRequest** | [**GetNLInstructionsRequest**](GetNLInstructionsRequest.md)
+
+### Return type
+
+[**EurekaGetNLInstructionsResponse**](EurekaGetNLInstructionsResponse.md)
+
+### 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 | - |
+
# **getObjectAccessToken**
> Token getObjectAccessToken(getObjectAccessTokenRequest)
@@ -3089,7 +3126,7 @@ null (empty response body)
- Parameterize fields in metadata objects. Version: 10.9.0.cl or later Allows parameterizing fields in metadata objects in ThoughtSpot. Requires appropriate permissions to modify the metadata object. The API endpoint allows parameterizing the following types of metadata objects: * Logical Tables * Connections For a Logical Table the field type must be `ATTRIBUTE` and field name can be one of: * databaseName * schemaName * tableName For a Connection the field type is always `CONNECTION_PROPERTY`. We use the field_name in this case to specify the exact property of a connection which needs to be parameterized.
+ Parameterize fields in metadata objects. Version: 10.9.0.cl or later Allows parameterizing fields in metadata objects in ThoughtSpot. Requires appropriate permissions to modify the metadata object. The API endpoint allows parameterizing the following types of metadata objects: * Logical Tables * Connections * Connection Configs For a Logical Table the field type must be `ATTRIBUTE` and field name can be one of: * databaseName * schemaName * tableName For a Connection or Connection Config, the field type is always `CONNECTION_PROPERTY`. In this case, field_name specifies the exact property of the Connection or Connection Config that needs to be parameterized. For Connection Config, the only supported field name is: * impersonate_user
### Parameters
@@ -4017,6 +4054,41 @@ null (empty response body)
| **400** | Operation failed | - |
| **500** | Operation failed | - |
+
+# **setNLInstructions**
+> EurekaSetNLInstructionsResponse setNLInstructions(setNLInstructionsRequest)
+
+
+
+ Version: 10.15.0.cl or later This API allows users to set natural language (NL) instructions for a specific data-model to improve AI-generated answers and query processing. These instructions help guide the AI system to better understand the data context and provide more accurate responses. #### Usage guidelines To set NL instructions for a data-model, the request must include: - `data_source_identifier`: The unique ID or name of the data-model for which to set NL instructions - `nl_instructions_info`: An array of instruction objects, each containing: - `instructions`: Array of text instructions for the LLM - `scope`: The scope of the instruction (`GLOBAL`). Currently only `GLOBAL` is supported. It can be extended to data-model-user scope in future. The API returns a response object with: - `success`: Boolean indicating whether the operation was successful #### Instructions Scope - **GLOBAL**: Instructions that apply globally for that data-model across the system > ###### Note: > * To use this API, the user needs either edit access or SPOTTER_COACHING_PRIVILEGE on the data-model and they must use corresponding org related bearerToken where the data-model exists. > * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available. > * Available from version 10.15.0.cl and later. > * This endpoint requires Spotter — please contact ThoughtSpot Support to enable Spotter on your cluster. > * Instructions help improve the accuracy and relevance of AI-generated responses for the specified data-model.
+
+### Parameters
+
+| Name | Type |
+|------------- | ------------- |
+| **setNLInstructionsRequest** | [**SetNLInstructionsRequest**](SetNLInstructionsRequest.md)
+
+### Return type
+
+[**EurekaSetNLInstructionsResponse**](EurekaSetNLInstructionsResponse.md)
+
+### 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 | - |
+
# **shareMetadata**
> shareMetadata(shareMetadataRequest)
@@ -4130,7 +4202,7 @@ null (empty response body)
- Remove parameterization from fields in metadata objects. Version: 10.9.0.cl or later Allows removing parameterization from fields in metadata objects in ThoughtSpot. Requires appropriate permissions to modify the metadata object. The API endpoint allows unparameterizing the following types of metadata objects: * Logical Tables * Connections For a Logical Table the field type must be `ATTRIBUTE` and field name can be one of: * databaseName * schemaName * tableName For a Connection the field type is always `CONNECTION_PROPERTY`. We use the field_name in this case to specify the exact property of a connection which needs to be unparameterized.
+ Remove parameterization from fields in metadata objects. Version: 10.9.0.cl or later Allows removing parameterization from fields in metadata objects in ThoughtSpot. Requires appropriate permissions to modify the metadata object. The API endpoint allows unparameterizing the following types of metadata objects: * Logical Tables * Connections * Connection Configs For a Logical Table the field type must be `ATTRIBUTE` and field name can be one of: * databaseName * schemaName * tableName For a Connection or Connection Config, the field type is always `CONNECTION_PROPERTY`. In this case, field_name specifies the exact property of the Connection or Connection Config that needs to be unparameterized. For Connection Config, the only supported field name is: * impersonate_user
### Parameters
@@ -4347,7 +4419,7 @@ null (empty response body)
- Version: 10.12.0.cl or later Updates a connection configuration object. Requires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required. #### Supported operations This API endpoint lets you perform the following operations in a single API request: * Edit the name or description of the configuration * Edit the configuration properties * Edit the `policy_type` * Edit the type of authentication * Enable or disable a configuration **NOTE**: When updating a configuration where `disabled` is `true`, you must reset `disabled` to `true` in your update request payload. If not explicitly set again, the API will default `disabled` to `false`.
+ Version: 10.12.0.cl or later Updates a connection configuration object. Requires `DATAMANAGEMENT` (**Can manage data**) and edit permissions to the connection object, or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `CAN_CREATE_OR_EDIT_CONNECTIONS` (**Can create/edit Connections**) privilege is required. #### Supported operations This API endpoint lets you perform the following operations in a single API request: * Edit the name or description of the configuration * Edit the configuration properties * Edit the `policy_type` * Edit the type of authentication * Enable or disable a configuration #### Parameterized Connection Support For parameterized oauth based connections, only the `same_as_parent` and `policy_process_options` attributes are allowed. These attributes are not applicable to connections that are not parameterized. **NOTE**: When updating a configuration where `disabled` is `true`, you must reset `disabled` to `true` in your update request payload. If not explicitly set again, the API will default `disabled` to `false`.
### Parameters
@@ -4504,7 +4576,7 @@ null (empty response body)
- Version: 10.12.0.cl or later Updates a customization configuration for the notification email. #### Pre-requisites Requires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required. **NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance. #### Usage guidelines To update a custom configuration pass these parameters in your API request: - A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration: ``` { { \"ctaButtonBgColor\": \"#444DEA\", \"ctaTextFontColor\": \"#FFFFFF\", \"primaryBgColor\": \"#D3DEF0\", \"hideMobileAppNudge\": false, \"fontFamily\" : \"\", \"hideProductName\" : false, \"hideFooterPhone\" : false, \"hideFooterAddress\" : false, \"hidePrivacyPolicy\" : false, \"hideManageNotification\" : false, \"hideTsVocabularyDefinitions\": false, \"hideNotificationStatus\" : false, \"hideErrorMessage\": false, \"hideUnsubscribeLink\" : false, \"hideModifyAlert\": false, \"textTransform\": \"\", \"replacementValueForLiveboard\": \"LB dashboard\", \"replacementValueForAnswer\": \"Answer dashboard\", \"replacementValueForSpotIQ\": \"SpotIQ dashboard\", \"logoUrl\":\"\", \"productName\":\"ThoughtSpot\", \"footerPhone\":\"(800) 508-7008\", \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\", \"companyWebsiteUrl\":\"\", \"companyPrivacyPolicyUrl\":\"\" } } ```
+ Version: 10.12.0.cl or later Updates a customization configuration for the notification email. #### Pre-requisites Requires `DEVELOPER` (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the `DEVELOPER` (**Has developer privilege**) privilege is required. **NOTE**:This endpoint in currently in beta. Contact ThoughtSpot support to enable this on your instance. #### Usage guidelines To update a custom configuration pass these parameters in your API request: - A JSON map of configuration attributes `template_properties`. The following example shows a sample set of customization configuration: ``` { { \"cta_button_bg_color\": \"#444DEA\", \"cta_text_font_color\": \"#FFFFFF\", \"primary_bg_color\": \"#D3DEF0\", \"logo_url\": \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\", \"font_family\": \"\", \"product_name\": \"ThoughtSpot\", \"footer_address\": \"444 Castro St, Suite 1000 Mountain View, CA 94041\", \"footer_phone\": \"(800) 508-7008\", \"replacement_value_for_liveboard\": \"Dashboard\", \"replacement_value_for_answer\": \"Chart\", \"replacement_value_for_spot_iq\": \"AI Insights\", \"hide_footer_phone\": false, \"hide_footer_address\": false, \"hide_product_name\": false, \"hide_manage_notification\": false, \"hide_mobile_app_nudge\": false, \"hide_privacy_policy\": false, \"hide_ts_vocabulary_definitions\": false, \"hide_error_message\": false, \"hide_unsubscribe_link\": false, \"hide_notification_status\": false, \"hide_modify_alert\": false, \"company_website_url\": \"https://your-website.com/\", \"company_privacy_policy_url\" : \"https://link-to-privacy-policy.com/\", \"contact_support_url\": \"https://link-to-contact-support.com/\", \"hide_contact_support_url\": false } } ```
### Parameters
diff --git a/sdks/java/docs/UpdateDbtConnectionRequest.md b/sdks/java/docs/UpdateDbtConnectionRequest.md
deleted file mode 100644
index 73be6dee2..000000000
--- a/sdks/java/docs/UpdateDbtConnectionRequest.md
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-# UpdateDbtConnectionRequest
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**dbtConnectionIdentifier** | **String** | Unique ID of the DBT Connection. | |
-|**connectionName** | **String** | Name of the connection. | [optional] |
-|**databaseName** | **String** | Name of the Database. | [optional] |
-|**importType** | [**ImportTypeEnum**](#ImportTypeEnum) | Mention type of Import | [optional] |
-|**accessToken** | **String** | Access token is mandatory when Import_Type is DBT_CLOUD. | [optional] |
-|**dbtUrl** | **String** | DBT URL is mandatory when Import_Type is DBT_CLOUD. | [optional] |
-|**accountId** | **String** | Account ID is mandatory when Import_Type is DBT_CLOUD | [optional] |
-|**projectId** | **String** | Project ID is mandatory when Import_Type is DBT_CLOUD | [optional] |
-|**dbtEnvId** | **String** | DBT Environment ID\" | [optional] |
-|**projectName** | **String** | Name of the project | [optional] |
-|**fileContent** | **File** | Upload DBT Manifest and Catalog artifact files as a ZIP file. This field is Mandatory when Import Type is 'ZIP_FILE' | [optional] |
-
-
-
-## Enum: ImportTypeEnum
-
-| Name | Value |
-|---- | -----|
-| DBT_CLOUD | "DBT_CLOUD" |
-| ZIP_FILE | "ZIP_FILE" |
-
-
-## Implemented Interfaces
-
-* Serializable
-
-
diff --git a/sdks/java/docs/UpdateRoleRequest.md b/sdks/java/docs/UpdateRoleRequest.md
index 9cab971c9..eddd449c3 100644
--- a/sdks/java/docs/UpdateRoleRequest.md
+++ b/sdks/java/docs/UpdateRoleRequest.md
@@ -47,6 +47,7 @@
| CAN_ACCESS_ANALYST_STUDIO | "CAN_ACCESS_ANALYST_STUDIO" |
| CAN_MANAGE_ANALYST_STUDIO | "CAN_MANAGE_ANALYST_STUDIO" |
| CAN_MODIFY_FOLDERS | "CAN_MODIFY_FOLDERS" |
+| CAN_MANAGE_VARIABLES | "CAN_MANAGE_VARIABLES" |
| CAN_VIEW_FOLDERS | "CAN_VIEW_FOLDERS" |
| PREVIEW_DOCUMENT_SEARCH | "PREVIEW_DOCUMENT_SEARCH" |
| PREVIEW_THOUGHTSPOT_SAGE | "PREVIEW_THOUGHTSPOT_SAGE" |
diff --git a/sdks/java/docs/UpdateUserGroupRequest.md b/sdks/java/docs/UpdateUserGroupRequest.md
index 4cfd1348d..eb1d8ee9c 100644
--- a/sdks/java/docs/UpdateUserGroupRequest.md
+++ b/sdks/java/docs/UpdateUserGroupRequest.md
@@ -51,6 +51,7 @@
| CAN_ACCESS_ANALYST_STUDIO | "CAN_ACCESS_ANALYST_STUDIO" |
| CAN_MANAGE_ANALYST_STUDIO | "CAN_MANAGE_ANALYST_STUDIO" |
| CAN_MODIFY_FOLDERS | "CAN_MODIFY_FOLDERS" |
+| CAN_MANAGE_VARIABLES | "CAN_MANAGE_VARIABLES" |
| CAN_VIEW_FOLDERS | "CAN_VIEW_FOLDERS" |
| PREVIEW_DOCUMENT_SEARCH | "PREVIEW_DOCUMENT_SEARCH" |
| CAN_SETUP_VERSION_CONTROL | "CAN_SETUP_VERSION_CONTROL" |
diff --git a/sdks/java/docs/Variable.md b/sdks/java/docs/Variable.md
index fa3afcde7..0f845111a 100644
--- a/sdks/java/docs/Variable.md
+++ b/sdks/java/docs/Variable.md
@@ -23,6 +23,7 @@ Variable object
| CONNECTION_PROPERTY | "CONNECTION_PROPERTY" |
| TABLE_MAPPING | "TABLE_MAPPING" |
| CONNECTION_PROPERTY_PER_PRINCIPAL | "CONNECTION_PROPERTY_PER_PRINCIPAL" |
+| FORMULA_VARIABLE | "FORMULA_VARIABLE" |
## Implemented Interfaces
diff --git a/sdks/java/docs/VariableApi.md b/sdks/java/docs/VariableApi.md
index e0be89f10..856665146 100644
--- a/sdks/java/docs/VariableApi.md
+++ b/sdks/java/docs/VariableApi.md
@@ -17,7 +17,7 @@ All URIs are relative to *CLUSTER_URL*
- Create a variable which can be used for parameterizing metadata objects Version: 10.14.0.cl or later Allows creating a variable which can be used for parameterizing metadata objects in ThoughtSpot. Requires ADMINISTRATION role and TENANT scope. The CAN_MANAGE_VARIABLES permission allows you to manage Formula Variables in the current organization scope. The API endpoint supports the following types of variables: * CONNECTION_PROPERTY - For connection properties * TABLE_MAPPING - For table mappings * CONNECTION_PROPERTY_PER_PRINCIPAL - For connection properties per principal. In order to use this please contact support to enable this. * FORMULA_VARIABLE - For Formula variables When creating a variable, you need to specify: * The variable type * A unique name for the variable * Whether the variable contains sensitive values (defaults to false) * The data type of the variable, only specify for fomula variables (defaults to null) The operation will fail if: * The user lacks required permissions * The variable name already exists * The variable type is invalid
+ Create a variable which can be used for parameterizing metadata objects Version: 10.14.0.cl or later Allows creating a variable which can be used for parameterizing metadata objects in ThoughtSpot. Requires ADMINISTRATION role and TENANT scope. The CAN_MANAGE_VARIABLES permission allows you to manage Formula Variables in the current organization scope. The API endpoint supports the following types of variables: * CONNECTION_PROPERTY - For connection properties * TABLE_MAPPING - For table mappings * CONNECTION_PROPERTY_PER_PRINCIPAL - For connection properties per principal. In order to use this please contact support to enable this. * FORMULA_VARIABLE - For Formula variables, introduced in 10.15.0.cl When creating a variable, you need to specify: * The variable type * A unique name for the variable * Whether the variable contains sensitive values (defaults to false) * The data type of the variable, only specify for formula variables (defaults to null) The operation will fail if: * The user lacks required permissions * The variable name already exists * The variable type is invalid
### Parameters
diff --git a/sdks/java/docs/VariableDetailInput.md b/sdks/java/docs/VariableDetailInput.md
index 65dd44739..c6d2d0fb0 100644
--- a/sdks/java/docs/VariableDetailInput.md
+++ b/sdks/java/docs/VariableDetailInput.md
@@ -21,6 +21,7 @@ Input for variable details in search
| CONNECTION_PROPERTY | "CONNECTION_PROPERTY" |
| TABLE_MAPPING | "TABLE_MAPPING" |
| CONNECTION_PROPERTY_PER_PRINCIPAL | "CONNECTION_PROPERTY_PER_PRINCIPAL" |
+| FORMULA_VARIABLE | "FORMULA_VARIABLE" |
## Implemented Interfaces
diff --git a/sdks/java/docs/VariableUpdateAssignmentInput.md b/sdks/java/docs/VariableUpdateAssignmentInput.md
index 10a568712..1812149da 100644
--- a/sdks/java/docs/VariableUpdateAssignmentInput.md
+++ b/sdks/java/docs/VariableUpdateAssignmentInput.md
@@ -21,7 +21,7 @@ Input for variable value update in batch operations
| ADD | "ADD" |
| REMOVE | "REMOVE" |
| REPLACE | "REPLACE" |
-| CLEAR | "CLEAR" |
+| RESET | "RESET" |
## Implemented Interfaces
diff --git a/sdks/java/docs/VariableValueInput.md b/sdks/java/docs/VariableValueInput.md
deleted file mode 100644
index 6204e0aee..000000000
--- a/sdks/java/docs/VariableValueInput.md
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-# VariableValueInput
-
-Input for variable value update
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**variableIdentifier** | **String** | ID or Name of the variable | |
-|**variableValues** | [**List<InputVariableValue>**](InputVariableValue.md) | Values of the variable | |
-
-
-## Implemented Interfaces
-
-* Serializable
-
-
diff --git a/sdks/java/docs/VariableValues.md b/sdks/java/docs/VariableValues.md
new file mode 100644
index 000000000..77cf8e2c8
--- /dev/null
+++ b/sdks/java/docs/VariableValues.md
@@ -0,0 +1,19 @@
+
+
+# VariableValues
+
+Variable values.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**name** | **String** | The name of the existing formula variable. | |
+|**values** | **List<Object>** | The values to filter on. | |
+
+
+## Implemented Interfaces
+
+* Serializable
+
+
diff --git a/sdks/java/pom.xml b/sdks/java/pom.xml
index 6d9651240..415013eb5 100644
--- a/sdks/java/pom.xml
+++ b/sdks/java/pom.xml
@@ -4,7 +4,7 @@
com.thoughtspot
rest-api-sdk
- 2.19.0
+ 2.20.0
jar
rest-api-sdk
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/ApiClient.java b/sdks/java/src/main/java/com/thoughtspot/client/ApiClient.java
index 7b557e687..917b9d005 100644
--- a/sdks/java/src/main/java/com/thoughtspot/client/ApiClient.java
+++ b/sdks/java/src/main/java/com/thoughtspot/client/ApiClient.java
@@ -182,7 +182,7 @@ private void init() {
json = new JSON();
// Set default User-Agent.
- setUserAgent("ThoughtSpot-Client/java/2.19.0");
+ setUserAgent("ThoughtSpot-Client/java/2.20.0");
authentications = new HashMap();
}
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/Configuration.java b/sdks/java/src/main/java/com/thoughtspot/client/Configuration.java
index 96b8539de..b874c13f2 100644
--- a/sdks/java/src/main/java/com/thoughtspot/client/Configuration.java
+++ b/sdks/java/src/main/java/com/thoughtspot/client/Configuration.java
@@ -8,7 +8,7 @@
value = "org.openapitools.codegen.languages.JavaClientCodegen",
comments = "Generator version: 7.12.0")
public class Configuration {
- public static final String VERSION = "2.19.0";
+ public static final String VERSION = "2.20.0";
private static volatile ApiClient defaultApiClient = new ApiClient();
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/JSON.java b/sdks/java/src/main/java/com/thoughtspot/client/JSON.java
index 2aba06554..2a2e3725c 100644
--- a/sdks/java/src/main/java/com/thoughtspot/client/JSON.java
+++ b/sdks/java/src/main/java/com/thoughtspot/client/JSON.java
@@ -324,6 +324,9 @@ private static Class getClassByDiscriminator(
gsonBuilder.registerTypeAdapterFactory(
new com.thoughtspot.client.model.EurekaDecomposeQueryResponse
.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(
+ new com.thoughtspot.client.model.EurekaGetNLInstructionsResponse
+ .CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(
new com.thoughtspot.client.model.EurekaGetRelevantQuestionsResponse
.CustomTypeAdapterFactory());
@@ -335,6 +338,9 @@ private static Class getClassByDiscriminator(
.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(
new com.thoughtspot.client.model.EurekaRelevantQuestion.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(
+ new com.thoughtspot.client.model.EurekaSetNLInstructionsResponse
+ .CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(
new com.thoughtspot.client.model.EventChannelConfig.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(
@@ -422,6 +428,9 @@ private static Class getClassByDiscriminator(
gsonBuilder.registerTypeAdapterFactory(
new com.thoughtspot.client.model.GetFullAccessTokenRequest
.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(
+ new com.thoughtspot.client.model.GetNLInstructionsRequest
+ .CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(
new com.thoughtspot.client.model.GetObjectAccessTokenRequest
.CustomTypeAdapterFactory());
@@ -505,6 +514,11 @@ private static Class getClassByDiscriminator(
.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(
new com.thoughtspot.client.model.ModelTableList.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(
+ new com.thoughtspot.client.model.NLInstructionsInfo.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(
+ new com.thoughtspot.client.model.NLInstructionsInfoInput
+ .CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(
new com.thoughtspot.client.model.ObjectIDAndName.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(
@@ -711,6 +725,9 @@ private static Class getClassByDiscriminator(
.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(
new com.thoughtspot.client.model.SendMessageRequest.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(
+ new com.thoughtspot.client.model.SetNLInstructionsRequest
+ .CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(
new com.thoughtspot.client.model.ShareMetadataRequest.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(
@@ -850,6 +867,8 @@ private static Class getClassByDiscriminator(
.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(
new com.thoughtspot.client.model.VariableValue.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(
+ new com.thoughtspot.client.model.VariableValues.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(
new com.thoughtspot.client.model.WebhookAuthApiKey.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/api/AiApi.java b/sdks/java/src/main/java/com/thoughtspot/client/api/AiApi.java
index 7827f3495..d7d00fcb8 100644
--- a/sdks/java/src/main/java/com/thoughtspot/client/api/AiApi.java
+++ b/sdks/java/src/main/java/com/thoughtspot/client/api/AiApi.java
@@ -18,8 +18,11 @@
import com.thoughtspot.client.model.CreateConversationRequest;
import com.thoughtspot.client.model.EurekaDataSourceSuggestionResponse;
import com.thoughtspot.client.model.EurekaDecomposeQueryResponse;
+import com.thoughtspot.client.model.EurekaGetNLInstructionsResponse;
import com.thoughtspot.client.model.EurekaGetRelevantQuestionsResponse;
+import com.thoughtspot.client.model.EurekaSetNLInstructionsResponse;
import com.thoughtspot.client.model.GetDataSourceSuggestionsRequest;
+import com.thoughtspot.client.model.GetNLInstructionsRequest;
import com.thoughtspot.client.model.GetRelevantQuestionsRequest;
import com.thoughtspot.client.model.QueryGetDecomposedQueryRequest;
import com.thoughtspot.client.model.ResponseMessage;
@@ -27,6 +30,7 @@
import com.thoughtspot.client.model.SendAgentMessageResponse;
import com.thoughtspot.client.model.SendAgentMessageStreamingRequest;
import com.thoughtspot.client.model.SendMessageRequest;
+import com.thoughtspot.client.model.SetNLInstructionsRequest;
import com.thoughtspot.client.model.SingleAnswerRequest;
import java.lang.reflect.Type;
import java.util.ArrayList;
@@ -654,6 +658,221 @@ public okhttp3.Call getDataSourceSuggestionsAsync(
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
+ /**
+ * Build call for getNLInstructions
+ *
+ * @param getNLInstructionsRequest (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+ *
+ * Response Details
+ * | Status Code | Description | Response Headers |
+ * | 200 | Common successful response | - |
+ * | 201 | Common error response | - |
+ * | 400 | Operation failed | - |
+ * | 500 | Operation failed | - |
+ *
+ */
+ public okhttp3.Call getNLInstructionsCall(
+ GetNLInstructionsRequest getNLInstructionsRequest, final ApiCallback _callback)
+ throws ApiException {
+ String basePath = null;
+ // Operation Servers
+ String[] localBasePaths = new String[] {};
+
+ // Determine Base Path to Use
+ if (localCustomBaseUrl != null) {
+ basePath = localCustomBaseUrl;
+ } else if (localBasePaths.length > 0) {
+ basePath = localBasePaths[localHostIndex];
+ } else {
+ basePath = null;
+ }
+
+ Object localVarPostBody = getNLInstructionsRequest;
+
+ // create path and map variables
+ String localVarPath = "/api/rest/2.0/ai/instructions/get";
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+
+ final String[] localVarAccepts = {"application/json"};
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {"application/json"};
+ final String localVarContentType =
+ localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ if (localVarContentType != null) {
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+ }
+
+ String[] localVarAuthNames = new String[] {"bearerAuth"};
+ return localVarApiClient.buildCall(
+ basePath,
+ localVarPath,
+ "POST",
+ localVarQueryParams,
+ localVarCollectionQueryParams,
+ localVarPostBody,
+ localVarHeaderParams,
+ localVarCookieParams,
+ localVarFormParams,
+ localVarAuthNames,
+ _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call getNLInstructionsValidateBeforeCall(
+ GetNLInstructionsRequest getNLInstructionsRequest, final ApiCallback _callback)
+ throws ApiException {
+ // verify the required parameter 'getNLInstructionsRequest' is set
+ if (getNLInstructionsRequest == null) {
+ throw new ApiException(
+ "Missing the required parameter 'getNLInstructionsRequest' when calling"
+ + " getNLInstructions(Async)");
+ }
+
+ return getNLInstructionsCall(getNLInstructionsRequest, _callback);
+ }
+
+ /**
+ * Version: 10.15.0.cl or later This API allows users to retrieve existing natural language (NL)
+ * instructions for a specific data-model. These instructions guide the AI system in
+ * understanding data context and generating more accurate responses when processing natural
+ * language queries. #### Usage guidelines To retrieve NL instructions for a data-model, the
+ * request must include: - `data_source_identifier`: The unique ID or name of the
+ * data-model to retrieve NL instructions The API returns a response object with: -
+ * `nl_instructions_info`: An array of instruction objects, each containing: -
+ * `instructions`: Array of text instructions for natural language processing -
+ * `scope`: The scope of the instruction (`GLOBAL`). It can be extended to
+ * data-model-user scope in future. #### Instructions Scope - **GLOBAL**: Instructions that
+ * apply globally across the system on the given data-model (currently only global instructions
+ * are supported) > ###### Note: > * To use this API, the user needs atleast view access
+ * on the data-model and they must use corresponding org related bearerToken where the
+ * data-model exists. > * This endpoint is currently in Beta. Breaking changes may be
+ * introduced before the endpoint is made Generally Available. > * Available from version
+ * 10.15.0.cl and later. > * This endpoint requires Spotter — please contact ThoughtSpot
+ * Support to enable Spotter on your cluster. > * Use this API to view currently configured
+ * instructions before modifying them with `setNLInstructions`.
+ *
+ * @param getNLInstructionsRequest (required)
+ * @return EurekaGetNLInstructionsResponse
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
+ * response body
+ * @http.response.details
+ *
+ * Response Details
+ * | Status Code | Description | Response Headers |
+ * | 200 | Common successful response | - |
+ * | 201 | Common error response | - |
+ * | 400 | Operation failed | - |
+ * | 500 | Operation failed | - |
+ *
+ */
+ public EurekaGetNLInstructionsResponse getNLInstructions(
+ GetNLInstructionsRequest getNLInstructionsRequest) throws ApiException {
+ ApiResponse localVarResp =
+ getNLInstructionsWithHttpInfo(getNLInstructionsRequest);
+ return localVarResp.getData();
+ }
+
+ /**
+ * Version: 10.15.0.cl or later This API allows users to retrieve existing natural language (NL)
+ * instructions for a specific data-model. These instructions guide the AI system in
+ * understanding data context and generating more accurate responses when processing natural
+ * language queries. #### Usage guidelines To retrieve NL instructions for a data-model, the
+ * request must include: - `data_source_identifier`: The unique ID or name of the
+ * data-model to retrieve NL instructions The API returns a response object with: -
+ * `nl_instructions_info`: An array of instruction objects, each containing: -
+ * `instructions`: Array of text instructions for natural language processing -
+ * `scope`: The scope of the instruction (`GLOBAL`). It can be extended to
+ * data-model-user scope in future. #### Instructions Scope - **GLOBAL**: Instructions that
+ * apply globally across the system on the given data-model (currently only global instructions
+ * are supported) > ###### Note: > * To use this API, the user needs atleast view access
+ * on the data-model and they must use corresponding org related bearerToken where the
+ * data-model exists. > * This endpoint is currently in Beta. Breaking changes may be
+ * introduced before the endpoint is made Generally Available. > * Available from version
+ * 10.15.0.cl and later. > * This endpoint requires Spotter — please contact ThoughtSpot
+ * Support to enable Spotter on your cluster. > * Use this API to view currently configured
+ * instructions before modifying them with `setNLInstructions`.
+ *
+ * @param getNLInstructionsRequest (required)
+ * @return ApiResponse<EurekaGetNLInstructionsResponse>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
+ * response body
+ * @http.response.details
+ *
+ * Response Details
+ * | Status Code | Description | Response Headers |
+ * | 200 | Common successful response | - |
+ * | 201 | Common error response | - |
+ * | 400 | Operation failed | - |
+ * | 500 | Operation failed | - |
+ *
+ */
+ public ApiResponse getNLInstructionsWithHttpInfo(
+ GetNLInstructionsRequest getNLInstructionsRequest) throws ApiException {
+ okhttp3.Call localVarCall =
+ getNLInstructionsValidateBeforeCall(getNLInstructionsRequest, null);
+ Type localVarReturnType = new TypeToken() {}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * (asynchronously) Version: 10.15.0.cl or later This API allows users to retrieve existing
+ * natural language (NL) instructions for a specific data-model. These instructions guide the AI
+ * system in understanding data context and generating more accurate responses when processing
+ * natural language queries. #### Usage guidelines To retrieve NL instructions for a data-model,
+ * the request must include: - `data_source_identifier`: The unique ID or name of the
+ * data-model to retrieve NL instructions The API returns a response object with: -
+ * `nl_instructions_info`: An array of instruction objects, each containing: -
+ * `instructions`: Array of text instructions for natural language processing -
+ * `scope`: The scope of the instruction (`GLOBAL`). It can be extended to
+ * data-model-user scope in future. #### Instructions Scope - **GLOBAL**: Instructions that
+ * apply globally across the system on the given data-model (currently only global instructions
+ * are supported) > ###### Note: > * To use this API, the user needs atleast view access
+ * on the data-model and they must use corresponding org related bearerToken where the
+ * data-model exists. > * This endpoint is currently in Beta. Breaking changes may be
+ * introduced before the endpoint is made Generally Available. > * Available from version
+ * 10.15.0.cl and later. > * This endpoint requires Spotter — please contact ThoughtSpot
+ * Support to enable Spotter on your cluster. > * Use this API to view currently configured
+ * instructions before modifying them with `setNLInstructions`.
+ *
+ * @param getNLInstructionsRequest (required)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body
+ * object
+ * @http.response.details
+ *
+ * Response Details
+ * | Status Code | Description | Response Headers |
+ * | 200 | Common successful response | - |
+ * | 201 | Common error response | - |
+ * | 400 | Operation failed | - |
+ * | 500 | Operation failed | - |
+ *
+ */
+ public okhttp3.Call getNLInstructionsAsync(
+ GetNLInstructionsRequest getNLInstructionsRequest,
+ final ApiCallback _callback)
+ throws ApiException {
+
+ okhttp3.Call localVarCall =
+ getNLInstructionsValidateBeforeCall(getNLInstructionsRequest, _callback);
+ Type localVarReturnType = new TypeToken() {}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
/**
* Build call for getRelevantQuestions
*
@@ -1718,6 +1937,224 @@ public okhttp3.Call sendMessageAsync(
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
+ /**
+ * Build call for setNLInstructions
+ *
+ * @param setNLInstructionsRequest (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+ *
+ * Response Details
+ * | Status Code | Description | Response Headers |
+ * | 200 | Common successful response | - |
+ * | 201 | Common error response | - |
+ * | 400 | Operation failed | - |
+ * | 500 | Operation failed | - |
+ *
+ */
+ public okhttp3.Call setNLInstructionsCall(
+ SetNLInstructionsRequest setNLInstructionsRequest, final ApiCallback _callback)
+ throws ApiException {
+ String basePath = null;
+ // Operation Servers
+ String[] localBasePaths = new String[] {};
+
+ // Determine Base Path to Use
+ if (localCustomBaseUrl != null) {
+ basePath = localCustomBaseUrl;
+ } else if (localBasePaths.length > 0) {
+ basePath = localBasePaths[localHostIndex];
+ } else {
+ basePath = null;
+ }
+
+ Object localVarPostBody = setNLInstructionsRequest;
+
+ // create path and map variables
+ String localVarPath = "/api/rest/2.0/ai/instructions/set";
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+
+ final String[] localVarAccepts = {"application/json"};
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {"application/json"};
+ final String localVarContentType =
+ localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ if (localVarContentType != null) {
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+ }
+
+ String[] localVarAuthNames = new String[] {"bearerAuth"};
+ return localVarApiClient.buildCall(
+ basePath,
+ localVarPath,
+ "POST",
+ localVarQueryParams,
+ localVarCollectionQueryParams,
+ localVarPostBody,
+ localVarHeaderParams,
+ localVarCookieParams,
+ localVarFormParams,
+ localVarAuthNames,
+ _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call setNLInstructionsValidateBeforeCall(
+ SetNLInstructionsRequest setNLInstructionsRequest, final ApiCallback _callback)
+ throws ApiException {
+ // verify the required parameter 'setNLInstructionsRequest' is set
+ if (setNLInstructionsRequest == null) {
+ throw new ApiException(
+ "Missing the required parameter 'setNLInstructionsRequest' when calling"
+ + " setNLInstructions(Async)");
+ }
+
+ return setNLInstructionsCall(setNLInstructionsRequest, _callback);
+ }
+
+ /**
+ * Version: 10.15.0.cl or later This API allows users to set natural language (NL) instructions
+ * for a specific data-model to improve AI-generated answers and query processing. These
+ * instructions help guide the AI system to better understand the data context and provide more
+ * accurate responses. #### Usage guidelines To set NL instructions for a data-model, the
+ * request must include: - `data_source_identifier`: The unique ID or name of the
+ * data-model for which to set NL instructions - `nl_instructions_info`: An array of
+ * instruction objects, each containing: - `instructions`: Array of text instructions
+ * for the LLM - `scope`: The scope of the instruction (`GLOBAL`). Currently
+ * only `GLOBAL` is supported. It can be extended to data-model-user scope in future.
+ * The API returns a response object with: - `success`: Boolean indicating whether the
+ * operation was successful #### Instructions Scope - **GLOBAL**: Instructions that apply
+ * globally for that data-model across the system > ###### Note: > * To use this API, the
+ * user needs either edit access or SPOTTER_COACHING_PRIVILEGE on the data-model and they must
+ * use corresponding org related bearerToken where the data-model exists. > * This endpoint
+ * is currently in Beta. Breaking changes may be introduced before the endpoint is made
+ * Generally Available. > * Available from version 10.15.0.cl and later. > * This endpoint
+ * requires Spotter — please contact ThoughtSpot Support to enable Spotter on your cluster. >
+ * * Instructions help improve the accuracy and relevance of AI-generated responses for the
+ * specified data-model.
+ *
+ * @param setNLInstructionsRequest (required)
+ * @return EurekaSetNLInstructionsResponse
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
+ * response body
+ * @http.response.details
+ *
+ * Response Details
+ * | Status Code | Description | Response Headers |
+ * | 200 | Common successful response | - |
+ * | 201 | Common error response | - |
+ * | 400 | Operation failed | - |
+ * | 500 | Operation failed | - |
+ *
+ */
+ public EurekaSetNLInstructionsResponse setNLInstructions(
+ SetNLInstructionsRequest setNLInstructionsRequest) throws ApiException {
+ ApiResponse localVarResp =
+ setNLInstructionsWithHttpInfo(setNLInstructionsRequest);
+ return localVarResp.getData();
+ }
+
+ /**
+ * Version: 10.15.0.cl or later This API allows users to set natural language (NL) instructions
+ * for a specific data-model to improve AI-generated answers and query processing. These
+ * instructions help guide the AI system to better understand the data context and provide more
+ * accurate responses. #### Usage guidelines To set NL instructions for a data-model, the
+ * request must include: - `data_source_identifier`: The unique ID or name of the
+ * data-model for which to set NL instructions - `nl_instructions_info`: An array of
+ * instruction objects, each containing: - `instructions`: Array of text instructions
+ * for the LLM - `scope`: The scope of the instruction (`GLOBAL`). Currently
+ * only `GLOBAL` is supported. It can be extended to data-model-user scope in future.
+ * The API returns a response object with: - `success`: Boolean indicating whether the
+ * operation was successful #### Instructions Scope - **GLOBAL**: Instructions that apply
+ * globally for that data-model across the system > ###### Note: > * To use this API, the
+ * user needs either edit access or SPOTTER_COACHING_PRIVILEGE on the data-model and they must
+ * use corresponding org related bearerToken where the data-model exists. > * This endpoint
+ * is currently in Beta. Breaking changes may be introduced before the endpoint is made
+ * Generally Available. > * Available from version 10.15.0.cl and later. > * This endpoint
+ * requires Spotter — please contact ThoughtSpot Support to enable Spotter on your cluster. >
+ * * Instructions help improve the accuracy and relevance of AI-generated responses for the
+ * specified data-model.
+ *
+ * @param setNLInstructionsRequest (required)
+ * @return ApiResponse<EurekaSetNLInstructionsResponse>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
+ * response body
+ * @http.response.details
+ *
+ * Response Details
+ * | Status Code | Description | Response Headers |
+ * | 200 | Common successful response | - |
+ * | 201 | Common error response | - |
+ * | 400 | Operation failed | - |
+ * | 500 | Operation failed | - |
+ *
+ */
+ public ApiResponse setNLInstructionsWithHttpInfo(
+ SetNLInstructionsRequest setNLInstructionsRequest) throws ApiException {
+ okhttp3.Call localVarCall =
+ setNLInstructionsValidateBeforeCall(setNLInstructionsRequest, null);
+ Type localVarReturnType = new TypeToken() {}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * (asynchronously) Version: 10.15.0.cl or later This API allows users to set natural language
+ * (NL) instructions for a specific data-model to improve AI-generated answers and query
+ * processing. These instructions help guide the AI system to better understand the data context
+ * and provide more accurate responses. #### Usage guidelines To set NL instructions for a
+ * data-model, the request must include: - `data_source_identifier`: The unique ID or
+ * name of the data-model for which to set NL instructions - `nl_instructions_info`:
+ * An array of instruction objects, each containing: - `instructions`: Array of text
+ * instructions for the LLM - `scope`: The scope of the instruction
+ * (`GLOBAL`). Currently only `GLOBAL` is supported. It can be extended to
+ * data-model-user scope in future. The API returns a response object with: -
+ * `success`: Boolean indicating whether the operation was successful ####
+ * Instructions Scope - **GLOBAL**: Instructions that apply globally for that data-model across
+ * the system > ###### Note: > * To use this API, the user needs either edit access or
+ * SPOTTER_COACHING_PRIVILEGE on the data-model and they must use corresponding org related
+ * bearerToken where the data-model exists. > * This endpoint is currently in Beta. Breaking
+ * changes may be introduced before the endpoint is made Generally Available. > * Available
+ * from version 10.15.0.cl and later. > * This endpoint requires Spotter — please contact
+ * ThoughtSpot Support to enable Spotter on your cluster. > * Instructions help improve the
+ * accuracy and relevance of AI-generated responses for the specified data-model.
+ *
+ * @param setNLInstructionsRequest (required)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body
+ * object
+ * @http.response.details
+ *
+ * Response Details
+ * | Status Code | Description | Response Headers |
+ * | 200 | Common successful response | - |
+ * | 201 | Common error response | - |
+ * | 400 | Operation failed | - |
+ * | 500 | Operation failed | - |
+ *
+ */
+ public okhttp3.Call setNLInstructionsAsync(
+ SetNLInstructionsRequest setNLInstructionsRequest,
+ final ApiCallback _callback)
+ throws ApiException {
+
+ okhttp3.Call localVarCall =
+ setNLInstructionsValidateBeforeCall(setNLInstructionsRequest, _callback);
+ Type localVarReturnType = new TypeToken() {}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
/**
* Build call for singleAnswer
*
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/api/ConnectionConfigurationsApi.java b/sdks/java/src/main/java/com/thoughtspot/client/api/ConnectionConfigurationsApi.java
index ab2867bd3..fe3c87d37 100644
--- a/sdks/java/src/main/java/com/thoughtspot/client/api/ConnectionConfigurationsApi.java
+++ b/sdks/java/src/main/java/com/thoughtspot/client/api/ConnectionConfigurationsApi.java
@@ -387,7 +387,10 @@ private okhttp3.Call createConnectionConfigurationValidateBeforeCall(
* required field. * If the `policy_type` is `PROCESSES`, then
* `policy_processes` is a required field. * If the `policy_type` is
* `NO_POLICY`, then `policy_principals` and `policy_processes`
- * are not required fields.
+ * are not required fields. #### Parameterized Connection Support For parameterized connections
+ * that use OAuth authentication, only the same_as_parent and policy_process_options attributes
+ * are allowed in the API request. These attributes are not applicable to connections that are
+ * not parameterized.
*
* @param createConnectionConfigurationRequest (required)
* @return ConnectionConfigurationResponse
@@ -427,7 +430,10 @@ public ConnectionConfigurationResponse createConnectionConfiguration(
* required field. * If the `policy_type` is `PROCESSES`, then
* `policy_processes` is a required field. * If the `policy_type` is
* `NO_POLICY`, then `policy_principals` and `policy_processes`
- * are not required fields.
+ * are not required fields. #### Parameterized Connection Support For parameterized connections
+ * that use OAuth authentication, only the same_as_parent and policy_process_options attributes
+ * are allowed in the API request. These attributes are not applicable to connections that are
+ * not parameterized.
*
* @param createConnectionConfigurationRequest (required)
* @return ApiResponse<ConnectionConfigurationResponse>
@@ -469,7 +475,10 @@ public ApiResponse createConnectionConfiguratio
* required field. * If the `policy_type` is `PROCESSES`, then
* `policy_processes` is a required field. * If the `policy_type` is
* `NO_POLICY`, then `policy_principals` and `policy_processes`
- * are not required fields.
+ * are not required fields. #### Parameterized Connection Support For parameterized connections
+ * that use OAuth authentication, only the same_as_parent and policy_process_options attributes
+ * are allowed in the API request. These attributes are not applicable to connections that are
+ * not parameterized.
*
* @param createConnectionConfigurationRequest (required)
* @param _callback The callback to be executed when the API call finishes
@@ -796,8 +805,11 @@ private okhttp3.Call updateConnectionConfigurationValidateBeforeCall(
* Connections**) privilege is required. #### Supported operations This API endpoint lets you
* perform the following operations in a single API request: * Edit the name or description of
* the configuration * Edit the configuration properties * Edit the `policy_type` *
- * Edit the type of authentication * Enable or disable a configuration **NOTE**: When updating a
- * configuration where `disabled` is `true`, you must reset
+ * Edit the type of authentication * Enable or disable a configuration #### Parameterized
+ * Connection Support For parameterized oauth based connections, only the
+ * `same_as_parent` and `policy_process_options` attributes are allowed.
+ * These attributes are not applicable to connections that are not parameterized. **NOTE**: When
+ * updating a configuration where `disabled` is `true`, you must reset
* `disabled` to `true` in your update request payload. If not explicitly
* set again, the API will default `disabled` to `false`.
*
@@ -833,8 +845,11 @@ public void updateConnectionConfiguration(
* Connections**) privilege is required. #### Supported operations This API endpoint lets you
* perform the following operations in a single API request: * Edit the name or description of
* the configuration * Edit the configuration properties * Edit the `policy_type` *
- * Edit the type of authentication * Enable or disable a configuration **NOTE**: When updating a
- * configuration where `disabled` is `true`, you must reset
+ * Edit the type of authentication * Enable or disable a configuration #### Parameterized
+ * Connection Support For parameterized oauth based connections, only the
+ * `same_as_parent` and `policy_process_options` attributes are allowed.
+ * These attributes are not applicable to connections that are not parameterized. **NOTE**: When
+ * updating a configuration where `disabled` is `true`, you must reset
* `disabled` to `true` in your update request payload. If not explicitly
* set again, the API will default `disabled` to `false`.
*
@@ -873,8 +888,11 @@ public ApiResponse updateConnectionConfigurationWithHttpInfo(
* Connections**) privilege is required. #### Supported operations This API endpoint lets you
* perform the following operations in a single API request: * Edit the name or description of
* the configuration * Edit the configuration properties * Edit the `policy_type` *
- * Edit the type of authentication * Enable or disable a configuration **NOTE**: When updating a
- * configuration where `disabled` is `true`, you must reset
+ * Edit the type of authentication * Enable or disable a configuration #### Parameterized
+ * Connection Support For parameterized oauth based connections, only the
+ * `same_as_parent` and `policy_process_options` attributes are allowed.
+ * These attributes are not applicable to connections that are not parameterized. **NOTE**: When
+ * updating a configuration where `disabled` is `true`, you must reset
* `disabled` to `true` in your update request payload. If not explicitly
* set again, the API will default `disabled` to `false`.
*
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/api/EmailCustomisationApi.java b/sdks/java/src/main/java/com/thoughtspot/client/api/EmailCustomisationApi.java
deleted file mode 100644
index e3753502f..000000000
--- a/sdks/java/src/main/java/com/thoughtspot/client/api/EmailCustomisationApi.java
+++ /dev/null
@@ -1,809 +0,0 @@
-/*
- * NOTE: This class is auto generated. Do not edit the class manually.
- */
-
-package com.thoughtspot.client.api;
-
-import com.google.gson.reflect.TypeToken;
-import com.thoughtspot.client.ApiCallback;
-import com.thoughtspot.client.ApiClient;
-import com.thoughtspot.client.ApiClientConfiguration;
-import com.thoughtspot.client.ApiException;
-import com.thoughtspot.client.ApiResponse;
-import com.thoughtspot.client.Configuration;
-import com.thoughtspot.client.Pair;
-import com.thoughtspot.client.model.CreateEmailCustomisationRequest;
-import com.thoughtspot.client.model.CreateEmailCustomisationResponse;
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@javax.annotation.Generated(
- value = "org.openapitools.codegen.languages.JavaClientCodegen",
- comments = "Generator version: 7.12.0")
-public class EmailCustomisationApi {
- private ApiClient localVarApiClient;
- private ApiClientConfiguration localVarApiClientConfiguration;
- private int localHostIndex;
- private String localCustomBaseUrl;
-
- public EmailCustomisationApi() {
- this(Configuration.getDefaultApiClient());
- }
-
- public EmailCustomisationApi(ApiClient apiClient) {
- this.localVarApiClient = apiClient;
- }
-
- public EmailCustomisationApi(ApiClientConfiguration apiClientConfiguration) {
- this.localVarApiClientConfiguration = apiClientConfiguration;
- this.localVarApiClient = new ApiClient(apiClientConfiguration);
- }
-
- public ApiClient getApiClient() {
- return localVarApiClient;
- }
-
- public void setApiClient(ApiClient apiClient) {
- this.localVarApiClient = apiClient;
- }
-
- public ApiClientConfiguration getApiClientConfiguration() {
- return localVarApiClientConfiguration;
- }
-
- public void applyApiClientConfiguration(ApiClientConfiguration apiClientConfiguration) {
- this.localVarApiClientConfiguration = apiClientConfiguration;
- if (localVarApiClient != null) {
- localVarApiClient.applyApiClientConfiguration(apiClientConfiguration);
- } else {
- localVarApiClient = new ApiClient(apiClientConfiguration);
- }
- }
-
- public int getHostIndex() {
- return localHostIndex;
- }
-
- public void setHostIndex(int hostIndex) {
- this.localHostIndex = hostIndex;
- }
-
- public String getCustomBaseUrl() {
- return localCustomBaseUrl;
- }
-
- public void setCustomBaseUrl(String customBaseUrl) {
- this.localCustomBaseUrl = customBaseUrl;
- }
-
- /**
- * Build call for createEmailCustomisation
- *
- * @param createEmailCustomisationRequest (required)
- * @param _callback Callback for upload/download progress
- * @return Call to execute
- * @throws ApiException If fail to serialize the request body object
- * @http.response.details
- *
- * Response Details
- * | Status Code | Description | Response Headers |
- * | 200 | OK | - |
- * | 400 | Invalid request. | - |
- * | 403 | Unauthorized access. | - |
- * | 500 | Unexpected error | - |
- *
- */
- public okhttp3.Call createEmailCustomisationCall(
- CreateEmailCustomisationRequest createEmailCustomisationRequest,
- final ApiCallback _callback)
- throws ApiException {
- String basePath = null;
- // Operation Servers
- String[] localBasePaths = new String[] {};
-
- // Determine Base Path to Use
- if (localCustomBaseUrl != null) {
- basePath = localCustomBaseUrl;
- } else if (localBasePaths.length > 0) {
- basePath = localBasePaths[localHostIndex];
- } else {
- basePath = null;
- }
-
- Object localVarPostBody = createEmailCustomisationRequest;
-
- // create path and map variables
- String localVarPath = "/api/rest/2.0/customization/email";
-
- List localVarQueryParams = new ArrayList();
- List localVarCollectionQueryParams = new ArrayList();
- Map localVarHeaderParams = new HashMap();
- Map localVarCookieParams = new HashMap();
- Map localVarFormParams = new HashMap();
-
- final String[] localVarAccepts = {"application/json"};
- final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
- if (localVarAccept != null) {
- localVarHeaderParams.put("Accept", localVarAccept);
- }
-
- final String[] localVarContentTypes = {"application/json"};
- final String localVarContentType =
- localVarApiClient.selectHeaderContentType(localVarContentTypes);
- if (localVarContentType != null) {
- localVarHeaderParams.put("Content-Type", localVarContentType);
- }
-
- String[] localVarAuthNames = new String[] {"bearerAuth"};
- return localVarApiClient.buildCall(
- basePath,
- localVarPath,
- "POST",
- localVarQueryParams,
- localVarCollectionQueryParams,
- localVarPostBody,
- localVarHeaderParams,
- localVarCookieParams,
- localVarFormParams,
- localVarAuthNames,
- _callback);
- }
-
- @SuppressWarnings("rawtypes")
- private okhttp3.Call createEmailCustomisationValidateBeforeCall(
- CreateEmailCustomisationRequest createEmailCustomisationRequest,
- final ApiCallback _callback)
- throws ApiException {
- // verify the required parameter 'createEmailCustomisationRequest' is set
- if (createEmailCustomisationRequest == null) {
- throw new ApiException(
- "Missing the required parameter 'createEmailCustomisationRequest' when calling"
- + " createEmailCustomisation(Async)");
- }
-
- return createEmailCustomisationCall(createEmailCustomisationRequest, _callback);
- }
-
- /**
- * Version: 10.10.0.cl or later Creates a custom configuration for the email customisation ####
- * Pre-requisites Requires `DEVELOPER` (**has developer privilege**) or
- * `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access
- * Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance,
- * the `_Has developer privilege` privilege is required. Coms should be enabled on the
- * cluster. #### Usage guidelines To create a custom confuguration: 1. Pass these parameters in
- * your API request. - A JSON map of configuration attributes `template_properties`.
- * The following example shows the configuration attribures for a csutom configuration:
- * ``` { { \"logoUrl\": \"<logo_url>\",
- * \"homeUrl\": \"<home_url>\", \"productName\":
- * \"<Company Name in the Mail>\", \"footerAddress\":
- * \"<address to be visible in the footer>\", \"ctaButtonBgColor\":
- * \"#444DEA\", \"ctaTextFontColor\": \"#FFFFFF\",
- * \"primaryBgColor\": \"#D3DEF0\", \"hideMobileAppNudge\":
- * <true/false>, \"hideTsVocabularyDefinitions\": <true/false>e,
- * \"hideProductName\": <true/false>, \"hideFooterPhone\":
- * <true/false>, \"hideFooterAddress\": <true/false>,
- * \"hidePrivacyPolicy\": <true/false>, \"hideManageNotification\":
- * <true/false>, \"fontfamily\": \"<to maintain a single font in the
- * entire email>\" } } ```
- *
- * @param createEmailCustomisationRequest (required)
- * @return CreateEmailCustomisationResponse
- * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
- * response body
- * @http.response.details
- *
- * Response Details
- * | Status Code | Description | Response Headers |
- * | 200 | OK | - |
- * | 400 | Invalid request. | - |
- * | 403 | Unauthorized access. | - |
- * | 500 | Unexpected error | - |
- *
- */
- public CreateEmailCustomisationResponse createEmailCustomisation(
- CreateEmailCustomisationRequest createEmailCustomisationRequest) throws ApiException {
- ApiResponse localVarResp =
- createEmailCustomisationWithHttpInfo(createEmailCustomisationRequest);
- return localVarResp.getData();
- }
-
- /**
- * Version: 10.10.0.cl or later Creates a custom configuration for the email customisation ####
- * Pre-requisites Requires `DEVELOPER` (**has developer privilege**) or
- * `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access
- * Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance,
- * the `_Has developer privilege` privilege is required. Coms should be enabled on the
- * cluster. #### Usage guidelines To create a custom confuguration: 1. Pass these parameters in
- * your API request. - A JSON map of configuration attributes `template_properties`.
- * The following example shows the configuration attribures for a csutom configuration:
- * ``` { { \"logoUrl\": \"<logo_url>\",
- * \"homeUrl\": \"<home_url>\", \"productName\":
- * \"<Company Name in the Mail>\", \"footerAddress\":
- * \"<address to be visible in the footer>\", \"ctaButtonBgColor\":
- * \"#444DEA\", \"ctaTextFontColor\": \"#FFFFFF\",
- * \"primaryBgColor\": \"#D3DEF0\", \"hideMobileAppNudge\":
- * <true/false>, \"hideTsVocabularyDefinitions\": <true/false>e,
- * \"hideProductName\": <true/false>, \"hideFooterPhone\":
- * <true/false>, \"hideFooterAddress\": <true/false>,
- * \"hidePrivacyPolicy\": <true/false>, \"hideManageNotification\":
- * <true/false>, \"fontfamily\": \"<to maintain a single font in the
- * entire email>\" } } ```
- *
- * @param createEmailCustomisationRequest (required)
- * @return ApiResponse<CreateEmailCustomisationResponse>
- * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
- * response body
- * @http.response.details
- *
- * Response Details
- * | Status Code | Description | Response Headers |
- * | 200 | OK | - |
- * | 400 | Invalid request. | - |
- * | 403 | Unauthorized access. | - |
- * | 500 | Unexpected error | - |
- *
- */
- public ApiResponse createEmailCustomisationWithHttpInfo(
- CreateEmailCustomisationRequest createEmailCustomisationRequest) throws ApiException {
- okhttp3.Call localVarCall =
- createEmailCustomisationValidateBeforeCall(createEmailCustomisationRequest, null);
- Type localVarReturnType = new TypeToken() {}.getType();
- return localVarApiClient.execute(localVarCall, localVarReturnType);
- }
-
- /**
- * (asynchronously) Version: 10.10.0.cl or later Creates a custom configuration for the email
- * customisation #### Pre-requisites Requires `DEVELOPER` (**has developer
- * privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If
- * [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled
- * on your instance, the `_Has developer privilege` privilege is required. Coms should
- * be enabled on the cluster. #### Usage guidelines To create a custom confuguration: 1. Pass
- * these parameters in your API request. - A JSON map of configuration attributes
- * `template_properties`. The following example shows the configuration attribures for
- * a csutom configuration: ``` { { \"logoUrl\":
- * \"<logo_url>\", \"homeUrl\": \"<home_url>\",
- * \"productName\": \"<Company Name in the Mail>\",
- * \"footerAddress\": \"<address to be visible in the footer>\",
- * \"ctaButtonBgColor\": \"#444DEA\", \"ctaTextFontColor\":
- * \"#FFFFFF\", \"primaryBgColor\": \"#D3DEF0\",
- * \"hideMobileAppNudge\": <true/false>,
- * \"hideTsVocabularyDefinitions\": <true/false>e,
- * \"hideProductName\": <true/false>, \"hideFooterPhone\":
- * <true/false>, \"hideFooterAddress\": <true/false>,
- * \"hidePrivacyPolicy\": <true/false>, \"hideManageNotification\":
- * <true/false>, \"fontfamily\": \"<to maintain a single font in the
- * entire email>\" } } ```
- *
- * @param createEmailCustomisationRequest (required)
- * @param _callback The callback to be executed when the API call finishes
- * @return The request call
- * @throws ApiException If fail to process the API call, e.g. serializing the request body
- * object
- * @http.response.details
- *
- * Response Details
- * | Status Code | Description | Response Headers |
- * | 200 | OK | - |
- * | 400 | Invalid request. | - |
- * | 403 | Unauthorized access. | - |
- * | 500 | Unexpected error | - |
- *
- */
- public okhttp3.Call createEmailCustomisationAsync(
- CreateEmailCustomisationRequest createEmailCustomisationRequest,
- final ApiCallback _callback)
- throws ApiException {
-
- okhttp3.Call localVarCall =
- createEmailCustomisationValidateBeforeCall(
- createEmailCustomisationRequest, _callback);
- Type localVarReturnType = new TypeToken() {}.getType();
- localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
- return localVarCall;
- }
- /**
- * Build call for deleteEmailCustomisation
- *
- * @param templateIdentifier Unique ID or name of the email customization. (required)
- * @param _callback Callback for upload/download progress
- * @return Call to execute
- * @throws ApiException If fail to serialize the request body object
- * @http.response.details
- *
- * Response Details
- * | Status Code | Description | Response Headers |
- * | 204 | Email Customization configuration successfully deleted. | - |
- * | 400 | Invalid request. | - |
- * | 403 | Unauthorized access. | - |
- * | 500 | Unexpected error | - |
- *
- */
- public okhttp3.Call deleteEmailCustomisationCall(
- String templateIdentifier, final ApiCallback _callback) throws ApiException {
- String basePath = null;
- // Operation Servers
- String[] localBasePaths = new String[] {};
-
- // Determine Base Path to Use
- if (localCustomBaseUrl != null) {
- basePath = localCustomBaseUrl;
- } else if (localBasePaths.length > 0) {
- basePath = localBasePaths[localHostIndex];
- } else {
- basePath = null;
- }
-
- Object localVarPostBody = null;
-
- // create path and map variables
- String localVarPath =
- "/api/rest/2.0/customization/email/{template_identifier}/delete"
- .replace(
- "{" + "template_identifier" + "}",
- localVarApiClient.escapeString(templateIdentifier.toString()));
-
- List localVarQueryParams = new ArrayList();
- List localVarCollectionQueryParams = new ArrayList();
- Map localVarHeaderParams = new HashMap();
- Map localVarCookieParams = new HashMap();
- Map localVarFormParams = new HashMap();
-
- final String[] localVarAccepts = {"application/json"};
- final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
- if (localVarAccept != null) {
- localVarHeaderParams.put("Accept", localVarAccept);
- }
-
- final String[] localVarContentTypes = {};
- final String localVarContentType =
- localVarApiClient.selectHeaderContentType(localVarContentTypes);
- if (localVarContentType != null) {
- localVarHeaderParams.put("Content-Type", localVarContentType);
- }
-
- String[] localVarAuthNames = new String[] {"bearerAuth"};
- return localVarApiClient.buildCall(
- basePath,
- localVarPath,
- "POST",
- localVarQueryParams,
- localVarCollectionQueryParams,
- localVarPostBody,
- localVarHeaderParams,
- localVarCookieParams,
- localVarFormParams,
- localVarAuthNames,
- _callback);
- }
-
- @SuppressWarnings("rawtypes")
- private okhttp3.Call deleteEmailCustomisationValidateBeforeCall(
- String templateIdentifier, final ApiCallback _callback) throws ApiException {
- // verify the required parameter 'templateIdentifier' is set
- if (templateIdentifier == null) {
- throw new ApiException(
- "Missing the required parameter 'templateIdentifier' when calling"
- + " deleteEmailCustomisation(Async)");
- }
-
- return deleteEmailCustomisationCall(templateIdentifier, _callback);
- }
-
- /**
- * Version: 10.10.0.cl or later Deletes the configuration for the email customisation. ####
- * Pre-requisites Requires `DEVELOPER` (**has developer privilege**) or
- * `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access
- * Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance,
- * the `_Has developer privilege` privilege is required. Coms should be enabled on the
- * cluster. #### Usage guidelines Deletes the configuration available for the cluster/org. Pass
- * the `template_identifier` in the API request. Note: `template_identifier`
- * can be fetched from search API request.
- *
- * @param templateIdentifier Unique ID or name of the email customization. (required)
- * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
- * response body
- * @http.response.details
- *
- * Response Details
- * | Status Code | Description | Response Headers |
- * | 204 | Email Customization configuration successfully deleted. | - |
- * | 400 | Invalid request. | - |
- * | 403 | Unauthorized access. | - |
- * | 500 | Unexpected error | - |
- *
- */
- public void deleteEmailCustomisation(String templateIdentifier) throws ApiException {
- deleteEmailCustomisationWithHttpInfo(templateIdentifier);
- }
-
- /**
- * Version: 10.10.0.cl or later Deletes the configuration for the email customisation. ####
- * Pre-requisites Requires `DEVELOPER` (**has developer privilege**) or
- * `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If [Role-Based Access
- * Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance,
- * the `_Has developer privilege` privilege is required. Coms should be enabled on the
- * cluster. #### Usage guidelines Deletes the configuration available for the cluster/org. Pass
- * the `template_identifier` in the API request. Note: `template_identifier`
- * can be fetched from search API request.
- *
- * @param templateIdentifier Unique ID or name of the email customization. (required)
- * @return ApiResponse<Void>
- * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
- * response body
- * @http.response.details
- *
- * Response Details
- * | Status Code | Description | Response Headers |
- * | 204 | Email Customization configuration successfully deleted. | - |
- * | 400 | Invalid request. | - |
- * | 403 | Unauthorized access. | - |
- * | 500 | Unexpected error | - |
- *
- */
- public ApiResponse deleteEmailCustomisationWithHttpInfo(String templateIdentifier)
- throws ApiException {
- okhttp3.Call localVarCall =
- deleteEmailCustomisationValidateBeforeCall(templateIdentifier, null);
- return localVarApiClient.execute(localVarCall);
- }
-
- /**
- * (asynchronously) Version: 10.10.0.cl or later Deletes the configuration for the email
- * customisation. #### Pre-requisites Requires `DEVELOPER` (**has developer
- * privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If
- * [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled
- * on your instance, the `_Has developer privilege` privilege is required. Coms should
- * be enabled on the cluster. #### Usage guidelines Deletes the configuration available for the
- * cluster/org. Pass the `template_identifier` in the API request. Note:
- * `template_identifier` can be fetched from search API request.
- *
- * @param templateIdentifier Unique ID or name of the email customization. (required)
- * @param _callback The callback to be executed when the API call finishes
- * @return The request call
- * @throws ApiException If fail to process the API call, e.g. serializing the request body
- * object
- * @http.response.details
- *
- * Response Details
- * | Status Code | Description | Response Headers |
- * | 204 | Email Customization configuration successfully deleted. | - |
- * | 400 | Invalid request. | - |
- * | 403 | Unauthorized access. | - |
- * | 500 | Unexpected error | - |
- *
- */
- public okhttp3.Call deleteEmailCustomisationAsync(
- String templateIdentifier, final ApiCallback _callback) throws ApiException {
-
- okhttp3.Call localVarCall =
- deleteEmailCustomisationValidateBeforeCall(templateIdentifier, _callback);
- localVarApiClient.executeAsync(localVarCall, _callback);
- return localVarCall;
- }
- /**
- * Build call for searchEmailCustomisation
- *
- * @param _callback Callback for upload/download progress
- * @return Call to execute
- * @throws ApiException If fail to serialize the request body object
- * @http.response.details
- *
- * Response Details
- * | Status Code | Description | Response Headers |
- * | 200 | OK | - |
- * | 400 | Invalid request. | - |
- * | 403 | Unauthorized access. | - |
- * | 500 | Unexpected error | - |
- *
- */
- public okhttp3.Call searchEmailCustomisationCall(final ApiCallback _callback)
- throws ApiException {
- String basePath = null;
- // Operation Servers
- String[] localBasePaths = new String[] {};
-
- // Determine Base Path to Use
- if (localCustomBaseUrl != null) {
- basePath = localCustomBaseUrl;
- } else if (localBasePaths.length > 0) {
- basePath = localBasePaths[localHostIndex];
- } else {
- basePath = null;
- }
-
- Object localVarPostBody = null;
-
- // create path and map variables
- String localVarPath = "/api/rest/2.0/customization/email/search";
-
- List localVarQueryParams = new ArrayList();
- List localVarCollectionQueryParams = new ArrayList();
- Map localVarHeaderParams = new HashMap();
- Map localVarCookieParams = new HashMap();
- Map localVarFormParams = new HashMap();
-
- final String[] localVarAccepts = {"application/json"};
- final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
- if (localVarAccept != null) {
- localVarHeaderParams.put("Accept", localVarAccept);
- }
-
- final String[] localVarContentTypes = {};
- final String localVarContentType =
- localVarApiClient.selectHeaderContentType(localVarContentTypes);
- if (localVarContentType != null) {
- localVarHeaderParams.put("Content-Type", localVarContentType);
- }
-
- String[] localVarAuthNames = new String[] {"bearerAuth"};
- return localVarApiClient.buildCall(
- basePath,
- localVarPath,
- "POST",
- localVarQueryParams,
- localVarCollectionQueryParams,
- localVarPostBody,
- localVarHeaderParams,
- localVarCookieParams,
- localVarFormParams,
- localVarAuthNames,
- _callback);
- }
-
- @SuppressWarnings("rawtypes")
- private okhttp3.Call searchEmailCustomisationValidateBeforeCall(final ApiCallback _callback)
- throws ApiException {
- return searchEmailCustomisationCall(_callback);
- }
-
- /**
- * Version: 10.10.0.cl or later Search the email customisation configuration if any set for the
- * ThoughtSpot system. #### Pre-requisites Requires `DEVELOPER` (**has developer
- * privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If
- * [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled
- * on your instance, the `_Has developer privilege` privilege is required. Coms should
- * be enabled on the cluster. #### Usage guidelines To get the list of configurations set in the
- * cluster/org.
- *
- * @return List<CreateEmailCustomisationResponse>
- * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
- * response body
- * @http.response.details
- *
- * Response Details
- * | Status Code | Description | Response Headers |
- * | 200 | OK | - |
- * | 400 | Invalid request. | - |
- * | 403 | Unauthorized access. | - |
- * | 500 | Unexpected error | - |
- *
- */
- public List searchEmailCustomisation() throws ApiException {
- ApiResponse> localVarResp =
- searchEmailCustomisationWithHttpInfo();
- return localVarResp.getData();
- }
-
- /**
- * Version: 10.10.0.cl or later Search the email customisation configuration if any set for the
- * ThoughtSpot system. #### Pre-requisites Requires `DEVELOPER` (**has developer
- * privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If
- * [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled
- * on your instance, the `_Has developer privilege` privilege is required. Coms should
- * be enabled on the cluster. #### Usage guidelines To get the list of configurations set in the
- * cluster/org.
- *
- * @return ApiResponse<List<CreateEmailCustomisationResponse>>
- * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
- * response body
- * @http.response.details
- *
- * Response Details
- * | Status Code | Description | Response Headers |
- * | 200 | OK | - |
- * | 400 | Invalid request. | - |
- * | 403 | Unauthorized access. | - |
- * | 500 | Unexpected error | - |
- *
- */
- public ApiResponse>
- searchEmailCustomisationWithHttpInfo() throws ApiException {
- okhttp3.Call localVarCall = searchEmailCustomisationValidateBeforeCall(null);
- Type localVarReturnType =
- new TypeToken>() {}.getType();
- return localVarApiClient.execute(localVarCall, localVarReturnType);
- }
-
- /**
- * (asynchronously) Version: 10.10.0.cl or later Search the email customisation configuration if
- * any set for the ThoughtSpot system. #### Pre-requisites Requires `DEVELOPER` (**has
- * developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**)
- * privilege. If [Role-Based Access Control
- * (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the
- * `_Has developer privilege` privilege is required. Coms should be enabled on the
- * cluster. #### Usage guidelines To get the list of configurations set in the cluster/org.
- *
- * @param _callback The callback to be executed when the API call finishes
- * @return The request call
- * @throws ApiException If fail to process the API call, e.g. serializing the request body
- * object
- * @http.response.details
- *
- * Response Details
- * | Status Code | Description | Response Headers |
- * | 200 | OK | - |
- * | 400 | Invalid request. | - |
- * | 403 | Unauthorized access. | - |
- * | 500 | Unexpected error | - |
- *
- */
- public okhttp3.Call searchEmailCustomisationAsync(
- final ApiCallback> _callback)
- throws ApiException {
-
- okhttp3.Call localVarCall = searchEmailCustomisationValidateBeforeCall(_callback);
- Type localVarReturnType =
- new TypeToken>() {}.getType();
- localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
- return localVarCall;
- }
- /**
- * Build call for validateEmailCustomisation
- *
- * @param _callback Callback for upload/download progress
- * @return Call to execute
- * @throws ApiException If fail to serialize the request body object
- * @http.response.details
- *
- * Response Details
- * | Status Code | Description | Response Headers |
- * | 204 | Triggered test email for customization configuration | - |
- * | 400 | Invalid request. | - |
- * | 403 | Unauthorized access. | - |
- * | 500 | Unexpected error | - |
- *
- */
- public okhttp3.Call validateEmailCustomisationCall(final ApiCallback _callback)
- throws ApiException {
- String basePath = null;
- // Operation Servers
- String[] localBasePaths = new String[] {};
-
- // Determine Base Path to Use
- if (localCustomBaseUrl != null) {
- basePath = localCustomBaseUrl;
- } else if (localBasePaths.length > 0) {
- basePath = localBasePaths[localHostIndex];
- } else {
- basePath = null;
- }
-
- Object localVarPostBody = null;
-
- // create path and map variables
- String localVarPath = "/api/rest/2.0/customization/email/validate";
-
- List localVarQueryParams = new ArrayList();
- List localVarCollectionQueryParams = new ArrayList();
- Map localVarHeaderParams = new HashMap();
- Map localVarCookieParams = new HashMap();
- Map localVarFormParams = new HashMap();
-
- final String[] localVarAccepts = {"application/json"};
- final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
- if (localVarAccept != null) {
- localVarHeaderParams.put("Accept", localVarAccept);
- }
-
- final String[] localVarContentTypes = {};
- final String localVarContentType =
- localVarApiClient.selectHeaderContentType(localVarContentTypes);
- if (localVarContentType != null) {
- localVarHeaderParams.put("Content-Type", localVarContentType);
- }
-
- String[] localVarAuthNames = new String[] {"bearerAuth"};
- return localVarApiClient.buildCall(
- basePath,
- localVarPath,
- "POST",
- localVarQueryParams,
- localVarCollectionQueryParams,
- localVarPostBody,
- localVarHeaderParams,
- localVarCookieParams,
- localVarFormParams,
- localVarAuthNames,
- _callback);
- }
-
- @SuppressWarnings("rawtypes")
- private okhttp3.Call validateEmailCustomisationValidateBeforeCall(final ApiCallback _callback)
- throws ApiException {
- return validateEmailCustomisationCall(_callback);
- }
-
- /**
- * Version: 10.10.0.cl or later Validates the email customisation configuration if any set for
- * the ThoughtSpot system. #### Pre-requisites Requires `DEVELOPER` (**has developer
- * privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If
- * [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled
- * on your instance, the `_Has developer privilege` privilege is required. Coms should
- * be enabled on the cluster.
- *
- * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
- * response body
- * @http.response.details
- *
- * Response Details
- * | Status Code | Description | Response Headers |
- * | 204 | Triggered test email for customization configuration | - |
- * | 400 | Invalid request. | - |
- * | 403 | Unauthorized access. | - |
- * | 500 | Unexpected error | - |
- *
- */
- public void validateEmailCustomisation() throws ApiException {
- validateEmailCustomisationWithHttpInfo();
- }
-
- /**
- * Version: 10.10.0.cl or later Validates the email customisation configuration if any set for
- * the ThoughtSpot system. #### Pre-requisites Requires `DEVELOPER` (**has developer
- * privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. If
- * [Role-Based Access Control (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled
- * on your instance, the `_Has developer privilege` privilege is required. Coms should
- * be enabled on the cluster.
- *
- * @return ApiResponse<Void>
- * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
- * response body
- * @http.response.details
- *
- * Response Details
- * | Status Code | Description | Response Headers |
- * | 204 | Triggered test email for customization configuration | - |
- * | 400 | Invalid request. | - |
- * | 403 | Unauthorized access. | - |
- * | 500 | Unexpected error | - |
- *
- */
- public ApiResponse validateEmailCustomisationWithHttpInfo() throws ApiException {
- okhttp3.Call localVarCall = validateEmailCustomisationValidateBeforeCall(null);
- return localVarApiClient.execute(localVarCall);
- }
-
- /**
- * (asynchronously) Version: 10.10.0.cl or later Validates the email customisation configuration
- * if any set for the ThoughtSpot system. #### Pre-requisites Requires `DEVELOPER`
- * (**has developer privilege**) or `ADMINISTRATION` (**Can administer ThoughtSpot**)
- * privilege. If [Role-Based Access Control
- * (RBAC)](https://developers.thoughtspot.com/docs/rbac) is enabled on your instance, the
- * `_Has developer privilege` privilege is required. Coms should be enabled on the
- * cluster.
- *
- * @param _callback The callback to be executed when the API call finishes
- * @return The request call
- * @throws ApiException If fail to process the API call, e.g. serializing the request body
- * object
- * @http.response.details
- *
- * Response Details
- * | Status Code | Description | Response Headers |
- * | 204 | Triggered test email for customization configuration | - |
- * | 400 | Invalid request. | - |
- * | 403 | Unauthorized access. | - |
- * | 500 | Unexpected error | - |
- *
- */
- public okhttp3.Call validateEmailCustomisationAsync(final ApiCallback _callback)
- throws ApiException {
-
- okhttp3.Call localVarCall = validateEmailCustomisationValidateBeforeCall(_callback);
- localVarApiClient.executeAsync(localVarCall, _callback);
- return localVarCall;
- }
-}
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/api/EmailCustomizationApi.java b/sdks/java/src/main/java/com/thoughtspot/client/api/EmailCustomizationApi.java
index dc7416e8e..6c38f74a3 100644
--- a/sdks/java/src/main/java/com/thoughtspot/client/api/EmailCustomizationApi.java
+++ b/sdks/java/src/main/java/com/thoughtspot/client/api/EmailCustomizationApi.java
@@ -180,22 +180,26 @@ private okhttp3.Call createEmailCustomizationValidateBeforeCall(
* #### Usage guidelines To create a custom configuration pass these parameters in your API
* request: - A JSON map of configuration attributes `template_properties`. The
* following example shows a sample set of customization configuration: ``` { {
- * \"ctaButtonBgColor\": \"#444DEA\", \"ctaTextFontColor\":
- * \"#FFFFFF\", \"primaryBgColor\": \"#D3DEF0\",
- * \"hideMobileAppNudge\": false, \"fontFamily\" : \"\",
- * \"hideProductName\" : false, \"hideFooterPhone\" : false,
- * \"hideFooterAddress\" : false, \"hidePrivacyPolicy\" : false,
- * \"hideManageNotification\" : false, \"hideTsVocabularyDefinitions\":
- * false, \"hideNotificationStatus\" : false, \"hideErrorMessage\": false,
- * \"hideUnsubscribeLink\" : false, \"hideModifyAlert\": false,
- * \"textTransform\": \"\", \"replacementValueForLiveboard\":
- * \"LB dashboard\", \"replacementValueForAnswer\": \"Answer
- * dashboard\", \"replacementValueForSpotIQ\": \"SpotIQ dashboard\",
- * \"logoUrl\":\"\", \"productName\":\"ThoughtSpot\",
- * \"footerPhone\":\"(800) 508-7008\",
- * \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\",
- * \"companyWebsiteUrl\":\"\",
- * \"companyPrivacyPolicyUrl\":\"\" } } ```
+ * \"cta_button_bg_color\": \"#444DEA\", \"cta_text_font_color\":
+ * \"#FFFFFF\", \"primary_bg_color\": \"#D3DEF0\",
+ * \"logo_url\":
+ * \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\",
+ * \"font_family\": \"\", \"product_name\":
+ * \"ThoughtSpot\", \"footer_address\": \"444 Castro St, Suite 1000
+ * Mountain View, CA 94041\", \"footer_phone\": \"(800) 508-7008\",
+ * \"replacement_value_for_liveboard\": \"Dashboard\",
+ * \"replacement_value_for_answer\": \"Chart\",
+ * \"replacement_value_for_spot_iq\": \"AI Insights\",
+ * \"hide_footer_phone\": false, \"hide_footer_address\": false,
+ * \"hide_product_name\": false, \"hide_manage_notification\": false,
+ * \"hide_mobile_app_nudge\": false, \"hide_privacy_policy\": false,
+ * \"hide_ts_vocabulary_definitions\": false, \"hide_error_message\": false,
+ * \"hide_unsubscribe_link\": false, \"hide_notification_status\": false,
+ * \"hide_modify_alert\": false, \"company_website_url\":
+ * \"https://your-website.com/\", \"company_privacy_policy_url\" :
+ * \"https://link-to-privacy-policy.com/\", \"contact_support_url\":
+ * \"https://link-to-contact-support.com/\", \"hide_contact_support_url\":
+ * false } } ```
*
* @param createEmailCustomizationRequest (required)
* @return CreateEmailCustomizationResponse
@@ -228,22 +232,26 @@ public CreateEmailCustomizationResponse createEmailCustomization(
* #### Usage guidelines To create a custom configuration pass these parameters in your API
* request: - A JSON map of configuration attributes `template_properties`. The
* following example shows a sample set of customization configuration: ``` { {
- * \"ctaButtonBgColor\": \"#444DEA\", \"ctaTextFontColor\":
- * \"#FFFFFF\", \"primaryBgColor\": \"#D3DEF0\",
- * \"hideMobileAppNudge\": false, \"fontFamily\" : \"\",
- * \"hideProductName\" : false, \"hideFooterPhone\" : false,
- * \"hideFooterAddress\" : false, \"hidePrivacyPolicy\" : false,
- * \"hideManageNotification\" : false, \"hideTsVocabularyDefinitions\":
- * false, \"hideNotificationStatus\" : false, \"hideErrorMessage\": false,
- * \"hideUnsubscribeLink\" : false, \"hideModifyAlert\": false,
- * \"textTransform\": \"\", \"replacementValueForLiveboard\":
- * \"LB dashboard\", \"replacementValueForAnswer\": \"Answer
- * dashboard\", \"replacementValueForSpotIQ\": \"SpotIQ dashboard\",
- * \"logoUrl\":\"\", \"productName\":\"ThoughtSpot\",
- * \"footerPhone\":\"(800) 508-7008\",
- * \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\",
- * \"companyWebsiteUrl\":\"\",
- * \"companyPrivacyPolicyUrl\":\"\" } } ```
+ * \"cta_button_bg_color\": \"#444DEA\", \"cta_text_font_color\":
+ * \"#FFFFFF\", \"primary_bg_color\": \"#D3DEF0\",
+ * \"logo_url\":
+ * \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\",
+ * \"font_family\": \"\", \"product_name\":
+ * \"ThoughtSpot\", \"footer_address\": \"444 Castro St, Suite 1000
+ * Mountain View, CA 94041\", \"footer_phone\": \"(800) 508-7008\",
+ * \"replacement_value_for_liveboard\": \"Dashboard\",
+ * \"replacement_value_for_answer\": \"Chart\",
+ * \"replacement_value_for_spot_iq\": \"AI Insights\",
+ * \"hide_footer_phone\": false, \"hide_footer_address\": false,
+ * \"hide_product_name\": false, \"hide_manage_notification\": false,
+ * \"hide_mobile_app_nudge\": false, \"hide_privacy_policy\": false,
+ * \"hide_ts_vocabulary_definitions\": false, \"hide_error_message\": false,
+ * \"hide_unsubscribe_link\": false, \"hide_notification_status\": false,
+ * \"hide_modify_alert\": false, \"company_website_url\":
+ * \"https://your-website.com/\", \"company_privacy_policy_url\" :
+ * \"https://link-to-privacy-policy.com/\", \"contact_support_url\":
+ * \"https://link-to-contact-support.com/\", \"hide_contact_support_url\":
+ * false } } ```
*
* @param createEmailCustomizationRequest (required)
* @return ApiResponse<CreateEmailCustomizationResponse>
@@ -277,22 +285,26 @@ public ApiResponse createEmailCustomizationWit
* this on your instance. #### Usage guidelines To create a custom configuration pass these
* parameters in your API request: - A JSON map of configuration attributes
* `template_properties`. The following example shows a sample set of customization
- * configuration: ``` { { \"ctaButtonBgColor\": \"#444DEA\",
- * \"ctaTextFontColor\": \"#FFFFFF\", \"primaryBgColor\":
- * \"#D3DEF0\", \"hideMobileAppNudge\": false, \"fontFamily\" :
- * \"\", \"hideProductName\" : false, \"hideFooterPhone\" : false,
- * \"hideFooterAddress\" : false, \"hidePrivacyPolicy\" : false,
- * \"hideManageNotification\" : false, \"hideTsVocabularyDefinitions\":
- * false, \"hideNotificationStatus\" : false, \"hideErrorMessage\": false,
- * \"hideUnsubscribeLink\" : false, \"hideModifyAlert\": false,
- * \"textTransform\": \"\", \"replacementValueForLiveboard\":
- * \"LB dashboard\", \"replacementValueForAnswer\": \"Answer
- * dashboard\", \"replacementValueForSpotIQ\": \"SpotIQ dashboard\",
- * \"logoUrl\":\"\", \"productName\":\"ThoughtSpot\",
- * \"footerPhone\":\"(800) 508-7008\",
- * \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\",
- * \"companyWebsiteUrl\":\"\",
- * \"companyPrivacyPolicyUrl\":\"\" } } ```
+ * configuration: ``` { { \"cta_button_bg_color\":
+ * \"#444DEA\", \"cta_text_font_color\": \"#FFFFFF\",
+ * \"primary_bg_color\": \"#D3DEF0\", \"logo_url\":
+ * \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\",
+ * \"font_family\": \"\", \"product_name\":
+ * \"ThoughtSpot\", \"footer_address\": \"444 Castro St, Suite 1000
+ * Mountain View, CA 94041\", \"footer_phone\": \"(800) 508-7008\",
+ * \"replacement_value_for_liveboard\": \"Dashboard\",
+ * \"replacement_value_for_answer\": \"Chart\",
+ * \"replacement_value_for_spot_iq\": \"AI Insights\",
+ * \"hide_footer_phone\": false, \"hide_footer_address\": false,
+ * \"hide_product_name\": false, \"hide_manage_notification\": false,
+ * \"hide_mobile_app_nudge\": false, \"hide_privacy_policy\": false,
+ * \"hide_ts_vocabulary_definitions\": false, \"hide_error_message\": false,
+ * \"hide_unsubscribe_link\": false, \"hide_notification_status\": false,
+ * \"hide_modify_alert\": false, \"company_website_url\":
+ * \"https://your-website.com/\", \"company_privacy_policy_url\" :
+ * \"https://link-to-privacy-policy.com/\", \"contact_support_url\":
+ * \"https://link-to-contact-support.com/\", \"hide_contact_support_url\":
+ * false } } ```
*
* @param createEmailCustomizationRequest (required)
* @param _callback The callback to be executed when the API call finishes
@@ -993,22 +1005,26 @@ private okhttp3.Call updateEmailCustomizationValidateBeforeCall(
* #### Usage guidelines To update a custom configuration pass these parameters in your API
* request: - A JSON map of configuration attributes `template_properties`. The
* following example shows a sample set of customization configuration: ``` { {
- * \"ctaButtonBgColor\": \"#444DEA\", \"ctaTextFontColor\":
- * \"#FFFFFF\", \"primaryBgColor\": \"#D3DEF0\",
- * \"hideMobileAppNudge\": false, \"fontFamily\" : \"\",
- * \"hideProductName\" : false, \"hideFooterPhone\" : false,
- * \"hideFooterAddress\" : false, \"hidePrivacyPolicy\" : false,
- * \"hideManageNotification\" : false, \"hideTsVocabularyDefinitions\":
- * false, \"hideNotificationStatus\" : false, \"hideErrorMessage\": false,
- * \"hideUnsubscribeLink\" : false, \"hideModifyAlert\": false,
- * \"textTransform\": \"\", \"replacementValueForLiveboard\":
- * \"LB dashboard\", \"replacementValueForAnswer\": \"Answer
- * dashboard\", \"replacementValueForSpotIQ\": \"SpotIQ dashboard\",
- * \"logoUrl\":\"\", \"productName\":\"ThoughtSpot\",
- * \"footerPhone\":\"(800) 508-7008\",
- * \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\",
- * \"companyWebsiteUrl\":\"\",
- * \"companyPrivacyPolicyUrl\":\"\" } } ```
+ * \"cta_button_bg_color\": \"#444DEA\", \"cta_text_font_color\":
+ * \"#FFFFFF\", \"primary_bg_color\": \"#D3DEF0\",
+ * \"logo_url\":
+ * \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\",
+ * \"font_family\": \"\", \"product_name\":
+ * \"ThoughtSpot\", \"footer_address\": \"444 Castro St, Suite 1000
+ * Mountain View, CA 94041\", \"footer_phone\": \"(800) 508-7008\",
+ * \"replacement_value_for_liveboard\": \"Dashboard\",
+ * \"replacement_value_for_answer\": \"Chart\",
+ * \"replacement_value_for_spot_iq\": \"AI Insights\",
+ * \"hide_footer_phone\": false, \"hide_footer_address\": false,
+ * \"hide_product_name\": false, \"hide_manage_notification\": false,
+ * \"hide_mobile_app_nudge\": false, \"hide_privacy_policy\": false,
+ * \"hide_ts_vocabulary_definitions\": false, \"hide_error_message\": false,
+ * \"hide_unsubscribe_link\": false, \"hide_notification_status\": false,
+ * \"hide_modify_alert\": false, \"company_website_url\":
+ * \"https://your-website.com/\", \"company_privacy_policy_url\" :
+ * \"https://link-to-privacy-policy.com/\", \"contact_support_url\":
+ * \"https://link-to-contact-support.com/\", \"hide_contact_support_url\":
+ * false } } ```
*
* @param updateEmailCustomizationRequest (required)
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
@@ -1039,22 +1055,26 @@ public void updateEmailCustomization(
* #### Usage guidelines To update a custom configuration pass these parameters in your API
* request: - A JSON map of configuration attributes `template_properties`. The
* following example shows a sample set of customization configuration: ``` { {
- * \"ctaButtonBgColor\": \"#444DEA\", \"ctaTextFontColor\":
- * \"#FFFFFF\", \"primaryBgColor\": \"#D3DEF0\",
- * \"hideMobileAppNudge\": false, \"fontFamily\" : \"\",
- * \"hideProductName\" : false, \"hideFooterPhone\" : false,
- * \"hideFooterAddress\" : false, \"hidePrivacyPolicy\" : false,
- * \"hideManageNotification\" : false, \"hideTsVocabularyDefinitions\":
- * false, \"hideNotificationStatus\" : false, \"hideErrorMessage\": false,
- * \"hideUnsubscribeLink\" : false, \"hideModifyAlert\": false,
- * \"textTransform\": \"\", \"replacementValueForLiveboard\":
- * \"LB dashboard\", \"replacementValueForAnswer\": \"Answer
- * dashboard\", \"replacementValueForSpotIQ\": \"SpotIQ dashboard\",
- * \"logoUrl\":\"\", \"productName\":\"ThoughtSpot\",
- * \"footerPhone\":\"(800) 508-7008\",
- * \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\",
- * \"companyWebsiteUrl\":\"\",
- * \"companyPrivacyPolicyUrl\":\"\" } } ```
+ * \"cta_button_bg_color\": \"#444DEA\", \"cta_text_font_color\":
+ * \"#FFFFFF\", \"primary_bg_color\": \"#D3DEF0\",
+ * \"logo_url\":
+ * \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\",
+ * \"font_family\": \"\", \"product_name\":
+ * \"ThoughtSpot\", \"footer_address\": \"444 Castro St, Suite 1000
+ * Mountain View, CA 94041\", \"footer_phone\": \"(800) 508-7008\",
+ * \"replacement_value_for_liveboard\": \"Dashboard\",
+ * \"replacement_value_for_answer\": \"Chart\",
+ * \"replacement_value_for_spot_iq\": \"AI Insights\",
+ * \"hide_footer_phone\": false, \"hide_footer_address\": false,
+ * \"hide_product_name\": false, \"hide_manage_notification\": false,
+ * \"hide_mobile_app_nudge\": false, \"hide_privacy_policy\": false,
+ * \"hide_ts_vocabulary_definitions\": false, \"hide_error_message\": false,
+ * \"hide_unsubscribe_link\": false, \"hide_notification_status\": false,
+ * \"hide_modify_alert\": false, \"company_website_url\":
+ * \"https://your-website.com/\", \"company_privacy_policy_url\" :
+ * \"https://link-to-privacy-policy.com/\", \"contact_support_url\":
+ * \"https://link-to-contact-support.com/\", \"hide_contact_support_url\":
+ * false } } ```
*
* @param updateEmailCustomizationRequest (required)
* @return ApiResponse<Void>
@@ -1088,22 +1108,26 @@ public ApiResponse updateEmailCustomizationWithHttpInfo(
* this on your instance. #### Usage guidelines To update a custom configuration pass these
* parameters in your API request: - A JSON map of configuration attributes
* `template_properties`. The following example shows a sample set of customization
- * configuration: ``` { { \"ctaButtonBgColor\": \"#444DEA\",
- * \"ctaTextFontColor\": \"#FFFFFF\", \"primaryBgColor\":
- * \"#D3DEF0\", \"hideMobileAppNudge\": false, \"fontFamily\" :
- * \"\", \"hideProductName\" : false, \"hideFooterPhone\" : false,
- * \"hideFooterAddress\" : false, \"hidePrivacyPolicy\" : false,
- * \"hideManageNotification\" : false, \"hideTsVocabularyDefinitions\":
- * false, \"hideNotificationStatus\" : false, \"hideErrorMessage\": false,
- * \"hideUnsubscribeLink\" : false, \"hideModifyAlert\": false,
- * \"textTransform\": \"\", \"replacementValueForLiveboard\":
- * \"LB dashboard\", \"replacementValueForAnswer\": \"Answer
- * dashboard\", \"replacementValueForSpotIQ\": \"SpotIQ dashboard\",
- * \"logoUrl\":\"\", \"productName\":\"ThoughtSpot\",
- * \"footerPhone\":\"(800) 508-7008\",
- * \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\",
- * \"companyWebsiteUrl\":\"\",
- * \"companyPrivacyPolicyUrl\":\"\" } } ```
+ * configuration: ``` { { \"cta_button_bg_color\":
+ * \"#444DEA\", \"cta_text_font_color\": \"#FFFFFF\",
+ * \"primary_bg_color\": \"#D3DEF0\", \"logo_url\":
+ * \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\",
+ * \"font_family\": \"\", \"product_name\":
+ * \"ThoughtSpot\", \"footer_address\": \"444 Castro St, Suite 1000
+ * Mountain View, CA 94041\", \"footer_phone\": \"(800) 508-7008\",
+ * \"replacement_value_for_liveboard\": \"Dashboard\",
+ * \"replacement_value_for_answer\": \"Chart\",
+ * \"replacement_value_for_spot_iq\": \"AI Insights\",
+ * \"hide_footer_phone\": false, \"hide_footer_address\": false,
+ * \"hide_product_name\": false, \"hide_manage_notification\": false,
+ * \"hide_mobile_app_nudge\": false, \"hide_privacy_policy\": false,
+ * \"hide_ts_vocabulary_definitions\": false, \"hide_error_message\": false,
+ * \"hide_unsubscribe_link\": false, \"hide_notification_status\": false,
+ * \"hide_modify_alert\": false, \"company_website_url\":
+ * \"https://your-website.com/\", \"company_privacy_policy_url\" :
+ * \"https://link-to-privacy-policy.com/\", \"contact_support_url\":
+ * \"https://link-to-contact-support.com/\", \"hide_contact_support_url\":
+ * false } } ```
*
* @param updateEmailCustomizationRequest (required)
* @param _callback The callback to be executed when the API call finishes
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/api/MetadataApi.java b/sdks/java/src/main/java/com/thoughtspot/client/api/MetadataApi.java
index 6b80f3f96..d95488176 100644
--- a/sdks/java/src/main/java/com/thoughtspot/client/api/MetadataApi.java
+++ b/sdks/java/src/main/java/com/thoughtspot/client/api/MetadataApi.java
@@ -2370,11 +2370,12 @@ private okhttp3.Call parameterizeMetadataValidateBeforeCall(
* Parameterize fields in metadata objects. Version: 10.9.0.cl or later Allows parameterizing
* fields in metadata objects in ThoughtSpot. Requires appropriate permissions to modify the
* metadata object. The API endpoint allows parameterizing the following types of metadata
- * objects: * Logical Tables * Connections For a Logical Table the field type must be
- * `ATTRIBUTE` and field name can be one of: * databaseName * schemaName * tableName
- * For a Connection the field type is always `CONNECTION_PROPERTY`. We use the
- * field_name in this case to specify the exact property of a connection which needs to be
- * parameterized.
+ * objects: * Logical Tables * Connections * Connection Configs For a Logical Table the field
+ * type must be `ATTRIBUTE` and field name can be one of: * databaseName * schemaName
+ * * tableName For a Connection or Connection Config, the field type is always
+ * `CONNECTION_PROPERTY`. In this case, field_name specifies the exact property of the
+ * Connection or Connection Config that needs to be parameterized. For Connection Config, the
+ * only supported field name is: * impersonate_user
*
* @param parameterizeMetadataRequest (required)
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
@@ -2399,11 +2400,12 @@ public void parameterizeMetadata(ParameterizeMetadataRequest parameterizeMetadat
* Parameterize fields in metadata objects. Version: 10.9.0.cl or later Allows parameterizing
* fields in metadata objects in ThoughtSpot. Requires appropriate permissions to modify the
* metadata object. The API endpoint allows parameterizing the following types of metadata
- * objects: * Logical Tables * Connections For a Logical Table the field type must be
- * `ATTRIBUTE` and field name can be one of: * databaseName * schemaName * tableName
- * For a Connection the field type is always `CONNECTION_PROPERTY`. We use the
- * field_name in this case to specify the exact property of a connection which needs to be
- * parameterized.
+ * objects: * Logical Tables * Connections * Connection Configs For a Logical Table the field
+ * type must be `ATTRIBUTE` and field name can be one of: * databaseName * schemaName
+ * * tableName For a Connection or Connection Config, the field type is always
+ * `CONNECTION_PROPERTY`. In this case, field_name specifies the exact property of the
+ * Connection or Connection Config that needs to be parameterized. For Connection Config, the
+ * only supported field name is: * impersonate_user
*
* @param parameterizeMetadataRequest (required)
* @return ApiResponse<Void>
@@ -2431,11 +2433,12 @@ public ApiResponse parameterizeMetadataWithHttpInfo(
* (asynchronously) Parameterize fields in metadata objects. Version: 10.9.0.cl or later Allows
* parameterizing fields in metadata objects in ThoughtSpot. Requires appropriate permissions to
* modify the metadata object. The API endpoint allows parameterizing the following types of
- * metadata objects: * Logical Tables * Connections For a Logical Table the field type must be
- * `ATTRIBUTE` and field name can be one of: * databaseName * schemaName * tableName
- * For a Connection the field type is always `CONNECTION_PROPERTY`. We use the
- * field_name in this case to specify the exact property of a connection which needs to be
- * parameterized.
+ * metadata objects: * Logical Tables * Connections * Connection Configs For a Logical Table the
+ * field type must be `ATTRIBUTE` and field name can be one of: * databaseName *
+ * schemaName * tableName For a Connection or Connection Config, the field type is always
+ * `CONNECTION_PROPERTY`. In this case, field_name specifies the exact property of the
+ * Connection or Connection Config that needs to be parameterized. For Connection Config, the
+ * only supported field name is: * impersonate_user
*
* @param parameterizeMetadataRequest (required)
* @param _callback The callback to be executed when the API call finishes
@@ -2804,11 +2807,12 @@ private okhttp3.Call unparameterizeMetadataValidateBeforeCall(
* Remove parameterization from fields in metadata objects. Version: 10.9.0.cl or later Allows
* removing parameterization from fields in metadata objects in ThoughtSpot. Requires
* appropriate permissions to modify the metadata object. The API endpoint allows
- * unparameterizing the following types of metadata objects: * Logical Tables * Connections For
- * a Logical Table the field type must be `ATTRIBUTE` and field name can be one of: *
- * databaseName * schemaName * tableName For a Connection the field type is always
- * `CONNECTION_PROPERTY`. We use the field_name in this case to specify the exact
- * property of a connection which needs to be unparameterized.
+ * unparameterizing the following types of metadata objects: * Logical Tables * Connections *
+ * Connection Configs For a Logical Table the field type must be `ATTRIBUTE` and field
+ * name can be one of: * databaseName * schemaName * tableName For a Connection or Connection
+ * Config, the field type is always `CONNECTION_PROPERTY`. In this case, field_name
+ * specifies the exact property of the Connection or Connection Config that needs to be
+ * unparameterized. For Connection Config, the only supported field name is: * impersonate_user
*
* @param unparameterizeMetadataRequest (required)
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
@@ -2833,11 +2837,12 @@ public void unparameterizeMetadata(UnparameterizeMetadataRequest unparameterizeM
* Remove parameterization from fields in metadata objects. Version: 10.9.0.cl or later Allows
* removing parameterization from fields in metadata objects in ThoughtSpot. Requires
* appropriate permissions to modify the metadata object. The API endpoint allows
- * unparameterizing the following types of metadata objects: * Logical Tables * Connections For
- * a Logical Table the field type must be `ATTRIBUTE` and field name can be one of: *
- * databaseName * schemaName * tableName For a Connection the field type is always
- * `CONNECTION_PROPERTY`. We use the field_name in this case to specify the exact
- * property of a connection which needs to be unparameterized.
+ * unparameterizing the following types of metadata objects: * Logical Tables * Connections *
+ * Connection Configs For a Logical Table the field type must be `ATTRIBUTE` and field
+ * name can be one of: * databaseName * schemaName * tableName For a Connection or Connection
+ * Config, the field type is always `CONNECTION_PROPERTY`. In this case, field_name
+ * specifies the exact property of the Connection or Connection Config that needs to be
+ * unparameterized. For Connection Config, the only supported field name is: * impersonate_user
*
* @param unparameterizeMetadataRequest (required)
* @return ApiResponse<Void>
@@ -2865,11 +2870,12 @@ public ApiResponse unparameterizeMetadataWithHttpInfo(
* (asynchronously) Remove parameterization from fields in metadata objects. Version: 10.9.0.cl
* or later Allows removing parameterization from fields in metadata objects in ThoughtSpot.
* Requires appropriate permissions to modify the metadata object. The API endpoint allows
- * unparameterizing the following types of metadata objects: * Logical Tables * Connections For
- * a Logical Table the field type must be `ATTRIBUTE` and field name can be one of: *
- * databaseName * schemaName * tableName For a Connection the field type is always
- * `CONNECTION_PROPERTY`. We use the field_name in this case to specify the exact
- * property of a connection which needs to be unparameterized.
+ * unparameterizing the following types of metadata objects: * Logical Tables * Connections *
+ * Connection Configs For a Logical Table the field type must be `ATTRIBUTE` and field
+ * name can be one of: * databaseName * schemaName * tableName For a Connection or Connection
+ * Config, the field type is always `CONNECTION_PROPERTY`. In this case, field_name
+ * specifies the exact property of the Connection or Connection Config that needs to be
+ * unparameterized. For Connection Config, the only supported field name is: * impersonate_user
*
* @param unparameterizeMetadataRequest (required)
* @param _callback The callback to be executed when the API call finishes
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/api/ReportsApi.java b/sdks/java/src/main/java/com/thoughtspot/client/api/ReportsApi.java
index b117c233d..1cfb41fe3 100644
--- a/sdks/java/src/main/java/com/thoughtspot/client/api/ReportsApi.java
+++ b/sdks/java/src/main/java/com/thoughtspot/client/api/ReportsApi.java
@@ -358,15 +358,16 @@ private okhttp3.Call exportLiveboardReportValidateBeforeCall(
}
/**
- * Version: 9.0.0.cl or later Exports a Liveboard and its visualizations in PDF or PNG file
- * format. Requires at least view access to the Liveboard. #### Usage guidelines In 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. The default `file_format`
- * is PDF. For PDF downloads, you can specify additional parameters to customize the page
- * orientation and include or exclude the cover page, logo, footer text, and page numbers.
- * Similar customization options are also available for PNG output. **NOTE**: The downloadable
- * file returned in API response file is extensionless. Please rename the downloaded file by
- * typing in the relevant extension. Optionally, you can define [runtime
+ * Version: 9.0.0.cl or later Exports a Liveboard and its visualizations in PDF, PNG, CSV, or
+ * XLSX file format. Requires at least view access to the Liveboard. #### Usage guidelines In
+ * 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. The default
+ * `file_format` is CSV. For PDF exports, you can specify additional parameters to
+ * customize the page orientation and include or exclude the cover page, logo, footer text, and
+ * page numbers. Similar customization options are available for PNG exports. CSV and XLSX
+ * exports do not support customization options. **NOTE**: The downloadable file returned in API
+ * response file is extensionless. Please rename the downloaded file by typing in the relevant
+ * extension. Optionally, you can define [runtime
* overrides](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_overrides)
* to apply to the Answer data. To include unsaved changes in the report, pass the
* `transient_pinboard_content` script generated from the
@@ -378,7 +379,15 @@ private okhttp3.Call exportLiveboardReportValidateBeforeCall(
* 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.
+ * `png_options` will not be available for PNG exports. **NOTE**: Starting with the
+ * ThoughtSpot Cloud 26.2.0.cl release, Liveboards can be exported in CSV format. All
+ * visualizations in the Liveboard can be exported as individual CSV files. If multiple
+ * visualizations are selected or if the entire Liveboard is exported, the output is returned as
+ * a .zip file containing the CSV files for each visualization. **NOTE**: Starting with the
+ * ThoughtSpot Cloud 26.2.0.cl release, Liveboards can be exported in XLSX format. All selected
+ * visualizations are consolidated into a single Excel workbook (.xlsx), with each visualization
+ * placed in its own worksheet (tab). XLSX exports are limited to 255 worksheets (tabs) per
+ * workbook.
*
* @param exportLiveboardReportRequest (required)
* @return File
@@ -403,15 +412,16 @@ public File exportLiveboardReport(ExportLiveboardReportRequest exportLiveboardRe
}
/**
- * Version: 9.0.0.cl or later Exports a Liveboard and its visualizations in PDF or PNG file
- * format. Requires at least view access to the Liveboard. #### Usage guidelines In 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. The default `file_format`
- * is PDF. For PDF downloads, you can specify additional parameters to customize the page
- * orientation and include or exclude the cover page, logo, footer text, and page numbers.
- * Similar customization options are also available for PNG output. **NOTE**: The downloadable
- * file returned in API response file is extensionless. Please rename the downloaded file by
- * typing in the relevant extension. Optionally, you can define [runtime
+ * Version: 9.0.0.cl or later Exports a Liveboard and its visualizations in PDF, PNG, CSV, or
+ * XLSX file format. Requires at least view access to the Liveboard. #### Usage guidelines In
+ * 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. The default
+ * `file_format` is CSV. For PDF exports, you can specify additional parameters to
+ * customize the page orientation and include or exclude the cover page, logo, footer text, and
+ * page numbers. Similar customization options are available for PNG exports. CSV and XLSX
+ * exports do not support customization options. **NOTE**: The downloadable file returned in API
+ * response file is extensionless. Please rename the downloaded file by typing in the relevant
+ * extension. Optionally, you can define [runtime
* overrides](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_overrides)
* to apply to the Answer data. To include unsaved changes in the report, pass the
* `transient_pinboard_content` script generated from the
@@ -423,7 +433,15 @@ public File exportLiveboardReport(ExportLiveboardReportRequest exportLiveboardRe
* 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.
+ * `png_options` will not be available for PNG exports. **NOTE**: Starting with the
+ * ThoughtSpot Cloud 26.2.0.cl release, Liveboards can be exported in CSV format. All
+ * visualizations in the Liveboard can be exported as individual CSV files. If multiple
+ * visualizations are selected or if the entire Liveboard is exported, the output is returned as
+ * a .zip file containing the CSV files for each visualization. **NOTE**: Starting with the
+ * ThoughtSpot Cloud 26.2.0.cl release, Liveboards can be exported in XLSX format. All selected
+ * visualizations are consolidated into a single Excel workbook (.xlsx), with each visualization
+ * placed in its own worksheet (tab). XLSX exports are limited to 255 worksheets (tabs) per
+ * workbook.
*
* @param exportLiveboardReportRequest (required)
* @return ApiResponse<File>
@@ -449,15 +467,16 @@ public ApiResponse exportLiveboardReportWithHttpInfo(
}
/**
- * (asynchronously) Version: 9.0.0.cl or later Exports a Liveboard and its visualizations in PDF
- * or PNG file format. Requires at least view access to the Liveboard. #### Usage guidelines In
- * 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. The default
- * `file_format` is PDF. For PDF downloads, you can specify additional parameters to
- * customize the page orientation and include or exclude the cover page, logo, footer text, and
- * page numbers. Similar customization options are also available for PNG output. **NOTE**: The
- * downloadable file returned in API response file is extensionless. Please rename the
- * downloaded file by typing in the relevant extension. Optionally, you can define [runtime
+ * (asynchronously) Version: 9.0.0.cl or later Exports a Liveboard and its visualizations in
+ * PDF, PNG, CSV, or XLSX file format. Requires at least view access to the Liveboard. ####
+ * Usage guidelines In 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.
+ * The default `file_format` is CSV. For PDF exports, you can specify additional
+ * parameters to customize the page orientation and include or exclude the cover page, logo,
+ * footer text, and page numbers. Similar customization options are available for PNG exports.
+ * CSV and XLSX exports do not support customization options. **NOTE**: The downloadable file
+ * returned in API response file is extensionless. Please rename the downloaded file by typing
+ * in the relevant extension. Optionally, you can define [runtime
* overrides](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_overrides)
* to apply to the Answer data. To include unsaved changes in the report, pass the
* `transient_pinboard_content` script generated from the
@@ -469,7 +488,15 @@ public ApiResponse exportLiveboardReportWithHttpInfo(
* 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.
+ * `png_options` will not be available for PNG exports. **NOTE**: Starting with the
+ * ThoughtSpot Cloud 26.2.0.cl release, Liveboards can be exported in CSV format. All
+ * visualizations in the Liveboard can be exported as individual CSV files. If multiple
+ * visualizations are selected or if the entire Liveboard is exported, the output is returned as
+ * a .zip file containing the CSV files for each visualization. **NOTE**: Starting with the
+ * ThoughtSpot Cloud 26.2.0.cl release, Liveboards can be exported in XLSX format. All selected
+ * visualizations are consolidated into a single Excel workbook (.xlsx), with each visualization
+ * placed in its own worksheet (tab). XLSX exports are limited to 255 worksheets (tabs) per
+ * workbook.
*
* @param exportLiveboardReportRequest (required)
* @param _callback The callback to be executed when the API call finishes
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/api/ThoughtSpotRestApi.java b/sdks/java/src/main/java/com/thoughtspot/client/api/ThoughtSpotRestApi.java
index 3a4c5b710..f51449664 100644
--- a/sdks/java/src/main/java/com/thoughtspot/client/api/ThoughtSpotRestApi.java
+++ b/sdks/java/src/main/java/com/thoughtspot/client/api/ThoughtSpotRestApi.java
@@ -61,7 +61,9 @@
import com.thoughtspot.client.model.DeployResponse;
import com.thoughtspot.client.model.EurekaDataSourceSuggestionResponse;
import com.thoughtspot.client.model.EurekaDecomposeQueryResponse;
+import com.thoughtspot.client.model.EurekaGetNLInstructionsResponse;
import com.thoughtspot.client.model.EurekaGetRelevantQuestionsResponse;
+import com.thoughtspot.client.model.EurekaSetNLInstructionsResponse;
import com.thoughtspot.client.model.ExportAnswerReportRequest;
import com.thoughtspot.client.model.ExportLiveboardReportRequest;
import com.thoughtspot.client.model.ExportMetadataTMLBatchedRequest;
@@ -82,6 +84,7 @@
import com.thoughtspot.client.model.GetCustomAccessTokenRequest;
import com.thoughtspot.client.model.GetDataSourceSuggestionsRequest;
import com.thoughtspot.client.model.GetFullAccessTokenRequest;
+import com.thoughtspot.client.model.GetNLInstructionsRequest;
import com.thoughtspot.client.model.GetObjectAccessTokenRequest;
import com.thoughtspot.client.model.GetRelevantQuestionsRequest;
import com.thoughtspot.client.model.GetTokenResponse;
@@ -138,6 +141,7 @@
import com.thoughtspot.client.model.SendAgentMessageResponse;
import com.thoughtspot.client.model.SendAgentMessageStreamingRequest;
import com.thoughtspot.client.model.SendMessageRequest;
+import com.thoughtspot.client.model.SetNLInstructionsRequest;
import com.thoughtspot.client.model.ShareMetadataRequest;
import com.thoughtspot.client.model.SingleAnswerRequest;
import com.thoughtspot.client.model.SqlQueryResponse;
@@ -3043,7 +3047,10 @@ private okhttp3.Call createConnectionConfigurationValidateBeforeCall(
* required field. * If the `policy_type` is `PROCESSES`, then
* `policy_processes` is a required field. * If the `policy_type` is
* `NO_POLICY`, then `policy_principals` and `policy_processes`
- * are not required fields.
+ * are not required fields. #### Parameterized Connection Support For parameterized connections
+ * that use OAuth authentication, only the same_as_parent and policy_process_options attributes
+ * are allowed in the API request. These attributes are not applicable to connections that are
+ * not parameterized.
*
* @param createConnectionConfigurationRequest (required)
* @return ConnectionConfigurationResponse
@@ -3083,7 +3090,10 @@ public ConnectionConfigurationResponse createConnectionConfiguration(
* required field. * If the `policy_type` is `PROCESSES`, then
* `policy_processes` is a required field. * If the `policy_type` is
* `NO_POLICY`, then `policy_principals` and `policy_processes`
- * are not required fields.
+ * are not required fields. #### Parameterized Connection Support For parameterized connections
+ * that use OAuth authentication, only the same_as_parent and policy_process_options attributes
+ * are allowed in the API request. These attributes are not applicable to connections that are
+ * not parameterized.
*
* @param createConnectionConfigurationRequest (required)
* @return ApiResponse<ConnectionConfigurationResponse>
@@ -3125,7 +3135,10 @@ public ApiResponse createConnectionConfiguratio
* required field. * If the `policy_type` is `PROCESSES`, then
* `policy_processes` is a required field. * If the `policy_type` is
* `NO_POLICY`, then `policy_principals` and `policy_processes`
- * are not required fields.
+ * are not required fields. #### Parameterized Connection Support For parameterized connections
+ * that use OAuth authentication, only the same_as_parent and policy_process_options attributes
+ * are allowed in the API request. These attributes are not applicable to connections that are
+ * not parameterized.
*
* @param createConnectionConfigurationRequest (required)
* @param _callback The callback to be executed when the API call finishes
@@ -3658,22 +3671,26 @@ private okhttp3.Call createEmailCustomizationValidateBeforeCall(
* #### Usage guidelines To create a custom configuration pass these parameters in your API
* request: - A JSON map of configuration attributes `template_properties`. The
* following example shows a sample set of customization configuration: ``` { {
- * \"ctaButtonBgColor\": \"#444DEA\", \"ctaTextFontColor\":
- * \"#FFFFFF\", \"primaryBgColor\": \"#D3DEF0\",
- * \"hideMobileAppNudge\": false, \"fontFamily\" : \"\",
- * \"hideProductName\" : false, \"hideFooterPhone\" : false,
- * \"hideFooterAddress\" : false, \"hidePrivacyPolicy\" : false,
- * \"hideManageNotification\" : false, \"hideTsVocabularyDefinitions\":
- * false, \"hideNotificationStatus\" : false, \"hideErrorMessage\": false,
- * \"hideUnsubscribeLink\" : false, \"hideModifyAlert\": false,
- * \"textTransform\": \"\", \"replacementValueForLiveboard\":
- * \"LB dashboard\", \"replacementValueForAnswer\": \"Answer
- * dashboard\", \"replacementValueForSpotIQ\": \"SpotIQ dashboard\",
- * \"logoUrl\":\"\", \"productName\":\"ThoughtSpot\",
- * \"footerPhone\":\"(800) 508-7008\",
- * \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\",
- * \"companyWebsiteUrl\":\"\",
- * \"companyPrivacyPolicyUrl\":\"\" } } ```
+ * \"cta_button_bg_color\": \"#444DEA\", \"cta_text_font_color\":
+ * \"#FFFFFF\", \"primary_bg_color\": \"#D3DEF0\",
+ * \"logo_url\":
+ * \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\",
+ * \"font_family\": \"\", \"product_name\":
+ * \"ThoughtSpot\", \"footer_address\": \"444 Castro St, Suite 1000
+ * Mountain View, CA 94041\", \"footer_phone\": \"(800) 508-7008\",
+ * \"replacement_value_for_liveboard\": \"Dashboard\",
+ * \"replacement_value_for_answer\": \"Chart\",
+ * \"replacement_value_for_spot_iq\": \"AI Insights\",
+ * \"hide_footer_phone\": false, \"hide_footer_address\": false,
+ * \"hide_product_name\": false, \"hide_manage_notification\": false,
+ * \"hide_mobile_app_nudge\": false, \"hide_privacy_policy\": false,
+ * \"hide_ts_vocabulary_definitions\": false, \"hide_error_message\": false,
+ * \"hide_unsubscribe_link\": false, \"hide_notification_status\": false,
+ * \"hide_modify_alert\": false, \"company_website_url\":
+ * \"https://your-website.com/\", \"company_privacy_policy_url\" :
+ * \"https://link-to-privacy-policy.com/\", \"contact_support_url\":
+ * \"https://link-to-contact-support.com/\", \"hide_contact_support_url\":
+ * false } } ```
*
* @param createEmailCustomizationRequest (required)
* @return CreateEmailCustomizationResponse
@@ -3706,22 +3723,26 @@ public CreateEmailCustomizationResponse createEmailCustomization(
* #### Usage guidelines To create a custom configuration pass these parameters in your API
* request: - A JSON map of configuration attributes `template_properties`. The
* following example shows a sample set of customization configuration: ``` { {
- * \"ctaButtonBgColor\": \"#444DEA\", \"ctaTextFontColor\":
- * \"#FFFFFF\", \"primaryBgColor\": \"#D3DEF0\",
- * \"hideMobileAppNudge\": false, \"fontFamily\" : \"\",
- * \"hideProductName\" : false, \"hideFooterPhone\" : false,
- * \"hideFooterAddress\" : false, \"hidePrivacyPolicy\" : false,
- * \"hideManageNotification\" : false, \"hideTsVocabularyDefinitions\":
- * false, \"hideNotificationStatus\" : false, \"hideErrorMessage\": false,
- * \"hideUnsubscribeLink\" : false, \"hideModifyAlert\": false,
- * \"textTransform\": \"\", \"replacementValueForLiveboard\":
- * \"LB dashboard\", \"replacementValueForAnswer\": \"Answer
- * dashboard\", \"replacementValueForSpotIQ\": \"SpotIQ dashboard\",
- * \"logoUrl\":\"\", \"productName\":\"ThoughtSpot\",
- * \"footerPhone\":\"(800) 508-7008\",
- * \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\",
- * \"companyWebsiteUrl\":\"\",
- * \"companyPrivacyPolicyUrl\":\"\" } } ```
+ * \"cta_button_bg_color\": \"#444DEA\", \"cta_text_font_color\":
+ * \"#FFFFFF\", \"primary_bg_color\": \"#D3DEF0\",
+ * \"logo_url\":
+ * \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\",
+ * \"font_family\": \"\", \"product_name\":
+ * \"ThoughtSpot\", \"footer_address\": \"444 Castro St, Suite 1000
+ * Mountain View, CA 94041\", \"footer_phone\": \"(800) 508-7008\",
+ * \"replacement_value_for_liveboard\": \"Dashboard\",
+ * \"replacement_value_for_answer\": \"Chart\",
+ * \"replacement_value_for_spot_iq\": \"AI Insights\",
+ * \"hide_footer_phone\": false, \"hide_footer_address\": false,
+ * \"hide_product_name\": false, \"hide_manage_notification\": false,
+ * \"hide_mobile_app_nudge\": false, \"hide_privacy_policy\": false,
+ * \"hide_ts_vocabulary_definitions\": false, \"hide_error_message\": false,
+ * \"hide_unsubscribe_link\": false, \"hide_notification_status\": false,
+ * \"hide_modify_alert\": false, \"company_website_url\":
+ * \"https://your-website.com/\", \"company_privacy_policy_url\" :
+ * \"https://link-to-privacy-policy.com/\", \"contact_support_url\":
+ * \"https://link-to-contact-support.com/\", \"hide_contact_support_url\":
+ * false } } ```
*
* @param createEmailCustomizationRequest (required)
* @return ApiResponse<CreateEmailCustomizationResponse>
@@ -3755,22 +3776,26 @@ public ApiResponse createEmailCustomizationWit
* this on your instance. #### Usage guidelines To create a custom configuration pass these
* parameters in your API request: - A JSON map of configuration attributes
* `template_properties`. The following example shows a sample set of customization
- * configuration: ``` { { \"ctaButtonBgColor\": \"#444DEA\",
- * \"ctaTextFontColor\": \"#FFFFFF\", \"primaryBgColor\":
- * \"#D3DEF0\", \"hideMobileAppNudge\": false, \"fontFamily\" :
- * \"\", \"hideProductName\" : false, \"hideFooterPhone\" : false,
- * \"hideFooterAddress\" : false, \"hidePrivacyPolicy\" : false,
- * \"hideManageNotification\" : false, \"hideTsVocabularyDefinitions\":
- * false, \"hideNotificationStatus\" : false, \"hideErrorMessage\": false,
- * \"hideUnsubscribeLink\" : false, \"hideModifyAlert\": false,
- * \"textTransform\": \"\", \"replacementValueForLiveboard\":
- * \"LB dashboard\", \"replacementValueForAnswer\": \"Answer
- * dashboard\", \"replacementValueForSpotIQ\": \"SpotIQ dashboard\",
- * \"logoUrl\":\"\", \"productName\":\"ThoughtSpot\",
- * \"footerPhone\":\"(800) 508-7008\",
- * \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\",
- * \"companyWebsiteUrl\":\"\",
- * \"companyPrivacyPolicyUrl\":\"\" } } ```
+ * configuration: ``` { { \"cta_button_bg_color\":
+ * \"#444DEA\", \"cta_text_font_color\": \"#FFFFFF\",
+ * \"primary_bg_color\": \"#D3DEF0\", \"logo_url\":
+ * \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\",
+ * \"font_family\": \"\", \"product_name\":
+ * \"ThoughtSpot\", \"footer_address\": \"444 Castro St, Suite 1000
+ * Mountain View, CA 94041\", \"footer_phone\": \"(800) 508-7008\",
+ * \"replacement_value_for_liveboard\": \"Dashboard\",
+ * \"replacement_value_for_answer\": \"Chart\",
+ * \"replacement_value_for_spot_iq\": \"AI Insights\",
+ * \"hide_footer_phone\": false, \"hide_footer_address\": false,
+ * \"hide_product_name\": false, \"hide_manage_notification\": false,
+ * \"hide_mobile_app_nudge\": false, \"hide_privacy_policy\": false,
+ * \"hide_ts_vocabulary_definitions\": false, \"hide_error_message\": false,
+ * \"hide_unsubscribe_link\": false, \"hide_notification_status\": false,
+ * \"hide_modify_alert\": false, \"company_website_url\":
+ * \"https://your-website.com/\", \"company_privacy_policy_url\" :
+ * \"https://link-to-privacy-policy.com/\", \"contact_support_url\":
+ * \"https://link-to-contact-support.com/\", \"hide_contact_support_url\":
+ * false } } ```
*
* @param createEmailCustomizationRequest (required)
* @param _callback The callback to be executed when the API call finishes
@@ -5035,11 +5060,11 @@ private okhttp3.Call createVariableValidateBeforeCall(
* endpoint supports the following types of variables: * CONNECTION_PROPERTY - For connection
* properties * TABLE_MAPPING - For table mappings * CONNECTION_PROPERTY_PER_PRINCIPAL - For
* connection properties per principal. In order to use this please contact support to enable
- * this. * FORMULA_VARIABLE - For Formula variables When creating a variable, you need to
- * specify: * The variable type * A unique name for the variable * Whether the variable contains
- * sensitive values (defaults to false) * The data type of the variable, only specify for fomula
- * variables (defaults to null) The operation will fail if: * The user lacks required
- * permissions * The variable name already exists * The variable type is invalid
+ * this. * FORMULA_VARIABLE - For Formula variables, introduced in 10.15.0.cl When creating a
+ * variable, you need to specify: * The variable type * A unique name for the variable * Whether
+ * the variable contains sensitive values (defaults to false) * The data type of the variable,
+ * only specify for formula variables (defaults to null) The operation will fail if: * The user
+ * lacks required permissions * The variable name already exists * The variable type is invalid
*
* @param createVariableRequest (required)
* @return Variable
@@ -5070,11 +5095,11 @@ public Variable createVariable(CreateVariableRequest createVariableRequest)
* endpoint supports the following types of variables: * CONNECTION_PROPERTY - For connection
* properties * TABLE_MAPPING - For table mappings * CONNECTION_PROPERTY_PER_PRINCIPAL - For
* connection properties per principal. In order to use this please contact support to enable
- * this. * FORMULA_VARIABLE - For Formula variables When creating a variable, you need to
- * specify: * The variable type * A unique name for the variable * Whether the variable contains
- * sensitive values (defaults to false) * The data type of the variable, only specify for fomula
- * variables (defaults to null) The operation will fail if: * The user lacks required
- * permissions * The variable name already exists * The variable type is invalid
+ * this. * FORMULA_VARIABLE - For Formula variables, introduced in 10.15.0.cl When creating a
+ * variable, you need to specify: * The variable type * A unique name for the variable * Whether
+ * the variable contains sensitive values (defaults to false) * The data type of the variable,
+ * only specify for formula variables (defaults to null) The operation will fail if: * The user
+ * lacks required permissions * The variable name already exists * The variable type is invalid
*
* @param createVariableRequest (required)
* @return ApiResponse<Variable>
@@ -5106,12 +5131,12 @@ public ApiResponse createVariableWithHttpInfo(
* organization scope. The API endpoint supports the following types of variables: *
* CONNECTION_PROPERTY - For connection properties * TABLE_MAPPING - For table mappings *
* CONNECTION_PROPERTY_PER_PRINCIPAL - For connection properties per principal. In order to use
- * this please contact support to enable this. * FORMULA_VARIABLE - For Formula variables When
- * creating a variable, you need to specify: * The variable type * A unique name for the
- * variable * Whether the variable contains sensitive values (defaults to false) * The data type
- * of the variable, only specify for fomula variables (defaults to null) The operation will fail
- * if: * The user lacks required permissions * The variable name already exists * The variable
- * type is invalid
+ * this please contact support to enable this. * FORMULA_VARIABLE - For Formula variables,
+ * introduced in 10.15.0.cl When creating a variable, you need to specify: * The variable type *
+ * A unique name for the variable * Whether the variable contains sensitive values (defaults to
+ * false) * The data type of the variable, only specify for formula variables (defaults to null)
+ * The operation will fail if: * The user lacks required permissions * The variable name already
+ * exists * The variable type is invalid
*
* @param createVariableRequest (required)
* @param _callback The callback to be executed when the API call finishes
@@ -10490,15 +10515,16 @@ private okhttp3.Call exportLiveboardReportValidateBeforeCall(
}
/**
- * Version: 9.0.0.cl or later Exports a Liveboard and its visualizations in PDF or PNG file
- * format. Requires at least view access to the Liveboard. #### Usage guidelines In 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. The default `file_format`
- * is PDF. For PDF downloads, you can specify additional parameters to customize the page
- * orientation and include or exclude the cover page, logo, footer text, and page numbers.
- * Similar customization options are also available for PNG output. **NOTE**: The downloadable
- * file returned in API response file is extensionless. Please rename the downloaded file by
- * typing in the relevant extension. Optionally, you can define [runtime
+ * Version: 9.0.0.cl or later Exports a Liveboard and its visualizations in PDF, PNG, CSV, or
+ * XLSX file format. Requires at least view access to the Liveboard. #### Usage guidelines In
+ * 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. The default
+ * `file_format` is CSV. For PDF exports, you can specify additional parameters to
+ * customize the page orientation and include or exclude the cover page, logo, footer text, and
+ * page numbers. Similar customization options are available for PNG exports. CSV and XLSX
+ * exports do not support customization options. **NOTE**: The downloadable file returned in API
+ * response file is extensionless. Please rename the downloaded file by typing in the relevant
+ * extension. Optionally, you can define [runtime
* overrides](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_overrides)
* to apply to the Answer data. To include unsaved changes in the report, pass the
* `transient_pinboard_content` script generated from the
@@ -10510,7 +10536,15 @@ private okhttp3.Call exportLiveboardReportValidateBeforeCall(
* 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.
+ * `png_options` will not be available for PNG exports. **NOTE**: Starting with the
+ * ThoughtSpot Cloud 26.2.0.cl release, Liveboards can be exported in CSV format. All
+ * visualizations in the Liveboard can be exported as individual CSV files. If multiple
+ * visualizations are selected or if the entire Liveboard is exported, the output is returned as
+ * a .zip file containing the CSV files for each visualization. **NOTE**: Starting with the
+ * ThoughtSpot Cloud 26.2.0.cl release, Liveboards can be exported in XLSX format. All selected
+ * visualizations are consolidated into a single Excel workbook (.xlsx), with each visualization
+ * placed in its own worksheet (tab). XLSX exports are limited to 255 worksheets (tabs) per
+ * workbook.
*
* @param exportLiveboardReportRequest (required)
* @return File
@@ -10535,15 +10569,16 @@ public File exportLiveboardReport(ExportLiveboardReportRequest exportLiveboardRe
}
/**
- * Version: 9.0.0.cl or later Exports a Liveboard and its visualizations in PDF or PNG file
- * format. Requires at least view access to the Liveboard. #### Usage guidelines In 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. The default `file_format`
- * is PDF. For PDF downloads, you can specify additional parameters to customize the page
- * orientation and include or exclude the cover page, logo, footer text, and page numbers.
- * Similar customization options are also available for PNG output. **NOTE**: The downloadable
- * file returned in API response file is extensionless. Please rename the downloaded file by
- * typing in the relevant extension. Optionally, you can define [runtime
+ * Version: 9.0.0.cl or later Exports a Liveboard and its visualizations in PDF, PNG, CSV, or
+ * XLSX file format. Requires at least view access to the Liveboard. #### Usage guidelines In
+ * 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. The default
+ * `file_format` is CSV. For PDF exports, you can specify additional parameters to
+ * customize the page orientation and include or exclude the cover page, logo, footer text, and
+ * page numbers. Similar customization options are available for PNG exports. CSV and XLSX
+ * exports do not support customization options. **NOTE**: The downloadable file returned in API
+ * response file is extensionless. Please rename the downloaded file by typing in the relevant
+ * extension. Optionally, you can define [runtime
* overrides](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_overrides)
* to apply to the Answer data. To include unsaved changes in the report, pass the
* `transient_pinboard_content` script generated from the
@@ -10555,7 +10590,15 @@ public File exportLiveboardReport(ExportLiveboardReportRequest exportLiveboardRe
* 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.
+ * `png_options` will not be available for PNG exports. **NOTE**: Starting with the
+ * ThoughtSpot Cloud 26.2.0.cl release, Liveboards can be exported in CSV format. All
+ * visualizations in the Liveboard can be exported as individual CSV files. If multiple
+ * visualizations are selected or if the entire Liveboard is exported, the output is returned as
+ * a .zip file containing the CSV files for each visualization. **NOTE**: Starting with the
+ * ThoughtSpot Cloud 26.2.0.cl release, Liveboards can be exported in XLSX format. All selected
+ * visualizations are consolidated into a single Excel workbook (.xlsx), with each visualization
+ * placed in its own worksheet (tab). XLSX exports are limited to 255 worksheets (tabs) per
+ * workbook.
*
* @param exportLiveboardReportRequest (required)
* @return ApiResponse<File>
@@ -10581,15 +10624,16 @@ public ApiResponse exportLiveboardReportWithHttpInfo(
}
/**
- * (asynchronously) Version: 9.0.0.cl or later Exports a Liveboard and its visualizations in PDF
- * or PNG file format. Requires at least view access to the Liveboard. #### Usage guidelines In
- * 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. The default
- * `file_format` is PDF. For PDF downloads, you can specify additional parameters to
- * customize the page orientation and include or exclude the cover page, logo, footer text, and
- * page numbers. Similar customization options are also available for PNG output. **NOTE**: The
- * downloadable file returned in API response file is extensionless. Please rename the
- * downloaded file by typing in the relevant extension. Optionally, you can define [runtime
+ * (asynchronously) Version: 9.0.0.cl or later Exports a Liveboard and its visualizations in
+ * PDF, PNG, CSV, or XLSX file format. Requires at least view access to the Liveboard. ####
+ * Usage guidelines In 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.
+ * The default `file_format` is CSV. For PDF exports, you can specify additional
+ * parameters to customize the page orientation and include or exclude the cover page, logo,
+ * footer text, and page numbers. Similar customization options are available for PNG exports.
+ * CSV and XLSX exports do not support customization options. **NOTE**: The downloadable file
+ * returned in API response file is extensionless. Please rename the downloaded file by typing
+ * in the relevant extension. Optionally, you can define [runtime
* overrides](https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#_runtime_overrides)
* to apply to the Answer data. To include unsaved changes in the report, pass the
* `transient_pinboard_content` script generated from the
@@ -10601,7 +10645,15 @@ public ApiResponse exportLiveboardReportWithHttpInfo(
* 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.
+ * `png_options` will not be available for PNG exports. **NOTE**: Starting with the
+ * ThoughtSpot Cloud 26.2.0.cl release, Liveboards can be exported in CSV format. All
+ * visualizations in the Liveboard can be exported as individual CSV files. If multiple
+ * visualizations are selected or if the entire Liveboard is exported, the output is returned as
+ * a .zip file containing the CSV files for each visualization. **NOTE**: Starting with the
+ * ThoughtSpot Cloud 26.2.0.cl release, Liveboards can be exported in XLSX format. All selected
+ * visualizations are consolidated into a single Excel workbook (.xlsx), with each visualization
+ * placed in its own worksheet (tab). XLSX exports are limited to 255 worksheets (tabs) per
+ * workbook.
*
* @param exportLiveboardReportRequest (required)
* @param _callback The callback to be executed when the API call finishes
@@ -14625,6 +14677,221 @@ public okhttp3.Call getFullAccessTokenAsync(
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
+ /**
+ * Build call for getNLInstructions
+ *
+ * @param getNLInstructionsRequest (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+ *
+ * Response Details
+ * | Status Code | Description | Response Headers |
+ * | 200 | Common successful response | - |
+ * | 201 | Common error response | - |
+ * | 400 | Operation failed | - |
+ * | 500 | Operation failed | - |
+ *
+ */
+ public okhttp3.Call getNLInstructionsCall(
+ GetNLInstructionsRequest getNLInstructionsRequest, final ApiCallback _callback)
+ throws ApiException {
+ String basePath = null;
+ // Operation Servers
+ String[] localBasePaths = new String[] {};
+
+ // Determine Base Path to Use
+ if (localCustomBaseUrl != null) {
+ basePath = localCustomBaseUrl;
+ } else if (localBasePaths.length > 0) {
+ basePath = localBasePaths[localHostIndex];
+ } else {
+ basePath = null;
+ }
+
+ Object localVarPostBody = getNLInstructionsRequest;
+
+ // create path and map variables
+ String localVarPath = "/api/rest/2.0/ai/instructions/get";
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+
+ final String[] localVarAccepts = {"application/json"};
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {"application/json"};
+ final String localVarContentType =
+ localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ if (localVarContentType != null) {
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+ }
+
+ String[] localVarAuthNames = new String[] {"bearerAuth"};
+ return localVarApiClient.buildCall(
+ basePath,
+ localVarPath,
+ "POST",
+ localVarQueryParams,
+ localVarCollectionQueryParams,
+ localVarPostBody,
+ localVarHeaderParams,
+ localVarCookieParams,
+ localVarFormParams,
+ localVarAuthNames,
+ _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call getNLInstructionsValidateBeforeCall(
+ GetNLInstructionsRequest getNLInstructionsRequest, final ApiCallback _callback)
+ throws ApiException {
+ // verify the required parameter 'getNLInstructionsRequest' is set
+ if (getNLInstructionsRequest == null) {
+ throw new ApiException(
+ "Missing the required parameter 'getNLInstructionsRequest' when calling"
+ + " getNLInstructions(Async)");
+ }
+
+ return getNLInstructionsCall(getNLInstructionsRequest, _callback);
+ }
+
+ /**
+ * Version: 10.15.0.cl or later This API allows users to retrieve existing natural language (NL)
+ * instructions for a specific data-model. These instructions guide the AI system in
+ * understanding data context and generating more accurate responses when processing natural
+ * language queries. #### Usage guidelines To retrieve NL instructions for a data-model, the
+ * request must include: - `data_source_identifier`: The unique ID or name of the
+ * data-model to retrieve NL instructions The API returns a response object with: -
+ * `nl_instructions_info`: An array of instruction objects, each containing: -
+ * `instructions`: Array of text instructions for natural language processing -
+ * `scope`: The scope of the instruction (`GLOBAL`). It can be extended to
+ * data-model-user scope in future. #### Instructions Scope - **GLOBAL**: Instructions that
+ * apply globally across the system on the given data-model (currently only global instructions
+ * are supported) > ###### Note: > * To use this API, the user needs atleast view access
+ * on the data-model and they must use corresponding org related bearerToken where the
+ * data-model exists. > * This endpoint is currently in Beta. Breaking changes may be
+ * introduced before the endpoint is made Generally Available. > * Available from version
+ * 10.15.0.cl and later. > * This endpoint requires Spotter — please contact ThoughtSpot
+ * Support to enable Spotter on your cluster. > * Use this API to view currently configured
+ * instructions before modifying them with `setNLInstructions`.
+ *
+ * @param getNLInstructionsRequest (required)
+ * @return EurekaGetNLInstructionsResponse
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
+ * response body
+ * @http.response.details
+ *
+ * Response Details
+ * | Status Code | Description | Response Headers |
+ * | 200 | Common successful response | - |
+ * | 201 | Common error response | - |
+ * | 400 | Operation failed | - |
+ * | 500 | Operation failed | - |
+ *
+ */
+ public EurekaGetNLInstructionsResponse getNLInstructions(
+ GetNLInstructionsRequest getNLInstructionsRequest) throws ApiException {
+ ApiResponse localVarResp =
+ getNLInstructionsWithHttpInfo(getNLInstructionsRequest);
+ return localVarResp.getData();
+ }
+
+ /**
+ * Version: 10.15.0.cl or later This API allows users to retrieve existing natural language (NL)
+ * instructions for a specific data-model. These instructions guide the AI system in
+ * understanding data context and generating more accurate responses when processing natural
+ * language queries. #### Usage guidelines To retrieve NL instructions for a data-model, the
+ * request must include: - `data_source_identifier`: The unique ID or name of the
+ * data-model to retrieve NL instructions The API returns a response object with: -
+ * `nl_instructions_info`: An array of instruction objects, each containing: -
+ * `instructions`: Array of text instructions for natural language processing -
+ * `scope`: The scope of the instruction (`GLOBAL`). It can be extended to
+ * data-model-user scope in future. #### Instructions Scope - **GLOBAL**: Instructions that
+ * apply globally across the system on the given data-model (currently only global instructions
+ * are supported) > ###### Note: > * To use this API, the user needs atleast view access
+ * on the data-model and they must use corresponding org related bearerToken where the
+ * data-model exists. > * This endpoint is currently in Beta. Breaking changes may be
+ * introduced before the endpoint is made Generally Available. > * Available from version
+ * 10.15.0.cl and later. > * This endpoint requires Spotter — please contact ThoughtSpot
+ * Support to enable Spotter on your cluster. > * Use this API to view currently configured
+ * instructions before modifying them with `setNLInstructions`.
+ *
+ * @param getNLInstructionsRequest (required)
+ * @return ApiResponse<EurekaGetNLInstructionsResponse>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
+ * response body
+ * @http.response.details
+ *
+ * Response Details
+ * | Status Code | Description | Response Headers |
+ * | 200 | Common successful response | - |
+ * | 201 | Common error response | - |
+ * | 400 | Operation failed | - |
+ * | 500 | Operation failed | - |
+ *
+ */
+ public ApiResponse getNLInstructionsWithHttpInfo(
+ GetNLInstructionsRequest getNLInstructionsRequest) throws ApiException {
+ okhttp3.Call localVarCall =
+ getNLInstructionsValidateBeforeCall(getNLInstructionsRequest, null);
+ Type localVarReturnType = new TypeToken() {}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * (asynchronously) Version: 10.15.0.cl or later This API allows users to retrieve existing
+ * natural language (NL) instructions for a specific data-model. These instructions guide the AI
+ * system in understanding data context and generating more accurate responses when processing
+ * natural language queries. #### Usage guidelines To retrieve NL instructions for a data-model,
+ * the request must include: - `data_source_identifier`: The unique ID or name of the
+ * data-model to retrieve NL instructions The API returns a response object with: -
+ * `nl_instructions_info`: An array of instruction objects, each containing: -
+ * `instructions`: Array of text instructions for natural language processing -
+ * `scope`: The scope of the instruction (`GLOBAL`). It can be extended to
+ * data-model-user scope in future. #### Instructions Scope - **GLOBAL**: Instructions that
+ * apply globally across the system on the given data-model (currently only global instructions
+ * are supported) > ###### Note: > * To use this API, the user needs atleast view access
+ * on the data-model and they must use corresponding org related bearerToken where the
+ * data-model exists. > * This endpoint is currently in Beta. Breaking changes may be
+ * introduced before the endpoint is made Generally Available. > * Available from version
+ * 10.15.0.cl and later. > * This endpoint requires Spotter — please contact ThoughtSpot
+ * Support to enable Spotter on your cluster. > * Use this API to view currently configured
+ * instructions before modifying them with `setNLInstructions`.
+ *
+ * @param getNLInstructionsRequest (required)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body
+ * object
+ * @http.response.details
+ *
+ * Response Details
+ * | Status Code | Description | Response Headers |
+ * | 200 | Common successful response | - |
+ * | 201 | Common error response | - |
+ * | 400 | Operation failed | - |
+ * | 500 | Operation failed | - |
+ *
+ */
+ public okhttp3.Call getNLInstructionsAsync(
+ GetNLInstructionsRequest getNLInstructionsRequest,
+ final ApiCallback _callback)
+ throws ApiException {
+
+ okhttp3.Call localVarCall =
+ getNLInstructionsValidateBeforeCall(getNLInstructionsRequest, _callback);
+ Type localVarReturnType = new TypeToken() {}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
/**
* Build call for getObjectAccessToken
*
@@ -16837,11 +17104,12 @@ private okhttp3.Call parameterizeMetadataValidateBeforeCall(
* Parameterize fields in metadata objects. Version: 10.9.0.cl or later Allows parameterizing
* fields in metadata objects in ThoughtSpot. Requires appropriate permissions to modify the
* metadata object. The API endpoint allows parameterizing the following types of metadata
- * objects: * Logical Tables * Connections For a Logical Table the field type must be
- * `ATTRIBUTE` and field name can be one of: * databaseName * schemaName * tableName
- * For a Connection the field type is always `CONNECTION_PROPERTY`. We use the
- * field_name in this case to specify the exact property of a connection which needs to be
- * parameterized.
+ * objects: * Logical Tables * Connections * Connection Configs For a Logical Table the field
+ * type must be `ATTRIBUTE` and field name can be one of: * databaseName * schemaName
+ * * tableName For a Connection or Connection Config, the field type is always
+ * `CONNECTION_PROPERTY`. In this case, field_name specifies the exact property of the
+ * Connection or Connection Config that needs to be parameterized. For Connection Config, the
+ * only supported field name is: * impersonate_user
*
* @param parameterizeMetadataRequest (required)
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
@@ -16866,11 +17134,12 @@ public void parameterizeMetadata(ParameterizeMetadataRequest parameterizeMetadat
* Parameterize fields in metadata objects. Version: 10.9.0.cl or later Allows parameterizing
* fields in metadata objects in ThoughtSpot. Requires appropriate permissions to modify the
* metadata object. The API endpoint allows parameterizing the following types of metadata
- * objects: * Logical Tables * Connections For a Logical Table the field type must be
- * `ATTRIBUTE` and field name can be one of: * databaseName * schemaName * tableName
- * For a Connection the field type is always `CONNECTION_PROPERTY`. We use the
- * field_name in this case to specify the exact property of a connection which needs to be
- * parameterized.
+ * objects: * Logical Tables * Connections * Connection Configs For a Logical Table the field
+ * type must be `ATTRIBUTE` and field name can be one of: * databaseName * schemaName
+ * * tableName For a Connection or Connection Config, the field type is always
+ * `CONNECTION_PROPERTY`. In this case, field_name specifies the exact property of the
+ * Connection or Connection Config that needs to be parameterized. For Connection Config, the
+ * only supported field name is: * impersonate_user
*
* @param parameterizeMetadataRequest (required)
* @return ApiResponse<Void>
@@ -16898,11 +17167,12 @@ public ApiResponse parameterizeMetadataWithHttpInfo(
* (asynchronously) Parameterize fields in metadata objects. Version: 10.9.0.cl or later Allows
* parameterizing fields in metadata objects in ThoughtSpot. Requires appropriate permissions to
* modify the metadata object. The API endpoint allows parameterizing the following types of
- * metadata objects: * Logical Tables * Connections For a Logical Table the field type must be
- * `ATTRIBUTE` and field name can be one of: * databaseName * schemaName * tableName
- * For a Connection the field type is always `CONNECTION_PROPERTY`. We use the
- * field_name in this case to specify the exact property of a connection which needs to be
- * parameterized.
+ * metadata objects: * Logical Tables * Connections * Connection Configs For a Logical Table the
+ * field type must be `ATTRIBUTE` and field name can be one of: * databaseName *
+ * schemaName * tableName For a Connection or Connection Config, the field type is always
+ * `CONNECTION_PROPERTY`. In this case, field_name specifies the exact property of the
+ * Connection or Connection Config that needs to be parameterized. For Connection Config, the
+ * only supported field name is: * impersonate_user
*
* @param parameterizeMetadataRequest (required)
* @param _callback The callback to be executed when the API call finishes
@@ -21920,6 +22190,224 @@ public okhttp3.Call sendMessageAsync(
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
+ /**
+ * Build call for setNLInstructions
+ *
+ * @param setNLInstructionsRequest (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+ *
+ * Response Details
+ * | Status Code | Description | Response Headers |
+ * | 200 | Common successful response | - |
+ * | 201 | Common error response | - |
+ * | 400 | Operation failed | - |
+ * | 500 | Operation failed | - |
+ *
+ */
+ public okhttp3.Call setNLInstructionsCall(
+ SetNLInstructionsRequest setNLInstructionsRequest, final ApiCallback _callback)
+ throws ApiException {
+ String basePath = null;
+ // Operation Servers
+ String[] localBasePaths = new String[] {};
+
+ // Determine Base Path to Use
+ if (localCustomBaseUrl != null) {
+ basePath = localCustomBaseUrl;
+ } else if (localBasePaths.length > 0) {
+ basePath = localBasePaths[localHostIndex];
+ } else {
+ basePath = null;
+ }
+
+ Object localVarPostBody = setNLInstructionsRequest;
+
+ // create path and map variables
+ String localVarPath = "/api/rest/2.0/ai/instructions/set";
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+
+ final String[] localVarAccepts = {"application/json"};
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {"application/json"};
+ final String localVarContentType =
+ localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ if (localVarContentType != null) {
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+ }
+
+ String[] localVarAuthNames = new String[] {"bearerAuth"};
+ return localVarApiClient.buildCall(
+ basePath,
+ localVarPath,
+ "POST",
+ localVarQueryParams,
+ localVarCollectionQueryParams,
+ localVarPostBody,
+ localVarHeaderParams,
+ localVarCookieParams,
+ localVarFormParams,
+ localVarAuthNames,
+ _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call setNLInstructionsValidateBeforeCall(
+ SetNLInstructionsRequest setNLInstructionsRequest, final ApiCallback _callback)
+ throws ApiException {
+ // verify the required parameter 'setNLInstructionsRequest' is set
+ if (setNLInstructionsRequest == null) {
+ throw new ApiException(
+ "Missing the required parameter 'setNLInstructionsRequest' when calling"
+ + " setNLInstructions(Async)");
+ }
+
+ return setNLInstructionsCall(setNLInstructionsRequest, _callback);
+ }
+
+ /**
+ * Version: 10.15.0.cl or later This API allows users to set natural language (NL) instructions
+ * for a specific data-model to improve AI-generated answers and query processing. These
+ * instructions help guide the AI system to better understand the data context and provide more
+ * accurate responses. #### Usage guidelines To set NL instructions for a data-model, the
+ * request must include: - `data_source_identifier`: The unique ID or name of the
+ * data-model for which to set NL instructions - `nl_instructions_info`: An array of
+ * instruction objects, each containing: - `instructions`: Array of text instructions
+ * for the LLM - `scope`: The scope of the instruction (`GLOBAL`). Currently
+ * only `GLOBAL` is supported. It can be extended to data-model-user scope in future.
+ * The API returns a response object with: - `success`: Boolean indicating whether the
+ * operation was successful #### Instructions Scope - **GLOBAL**: Instructions that apply
+ * globally for that data-model across the system > ###### Note: > * To use this API, the
+ * user needs either edit access or SPOTTER_COACHING_PRIVILEGE on the data-model and they must
+ * use corresponding org related bearerToken where the data-model exists. > * This endpoint
+ * is currently in Beta. Breaking changes may be introduced before the endpoint is made
+ * Generally Available. > * Available from version 10.15.0.cl and later. > * This endpoint
+ * requires Spotter — please contact ThoughtSpot Support to enable Spotter on your cluster. >
+ * * Instructions help improve the accuracy and relevance of AI-generated responses for the
+ * specified data-model.
+ *
+ * @param setNLInstructionsRequest (required)
+ * @return EurekaSetNLInstructionsResponse
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
+ * response body
+ * @http.response.details
+ *
+ * Response Details
+ * | Status Code | Description | Response Headers |
+ * | 200 | Common successful response | - |
+ * | 201 | Common error response | - |
+ * | 400 | Operation failed | - |
+ * | 500 | Operation failed | - |
+ *
+ */
+ public EurekaSetNLInstructionsResponse setNLInstructions(
+ SetNLInstructionsRequest setNLInstructionsRequest) throws ApiException {
+ ApiResponse localVarResp =
+ setNLInstructionsWithHttpInfo(setNLInstructionsRequest);
+ return localVarResp.getData();
+ }
+
+ /**
+ * Version: 10.15.0.cl or later This API allows users to set natural language (NL) instructions
+ * for a specific data-model to improve AI-generated answers and query processing. These
+ * instructions help guide the AI system to better understand the data context and provide more
+ * accurate responses. #### Usage guidelines To set NL instructions for a data-model, the
+ * request must include: - `data_source_identifier`: The unique ID or name of the
+ * data-model for which to set NL instructions - `nl_instructions_info`: An array of
+ * instruction objects, each containing: - `instructions`: Array of text instructions
+ * for the LLM - `scope`: The scope of the instruction (`GLOBAL`). Currently
+ * only `GLOBAL` is supported. It can be extended to data-model-user scope in future.
+ * The API returns a response object with: - `success`: Boolean indicating whether the
+ * operation was successful #### Instructions Scope - **GLOBAL**: Instructions that apply
+ * globally for that data-model across the system > ###### Note: > * To use this API, the
+ * user needs either edit access or SPOTTER_COACHING_PRIVILEGE on the data-model and they must
+ * use corresponding org related bearerToken where the data-model exists. > * This endpoint
+ * is currently in Beta. Breaking changes may be introduced before the endpoint is made
+ * Generally Available. > * Available from version 10.15.0.cl and later. > * This endpoint
+ * requires Spotter — please contact ThoughtSpot Support to enable Spotter on your cluster. >
+ * * Instructions help improve the accuracy and relevance of AI-generated responses for the
+ * specified data-model.
+ *
+ * @param setNLInstructionsRequest (required)
+ * @return ApiResponse<EurekaSetNLInstructionsResponse>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
+ * response body
+ * @http.response.details
+ *
+ * Response Details
+ * | Status Code | Description | Response Headers |
+ * | 200 | Common successful response | - |
+ * | 201 | Common error response | - |
+ * | 400 | Operation failed | - |
+ * | 500 | Operation failed | - |
+ *
+ */
+ public ApiResponse setNLInstructionsWithHttpInfo(
+ SetNLInstructionsRequest setNLInstructionsRequest) throws ApiException {
+ okhttp3.Call localVarCall =
+ setNLInstructionsValidateBeforeCall(setNLInstructionsRequest, null);
+ Type localVarReturnType = new TypeToken() {}.getType();
+ return localVarApiClient.execute(localVarCall, localVarReturnType);
+ }
+
+ /**
+ * (asynchronously) Version: 10.15.0.cl or later This API allows users to set natural language
+ * (NL) instructions for a specific data-model to improve AI-generated answers and query
+ * processing. These instructions help guide the AI system to better understand the data context
+ * and provide more accurate responses. #### Usage guidelines To set NL instructions for a
+ * data-model, the request must include: - `data_source_identifier`: The unique ID or
+ * name of the data-model for which to set NL instructions - `nl_instructions_info`:
+ * An array of instruction objects, each containing: - `instructions`: Array of text
+ * instructions for the LLM - `scope`: The scope of the instruction
+ * (`GLOBAL`). Currently only `GLOBAL` is supported. It can be extended to
+ * data-model-user scope in future. The API returns a response object with: -
+ * `success`: Boolean indicating whether the operation was successful ####
+ * Instructions Scope - **GLOBAL**: Instructions that apply globally for that data-model across
+ * the system > ###### Note: > * To use this API, the user needs either edit access or
+ * SPOTTER_COACHING_PRIVILEGE on the data-model and they must use corresponding org related
+ * bearerToken where the data-model exists. > * This endpoint is currently in Beta. Breaking
+ * changes may be introduced before the endpoint is made Generally Available. > * Available
+ * from version 10.15.0.cl and later. > * This endpoint requires Spotter — please contact
+ * ThoughtSpot Support to enable Spotter on your cluster. > * Instructions help improve the
+ * accuracy and relevance of AI-generated responses for the specified data-model.
+ *
+ * @param setNLInstructionsRequest (required)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body
+ * object
+ * @http.response.details
+ *
+ * Response Details
+ * | Status Code | Description | Response Headers |
+ * | 200 | Common successful response | - |
+ * | 201 | Common error response | - |
+ * | 400 | Operation failed | - |
+ * | 500 | Operation failed | - |
+ *
+ */
+ public okhttp3.Call setNLInstructionsAsync(
+ SetNLInstructionsRequest setNLInstructionsRequest,
+ final ApiCallback _callback)
+ throws ApiException {
+
+ okhttp3.Call localVarCall =
+ setNLInstructionsValidateBeforeCall(setNLInstructionsRequest, _callback);
+ Type localVarReturnType = new TypeToken() {}.getType();
+ localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
+ return localVarCall;
+ }
/**
* Build call for shareMetadata
*
@@ -22532,11 +23020,12 @@ private okhttp3.Call unparameterizeMetadataValidateBeforeCall(
* Remove parameterization from fields in metadata objects. Version: 10.9.0.cl or later Allows
* removing parameterization from fields in metadata objects in ThoughtSpot. Requires
* appropriate permissions to modify the metadata object. The API endpoint allows
- * unparameterizing the following types of metadata objects: * Logical Tables * Connections For
- * a Logical Table the field type must be `ATTRIBUTE` and field name can be one of: *
- * databaseName * schemaName * tableName For a Connection the field type is always
- * `CONNECTION_PROPERTY`. We use the field_name in this case to specify the exact
- * property of a connection which needs to be unparameterized.
+ * unparameterizing the following types of metadata objects: * Logical Tables * Connections *
+ * Connection Configs For a Logical Table the field type must be `ATTRIBUTE` and field
+ * name can be one of: * databaseName * schemaName * tableName For a Connection or Connection
+ * Config, the field type is always `CONNECTION_PROPERTY`. In this case, field_name
+ * specifies the exact property of the Connection or Connection Config that needs to be
+ * unparameterized. For Connection Config, the only supported field name is: * impersonate_user
*
* @param unparameterizeMetadataRequest (required)
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
@@ -22561,11 +23050,12 @@ public void unparameterizeMetadata(UnparameterizeMetadataRequest unparameterizeM
* Remove parameterization from fields in metadata objects. Version: 10.9.0.cl or later Allows
* removing parameterization from fields in metadata objects in ThoughtSpot. Requires
* appropriate permissions to modify the metadata object. The API endpoint allows
- * unparameterizing the following types of metadata objects: * Logical Tables * Connections For
- * a Logical Table the field type must be `ATTRIBUTE` and field name can be one of: *
- * databaseName * schemaName * tableName For a Connection the field type is always
- * `CONNECTION_PROPERTY`. We use the field_name in this case to specify the exact
- * property of a connection which needs to be unparameterized.
+ * unparameterizing the following types of metadata objects: * Logical Tables * Connections *
+ * Connection Configs For a Logical Table the field type must be `ATTRIBUTE` and field
+ * name can be one of: * databaseName * schemaName * tableName For a Connection or Connection
+ * Config, the field type is always `CONNECTION_PROPERTY`. In this case, field_name
+ * specifies the exact property of the Connection or Connection Config that needs to be
+ * unparameterized. For Connection Config, the only supported field name is: * impersonate_user
*
* @param unparameterizeMetadataRequest (required)
* @return ApiResponse<Void>
@@ -22593,11 +23083,12 @@ public ApiResponse unparameterizeMetadataWithHttpInfo(
* (asynchronously) Remove parameterization from fields in metadata objects. Version: 10.9.0.cl
* or later Allows removing parameterization from fields in metadata objects in ThoughtSpot.
* Requires appropriate permissions to modify the metadata object. The API endpoint allows
- * unparameterizing the following types of metadata objects: * Logical Tables * Connections For
- * a Logical Table the field type must be `ATTRIBUTE` and field name can be one of: *
- * databaseName * schemaName * tableName For a Connection the field type is always
- * `CONNECTION_PROPERTY`. We use the field_name in this case to specify the exact
- * property of a connection which needs to be unparameterized.
+ * unparameterizing the following types of metadata objects: * Logical Tables * Connections *
+ * Connection Configs For a Logical Table the field type must be `ATTRIBUTE` and field
+ * name can be one of: * databaseName * schemaName * tableName For a Connection or Connection
+ * Config, the field type is always `CONNECTION_PROPERTY`. In this case, field_name
+ * specifies the exact property of the Connection or Connection Config that needs to be
+ * unparameterized. For Connection Config, the only supported field name is: * impersonate_user
*
* @param unparameterizeMetadataRequest (required)
* @param _callback The callback to be executed when the API call finishes
@@ -23894,8 +24385,11 @@ private okhttp3.Call updateConnectionConfigurationValidateBeforeCall(
* Connections**) privilege is required. #### Supported operations This API endpoint lets you
* perform the following operations in a single API request: * Edit the name or description of
* the configuration * Edit the configuration properties * Edit the `policy_type` *
- * Edit the type of authentication * Enable or disable a configuration **NOTE**: When updating a
- * configuration where `disabled` is `true`, you must reset
+ * Edit the type of authentication * Enable or disable a configuration #### Parameterized
+ * Connection Support For parameterized oauth based connections, only the
+ * `same_as_parent` and `policy_process_options` attributes are allowed.
+ * These attributes are not applicable to connections that are not parameterized. **NOTE**: When
+ * updating a configuration where `disabled` is `true`, you must reset
* `disabled` to `true` in your update request payload. If not explicitly
* set again, the API will default `disabled` to `false`.
*
@@ -23931,8 +24425,11 @@ public void updateConnectionConfiguration(
* Connections**) privilege is required. #### Supported operations This API endpoint lets you
* perform the following operations in a single API request: * Edit the name or description of
* the configuration * Edit the configuration properties * Edit the `policy_type` *
- * Edit the type of authentication * Enable or disable a configuration **NOTE**: When updating a
- * configuration where `disabled` is `true`, you must reset
+ * Edit the type of authentication * Enable or disable a configuration #### Parameterized
+ * Connection Support For parameterized oauth based connections, only the
+ * `same_as_parent` and `policy_process_options` attributes are allowed.
+ * These attributes are not applicable to connections that are not parameterized. **NOTE**: When
+ * updating a configuration where `disabled` is `true`, you must reset
* `disabled` to `true` in your update request payload. If not explicitly
* set again, the API will default `disabled` to `false`.
*
@@ -23971,8 +24468,11 @@ public ApiResponse updateConnectionConfigurationWithHttpInfo(
* Connections**) privilege is required. #### Supported operations This API endpoint lets you
* perform the following operations in a single API request: * Edit the name or description of
* the configuration * Edit the configuration properties * Edit the `policy_type` *
- * Edit the type of authentication * Enable or disable a configuration **NOTE**: When updating a
- * configuration where `disabled` is `true`, you must reset
+ * Edit the type of authentication * Enable or disable a configuration #### Parameterized
+ * Connection Support For parameterized oauth based connections, only the
+ * `same_as_parent` and `policy_process_options` attributes are allowed.
+ * These attributes are not applicable to connections that are not parameterized. **NOTE**: When
+ * updating a configuration where `disabled` is `true`, you must reset
* `disabled` to `true` in your update request payload. If not explicitly
* set again, the API will default `disabled` to `false`.
*
@@ -25144,22 +25644,26 @@ private okhttp3.Call updateEmailCustomizationValidateBeforeCall(
* #### Usage guidelines To update a custom configuration pass these parameters in your API
* request: - A JSON map of configuration attributes `template_properties`. The
* following example shows a sample set of customization configuration: ``` { {
- * \"ctaButtonBgColor\": \"#444DEA\", \"ctaTextFontColor\":
- * \"#FFFFFF\", \"primaryBgColor\": \"#D3DEF0\",
- * \"hideMobileAppNudge\": false, \"fontFamily\" : \"\",
- * \"hideProductName\" : false, \"hideFooterPhone\" : false,
- * \"hideFooterAddress\" : false, \"hidePrivacyPolicy\" : false,
- * \"hideManageNotification\" : false, \"hideTsVocabularyDefinitions\":
- * false, \"hideNotificationStatus\" : false, \"hideErrorMessage\": false,
- * \"hideUnsubscribeLink\" : false, \"hideModifyAlert\": false,
- * \"textTransform\": \"\", \"replacementValueForLiveboard\":
- * \"LB dashboard\", \"replacementValueForAnswer\": \"Answer
- * dashboard\", \"replacementValueForSpotIQ\": \"SpotIQ dashboard\",
- * \"logoUrl\":\"\", \"productName\":\"ThoughtSpot\",
- * \"footerPhone\":\"(800) 508-7008\",
- * \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\",
- * \"companyWebsiteUrl\":\"\",
- * \"companyPrivacyPolicyUrl\":\"\" } } ```
+ * \"cta_button_bg_color\": \"#444DEA\", \"cta_text_font_color\":
+ * \"#FFFFFF\", \"primary_bg_color\": \"#D3DEF0\",
+ * \"logo_url\":
+ * \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\",
+ * \"font_family\": \"\", \"product_name\":
+ * \"ThoughtSpot\", \"footer_address\": \"444 Castro St, Suite 1000
+ * Mountain View, CA 94041\", \"footer_phone\": \"(800) 508-7008\",
+ * \"replacement_value_for_liveboard\": \"Dashboard\",
+ * \"replacement_value_for_answer\": \"Chart\",
+ * \"replacement_value_for_spot_iq\": \"AI Insights\",
+ * \"hide_footer_phone\": false, \"hide_footer_address\": false,
+ * \"hide_product_name\": false, \"hide_manage_notification\": false,
+ * \"hide_mobile_app_nudge\": false, \"hide_privacy_policy\": false,
+ * \"hide_ts_vocabulary_definitions\": false, \"hide_error_message\": false,
+ * \"hide_unsubscribe_link\": false, \"hide_notification_status\": false,
+ * \"hide_modify_alert\": false, \"company_website_url\":
+ * \"https://your-website.com/\", \"company_privacy_policy_url\" :
+ * \"https://link-to-privacy-policy.com/\", \"contact_support_url\":
+ * \"https://link-to-contact-support.com/\", \"hide_contact_support_url\":
+ * false } } ```
*
* @param updateEmailCustomizationRequest (required)
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
@@ -25190,22 +25694,26 @@ public void updateEmailCustomization(
* #### Usage guidelines To update a custom configuration pass these parameters in your API
* request: - A JSON map of configuration attributes `template_properties`. The
* following example shows a sample set of customization configuration: ``` { {
- * \"ctaButtonBgColor\": \"#444DEA\", \"ctaTextFontColor\":
- * \"#FFFFFF\", \"primaryBgColor\": \"#D3DEF0\",
- * \"hideMobileAppNudge\": false, \"fontFamily\" : \"\",
- * \"hideProductName\" : false, \"hideFooterPhone\" : false,
- * \"hideFooterAddress\" : false, \"hidePrivacyPolicy\" : false,
- * \"hideManageNotification\" : false, \"hideTsVocabularyDefinitions\":
- * false, \"hideNotificationStatus\" : false, \"hideErrorMessage\": false,
- * \"hideUnsubscribeLink\" : false, \"hideModifyAlert\": false,
- * \"textTransform\": \"\", \"replacementValueForLiveboard\":
- * \"LB dashboard\", \"replacementValueForAnswer\": \"Answer
- * dashboard\", \"replacementValueForSpotIQ\": \"SpotIQ dashboard\",
- * \"logoUrl\":\"\", \"productName\":\"ThoughtSpot\",
- * \"footerPhone\":\"(800) 508-7008\",
- * \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\",
- * \"companyWebsiteUrl\":\"\",
- * \"companyPrivacyPolicyUrl\":\"\" } } ```
+ * \"cta_button_bg_color\": \"#444DEA\", \"cta_text_font_color\":
+ * \"#FFFFFF\", \"primary_bg_color\": \"#D3DEF0\",
+ * \"logo_url\":
+ * \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\",
+ * \"font_family\": \"\", \"product_name\":
+ * \"ThoughtSpot\", \"footer_address\": \"444 Castro St, Suite 1000
+ * Mountain View, CA 94041\", \"footer_phone\": \"(800) 508-7008\",
+ * \"replacement_value_for_liveboard\": \"Dashboard\",
+ * \"replacement_value_for_answer\": \"Chart\",
+ * \"replacement_value_for_spot_iq\": \"AI Insights\",
+ * \"hide_footer_phone\": false, \"hide_footer_address\": false,
+ * \"hide_product_name\": false, \"hide_manage_notification\": false,
+ * \"hide_mobile_app_nudge\": false, \"hide_privacy_policy\": false,
+ * \"hide_ts_vocabulary_definitions\": false, \"hide_error_message\": false,
+ * \"hide_unsubscribe_link\": false, \"hide_notification_status\": false,
+ * \"hide_modify_alert\": false, \"company_website_url\":
+ * \"https://your-website.com/\", \"company_privacy_policy_url\" :
+ * \"https://link-to-privacy-policy.com/\", \"contact_support_url\":
+ * \"https://link-to-contact-support.com/\", \"hide_contact_support_url\":
+ * false } } ```
*
* @param updateEmailCustomizationRequest (required)
* @return ApiResponse<Void>
@@ -25239,22 +25747,26 @@ public ApiResponse updateEmailCustomizationWithHttpInfo(
* this on your instance. #### Usage guidelines To update a custom configuration pass these
* parameters in your API request: - A JSON map of configuration attributes
* `template_properties`. The following example shows a sample set of customization
- * configuration: ``` { { \"ctaButtonBgColor\": \"#444DEA\",
- * \"ctaTextFontColor\": \"#FFFFFF\", \"primaryBgColor\":
- * \"#D3DEF0\", \"hideMobileAppNudge\": false, \"fontFamily\" :
- * \"\", \"hideProductName\" : false, \"hideFooterPhone\" : false,
- * \"hideFooterAddress\" : false, \"hidePrivacyPolicy\" : false,
- * \"hideManageNotification\" : false, \"hideTsVocabularyDefinitions\":
- * false, \"hideNotificationStatus\" : false, \"hideErrorMessage\": false,
- * \"hideUnsubscribeLink\" : false, \"hideModifyAlert\": false,
- * \"textTransform\": \"\", \"replacementValueForLiveboard\":
- * \"LB dashboard\", \"replacementValueForAnswer\": \"Answer
- * dashboard\", \"replacementValueForSpotIQ\": \"SpotIQ dashboard\",
- * \"logoUrl\":\"\", \"productName\":\"ThoughtSpot\",
- * \"footerPhone\":\"(800) 508-7008\",
- * \"footerAddress\":\"444 Castro St, Suite 1000 Mountain View, CA 94041\",
- * \"companyWebsiteUrl\":\"\",
- * \"companyPrivacyPolicyUrl\":\"\" } } ```
+ * configuration: ``` { { \"cta_button_bg_color\":
+ * \"#444DEA\", \"cta_text_font_color\": \"#FFFFFF\",
+ * \"primary_bg_color\": \"#D3DEF0\", \"logo_url\":
+ * \"https://storage.pardot.com/710713/1642089901EbkRibJq/TS_fullworkmark_darkmode.png\",
+ * \"font_family\": \"\", \"product_name\":
+ * \"ThoughtSpot\", \"footer_address\": \"444 Castro St, Suite 1000
+ * Mountain View, CA 94041\", \"footer_phone\": \"(800) 508-7008\",
+ * \"replacement_value_for_liveboard\": \"Dashboard\",
+ * \"replacement_value_for_answer\": \"Chart\",
+ * \"replacement_value_for_spot_iq\": \"AI Insights\",
+ * \"hide_footer_phone\": false, \"hide_footer_address\": false,
+ * \"hide_product_name\": false, \"hide_manage_notification\": false,
+ * \"hide_mobile_app_nudge\": false, \"hide_privacy_policy\": false,
+ * \"hide_ts_vocabulary_definitions\": false, \"hide_error_message\": false,
+ * \"hide_unsubscribe_link\": false, \"hide_notification_status\": false,
+ * \"hide_modify_alert\": false, \"company_website_url\":
+ * \"https://your-website.com/\", \"company_privacy_policy_url\" :
+ * \"https://link-to-privacy-policy.com/\", \"contact_support_url\":
+ * \"https://link-to-contact-support.com/\", \"hide_contact_support_url\":
+ * false } } ```
*
* @param updateEmailCustomizationRequest (required)
* @param _callback The callback to be executed when the API call finishes
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/api/VariableApi.java b/sdks/java/src/main/java/com/thoughtspot/client/api/VariableApi.java
index 192121e4a..3f1a19eb3 100644
--- a/sdks/java/src/main/java/com/thoughtspot/client/api/VariableApi.java
+++ b/sdks/java/src/main/java/com/thoughtspot/client/api/VariableApi.java
@@ -177,11 +177,11 @@ private okhttp3.Call createVariableValidateBeforeCall(
* endpoint supports the following types of variables: * CONNECTION_PROPERTY - For connection
* properties * TABLE_MAPPING - For table mappings * CONNECTION_PROPERTY_PER_PRINCIPAL - For
* connection properties per principal. In order to use this please contact support to enable
- * this. * FORMULA_VARIABLE - For Formula variables When creating a variable, you need to
- * specify: * The variable type * A unique name for the variable * Whether the variable contains
- * sensitive values (defaults to false) * The data type of the variable, only specify for fomula
- * variables (defaults to null) The operation will fail if: * The user lacks required
- * permissions * The variable name already exists * The variable type is invalid
+ * this. * FORMULA_VARIABLE - For Formula variables, introduced in 10.15.0.cl When creating a
+ * variable, you need to specify: * The variable type * A unique name for the variable * Whether
+ * the variable contains sensitive values (defaults to false) * The data type of the variable,
+ * only specify for formula variables (defaults to null) The operation will fail if: * The user
+ * lacks required permissions * The variable name already exists * The variable type is invalid
*
* @param createVariableRequest (required)
* @return Variable
@@ -212,11 +212,11 @@ public Variable createVariable(CreateVariableRequest createVariableRequest)
* endpoint supports the following types of variables: * CONNECTION_PROPERTY - For connection
* properties * TABLE_MAPPING - For table mappings * CONNECTION_PROPERTY_PER_PRINCIPAL - For
* connection properties per principal. In order to use this please contact support to enable
- * this. * FORMULA_VARIABLE - For Formula variables When creating a variable, you need to
- * specify: * The variable type * A unique name for the variable * Whether the variable contains
- * sensitive values (defaults to false) * The data type of the variable, only specify for fomula
- * variables (defaults to null) The operation will fail if: * The user lacks required
- * permissions * The variable name already exists * The variable type is invalid
+ * this. * FORMULA_VARIABLE - For Formula variables, introduced in 10.15.0.cl When creating a
+ * variable, you need to specify: * The variable type * A unique name for the variable * Whether
+ * the variable contains sensitive values (defaults to false) * The data type of the variable,
+ * only specify for formula variables (defaults to null) The operation will fail if: * The user
+ * lacks required permissions * The variable name already exists * The variable type is invalid
*
* @param createVariableRequest (required)
* @return ApiResponse<Variable>
@@ -248,12 +248,12 @@ public ApiResponse createVariableWithHttpInfo(
* organization scope. The API endpoint supports the following types of variables: *
* CONNECTION_PROPERTY - For connection properties * TABLE_MAPPING - For table mappings *
* CONNECTION_PROPERTY_PER_PRINCIPAL - For connection properties per principal. In order to use
- * this please contact support to enable this. * FORMULA_VARIABLE - For Formula variables When
- * creating a variable, you need to specify: * The variable type * A unique name for the
- * variable * Whether the variable contains sensitive values (defaults to false) * The data type
- * of the variable, only specify for fomula variables (defaults to null) The operation will fail
- * if: * The user lacks required permissions * The variable name already exists * The variable
- * type is invalid
+ * this please contact support to enable this. * FORMULA_VARIABLE - For Formula variables,
+ * introduced in 10.15.0.cl When creating a variable, you need to specify: * The variable type *
+ * A unique name for the variable * Whether the variable contains sensitive values (defaults to
+ * false) * The data type of the variable, only specify for formula variables (defaults to null)
+ * The operation will fail if: * The user lacks required permissions * The variable name already
+ * exists * The variable type is invalid
*
* @param createVariableRequest (required)
* @param _callback The callback to be executed when the API call finishes
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/model/CreateEmailCustomisationResponse.java b/sdks/java/src/main/java/com/thoughtspot/client/model/CreateEmailCustomisationResponse.java
deleted file mode 100644
index 97e3d5b5f..000000000
--- a/sdks/java/src/main/java/com/thoughtspot/client/model/CreateEmailCustomisationResponse.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
- * NOTE: This class is auto generated. Do not edit the class manually.
- */
-
-package com.thoughtspot.client.model;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.TypeAdapter;
-import com.google.gson.TypeAdapterFactory;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.reflect.TypeToken;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import com.thoughtspot.client.JSON;
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-
-/** CreateEmailCustomisationResponse */
-@javax.annotation.Generated(
- value = "org.openapitools.codegen.languages.JavaClientCodegen",
- comments = "Generator version: 7.12.0")
-public class CreateEmailCustomisationResponse implements Serializable {
- private static final long serialVersionUID = 1L;
-
- public static final String SERIALIZED_NAME_TENANT_ID = "tenant_id";
-
- @SerializedName(SERIALIZED_NAME_TENANT_ID)
- @javax.annotation.Nonnull
- private String tenantId;
-
- public static final String SERIALIZED_NAME_ORG = "org";
-
- @SerializedName(SERIALIZED_NAME_ORG)
- @javax.annotation.Nonnull
- private OrgType org;
-
- public static final String SERIALIZED_NAME_NAME = "name";
-
- @SerializedName(SERIALIZED_NAME_NAME)
- @javax.annotation.Nonnull
- private String name;
-
- public static final String SERIALIZED_NAME_TEMPLATE_PROPERTIES = "template_properties";
-
- @SerializedName(SERIALIZED_NAME_TEMPLATE_PROPERTIES)
- @javax.annotation.Nonnull
- private Object templateProperties;
-
- public CreateEmailCustomisationResponse() {}
-
- public CreateEmailCustomisationResponse tenantId(@javax.annotation.Nonnull String tenantId) {
- this.tenantId = tenantId;
- return this;
- }
-
- /**
- * Tenant ID
- *
- * @return tenantId
- */
- @javax.annotation.Nonnull
- public String getTenantId() {
- return tenantId;
- }
-
- public void setTenantId(@javax.annotation.Nonnull String tenantId) {
- this.tenantId = tenantId;
- }
-
- public CreateEmailCustomisationResponse org(@javax.annotation.Nonnull OrgType org) {
- this.org = org;
- return this;
- }
-
- /**
- * Get org
- *
- * @return org
- */
- @javax.annotation.Nonnull
- public OrgType getOrg() {
- return org;
- }
-
- public void setOrg(@javax.annotation.Nonnull OrgType org) {
- this.org = org;
- }
-
- public CreateEmailCustomisationResponse name(@javax.annotation.Nonnull String name) {
- this.name = name;
- return this;
- }
-
- /**
- * Email customization name.
- *
- * @return name
- */
- @javax.annotation.Nonnull
- public String getName() {
- return name;
- }
-
- public void setName(@javax.annotation.Nonnull String name) {
- this.name = name;
- }
-
- public CreateEmailCustomisationResponse templateProperties(
- @javax.annotation.Nonnull Object templateProperties) {
- this.templateProperties = templateProperties;
- return this;
- }
-
- /**
- * Customization configuration for the email
- *
- * @return templateProperties
- */
- @javax.annotation.Nonnull
- public Object getTemplateProperties() {
- return templateProperties;
- }
-
- public void setTemplateProperties(@javax.annotation.Nonnull Object templateProperties) {
- this.templateProperties = templateProperties;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- CreateEmailCustomisationResponse createEmailCustomisationResponse =
- (CreateEmailCustomisationResponse) o;
- return Objects.equals(this.tenantId, createEmailCustomisationResponse.tenantId)
- && Objects.equals(this.org, createEmailCustomisationResponse.org)
- && Objects.equals(this.name, createEmailCustomisationResponse.name)
- && Objects.equals(
- this.templateProperties,
- createEmailCustomisationResponse.templateProperties);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(tenantId, org, name, templateProperties);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class CreateEmailCustomisationResponse {\n");
- sb.append(" tenantId: ").append(toIndentedString(tenantId)).append("\n");
- sb.append(" org: ").append(toIndentedString(org)).append("\n");
- sb.append(" name: ").append(toIndentedString(name)).append("\n");
- sb.append(" templateProperties: ")
- .append(toIndentedString(templateProperties))
- .append("\n");
- sb.append("}");
- return sb.toString();
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces (except the first
- * line).
- */
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-
- public static HashSet openapiFields;
- public static HashSet openapiRequiredFields;
-
- static {
- // a set of all properties/fields (JSON key names)
- openapiFields = new HashSet();
- openapiFields.add("tenant_id");
- openapiFields.add("org");
- openapiFields.add("name");
- openapiFields.add("template_properties");
-
- // a set of required properties/fields (JSON key names)
- openapiRequiredFields = new HashSet();
- openapiRequiredFields.add("tenant_id");
- openapiRequiredFields.add("org");
- openapiRequiredFields.add("name");
- openapiRequiredFields.add("template_properties");
- }
-
- /**
- * Validates the JSON Element and throws an exception if issues found
- *
- * @param jsonElement JSON Element
- * @throws IOException if the JSON Element is invalid with respect to
- * CreateEmailCustomisationResponse
- */
- public static void validateJsonElement(JsonElement jsonElement) throws IOException {
- if (jsonElement == null) {
- if (!CreateEmailCustomisationResponse.openapiRequiredFields
- .isEmpty()) { // has required fields but JSON element is null
- throw new IllegalArgumentException(
- String.format(
- "The required field(s) %s in CreateEmailCustomisationResponse is"
- + " not found in the empty JSON string",
- CreateEmailCustomisationResponse.openapiRequiredFields.toString()));
- }
- }
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!CreateEmailCustomisationResponse.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `CreateEmailCustomisationResponse` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
-
- // check to make sure all required properties/fields are present in the JSON string
- for (String requiredField : CreateEmailCustomisationResponse.openapiRequiredFields) {
- if (jsonElement.getAsJsonObject().get(requiredField) == null) {
- throw new IllegalArgumentException(
- String.format(
- "The required field `%s` is not found in the JSON string: %s",
- requiredField, jsonElement.toString()));
- }
- }
- JsonObject jsonObj = jsonElement.getAsJsonObject();
- if (!jsonObj.get("tenant_id").isJsonPrimitive()) {
- throw new IllegalArgumentException(
- String.format(
- "Expected the field `tenant_id` to be a primitive type in the JSON"
- + " string but got `%s`",
- jsonObj.get("tenant_id").toString()));
- }
- // validate the required field `org`
- OrgType.validateJsonElement(jsonObj.get("org"));
- if (!jsonObj.get("name").isJsonPrimitive()) {
- throw new IllegalArgumentException(
- String.format(
- "Expected the field `name` to be a primitive type in the JSON string"
- + " but got `%s`",
- jsonObj.get("name").toString()));
- }
- }
-
- public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
- @SuppressWarnings("unchecked")
- @Override
- public TypeAdapter create(Gson gson, TypeToken type) {
- if (!CreateEmailCustomisationResponse.class.isAssignableFrom(type.getRawType())) {
- return null; // this class only serializes 'CreateEmailCustomisationResponse' and
- // its subtypes
- }
- final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
- final TypeAdapter thisAdapter =
- gson.getDelegateAdapter(
- this, TypeToken.get(CreateEmailCustomisationResponse.class));
-
- return (TypeAdapter)
- new TypeAdapter() {
- @Override
- public void write(JsonWriter out, CreateEmailCustomisationResponse value)
- throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
- elementAdapter.write(out, obj);
- }
-
- @Override
- public CreateEmailCustomisationResponse read(JsonReader in)
- throws IOException {
- JsonElement jsonElement = elementAdapter.read(in);
- validateJsonElement(jsonElement);
- return thisAdapter.fromJsonTree(jsonElement);
- }
- }.nullSafe();
- }
- }
-
- /**
- * Create an instance of CreateEmailCustomisationResponse given an JSON string
- *
- * @param jsonString JSON string
- * @return An instance of CreateEmailCustomisationResponse
- * @throws IOException if the JSON string is invalid with respect to
- * CreateEmailCustomisationResponse
- */
- public static CreateEmailCustomisationResponse fromJson(String jsonString) throws IOException {
- return JSON.getGson().fromJson(jsonString, CreateEmailCustomisationResponse.class);
- }
-
- /**
- * Convert an instance of CreateEmailCustomisationResponse to an JSON string
- *
- * @return JSON string
- */
- public String toJson() {
- return JSON.getGson().toJson(this);
- }
-}
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/model/CreateRoleRequest.java b/sdks/java/src/main/java/com/thoughtspot/client/model/CreateRoleRequest.java
index 49f125710..24d336103 100644
--- a/sdks/java/src/main/java/com/thoughtspot/client/model/CreateRoleRequest.java
+++ b/sdks/java/src/main/java/com/thoughtspot/client/model/CreateRoleRequest.java
@@ -110,6 +110,8 @@ public enum PrivilegesEnum {
PREVIEW_DOCUMENT_SEARCH("PREVIEW_DOCUMENT_SEARCH"),
+ CAN_MANAGE_VARIABLES("CAN_MANAGE_VARIABLES"),
+
CAN_MODIFY_FOLDERS("CAN_MODIFY_FOLDERS"),
CAN_VIEW_FOLDERS("CAN_VIEW_FOLDERS"),
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/model/CreateUserGroupRequest.java b/sdks/java/src/main/java/com/thoughtspot/client/model/CreateUserGroupRequest.java
index 1b1a5b4d9..7dea7066b 100644
--- a/sdks/java/src/main/java/com/thoughtspot/client/model/CreateUserGroupRequest.java
+++ b/sdks/java/src/main/java/com/thoughtspot/client/model/CreateUserGroupRequest.java
@@ -111,6 +111,8 @@ public enum PrivilegesEnum {
CAN_MODIFY_FOLDERS("CAN_MODIFY_FOLDERS"),
+ CAN_MANAGE_VARIABLES("CAN_MANAGE_VARIABLES"),
+
CAN_VIEW_FOLDERS("CAN_VIEW_FOLDERS"),
PREVIEW_DOCUMENT_SEARCH("PREVIEW_DOCUMENT_SEARCH"),
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/model/CreateVariableRequest.java b/sdks/java/src/main/java/com/thoughtspot/client/model/CreateVariableRequest.java
index 93c20458a..3d91741f5 100644
--- a/sdks/java/src/main/java/com/thoughtspot/client/model/CreateVariableRequest.java
+++ b/sdks/java/src/main/java/com/thoughtspot/client/model/CreateVariableRequest.java
@@ -38,7 +38,9 @@ public enum TypeEnum {
TABLE_MAPPING("TABLE_MAPPING"),
- CONNECTION_PROPERTY_PER_PRINCIPAL("CONNECTION_PROPERTY_PER_PRINCIPAL");
+ CONNECTION_PROPERTY_PER_PRINCIPAL("CONNECTION_PROPERTY_PER_PRINCIPAL"),
+
+ FORMULA_VARIABLE("FORMULA_VARIABLE");
private String value;
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/model/DbtConnectionRequest.java b/sdks/java/src/main/java/com/thoughtspot/client/model/DbtConnectionRequest.java
deleted file mode 100644
index da070b96b..000000000
--- a/sdks/java/src/main/java/com/thoughtspot/client/model/DbtConnectionRequest.java
+++ /dev/null
@@ -1,590 +0,0 @@
-/*
- * NOTE: This class is auto generated. Do not edit the class manually.
- */
-
-package com.thoughtspot.client.model;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.TypeAdapter;
-import com.google.gson.TypeAdapterFactory;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.reflect.TypeToken;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import com.thoughtspot.client.JSON;
-import java.io.File;
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-
-/** DbtConnectionRequest */
-@javax.annotation.Generated(
- value = "org.openapitools.codegen.languages.JavaClientCodegen",
- comments = "Generator version: 7.12.0")
-public class DbtConnectionRequest implements Serializable {
- private static final long serialVersionUID = 1L;
-
- public static final String SERIALIZED_NAME_CONNECTION_NAME = "connection_name";
-
- @SerializedName(SERIALIZED_NAME_CONNECTION_NAME)
- @javax.annotation.Nonnull
- private String connectionName;
-
- public static final String SERIALIZED_NAME_DATABASE_NAME = "database_name";
-
- @SerializedName(SERIALIZED_NAME_DATABASE_NAME)
- @javax.annotation.Nonnull
- private String databaseName;
-
- /** Mention type of Import */
- @JsonAdapter(ImportTypeEnum.Adapter.class)
- public enum ImportTypeEnum {
- DBT_CLOUD("DBT_CLOUD"),
-
- ZIP_FILE("ZIP_FILE");
-
- private String value;
-
- ImportTypeEnum(String value) {
- this.value = value;
- }
-
- public String getValue() {
- return value;
- }
-
- @Override
- public String toString() {
- return String.valueOf(value);
- }
-
- public static ImportTypeEnum fromValue(String value) {
- for (ImportTypeEnum b : ImportTypeEnum.values()) {
- if (b.value.equals(value)) {
- return b;
- }
- }
- throw new IllegalArgumentException("Unexpected value '" + value + "'");
- }
-
- public static class Adapter extends TypeAdapter {
- @Override
- public void write(final JsonWriter jsonWriter, final ImportTypeEnum enumeration)
- throws IOException {
- jsonWriter.value(enumeration.getValue());
- }
-
- @Override
- public ImportTypeEnum read(final JsonReader jsonReader) throws IOException {
- String value = jsonReader.nextString();
- return ImportTypeEnum.fromValue(value);
- }
- }
-
- public static void validateJsonElement(JsonElement jsonElement) throws IOException {
- String value = jsonElement.getAsString();
- ImportTypeEnum.fromValue(value);
- }
- }
-
- public static final String SERIALIZED_NAME_IMPORT_TYPE = "import_type";
-
- @SerializedName(SERIALIZED_NAME_IMPORT_TYPE)
- @javax.annotation.Nullable
- private ImportTypeEnum importType = ImportTypeEnum.DBT_CLOUD;
-
- public static final String SERIALIZED_NAME_ACCESS_TOKEN = "access_token";
-
- @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN)
- @javax.annotation.Nullable
- private String accessToken;
-
- public static final String SERIALIZED_NAME_DBT_URL = "dbt_url";
-
- @SerializedName(SERIALIZED_NAME_DBT_URL)
- @javax.annotation.Nullable
- private String dbtUrl;
-
- public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id";
-
- @SerializedName(SERIALIZED_NAME_ACCOUNT_ID)
- @javax.annotation.Nullable
- private String accountId;
-
- public static final String SERIALIZED_NAME_PROJECT_ID = "project_id";
-
- @SerializedName(SERIALIZED_NAME_PROJECT_ID)
- @javax.annotation.Nullable
- private String projectId;
-
- public static final String SERIALIZED_NAME_DBT_ENV_ID = "dbt_env_id";
-
- @SerializedName(SERIALIZED_NAME_DBT_ENV_ID)
- @javax.annotation.Nullable
- private String dbtEnvId;
-
- public static final String SERIALIZED_NAME_PROJECT_NAME = "project_name";
-
- @SerializedName(SERIALIZED_NAME_PROJECT_NAME)
- @javax.annotation.Nullable
- private String projectName;
-
- public static final String SERIALIZED_NAME_FILE_CONTENT = "file_content";
-
- @SerializedName(SERIALIZED_NAME_FILE_CONTENT)
- @javax.annotation.Nullable
- private File fileContent;
-
- public DbtConnectionRequest() {}
-
- public DbtConnectionRequest connectionName(@javax.annotation.Nonnull String connectionName) {
- this.connectionName = connectionName;
- return this;
- }
-
- /**
- * Name of the connection.
- *
- * @return connectionName
- */
- @javax.annotation.Nonnull
- public String getConnectionName() {
- return connectionName;
- }
-
- public void setConnectionName(@javax.annotation.Nonnull String connectionName) {
- this.connectionName = connectionName;
- }
-
- public DbtConnectionRequest databaseName(@javax.annotation.Nonnull String databaseName) {
- this.databaseName = databaseName;
- return this;
- }
-
- /**
- * Name of the Database.
- *
- * @return databaseName
- */
- @javax.annotation.Nonnull
- public String getDatabaseName() {
- return databaseName;
- }
-
- public void setDatabaseName(@javax.annotation.Nonnull String databaseName) {
- this.databaseName = databaseName;
- }
-
- public DbtConnectionRequest importType(@javax.annotation.Nullable ImportTypeEnum importType) {
- this.importType = importType;
- return this;
- }
-
- /**
- * Mention type of Import
- *
- * @return importType
- */
- @javax.annotation.Nullable
- public ImportTypeEnum getImportType() {
- return importType;
- }
-
- public void setImportType(@javax.annotation.Nullable ImportTypeEnum importType) {
- this.importType = importType;
- }
-
- public DbtConnectionRequest accessToken(@javax.annotation.Nullable String accessToken) {
- this.accessToken = accessToken;
- return this;
- }
-
- /**
- * Access token is mandatory when Import_Type is DBT_CLOUD.
- *
- * @return accessToken
- */
- @javax.annotation.Nullable
- public String getAccessToken() {
- return accessToken;
- }
-
- public void setAccessToken(@javax.annotation.Nullable String accessToken) {
- this.accessToken = accessToken;
- }
-
- public DbtConnectionRequest dbtUrl(@javax.annotation.Nullable String dbtUrl) {
- this.dbtUrl = dbtUrl;
- return this;
- }
-
- /**
- * DBT URL is mandatory when Import_Type is DBT_CLOUD.
- *
- * @return dbtUrl
- */
- @javax.annotation.Nullable
- public String getDbtUrl() {
- return dbtUrl;
- }
-
- public void setDbtUrl(@javax.annotation.Nullable String dbtUrl) {
- this.dbtUrl = dbtUrl;
- }
-
- public DbtConnectionRequest accountId(@javax.annotation.Nullable String accountId) {
- this.accountId = accountId;
- return this;
- }
-
- /**
- * Account ID is mandatory when Import_Type is DBT_CLOUD
- *
- * @return accountId
- */
- @javax.annotation.Nullable
- public String getAccountId() {
- return accountId;
- }
-
- public void setAccountId(@javax.annotation.Nullable String accountId) {
- this.accountId = accountId;
- }
-
- public DbtConnectionRequest projectId(@javax.annotation.Nullable String projectId) {
- this.projectId = projectId;
- return this;
- }
-
- /**
- * Project ID is mandatory when Import_Type is DBT_CLOUD
- *
- * @return projectId
- */
- @javax.annotation.Nullable
- public String getProjectId() {
- return projectId;
- }
-
- public void setProjectId(@javax.annotation.Nullable String projectId) {
- this.projectId = projectId;
- }
-
- public DbtConnectionRequest dbtEnvId(@javax.annotation.Nullable String dbtEnvId) {
- this.dbtEnvId = dbtEnvId;
- return this;
- }
-
- /**
- * DBT Environment ID\"
- *
- * @return dbtEnvId
- */
- @javax.annotation.Nullable
- public String getDbtEnvId() {
- return dbtEnvId;
- }
-
- public void setDbtEnvId(@javax.annotation.Nullable String dbtEnvId) {
- this.dbtEnvId = dbtEnvId;
- }
-
- public DbtConnectionRequest projectName(@javax.annotation.Nullable String projectName) {
- this.projectName = projectName;
- return this;
- }
-
- /**
- * Name of the project
- *
- * @return projectName
- */
- @javax.annotation.Nullable
- public String getProjectName() {
- return projectName;
- }
-
- public void setProjectName(@javax.annotation.Nullable String projectName) {
- this.projectName = projectName;
- }
-
- public DbtConnectionRequest fileContent(@javax.annotation.Nullable File fileContent) {
- this.fileContent = fileContent;
- return this;
- }
-
- /**
- * Upload DBT Manifest and Catalog artifact files as a ZIP file. This field is Mandatory when
- * Import Type is 'ZIP_FILE'
- *
- * @return fileContent
- */
- @javax.annotation.Nullable
- public File getFileContent() {
- return fileContent;
- }
-
- public void setFileContent(@javax.annotation.Nullable File fileContent) {
- this.fileContent = fileContent;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- DbtConnectionRequest dbtConnectionRequest = (DbtConnectionRequest) o;
- return Objects.equals(this.connectionName, dbtConnectionRequest.connectionName)
- && Objects.equals(this.databaseName, dbtConnectionRequest.databaseName)
- && Objects.equals(this.importType, dbtConnectionRequest.importType)
- && Objects.equals(this.accessToken, dbtConnectionRequest.accessToken)
- && Objects.equals(this.dbtUrl, dbtConnectionRequest.dbtUrl)
- && Objects.equals(this.accountId, dbtConnectionRequest.accountId)
- && Objects.equals(this.projectId, dbtConnectionRequest.projectId)
- && Objects.equals(this.dbtEnvId, dbtConnectionRequest.dbtEnvId)
- && Objects.equals(this.projectName, dbtConnectionRequest.projectName)
- && Objects.equals(this.fileContent, dbtConnectionRequest.fileContent);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(
- connectionName,
- databaseName,
- importType,
- accessToken,
- dbtUrl,
- accountId,
- projectId,
- dbtEnvId,
- projectName,
- fileContent);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class DbtConnectionRequest {\n");
- sb.append(" connectionName: ").append(toIndentedString(connectionName)).append("\n");
- sb.append(" databaseName: ").append(toIndentedString(databaseName)).append("\n");
- sb.append(" importType: ").append(toIndentedString(importType)).append("\n");
- sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n");
- sb.append(" dbtUrl: ").append(toIndentedString(dbtUrl)).append("\n");
- sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n");
- sb.append(" projectId: ").append(toIndentedString(projectId)).append("\n");
- sb.append(" dbtEnvId: ").append(toIndentedString(dbtEnvId)).append("\n");
- sb.append(" projectName: ").append(toIndentedString(projectName)).append("\n");
- sb.append(" fileContent: ").append(toIndentedString(fileContent)).append("\n");
- sb.append("}");
- return sb.toString();
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces (except the first
- * line).
- */
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-
- public static HashSet openapiFields;
- public static HashSet openapiRequiredFields;
-
- static {
- // a set of all properties/fields (JSON key names)
- openapiFields = new HashSet();
- openapiFields.add("connection_name");
- openapiFields.add("database_name");
- openapiFields.add("import_type");
- openapiFields.add("access_token");
- openapiFields.add("dbt_url");
- openapiFields.add("account_id");
- openapiFields.add("project_id");
- openapiFields.add("dbt_env_id");
- openapiFields.add("project_name");
- openapiFields.add("file_content");
-
- // a set of required properties/fields (JSON key names)
- openapiRequiredFields = new HashSet();
- openapiRequiredFields.add("connection_name");
- openapiRequiredFields.add("database_name");
- }
-
- /**
- * Validates the JSON Element and throws an exception if issues found
- *
- * @param jsonElement JSON Element
- * @throws IOException if the JSON Element is invalid with respect to DbtConnectionRequest
- */
- public static void validateJsonElement(JsonElement jsonElement) throws IOException {
- if (jsonElement == null) {
- if (!DbtConnectionRequest.openapiRequiredFields
- .isEmpty()) { // has required fields but JSON element is null
- throw new IllegalArgumentException(
- String.format(
- "The required field(s) %s in DbtConnectionRequest is not found in"
- + " the empty JSON string",
- DbtConnectionRequest.openapiRequiredFields.toString()));
- }
- }
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!DbtConnectionRequest.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `DbtConnectionRequest` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
-
- // check to make sure all required properties/fields are present in the JSON string
- for (String requiredField : DbtConnectionRequest.openapiRequiredFields) {
- if (jsonElement.getAsJsonObject().get(requiredField) == null) {
- throw new IllegalArgumentException(
- String.format(
- "The required field `%s` is not found in the JSON string: %s",
- requiredField, jsonElement.toString()));
- }
- }
- JsonObject jsonObj = jsonElement.getAsJsonObject();
- if (!jsonObj.get("connection_name").isJsonPrimitive()) {
- throw new IllegalArgumentException(
- String.format(
- "Expected the field `connection_name` to be a primitive type in the"
- + " JSON string but got `%s`",
- jsonObj.get("connection_name").toString()));
- }
- if (!jsonObj.get("database_name").isJsonPrimitive()) {
- throw new IllegalArgumentException(
- String.format(
- "Expected the field `database_name` to be a primitive type in the JSON"
- + " string but got `%s`",
- jsonObj.get("database_name").toString()));
- }
- if ((jsonObj.get("import_type") != null && !jsonObj.get("import_type").isJsonNull())
- && !jsonObj.get("import_type").isJsonPrimitive()) {
- throw new IllegalArgumentException(
- String.format(
- "Expected the field `import_type` to be a primitive type in the JSON"
- + " string but got `%s`",
- jsonObj.get("import_type").toString()));
- }
- // validate the optional field `import_type`
- if (jsonObj.get("import_type") != null && !jsonObj.get("import_type").isJsonNull()) {
- ImportTypeEnum.validateJsonElement(jsonObj.get("import_type"));
- }
- if ((jsonObj.get("access_token") != null && !jsonObj.get("access_token").isJsonNull())
- && !jsonObj.get("access_token").isJsonPrimitive()) {
- throw new IllegalArgumentException(
- String.format(
- "Expected the field `access_token` to be a primitive type in the JSON"
- + " string but got `%s`",
- jsonObj.get("access_token").toString()));
- }
- if ((jsonObj.get("dbt_url") != null && !jsonObj.get("dbt_url").isJsonNull())
- && !jsonObj.get("dbt_url").isJsonPrimitive()) {
- throw new IllegalArgumentException(
- String.format(
- "Expected the field `dbt_url` to be a primitive type in the JSON"
- + " string but got `%s`",
- jsonObj.get("dbt_url").toString()));
- }
- if ((jsonObj.get("account_id") != null && !jsonObj.get("account_id").isJsonNull())
- && !jsonObj.get("account_id").isJsonPrimitive()) {
- throw new IllegalArgumentException(
- String.format(
- "Expected the field `account_id` to be a primitive type in the JSON"
- + " string but got `%s`",
- jsonObj.get("account_id").toString()));
- }
- if ((jsonObj.get("project_id") != null && !jsonObj.get("project_id").isJsonNull())
- && !jsonObj.get("project_id").isJsonPrimitive()) {
- throw new IllegalArgumentException(
- String.format(
- "Expected the field `project_id` to be a primitive type in the JSON"
- + " string but got `%s`",
- jsonObj.get("project_id").toString()));
- }
- if ((jsonObj.get("dbt_env_id") != null && !jsonObj.get("dbt_env_id").isJsonNull())
- && !jsonObj.get("dbt_env_id").isJsonPrimitive()) {
- throw new IllegalArgumentException(
- String.format(
- "Expected the field `dbt_env_id` to be a primitive type in the JSON"
- + " string but got `%s`",
- jsonObj.get("dbt_env_id").toString()));
- }
- if ((jsonObj.get("project_name") != null && !jsonObj.get("project_name").isJsonNull())
- && !jsonObj.get("project_name").isJsonPrimitive()) {
- throw new IllegalArgumentException(
- String.format(
- "Expected the field `project_name` to be a primitive type in the JSON"
- + " string but got `%s`",
- jsonObj.get("project_name").toString()));
- }
- }
-
- public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
- @SuppressWarnings("unchecked")
- @Override
- public TypeAdapter create(Gson gson, TypeToken type) {
- if (!DbtConnectionRequest.class.isAssignableFrom(type.getRawType())) {
- return null; // this class only serializes 'DbtConnectionRequest' and its subtypes
- }
- final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
- final TypeAdapter thisAdapter =
- gson.getDelegateAdapter(this, TypeToken.get(DbtConnectionRequest.class));
-
- return (TypeAdapter)
- new TypeAdapter() {
- @Override
- public void write(JsonWriter out, DbtConnectionRequest value)
- throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
- elementAdapter.write(out, obj);
- }
-
- @Override
- public DbtConnectionRequest read(JsonReader in) throws IOException {
- JsonElement jsonElement = elementAdapter.read(in);
- validateJsonElement(jsonElement);
- return thisAdapter.fromJsonTree(jsonElement);
- }
- }.nullSafe();
- }
- }
-
- /**
- * Create an instance of DbtConnectionRequest given an JSON string
- *
- * @param jsonString JSON string
- * @return An instance of DbtConnectionRequest
- * @throws IOException if the JSON string is invalid with respect to DbtConnectionRequest
- */
- public static DbtConnectionRequest fromJson(String jsonString) throws IOException {
- return JSON.getGson().fromJson(jsonString, DbtConnectionRequest.class);
- }
-
- /**
- * Convert an instance of DbtConnectionRequest to an JSON string
- *
- * @return JSON string
- */
- public String toJson() {
- return JSON.getGson().toJson(this);
- }
-}
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/model/DbtGenerateTmlRequest.java b/sdks/java/src/main/java/com/thoughtspot/client/model/DbtGenerateTmlRequest.java
deleted file mode 100644
index 6b87fce15..000000000
--- a/sdks/java/src/main/java/com/thoughtspot/client/model/DbtGenerateTmlRequest.java
+++ /dev/null
@@ -1,442 +0,0 @@
-/*
- * NOTE: This class is auto generated. Do not edit the class manually.
- */
-
-package com.thoughtspot.client.model;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.TypeAdapter;
-import com.google.gson.TypeAdapterFactory;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.reflect.TypeToken;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import com.thoughtspot.client.JSON;
-import java.io.File;
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-
-/** DbtGenerateTmlRequest */
-@javax.annotation.Generated(
- value = "org.openapitools.codegen.languages.JavaClientCodegen",
- comments = "Generator version: 7.12.0")
-public class DbtGenerateTmlRequest implements Serializable {
- private static final long serialVersionUID = 1L;
-
- public static final String SERIALIZED_NAME_DBT_CONNECTION_IDENTIFIER =
- "dbt_connection_identifier";
-
- @SerializedName(SERIALIZED_NAME_DBT_CONNECTION_IDENTIFIER)
- @javax.annotation.Nonnull
- private String dbtConnectionIdentifier;
-
- public static final String SERIALIZED_NAME_MODEL_TABLES = "model_tables";
-
- @SerializedName(SERIALIZED_NAME_MODEL_TABLES)
- @javax.annotation.Nullable
- private List modelTables;
-
- /** Mention the worksheet tmls to import */
- @JsonAdapter(ImportWorksheetsEnum.Adapter.class)
- public enum ImportWorksheetsEnum {
- ALL("ALL"),
-
- NONE("NONE"),
-
- SELECTED("SELECTED");
-
- private String value;
-
- ImportWorksheetsEnum(String value) {
- this.value = value;
- }
-
- public String getValue() {
- return value;
- }
-
- @Override
- public String toString() {
- return String.valueOf(value);
- }
-
- public static ImportWorksheetsEnum fromValue(String value) {
- for (ImportWorksheetsEnum b : ImportWorksheetsEnum.values()) {
- if (b.value.equals(value)) {
- return b;
- }
- }
- throw new IllegalArgumentException("Unexpected value '" + value + "'");
- }
-
- public static class Adapter extends TypeAdapter {
- @Override
- public void write(final JsonWriter jsonWriter, final ImportWorksheetsEnum enumeration)
- throws IOException {
- jsonWriter.value(enumeration.getValue());
- }
-
- @Override
- public ImportWorksheetsEnum read(final JsonReader jsonReader) throws IOException {
- String value = jsonReader.nextString();
- return ImportWorksheetsEnum.fromValue(value);
- }
- }
-
- public static void validateJsonElement(JsonElement jsonElement) throws IOException {
- String value = jsonElement.getAsString();
- ImportWorksheetsEnum.fromValue(value);
- }
- }
-
- public static final String SERIALIZED_NAME_IMPORT_WORKSHEETS = "import_worksheets";
-
- @SerializedName(SERIALIZED_NAME_IMPORT_WORKSHEETS)
- @javax.annotation.Nonnull
- private ImportWorksheetsEnum importWorksheets;
-
- public static final String SERIALIZED_NAME_WORKSHEETS = "worksheets";
-
- @SerializedName(SERIALIZED_NAME_WORKSHEETS)
- @javax.annotation.Nullable
- private List worksheets;
-
- public static final String SERIALIZED_NAME_FILE_CONTENT = "file_content";
-
- @SerializedName(SERIALIZED_NAME_FILE_CONTENT)
- @javax.annotation.Nullable
- private File fileContent;
-
- public DbtGenerateTmlRequest() {}
-
- public DbtGenerateTmlRequest dbtConnectionIdentifier(
- @javax.annotation.Nonnull String dbtConnectionIdentifier) {
- this.dbtConnectionIdentifier = dbtConnectionIdentifier;
- return this;
- }
-
- /**
- * Unique ID of the DBT connection.
- *
- * @return dbtConnectionIdentifier
- */
- @javax.annotation.Nonnull
- public String getDbtConnectionIdentifier() {
- return dbtConnectionIdentifier;
- }
-
- public void setDbtConnectionIdentifier(
- @javax.annotation.Nonnull String dbtConnectionIdentifier) {
- this.dbtConnectionIdentifier = dbtConnectionIdentifier;
- }
-
- public DbtGenerateTmlRequest modelTables(
- @javax.annotation.Nullable List modelTables) {
- this.modelTables = modelTables;
- return this;
- }
-
- public DbtGenerateTmlRequest addModelTablesItem(ModelTableList modelTablesItem) {
- if (this.modelTables == null) {
- this.modelTables = new ArrayList<>();
- }
- this.modelTables.add(modelTablesItem);
- return this;
- }
-
- /**
- * List of Models and their respective Tables
- *
- * @return modelTables
- */
- @javax.annotation.Nullable
- public List getModelTables() {
- return modelTables;
- }
-
- public void setModelTables(@javax.annotation.Nullable List modelTables) {
- this.modelTables = modelTables;
- }
-
- public DbtGenerateTmlRequest importWorksheets(
- @javax.annotation.Nonnull ImportWorksheetsEnum importWorksheets) {
- this.importWorksheets = importWorksheets;
- return this;
- }
-
- /**
- * Mention the worksheet tmls to import
- *
- * @return importWorksheets
- */
- @javax.annotation.Nonnull
- public ImportWorksheetsEnum getImportWorksheets() {
- return importWorksheets;
- }
-
- public void setImportWorksheets(
- @javax.annotation.Nonnull ImportWorksheetsEnum importWorksheets) {
- this.importWorksheets = importWorksheets;
- }
-
- public DbtGenerateTmlRequest worksheets(@javax.annotation.Nullable List worksheets) {
- this.worksheets = worksheets;
- return this;
- }
-
- public DbtGenerateTmlRequest addWorksheetsItem(String worksheetsItem) {
- if (this.worksheets == null) {
- this.worksheets = new ArrayList<>();
- }
- this.worksheets.add(worksheetsItem);
- return this;
- }
-
- /**
- * List of worksheets is mandatory when import_Worksheets is type SELECTED
- *
- * @return worksheets
- */
- @javax.annotation.Nullable
- public List getWorksheets() {
- return worksheets;
- }
-
- public void setWorksheets(@javax.annotation.Nullable List worksheets) {
- this.worksheets = worksheets;
- }
-
- public DbtGenerateTmlRequest fileContent(@javax.annotation.Nullable File fileContent) {
- this.fileContent = fileContent;
- return this;
- }
-
- /**
- * Upload DBT Manifest and Catalog artifact files as a ZIP file. This field is mandatory if the
- * connection was created with import_type ‘ZIP_FILE’
- *
- * @return fileContent
- */
- @javax.annotation.Nullable
- public File getFileContent() {
- return fileContent;
- }
-
- public void setFileContent(@javax.annotation.Nullable File fileContent) {
- this.fileContent = fileContent;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- DbtGenerateTmlRequest dbtGenerateTmlRequest = (DbtGenerateTmlRequest) o;
- return Objects.equals(
- this.dbtConnectionIdentifier, dbtGenerateTmlRequest.dbtConnectionIdentifier)
- && Objects.equals(this.modelTables, dbtGenerateTmlRequest.modelTables)
- && Objects.equals(this.importWorksheets, dbtGenerateTmlRequest.importWorksheets)
- && Objects.equals(this.worksheets, dbtGenerateTmlRequest.worksheets)
- && Objects.equals(this.fileContent, dbtGenerateTmlRequest.fileContent);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(
- dbtConnectionIdentifier, modelTables, importWorksheets, worksheets, fileContent);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class DbtGenerateTmlRequest {\n");
- sb.append(" dbtConnectionIdentifier: ")
- .append(toIndentedString(dbtConnectionIdentifier))
- .append("\n");
- sb.append(" modelTables: ").append(toIndentedString(modelTables)).append("\n");
- sb.append(" importWorksheets: ").append(toIndentedString(importWorksheets)).append("\n");
- sb.append(" worksheets: ").append(toIndentedString(worksheets)).append("\n");
- sb.append(" fileContent: ").append(toIndentedString(fileContent)).append("\n");
- sb.append("}");
- return sb.toString();
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces (except the first
- * line).
- */
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-
- public static HashSet openapiFields;
- public static HashSet openapiRequiredFields;
-
- static {
- // a set of all properties/fields (JSON key names)
- openapiFields = new HashSet();
- openapiFields.add("dbt_connection_identifier");
- openapiFields.add("model_tables");
- openapiFields.add("import_worksheets");
- openapiFields.add("worksheets");
- openapiFields.add("file_content");
-
- // a set of required properties/fields (JSON key names)
- openapiRequiredFields = new HashSet();
- openapiRequiredFields.add("dbt_connection_identifier");
- openapiRequiredFields.add("import_worksheets");
- }
-
- /**
- * Validates the JSON Element and throws an exception if issues found
- *
- * @param jsonElement JSON Element
- * @throws IOException if the JSON Element is invalid with respect to DbtGenerateTmlRequest
- */
- public static void validateJsonElement(JsonElement jsonElement) throws IOException {
- if (jsonElement == null) {
- if (!DbtGenerateTmlRequest.openapiRequiredFields
- .isEmpty()) { // has required fields but JSON element is null
- throw new IllegalArgumentException(
- String.format(
- "The required field(s) %s in DbtGenerateTmlRequest is not found in"
- + " the empty JSON string",
- DbtGenerateTmlRequest.openapiRequiredFields.toString()));
- }
- }
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!DbtGenerateTmlRequest.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `DbtGenerateTmlRequest` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
-
- // check to make sure all required properties/fields are present in the JSON string
- for (String requiredField : DbtGenerateTmlRequest.openapiRequiredFields) {
- if (jsonElement.getAsJsonObject().get(requiredField) == null) {
- throw new IllegalArgumentException(
- String.format(
- "The required field `%s` is not found in the JSON string: %s",
- requiredField, jsonElement.toString()));
- }
- }
- JsonObject jsonObj = jsonElement.getAsJsonObject();
- if (!jsonObj.get("dbt_connection_identifier").isJsonPrimitive()) {
- throw new IllegalArgumentException(
- String.format(
- "Expected the field `dbt_connection_identifier` to be a primitive type"
- + " in the JSON string but got `%s`",
- jsonObj.get("dbt_connection_identifier").toString()));
- }
- if (jsonObj.get("model_tables") != null && !jsonObj.get("model_tables").isJsonNull()) {
- JsonArray jsonArraymodelTables = jsonObj.getAsJsonArray("model_tables");
- if (jsonArraymodelTables != null) {
- // ensure the json data is an array
- if (!jsonObj.get("model_tables").isJsonArray()) {
- throw new IllegalArgumentException(
- String.format(
- "Expected the field `model_tables` to be an array in the JSON"
- + " string but got `%s`",
- jsonObj.get("model_tables").toString()));
- }
-
- // validate the optional field `model_tables` (array)
- for (int i = 0; i < jsonArraymodelTables.size(); i++) {
- ModelTableList.validateJsonElement(jsonArraymodelTables.get(i));
- }
- ;
- }
- }
- if (!jsonObj.get("import_worksheets").isJsonPrimitive()) {
- throw new IllegalArgumentException(
- String.format(
- "Expected the field `import_worksheets` to be a primitive type in the"
- + " JSON string but got `%s`",
- jsonObj.get("import_worksheets").toString()));
- }
- // validate the required field `import_worksheets`
- ImportWorksheetsEnum.validateJsonElement(jsonObj.get("import_worksheets"));
- // ensure the optional json data is an array if present
- if (jsonObj.get("worksheets") != null
- && !jsonObj.get("worksheets").isJsonNull()
- && !jsonObj.get("worksheets").isJsonArray()) {
- throw new IllegalArgumentException(
- String.format(
- "Expected the field `worksheets` to be an array in the JSON string but"
- + " got `%s`",
- jsonObj.get("worksheets").toString()));
- }
- }
-
- public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
- @SuppressWarnings("unchecked")
- @Override
- public TypeAdapter create(Gson gson, TypeToken type) {
- if (!DbtGenerateTmlRequest.class.isAssignableFrom(type.getRawType())) {
- return null; // this class only serializes 'DbtGenerateTmlRequest' and its subtypes
- }
- final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
- final TypeAdapter thisAdapter =
- gson.getDelegateAdapter(this, TypeToken.get(DbtGenerateTmlRequest.class));
-
- return (TypeAdapter)
- new TypeAdapter() {
- @Override
- public void write(JsonWriter out, DbtGenerateTmlRequest value)
- throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
- elementAdapter.write(out, obj);
- }
-
- @Override
- public DbtGenerateTmlRequest read(JsonReader in) throws IOException {
- JsonElement jsonElement = elementAdapter.read(in);
- validateJsonElement(jsonElement);
- return thisAdapter.fromJsonTree(jsonElement);
- }
- }.nullSafe();
- }
- }
-
- /**
- * Create an instance of DbtGenerateTmlRequest given an JSON string
- *
- * @param jsonString JSON string
- * @return An instance of DbtGenerateTmlRequest
- * @throws IOException if the JSON string is invalid with respect to DbtGenerateTmlRequest
- */
- public static DbtGenerateTmlRequest fromJson(String jsonString) throws IOException {
- return JSON.getGson().fromJson(jsonString, DbtGenerateTmlRequest.class);
- }
-
- /**
- * Convert an instance of DbtGenerateTmlRequest to an JSON string
- *
- * @return JSON string
- */
- public String toJson() {
- return JSON.getGson().toJson(this);
- }
-}
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/model/EurekaGetNLInstructionsResponse.java b/sdks/java/src/main/java/com/thoughtspot/client/model/EurekaGetNLInstructionsResponse.java
new file mode 100644
index 000000000..9ebe94ec2
--- /dev/null
+++ b/sdks/java/src/main/java/com/thoughtspot/client/model/EurekaGetNLInstructionsResponse.java
@@ -0,0 +1,237 @@
+/*
+ * NOTE: This class is auto generated. Do not edit the class manually.
+ */
+
+package com.thoughtspot.client.model;
+
+import com.google.gson.Gson;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.TypeAdapter;
+import com.google.gson.TypeAdapterFactory;
+import com.google.gson.annotations.SerializedName;
+import com.google.gson.reflect.TypeToken;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+import com.thoughtspot.client.JSON;
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+
+/** EurekaGetNLInstructionsResponse */
+@javax.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.12.0")
+public class EurekaGetNLInstructionsResponse implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ public static final String SERIALIZED_NAME_NL_INSTRUCTIONS_INFO = "nl_instructions_info";
+
+ @SerializedName(SERIALIZED_NAME_NL_INSTRUCTIONS_INFO)
+ @javax.annotation.Nonnull
+ private List nlInstructionsInfo;
+
+ public EurekaGetNLInstructionsResponse() {}
+
+ public EurekaGetNLInstructionsResponse nlInstructionsInfo(
+ @javax.annotation.Nonnull List nlInstructionsInfo) {
+ this.nlInstructionsInfo = nlInstructionsInfo;
+ return this;
+ }
+
+ public EurekaGetNLInstructionsResponse addNlInstructionsInfoItem(
+ NLInstructionsInfo nlInstructionsInfoItem) {
+ if (this.nlInstructionsInfo == null) {
+ this.nlInstructionsInfo = new ArrayList<>();
+ }
+ this.nlInstructionsInfo.add(nlInstructionsInfoItem);
+ return this;
+ }
+
+ /**
+ * List of NL instructions with their scopes.
+ *
+ * @return nlInstructionsInfo
+ */
+ @javax.annotation.Nonnull
+ public List getNlInstructionsInfo() {
+ return nlInstructionsInfo;
+ }
+
+ public void setNlInstructionsInfo(
+ @javax.annotation.Nonnull List nlInstructionsInfo) {
+ this.nlInstructionsInfo = nlInstructionsInfo;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ EurekaGetNLInstructionsResponse eurekaGetNLInstructionsResponse =
+ (EurekaGetNLInstructionsResponse) o;
+ return Objects.equals(
+ this.nlInstructionsInfo, eurekaGetNLInstructionsResponse.nlInstructionsInfo);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(nlInstructionsInfo);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class EurekaGetNLInstructionsResponse {\n");
+ sb.append(" nlInstructionsInfo: ")
+ .append(toIndentedString(nlInstructionsInfo))
+ .append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first
+ * line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+ public static HashSet openapiFields;
+ public static HashSet openapiRequiredFields;
+
+ static {
+ // a set of all properties/fields (JSON key names)
+ openapiFields = new HashSet();
+ openapiFields.add("nl_instructions_info");
+
+ // a set of required properties/fields (JSON key names)
+ openapiRequiredFields = new HashSet();
+ openapiRequiredFields.add("nl_instructions_info");
+ }
+
+ /**
+ * Validates the JSON Element and throws an exception if issues found
+ *
+ * @param jsonElement JSON Element
+ * @throws IOException if the JSON Element is invalid with respect to
+ * EurekaGetNLInstructionsResponse
+ */
+ public static void validateJsonElement(JsonElement jsonElement) throws IOException {
+ if (jsonElement == null) {
+ if (!EurekaGetNLInstructionsResponse.openapiRequiredFields
+ .isEmpty()) { // has required fields but JSON element is null
+ throw new IllegalArgumentException(
+ String.format(
+ "The required field(s) %s in EurekaGetNLInstructionsResponse is"
+ + " not found in the empty JSON string",
+ EurekaGetNLInstructionsResponse.openapiRequiredFields.toString()));
+ }
+ }
+
+ Set> entries = jsonElement.getAsJsonObject().entrySet();
+ // check to see if the JSON string contains additional fields
+ for (Map.Entry entry : entries) {
+ if (!EurekaGetNLInstructionsResponse.openapiFields.contains(entry.getKey())) {
+ throw new IllegalArgumentException(
+ String.format(
+ "The field `%s` in the JSON string is not defined in the"
+ + " `EurekaGetNLInstructionsResponse` properties. JSON: %s",
+ entry.getKey(), jsonElement.toString()));
+ }
+ }
+
+ // check to make sure all required properties/fields are present in the JSON string
+ for (String requiredField : EurekaGetNLInstructionsResponse.openapiRequiredFields) {
+ if (jsonElement.getAsJsonObject().get(requiredField) == null) {
+ throw new IllegalArgumentException(
+ String.format(
+ "The required field `%s` is not found in the JSON string: %s",
+ requiredField, jsonElement.toString()));
+ }
+ }
+ JsonObject jsonObj = jsonElement.getAsJsonObject();
+ // ensure the json data is an array
+ if (!jsonObj.get("nl_instructions_info").isJsonArray()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `nl_instructions_info` to be an array in the JSON"
+ + " string but got `%s`",
+ jsonObj.get("nl_instructions_info").toString()));
+ }
+
+ JsonArray jsonArraynlInstructionsInfo = jsonObj.getAsJsonArray("nl_instructions_info");
+ // validate the required field `nl_instructions_info` (array)
+ for (int i = 0; i < jsonArraynlInstructionsInfo.size(); i++) {
+ NLInstructionsInfo.validateJsonElement(jsonArraynlInstructionsInfo.get(i));
+ }
+ ;
+ }
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!EurekaGetNLInstructionsResponse.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'EurekaGetNLInstructionsResponse' and its
+ // subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter =
+ gson.getDelegateAdapter(
+ this, TypeToken.get(EurekaGetNLInstructionsResponse.class));
+
+ return (TypeAdapter)
+ new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, EurekaGetNLInstructionsResponse value)
+ throws IOException {
+ JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ elementAdapter.write(out, obj);
+ }
+
+ @Override
+ public EurekaGetNLInstructionsResponse read(JsonReader in)
+ throws IOException {
+ JsonElement jsonElement = elementAdapter.read(in);
+ validateJsonElement(jsonElement);
+ return thisAdapter.fromJsonTree(jsonElement);
+ }
+ }.nullSafe();
+ }
+ }
+
+ /**
+ * Create an instance of EurekaGetNLInstructionsResponse given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of EurekaGetNLInstructionsResponse
+ * @throws IOException if the JSON string is invalid with respect to
+ * EurekaGetNLInstructionsResponse
+ */
+ public static EurekaGetNLInstructionsResponse fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, EurekaGetNLInstructionsResponse.class);
+ }
+
+ /**
+ * Convert an instance of EurekaGetNLInstructionsResponse to an JSON string
+ *
+ * @return JSON string
+ */
+ public String toJson() {
+ return JSON.getGson().toJson(this);
+ }
+}
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/model/CreateEmailCustomisationRequest.java b/sdks/java/src/main/java/com/thoughtspot/client/model/EurekaSetNLInstructionsResponse.java
similarity index 64%
rename from sdks/java/src/main/java/com/thoughtspot/client/model/CreateEmailCustomisationRequest.java
rename to sdks/java/src/main/java/com/thoughtspot/client/model/EurekaSetNLInstructionsResponse.java
index 020a9fa89..273836f29 100644
--- a/sdks/java/src/main/java/com/thoughtspot/client/model/CreateEmailCustomisationRequest.java
+++ b/sdks/java/src/main/java/com/thoughtspot/client/model/EurekaSetNLInstructionsResponse.java
@@ -21,39 +21,38 @@
import java.util.Objects;
import java.util.Set;
-/** CreateEmailCustomisationRequest */
+/** EurekaSetNLInstructionsResponse */
@javax.annotation.Generated(
value = "org.openapitools.codegen.languages.JavaClientCodegen",
comments = "Generator version: 7.12.0")
-public class CreateEmailCustomisationRequest implements Serializable {
+public class EurekaSetNLInstructionsResponse implements Serializable {
private static final long serialVersionUID = 1L;
- public static final String SERIALIZED_NAME_TEMPLATE_PROPERTIES = "template_properties";
+ public static final String SERIALIZED_NAME_SUCCESS = "success";
- @SerializedName(SERIALIZED_NAME_TEMPLATE_PROPERTIES)
+ @SerializedName(SERIALIZED_NAME_SUCCESS)
@javax.annotation.Nonnull
- private Object templateProperties;
+ private Boolean success;
- public CreateEmailCustomisationRequest() {}
+ public EurekaSetNLInstructionsResponse() {}
- public CreateEmailCustomisationRequest templateProperties(
- @javax.annotation.Nonnull Object templateProperties) {
- this.templateProperties = templateProperties;
+ public EurekaSetNLInstructionsResponse success(@javax.annotation.Nonnull Boolean success) {
+ this.success = success;
return this;
}
/**
- * Email customization configuration as key value pair
+ * Success status of the operation.
*
- * @return templateProperties
+ * @return success
*/
@javax.annotation.Nonnull
- public Object getTemplateProperties() {
- return templateProperties;
+ public Boolean getSuccess() {
+ return success;
}
- public void setTemplateProperties(@javax.annotation.Nonnull Object templateProperties) {
- this.templateProperties = templateProperties;
+ public void setSuccess(@javax.annotation.Nonnull Boolean success) {
+ this.success = success;
}
@Override
@@ -64,24 +63,21 @@ public boolean equals(Object o) {
if (o == null || getClass() != o.getClass()) {
return false;
}
- CreateEmailCustomisationRequest createEmailCustomisationRequest =
- (CreateEmailCustomisationRequest) o;
- return Objects.equals(
- this.templateProperties, createEmailCustomisationRequest.templateProperties);
+ EurekaSetNLInstructionsResponse eurekaSetNLInstructionsResponse =
+ (EurekaSetNLInstructionsResponse) o;
+ return Objects.equals(this.success, eurekaSetNLInstructionsResponse.success);
}
@Override
public int hashCode() {
- return Objects.hash(templateProperties);
+ return Objects.hash(success);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
- sb.append("class CreateEmailCustomisationRequest {\n");
- sb.append(" templateProperties: ")
- .append(toIndentedString(templateProperties))
- .append("\n");
+ sb.append("class EurekaSetNLInstructionsResponse {\n");
+ sb.append(" success: ").append(toIndentedString(success)).append("\n");
sb.append("}");
return sb.toString();
}
@@ -103,11 +99,11 @@ private String toIndentedString(Object o) {
static {
// a set of all properties/fields (JSON key names)
openapiFields = new HashSet();
- openapiFields.add("template_properties");
+ openapiFields.add("success");
// a set of required properties/fields (JSON key names)
openapiRequiredFields = new HashSet();
- openapiRequiredFields.add("template_properties");
+ openapiRequiredFields.add("success");
}
/**
@@ -115,34 +111,34 @@ private String toIndentedString(Object o) {
*
* @param jsonElement JSON Element
* @throws IOException if the JSON Element is invalid with respect to
- * CreateEmailCustomisationRequest
+ * EurekaSetNLInstructionsResponse
*/
public static void validateJsonElement(JsonElement jsonElement) throws IOException {
if (jsonElement == null) {
- if (!CreateEmailCustomisationRequest.openapiRequiredFields
+ if (!EurekaSetNLInstructionsResponse.openapiRequiredFields
.isEmpty()) { // has required fields but JSON element is null
throw new IllegalArgumentException(
String.format(
- "The required field(s) %s in CreateEmailCustomisationRequest is"
+ "The required field(s) %s in EurekaSetNLInstructionsResponse is"
+ " not found in the empty JSON string",
- CreateEmailCustomisationRequest.openapiRequiredFields.toString()));
+ EurekaSetNLInstructionsResponse.openapiRequiredFields.toString()));
}
}
Set> entries = jsonElement.getAsJsonObject().entrySet();
// check to see if the JSON string contains additional fields
for (Map.Entry entry : entries) {
- if (!CreateEmailCustomisationRequest.openapiFields.contains(entry.getKey())) {
+ if (!EurekaSetNLInstructionsResponse.openapiFields.contains(entry.getKey())) {
throw new IllegalArgumentException(
String.format(
"The field `%s` in the JSON string is not defined in the"
- + " `CreateEmailCustomisationRequest` properties. JSON: %s",
+ + " `EurekaSetNLInstructionsResponse` properties. JSON: %s",
entry.getKey(), jsonElement.toString()));
}
}
// check to make sure all required properties/fields are present in the JSON string
- for (String requiredField : CreateEmailCustomisationRequest.openapiRequiredFields) {
+ for (String requiredField : EurekaSetNLInstructionsResponse.openapiRequiredFields) {
if (jsonElement.getAsJsonObject().get(requiredField) == null) {
throw new IllegalArgumentException(
String.format(
@@ -157,26 +153,26 @@ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
@SuppressWarnings("unchecked")
@Override
public TypeAdapter create(Gson gson, TypeToken type) {
- if (!CreateEmailCustomisationRequest.class.isAssignableFrom(type.getRawType())) {
- return null; // this class only serializes 'CreateEmailCustomisationRequest' and its
+ if (!EurekaSetNLInstructionsResponse.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'EurekaSetNLInstructionsResponse' and its
// subtypes
}
final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
- final TypeAdapter thisAdapter =
+ final TypeAdapter thisAdapter =
gson.getDelegateAdapter(
- this, TypeToken.get(CreateEmailCustomisationRequest.class));
+ this, TypeToken.get(EurekaSetNLInstructionsResponse.class));
return (TypeAdapter)
- new TypeAdapter() {
+ new TypeAdapter() {
@Override
- public void write(JsonWriter out, CreateEmailCustomisationRequest value)
+ public void write(JsonWriter out, EurekaSetNLInstructionsResponse value)
throws IOException {
JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
@Override
- public CreateEmailCustomisationRequest read(JsonReader in)
+ public EurekaSetNLInstructionsResponse read(JsonReader in)
throws IOException {
JsonElement jsonElement = elementAdapter.read(in);
validateJsonElement(jsonElement);
@@ -187,19 +183,19 @@ public CreateEmailCustomisationRequest read(JsonReader in)
}
/**
- * Create an instance of CreateEmailCustomisationRequest given an JSON string
+ * Create an instance of EurekaSetNLInstructionsResponse given an JSON string
*
* @param jsonString JSON string
- * @return An instance of CreateEmailCustomisationRequest
+ * @return An instance of EurekaSetNLInstructionsResponse
* @throws IOException if the JSON string is invalid with respect to
- * CreateEmailCustomisationRequest
+ * EurekaSetNLInstructionsResponse
*/
- public static CreateEmailCustomisationRequest fromJson(String jsonString) throws IOException {
- return JSON.getGson().fromJson(jsonString, CreateEmailCustomisationRequest.class);
+ public static EurekaSetNLInstructionsResponse fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, EurekaSetNLInstructionsResponse.class);
}
/**
- * Convert an instance of CreateEmailCustomisationRequest to an JSON string
+ * Convert an instance of EurekaSetNLInstructionsResponse to an JSON string
*
* @return JSON string
*/
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/model/GetCustomAccessTokenRequest.java b/sdks/java/src/main/java/com/thoughtspot/client/model/GetCustomAccessTokenRequest.java
index 8c9a76129..cb0e354bc 100644
--- a/sdks/java/src/main/java/com/thoughtspot/client/model/GetCustomAccessTokenRequest.java
+++ b/sdks/java/src/main/java/com/thoughtspot/client/model/GetCustomAccessTokenRequest.java
@@ -64,7 +64,10 @@ public class GetCustomAccessTokenRequest implements Serializable {
@javax.annotation.Nullable
private String orgIdentifier;
- /** Indicates whether the specified attributes should be persisted or not. */
+ /**
+ * Indicates whether the specified attributes should be persisted or not. RESET and NONE are not
+ * applicable if you are setting variable_values.
+ */
@JsonAdapter(PersistOptionEnum.Adapter.class)
public enum PersistOptionEnum {
REPLACE("REPLACE"),
@@ -137,6 +140,12 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
@javax.annotation.Nullable
private List parameterValues;
+ public static final String SERIALIZED_NAME_VARIABLE_VALUES = "variable_values";
+
+ @SerializedName(SERIALIZED_NAME_VARIABLE_VALUES)
+ @javax.annotation.Nullable
+ private List variableValues;
+
public static final String SERIALIZED_NAME_OBJECTS = "objects";
@SerializedName(SERIALIZED_NAME_OBJECTS)
@@ -278,7 +287,8 @@ public GetCustomAccessTokenRequest persistOption(
}
/**
- * Indicates whether the specified attributes should be persisted or not.
+ * Indicates whether the specified attributes should be persisted or not. RESET and NONE are not
+ * applicable if you are setting variable_values.
*
* @return persistOption
*/
@@ -348,6 +358,35 @@ public void setParameterValues(
this.parameterValues = parameterValues;
}
+ public GetCustomAccessTokenRequest variableValues(
+ @javax.annotation.Nullable List variableValues) {
+ this.variableValues = variableValues;
+ return this;
+ }
+
+ public GetCustomAccessTokenRequest addVariableValuesItem(VariableValues variableValuesItem) {
+ if (this.variableValues == null) {
+ this.variableValues = new ArrayList<>();
+ }
+ this.variableValues.add(variableValuesItem);
+ return this;
+ }
+
+ /**
+ * List of variable values where `name` references an existing formula variable and
+ * `values` is any value from the corresponding column. Version: 10.14.0.cl or later
+ *
+ * @return variableValues
+ */
+ @javax.annotation.Nullable
+ public List getVariableValues() {
+ return variableValues;
+ }
+
+ public void setVariableValues(@javax.annotation.Nullable List variableValues) {
+ this.variableValues = variableValues;
+ }
+
public GetCustomAccessTokenRequest objects(
@javax.annotation.Nullable List objects) {
this.objects = objects;
@@ -452,7 +491,8 @@ public GetCustomAccessTokenRequest autoCreate(@javax.annotation.Nullable Boolean
/**
* Creates a new user if the specified username does not exist in ThoughtSpot. To provision a
* user just-in-time (JIT), set this attribute to true. Note: For JIT provisioning of a user,
- * the secret_key is required. Version: 10.5.0.cl or later
+ * the secret_key is required. New formula variables won't be created. Version: 10.5.0.cl or
+ * later
*
* @return autoCreate
*/
@@ -483,6 +523,7 @@ public boolean equals(Object o) {
&& Objects.equals(this.persistOption, getCustomAccessTokenRequest.persistOption)
&& Objects.equals(this.filterRules, getCustomAccessTokenRequest.filterRules)
&& Objects.equals(this.parameterValues, getCustomAccessTokenRequest.parameterValues)
+ && Objects.equals(this.variableValues, getCustomAccessTokenRequest.variableValues)
&& Objects.equals(this.objects, getCustomAccessTokenRequest.objects)
&& Objects.equals(this.email, getCustomAccessTokenRequest.email)
&& Objects.equals(this.displayName, getCustomAccessTokenRequest.displayName)
@@ -510,6 +551,7 @@ public int hashCode() {
persistOption,
filterRules,
parameterValues,
+ variableValues,
objects,
email,
displayName,
@@ -538,6 +580,7 @@ public String toString() {
sb.append(" persistOption: ").append(toIndentedString(persistOption)).append("\n");
sb.append(" filterRules: ").append(toIndentedString(filterRules)).append("\n");
sb.append(" parameterValues: ").append(toIndentedString(parameterValues)).append("\n");
+ sb.append(" variableValues: ").append(toIndentedString(variableValues)).append("\n");
sb.append(" objects: ").append(toIndentedString(objects)).append("\n");
sb.append(" email: ").append(toIndentedString(email)).append("\n");
sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n");
@@ -572,6 +615,7 @@ private String toIndentedString(Object o) {
openapiFields.add("persist_option");
openapiFields.add("filter_rules");
openapiFields.add("parameter_values");
+ openapiFields.add("variable_values");
openapiFields.add("objects");
openapiFields.add("email");
openapiFields.add("display_name");
@@ -704,6 +748,26 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
;
}
}
+ if (jsonObj.get("variable_values") != null
+ && !jsonObj.get("variable_values").isJsonNull()) {
+ JsonArray jsonArrayvariableValues = jsonObj.getAsJsonArray("variable_values");
+ if (jsonArrayvariableValues != null) {
+ // ensure the json data is an array
+ if (!jsonObj.get("variable_values").isJsonArray()) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Expected the field `variable_values` to be an array in the"
+ + " JSON string but got `%s`",
+ jsonObj.get("variable_values").toString()));
+ }
+
+ // validate the optional field `variable_values` (array)
+ for (int i = 0; i < jsonArrayvariableValues.size(); i++) {
+ VariableValues.validateJsonElement(jsonArrayvariableValues.get(i));
+ }
+ ;
+ }
+ }
if (jsonObj.get("objects") != null && !jsonObj.get("objects").isJsonNull()) {
JsonArray jsonArrayobjects = jsonObj.getAsJsonArray("objects");
if (jsonArrayobjects != null) {
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/model/DbtGenerateSyncTmlRequest.java b/sdks/java/src/main/java/com/thoughtspot/client/model/GetNLInstructionsRequest.java
similarity index 53%
rename from sdks/java/src/main/java/com/thoughtspot/client/model/DbtGenerateSyncTmlRequest.java
rename to sdks/java/src/main/java/com/thoughtspot/client/model/GetNLInstructionsRequest.java
index 1896b16cb..00d0394ac 100644
--- a/sdks/java/src/main/java/com/thoughtspot/client/model/DbtGenerateSyncTmlRequest.java
+++ b/sdks/java/src/main/java/com/thoughtspot/client/model/GetNLInstructionsRequest.java
@@ -14,7 +14,6 @@
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import com.thoughtspot.client.JSON;
-import java.io.File;
import java.io.IOException;
import java.io.Serializable;
import java.util.HashSet;
@@ -22,67 +21,39 @@
import java.util.Objects;
import java.util.Set;
-/** DbtGenerateSyncTmlRequest */
+/** GetNLInstructionsRequest */
@javax.annotation.Generated(
value = "org.openapitools.codegen.languages.JavaClientCodegen",
comments = "Generator version: 7.12.0")
-public class DbtGenerateSyncTmlRequest implements Serializable {
+public class GetNLInstructionsRequest implements Serializable {
private static final long serialVersionUID = 1L;
- public static final String SERIALIZED_NAME_DBT_CONNECTION_IDENTIFIER =
- "dbt_connection_identifier";
+ public static final String SERIALIZED_NAME_DATA_SOURCE_IDENTIFIER = "data_source_identifier";
- @SerializedName(SERIALIZED_NAME_DBT_CONNECTION_IDENTIFIER)
+ @SerializedName(SERIALIZED_NAME_DATA_SOURCE_IDENTIFIER)
@javax.annotation.Nonnull
- private String dbtConnectionIdentifier;
+ private String dataSourceIdentifier;
- public static final String SERIALIZED_NAME_FILE_CONTENT = "file_content";
+ public GetNLInstructionsRequest() {}
- @SerializedName(SERIALIZED_NAME_FILE_CONTENT)
- @javax.annotation.Nullable
- private File fileContent;
-
- public DbtGenerateSyncTmlRequest() {}
-
- public DbtGenerateSyncTmlRequest dbtConnectionIdentifier(
- @javax.annotation.Nonnull String dbtConnectionIdentifier) {
- this.dbtConnectionIdentifier = dbtConnectionIdentifier;
+ public GetNLInstructionsRequest dataSourceIdentifier(
+ @javax.annotation.Nonnull String dataSourceIdentifier) {
+ this.dataSourceIdentifier = dataSourceIdentifier;
return this;
}
/**
- * Unique ID of the DBT connection.
+ * Unique ID or name of the data-model for which to retrieve NL instructions.
*
- * @return dbtConnectionIdentifier
+ * @return dataSourceIdentifier
*/
@javax.annotation.Nonnull
- public String getDbtConnectionIdentifier() {
- return dbtConnectionIdentifier;
- }
-
- public void setDbtConnectionIdentifier(
- @javax.annotation.Nonnull String dbtConnectionIdentifier) {
- this.dbtConnectionIdentifier = dbtConnectionIdentifier;
- }
-
- public DbtGenerateSyncTmlRequest fileContent(@javax.annotation.Nullable File fileContent) {
- this.fileContent = fileContent;
- return this;
- }
-
- /**
- * Upload DBT Manifest and Catalog artifact files as a ZIP file. This field is mandatory if the
- * connection was created with import_type ‘ZIP_FILE’
- *
- * @return fileContent
- */
- @javax.annotation.Nullable
- public File getFileContent() {
- return fileContent;
+ public String getDataSourceIdentifier() {
+ return dataSourceIdentifier;
}
- public void setFileContent(@javax.annotation.Nullable File fileContent) {
- this.fileContent = fileContent;
+ public void setDataSourceIdentifier(@javax.annotation.Nonnull String dataSourceIdentifier) {
+ this.dataSourceIdentifier = dataSourceIdentifier;
}
@Override
@@ -93,26 +64,23 @@ public boolean equals(Object o) {
if (o == null || getClass() != o.getClass()) {
return false;
}
- DbtGenerateSyncTmlRequest dbtGenerateSyncTmlRequest = (DbtGenerateSyncTmlRequest) o;
+ GetNLInstructionsRequest getNLInstructionsRequest = (GetNLInstructionsRequest) o;
return Objects.equals(
- this.dbtConnectionIdentifier,
- dbtGenerateSyncTmlRequest.dbtConnectionIdentifier)
- && Objects.equals(this.fileContent, dbtGenerateSyncTmlRequest.fileContent);
+ this.dataSourceIdentifier, getNLInstructionsRequest.dataSourceIdentifier);
}
@Override
public int hashCode() {
- return Objects.hash(dbtConnectionIdentifier, fileContent);
+ return Objects.hash(dataSourceIdentifier);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
- sb.append("class DbtGenerateSyncTmlRequest {\n");
- sb.append(" dbtConnectionIdentifier: ")
- .append(toIndentedString(dbtConnectionIdentifier))
+ sb.append("class GetNLInstructionsRequest {\n");
+ sb.append(" dataSourceIdentifier: ")
+ .append(toIndentedString(dataSourceIdentifier))
.append("\n");
- sb.append(" fileContent: ").append(toIndentedString(fileContent)).append("\n");
sb.append("}");
return sb.toString();
}
@@ -134,46 +102,45 @@ private String toIndentedString(Object o) {
static {
// a set of all properties/fields (JSON key names)
openapiFields = new HashSet();
- openapiFields.add("dbt_connection_identifier");
- openapiFields.add("file_content");
+ openapiFields.add("data_source_identifier");
// a set of required properties/fields (JSON key names)
openapiRequiredFields = new HashSet();
- openapiRequiredFields.add("dbt_connection_identifier");
+ openapiRequiredFields.add("data_source_identifier");
}
/**
* Validates the JSON Element and throws an exception if issues found
*
* @param jsonElement JSON Element
- * @throws IOException if the JSON Element is invalid with respect to DbtGenerateSyncTmlRequest
+ * @throws IOException if the JSON Element is invalid with respect to GetNLInstructionsRequest
*/
public static void validateJsonElement(JsonElement jsonElement) throws IOException {
if (jsonElement == null) {
- if (!DbtGenerateSyncTmlRequest.openapiRequiredFields
+ if (!GetNLInstructionsRequest.openapiRequiredFields
.isEmpty()) { // has required fields but JSON element is null
throw new IllegalArgumentException(
String.format(
- "The required field(s) %s in DbtGenerateSyncTmlRequest is not"
- + " found in the empty JSON string",
- DbtGenerateSyncTmlRequest.openapiRequiredFields.toString()));
+ "The required field(s) %s in GetNLInstructionsRequest is not found"
+ + " in the empty JSON string",
+ GetNLInstructionsRequest.openapiRequiredFields.toString()));
}
}
Set> entries = jsonElement.getAsJsonObject().entrySet();
// check to see if the JSON string contains additional fields
for (Map.Entry entry : entries) {
- if (!DbtGenerateSyncTmlRequest.openapiFields.contains(entry.getKey())) {
+ if (!GetNLInstructionsRequest.openapiFields.contains(entry.getKey())) {
throw new IllegalArgumentException(
String.format(
"The field `%s` in the JSON string is not defined in the"
- + " `DbtGenerateSyncTmlRequest` properties. JSON: %s",
+ + " `GetNLInstructionsRequest` properties. JSON: %s",
entry.getKey(), jsonElement.toString()));
}
}
// check to make sure all required properties/fields are present in the JSON string
- for (String requiredField : DbtGenerateSyncTmlRequest.openapiRequiredFields) {
+ for (String requiredField : GetNLInstructionsRequest.openapiRequiredFields) {
if (jsonElement.getAsJsonObject().get(requiredField) == null) {
throw new IllegalArgumentException(
String.format(
@@ -182,12 +149,12 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
}
}
JsonObject jsonObj = jsonElement.getAsJsonObject();
- if (!jsonObj.get("dbt_connection_identifier").isJsonPrimitive()) {
+ if (!jsonObj.get("data_source_identifier").isJsonPrimitive()) {
throw new IllegalArgumentException(
String.format(
- "Expected the field `dbt_connection_identifier` to be a primitive type"
- + " in the JSON string but got `%s`",
- jsonObj.get("dbt_connection_identifier").toString()));
+ "Expected the field `data_source_identifier` to be a primitive type in"
+ + " the JSON string but got `%s`",
+ jsonObj.get("data_source_identifier").toString()));
}
}
@@ -195,25 +162,25 @@ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
@SuppressWarnings("unchecked")
@Override
public TypeAdapter create(Gson gson, TypeToken type) {
- if (!DbtGenerateSyncTmlRequest.class.isAssignableFrom(type.getRawType())) {
- return null; // this class only serializes 'DbtGenerateSyncTmlRequest' and its
+ if (!GetNLInstructionsRequest.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'GetNLInstructionsRequest' and its
// subtypes
}
final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
- final TypeAdapter thisAdapter =
- gson.getDelegateAdapter(this, TypeToken.get(DbtGenerateSyncTmlRequest.class));
+ final TypeAdapter thisAdapter =
+ gson.getDelegateAdapter(this, TypeToken.get(GetNLInstructionsRequest.class));
return (TypeAdapter)
- new TypeAdapter() {
+ new TypeAdapter() {
@Override
- public void write(JsonWriter out, DbtGenerateSyncTmlRequest value)
+ public void write(JsonWriter out, GetNLInstructionsRequest value)
throws IOException {
JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
elementAdapter.write(out, obj);
}
@Override
- public DbtGenerateSyncTmlRequest read(JsonReader in) throws IOException {
+ public GetNLInstructionsRequest read(JsonReader in) throws IOException {
JsonElement jsonElement = elementAdapter.read(in);
validateJsonElement(jsonElement);
return thisAdapter.fromJsonTree(jsonElement);
@@ -223,18 +190,18 @@ public DbtGenerateSyncTmlRequest read(JsonReader in) throws IOException {
}
/**
- * Create an instance of DbtGenerateSyncTmlRequest given an JSON string
+ * Create an instance of GetNLInstructionsRequest given an JSON string
*
* @param jsonString JSON string
- * @return An instance of DbtGenerateSyncTmlRequest
- * @throws IOException if the JSON string is invalid with respect to DbtGenerateSyncTmlRequest
+ * @return An instance of GetNLInstructionsRequest
+ * @throws IOException if the JSON string is invalid with respect to GetNLInstructionsRequest
*/
- public static DbtGenerateSyncTmlRequest fromJson(String jsonString) throws IOException {
- return JSON.getGson().fromJson(jsonString, DbtGenerateSyncTmlRequest.class);
+ public static GetNLInstructionsRequest fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, GetNLInstructionsRequest.class);
}
/**
- * Convert an instance of DbtGenerateSyncTmlRequest to an JSON string
+ * Convert an instance of GetNLInstructionsRequest to an JSON string
*
* @return JSON string
*/
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/model/GroupsImportListInput.java b/sdks/java/src/main/java/com/thoughtspot/client/model/GroupsImportListInput.java
index 82700b689..bca594ff4 100644
--- a/sdks/java/src/main/java/com/thoughtspot/client/model/GroupsImportListInput.java
+++ b/sdks/java/src/main/java/com/thoughtspot/client/model/GroupsImportListInput.java
@@ -113,6 +113,8 @@ public enum PrivilegesEnum {
CAN_MODIFY_FOLDERS("CAN_MODIFY_FOLDERS"),
+ CAN_MANAGE_VARIABLES("CAN_MANAGE_VARIABLES"),
+
CAN_VIEW_FOLDERS("CAN_VIEW_FOLDERS"),
PREVIEW_DOCUMENT_SEARCH("PREVIEW_DOCUMENT_SEARCH"),
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/model/InputVariableValue.java b/sdks/java/src/main/java/com/thoughtspot/client/model/InputVariableValue.java
deleted file mode 100644
index a51eaa9c9..000000000
--- a/sdks/java/src/main/java/com/thoughtspot/client/model/InputVariableValue.java
+++ /dev/null
@@ -1,422 +0,0 @@
-/*
- * NOTE: This class is auto generated. Do not edit the class manually.
- */
-
-package com.thoughtspot.client.model;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.TypeAdapter;
-import com.google.gson.TypeAdapterFactory;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.reflect.TypeToken;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import com.thoughtspot.client.JSON;
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-import org.openapitools.jackson.nullable.JsonNullable;
-
-/** InputVariableValue */
-@javax.annotation.Generated(
- value = "org.openapitools.codegen.languages.JavaClientCodegen",
- comments = "Generator version: 7.12.0")
-public class InputVariableValue implements Serializable {
- private static final long serialVersionUID = 1L;
-
- public static final String SERIALIZED_NAME_VALUE = "value";
-
- @SerializedName(SERIALIZED_NAME_VALUE)
- @javax.annotation.Nonnull
- private String value;
-
- public static final String SERIALIZED_NAME_ORG_IDENTIFIER = "org_identifier";
-
- @SerializedName(SERIALIZED_NAME_ORG_IDENTIFIER)
- @javax.annotation.Nonnull
- private String orgIdentifier;
-
- /** Principal type */
- @JsonAdapter(PrincipalTypeEnum.Adapter.class)
- public enum PrincipalTypeEnum {
- USER("USER"),
-
- USER_GROUP("USER_GROUP");
-
- private String value;
-
- PrincipalTypeEnum(String value) {
- this.value = value;
- }
-
- public String getValue() {
- return value;
- }
-
- @Override
- public String toString() {
- return String.valueOf(value);
- }
-
- public static PrincipalTypeEnum fromValue(String value) {
- for (PrincipalTypeEnum b : PrincipalTypeEnum.values()) {
- if (b.value.equals(value)) {
- return b;
- }
- }
- return null;
- }
-
- public static class Adapter extends TypeAdapter {
- @Override
- public void write(final JsonWriter jsonWriter, final PrincipalTypeEnum enumeration)
- throws IOException {
- jsonWriter.value(enumeration.getValue());
- }
-
- @Override
- public PrincipalTypeEnum read(final JsonReader jsonReader) throws IOException {
- String value = jsonReader.nextString();
- return PrincipalTypeEnum.fromValue(value);
- }
- }
-
- public static void validateJsonElement(JsonElement jsonElement) throws IOException {
- String value = jsonElement.getAsString();
- PrincipalTypeEnum.fromValue(value);
- }
- }
-
- public static final String SERIALIZED_NAME_PRINCIPAL_TYPE = "principal_type";
-
- @SerializedName(SERIALIZED_NAME_PRINCIPAL_TYPE)
- @javax.annotation.Nullable
- private PrincipalTypeEnum principalType;
-
- public static final String SERIALIZED_NAME_PRINCIPAL_IDENTIFIER = "principal_identifier";
-
- @SerializedName(SERIALIZED_NAME_PRINCIPAL_IDENTIFIER)
- @javax.annotation.Nullable
- private String principalIdentifier;
-
- public static final String SERIALIZED_NAME_PRIORITY = "priority";
-
- @SerializedName(SERIALIZED_NAME_PRIORITY)
- @javax.annotation.Nullable
- private Integer priority;
-
- public InputVariableValue() {}
-
- public InputVariableValue value(@javax.annotation.Nonnull String value) {
- this.value = value;
- return this;
- }
-
- /**
- * The connection property value
- *
- * @return value
- */
- @javax.annotation.Nonnull
- public String getValue() {
- return value;
- }
-
- public void setValue(@javax.annotation.Nonnull String value) {
- this.value = value;
- }
-
- public InputVariableValue orgIdentifier(@javax.annotation.Nonnull String orgIdentifier) {
- this.orgIdentifier = orgIdentifier;
- return this;
- }
-
- /**
- * The unique name of the org
- *
- * @return orgIdentifier
- */
- @javax.annotation.Nonnull
- public String getOrgIdentifier() {
- return orgIdentifier;
- }
-
- public void setOrgIdentifier(@javax.annotation.Nonnull String orgIdentifier) {
- this.orgIdentifier = orgIdentifier;
- }
-
- public InputVariableValue principalType(
- @javax.annotation.Nullable PrincipalTypeEnum principalType) {
- this.principalType = principalType;
- return this;
- }
-
- /**
- * Principal type
- *
- * @return principalType
- */
- @javax.annotation.Nullable
- public PrincipalTypeEnum getPrincipalType() {
- return principalType;
- }
-
- public void setPrincipalType(@javax.annotation.Nullable PrincipalTypeEnum principalType) {
- this.principalType = principalType;
- }
-
- public InputVariableValue principalIdentifier(
- @javax.annotation.Nullable String principalIdentifier) {
- this.principalIdentifier = principalIdentifier;
- return this;
- }
-
- /**
- * Unique ID or name of the principal
- *
- * @return principalIdentifier
- */
- @javax.annotation.Nullable
- public String getPrincipalIdentifier() {
- return principalIdentifier;
- }
-
- public void setPrincipalIdentifier(@javax.annotation.Nullable String principalIdentifier) {
- this.principalIdentifier = principalIdentifier;
- }
-
- public InputVariableValue priority(@javax.annotation.Nullable Integer priority) {
- this.priority = priority;
- return this;
- }
-
- /**
- * The priority assigned to this value. If there are 2 matching values, the one with the higher
- * priority will be picked.
- *
- * @return priority
- */
- @javax.annotation.Nullable
- public Integer getPriority() {
- return priority;
- }
-
- public void setPriority(@javax.annotation.Nullable Integer priority) {
- this.priority = priority;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- InputVariableValue inputVariableValue = (InputVariableValue) o;
- return Objects.equals(this.value, inputVariableValue.value)
- && Objects.equals(this.orgIdentifier, inputVariableValue.orgIdentifier)
- && Objects.equals(this.principalType, inputVariableValue.principalType)
- && Objects.equals(this.principalIdentifier, inputVariableValue.principalIdentifier)
- && Objects.equals(this.priority, inputVariableValue.priority);
- }
-
- private static boolean equalsNullable(JsonNullable a, JsonNullable b) {
- return a == b
- || (a != null
- && b != null
- && a.isPresent()
- && b.isPresent()
- && Objects.deepEquals(a.get(), b.get()));
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(value, orgIdentifier, principalType, principalIdentifier, priority);
- }
-
- private static int hashCodeNullable(JsonNullable a) {
- if (a == null) {
- return 1;
- }
- return a.isPresent() ? Arrays.deepHashCode(new Object[] {a.get()}) : 31;
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class InputVariableValue {\n");
- sb.append(" value: ").append(toIndentedString(value)).append("\n");
- sb.append(" orgIdentifier: ").append(toIndentedString(orgIdentifier)).append("\n");
- sb.append(" principalType: ").append(toIndentedString(principalType)).append("\n");
- sb.append(" principalIdentifier: ")
- .append(toIndentedString(principalIdentifier))
- .append("\n");
- sb.append(" priority: ").append(toIndentedString(priority)).append("\n");
- sb.append("}");
- return sb.toString();
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces (except the first
- * line).
- */
- private String toIndentedString(Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-
- public static HashSet openapiFields;
- public static HashSet openapiRequiredFields;
-
- static {
- // a set of all properties/fields (JSON key names)
- openapiFields = new HashSet();
- openapiFields.add("value");
- openapiFields.add("org_identifier");
- openapiFields.add("principal_type");
- openapiFields.add("principal_identifier");
- openapiFields.add("priority");
-
- // a set of required properties/fields (JSON key names)
- openapiRequiredFields = new HashSet();
- openapiRequiredFields.add("value");
- openapiRequiredFields.add("org_identifier");
- }
-
- /**
- * Validates the JSON Element and throws an exception if issues found
- *
- * @param jsonElement JSON Element
- * @throws IOException if the JSON Element is invalid with respect to InputVariableValue
- */
- public static void validateJsonElement(JsonElement jsonElement) throws IOException {
- if (jsonElement == null) {
- if (!InputVariableValue.openapiRequiredFields
- .isEmpty()) { // has required fields but JSON element is null
- throw new IllegalArgumentException(
- String.format(
- "The required field(s) %s in InputVariableValue is not found in"
- + " the empty JSON string",
- InputVariableValue.openapiRequiredFields.toString()));
- }
- }
-
- Set> entries = jsonElement.getAsJsonObject().entrySet();
- // check to see if the JSON string contains additional fields
- for (Map.Entry entry : entries) {
- if (!InputVariableValue.openapiFields.contains(entry.getKey())) {
- throw new IllegalArgumentException(
- String.format(
- "The field `%s` in the JSON string is not defined in the"
- + " `InputVariableValue` properties. JSON: %s",
- entry.getKey(), jsonElement.toString()));
- }
- }
-
- // check to make sure all required properties/fields are present in the JSON string
- for (String requiredField : InputVariableValue.openapiRequiredFields) {
- if (jsonElement.getAsJsonObject().get(requiredField) == null) {
- throw new IllegalArgumentException(
- String.format(
- "The required field `%s` is not found in the JSON string: %s",
- requiredField, jsonElement.toString()));
- }
- }
- JsonObject jsonObj = jsonElement.getAsJsonObject();
- if (!jsonObj.get("value").isJsonPrimitive()) {
- throw new IllegalArgumentException(
- String.format(
- "Expected the field `value` to be a primitive type in the JSON string"
- + " but got `%s`",
- jsonObj.get("value").toString()));
- }
- if (!jsonObj.get("org_identifier").isJsonPrimitive()) {
- throw new IllegalArgumentException(
- String.format(
- "Expected the field `org_identifier` to be a primitive type in the"
- + " JSON string but got `%s`",
- jsonObj.get("org_identifier").toString()));
- }
- if ((jsonObj.get("principal_type") != null && !jsonObj.get("principal_type").isJsonNull())
- && !jsonObj.get("principal_type").isJsonPrimitive()) {
- throw new IllegalArgumentException(
- String.format(
- "Expected the field `principal_type` to be a primitive type in the"
- + " JSON string but got `%s`",
- jsonObj.get("principal_type").toString()));
- }
- // validate the optional field `principal_type`
- if (jsonObj.get("principal_type") != null && !jsonObj.get("principal_type").isJsonNull()) {
- PrincipalTypeEnum.validateJsonElement(jsonObj.get("principal_type"));
- }
- if ((jsonObj.get("principal_identifier") != null
- && !jsonObj.get("principal_identifier").isJsonNull())
- && !jsonObj.get("principal_identifier").isJsonPrimitive()) {
- throw new IllegalArgumentException(
- String.format(
- "Expected the field `principal_identifier` to be a primitive type in"
- + " the JSON string but got `%s`",
- jsonObj.get("principal_identifier").toString()));
- }
- }
-
- public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
- @SuppressWarnings("unchecked")
- @Override
- public TypeAdapter create(Gson gson, TypeToken type) {
- if (!InputVariableValue.class.isAssignableFrom(type.getRawType())) {
- return null; // this class only serializes 'InputVariableValue' and its subtypes
- }
- final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
- final TypeAdapter thisAdapter =
- gson.getDelegateAdapter(this, TypeToken.get(InputVariableValue.class));
-
- return (TypeAdapter)
- new TypeAdapter() {
- @Override
- public void write(JsonWriter out, InputVariableValue value)
- throws IOException {
- JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
- elementAdapter.write(out, obj);
- }
-
- @Override
- public InputVariableValue read(JsonReader in) throws IOException {
- JsonElement jsonElement = elementAdapter.read(in);
- validateJsonElement(jsonElement);
- return thisAdapter.fromJsonTree(jsonElement);
- }
- }.nullSafe();
- }
- }
-
- /**
- * Create an instance of InputVariableValue given an JSON string
- *
- * @param jsonString JSON string
- * @return An instance of InputVariableValue
- * @throws IOException if the JSON string is invalid with respect to InputVariableValue
- */
- public static InputVariableValue fromJson(String jsonString) throws IOException {
- return JSON.getGson().fromJson(jsonString, InputVariableValue.class);
- }
-
- /**
- * Convert an instance of InputVariableValue to an JSON string
- *
- * @return JSON string
- */
- public String toJson() {
- return JSON.getGson().toJson(this);
- }
-}
diff --git a/sdks/java/src/main/java/com/thoughtspot/client/model/NLInstructionsInfo.java b/sdks/java/src/main/java/com/thoughtspot/client/model/NLInstructionsInfo.java
new file mode 100644
index 000000000..878ce3e6f
--- /dev/null
+++ b/sdks/java/src/main/java/com/thoughtspot/client/model/NLInstructionsInfo.java
@@ -0,0 +1,309 @@
+/*
+ * NOTE: This class is auto generated. Do not edit the class manually.
+ */
+
+package com.thoughtspot.client.model;
+
+import com.google.gson.Gson;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.TypeAdapter;
+import com.google.gson.TypeAdapterFactory;
+import com.google.gson.annotations.JsonAdapter;
+import com.google.gson.annotations.SerializedName;
+import com.google.gson.reflect.TypeToken;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+import com.thoughtspot.client.JSON;
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+
+/** NLInstructionsInfo */
+@javax.annotation.Generated(
+ value = "org.openapitools.codegen.languages.JavaClientCodegen",
+ comments = "Generator version: 7.12.0")
+public class NLInstructionsInfo implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ public static final String SERIALIZED_NAME_INSTRUCTIONS = "instructions";
+
+ @SerializedName(SERIALIZED_NAME_INSTRUCTIONS)
+ @javax.annotation.Nonnull
+ private List instructions;
+
+ /** Scope of the instruction. */
+ @JsonAdapter(ScopeEnum.Adapter.class)
+ public enum ScopeEnum {
+ GLOBAL("GLOBAL");
+
+ private String value;
+
+ ScopeEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static ScopeEnum fromValue(String value) {
+ for (ScopeEnum b : ScopeEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ public static class Adapter extends TypeAdapter {
+ @Override
+ public void write(final JsonWriter jsonWriter, final ScopeEnum enumeration)
+ throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public ScopeEnum read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return ScopeEnum.fromValue(value);
+ }
+ }
+
+ public static void validateJsonElement(JsonElement jsonElement) throws IOException {
+ String value = jsonElement.getAsString();
+ ScopeEnum.fromValue(value);
+ }
+ }
+
+ public static final String SERIALIZED_NAME_SCOPE = "scope";
+
+ @SerializedName(SERIALIZED_NAME_SCOPE)
+ @javax.annotation.Nonnull
+ private ScopeEnum scope;
+
+ public NLInstructionsInfo() {}
+
+ public NLInstructionsInfo instructions(@javax.annotation.Nonnull List