# REST API v2.0 changelog

> For the complete documentation index, see [llms.txt](https://developers.thoughtspot.com/docs/llms.txt)

Source: https://developers.thoughtspot.com/docs/rest-v2-changelog

# REST API v2.0 changelog

This changelog lists the features and enhancements introduced in REST API v2.0. For information about new features and enhancements available for embedded analytics, see [What’s New]({{navprefix}}/{{whats-new}}).

## Version 26.9.0.cl, September 2026

### Answer Export API

The following enhancements for the `POST /api/rest/2.0/report/answer` endpoint are now GA:

`type` parameter

The request body accepts a new `type` parameter that specifies the kind of Answer to export:

-   `SAVED` (default): exports a saved Answer.
    
-   `PINNED`: exports a pinned Answer from a Liveboard.
    

Pinned Answer export

Set `type` to `PINNED` to export a pinned Answer (a visualization on a Liveboard) directly. The Answer downloads with Liveboard context: Liveboard-level filters, Runtime Filters, and Column Security Rules are applied automatically.

Personalized View support

Pass `personalised_view_identifier` to export data from a specific Personalized View of a Liveboard.

Spotter Answer export

XLSX and PDF export formats are now supported for Spotter-generated Answers, in addition to CSV and PNG.

Custom PNG dimensions

Use `x_resolution` and `y_resolution` parameters to specify custom pixel dimensions for PNG exports.

Display scaling

Use `scaling` to adjust the relative size of chart elements in a PNG export without cropping the image.

Dynamic file naming

Exported files are automatically named based on the Answer title with the correct file extension (`.png`, `.pdf`, `.csv`, `.xlsx`) appended.

For more information, see [Answer Report API]({{navprefix}}/{{report-apis-v2}}#_answer_report_api).

### Snowflake Semantic View integration APIs

This release introduces the following new REST API v2.0 endpoints for managing Snowflake Semantic View integrations programmatically.

-   `POST /api/rest/2.0/semantic-integrations/create`  
    Creates a new semantic integration by reading a Snowflake Semantic View and generating a ThoughtSpot data model.
    
-   `POST /api/rest/2.0/semantic-integrations/search`  
    Returns a list of semantic integrations matching the specified filter criteria.
    
-   `POST /api/rest/2.0/semantic-integrations/{semantic_integration_identifier}/import`  
    Re-imports semantic updates from Snowflake and refreshes the associated ThoughtSpot data model.
    
-   `POST /api/rest/2.0/semantic-integrations/{semantic_integration_identifier}/delete`  
    Deletes a semantic integration and its generated ThoughtSpot data model.
    

For more information, see [Snowflake Semantic View integration APIs]({{navprefix}}/{{semantic-integrations-api}}).

### Conversation sharing APIs

ThoughtSpot introduces the following REST API v2.0 endpoints to share Spotter agent conversations with other users or groups.

-   `POST /api/rest/2.0/ai/agent/conversations/{conversation_identifier}/share`  
    Share a conversation with users or groups with `READ_ONLY` access.
    
-   `GET /api/rest/2.0/ai/agent/conversations/{conversation_identifier}/get-shared-content`  
    Retrieve the shared messages and answers in a conversation.
    
-   `GET /api/rest/2.0/ai/agent/conversations/{conversation_identifier}/get-share-info`  
    Retrieve the list of principals a conversation is shared with and their access levels.
    

For more information, see [Sharing Spotter conversations]({{navprefix}}/{{spotter-agent-sharing-apis}}).

### KPI Sparkline setting in metadata search response

The `POST /api/rest/2.0/metadata/search` API response now includes the `isSparklineEnabled` parameter in the `AnswerSpecHeader` object for KPI chart type answers. This boolean parameter indicates whether the sparkline trend line is enabled for the KPI visualization.

### Personalized Views TML portability

The Personalized Views TML portability feature is now GA and enabled on all ThoughtSpot Embedded instances:

-   The `author` field in Personalized View TML maps to the view owner’s username or email, ensuring ownership is retained while delegating ownership to another user during import.
    
-   The `obj_id` field provides a stable cross-environment identifier for inter-Org deployments.
    
-   Smart merge import: when importing a Liveboard TML that contains Personalized Views, ThoughtSpot preserves views that exist only in the target environment, appends new views from the imported TML, and updates views present in both.
    

For more information, see [Personalized Views portability in TML]({{navprefix}}/{{tml-import}}#personalized-views-portability).

### Support for Scheduled Liveboards process type in Connection configuration

The connection configuration API endpoints now support `SCHEDULED_LIVEBOARDS` as a process type:

-   `POST /api/rest/2.0/connection/configuration/create`
    
-   `PUT /api/rest/2.0/connection/configuration/{configuration_identifier}/update`
    

Administrators can add `SCHEDULED_LIVEBOARDS` as a valid process type for connection configurations, allowing scheduled Liveboard delivery jobs to use an alternative connection configuration, with separate warehouse, credentials, or non-OAuth authentication instead of the parent connection’s defaults.

## Version 26.8.0.cl, August 2026

### Spotter AI APIs

Spotter memory APIs

ThoughtSpot 26.8.0.cl introduces two new REST API v2.0 endpoints for managing Spotter memory programmatically:

-   `POST /api/rest/2.0/ai/memory/import`  
    Imports Spotter memory entries in bulk. Use this endpoint to seed training data or migrate Spotter memory across environments.
    
-   `POST /api/rest/2.0/ai/memory/export`  
    Exports all current Spotter memory entries. Use this endpoint to back up training data or audit the current training state.
    

For more information, see [Spotter memory APIs]({{navprefix}}/{{spotter-ai-memory-api}}).

### TML import and export

New TML fields for Personalized Views

Early Access Two new fields have been added to the TML for Personalized Views. You can see these fields added to the TML schema when you export through the `POST /api/rest/2.0/metadata/tml/export` API.

-   A new `author` field is added to the Personalized View TML during export. This field is used to assign ownership during import.
    
-   Personalized Views now carry an `obj_id` field for stable cross-environment object identity, consistent with other object types.
    

For more information, see [Personalized Views portability in TML]({{navprefix}}/{{tml-import}}#personalized-views-portability).

Collections `obj_id` support

The `obj_id` attribute is now supported for the **Collections** object type in TML import and export APIs. This enables stable cross-environment identification for Collections, matching the behavior already available for Models, Liveboards, Answers, and other object types.

To assign or update the `obj_id` for a Collections object, use the `POST /api/rest/2.0/metadata/identity/update` API endpoint.

### Roles API

Granular download privileges

ThoughtSpot introduces two new granular download privileges that give administrators finer control over what users can export:

-   **Can Download Visuals**: Permits downloading chart and visualization images.
    
-   **Can Download Detailed Data**: Permits downloading raw tabular data in CSV or XLSX format.
    

These privileges are configurable via the `POST /api/rest/2.0/roles/create` and `POST /api/rest/2.0/roles/update` API endpoints.

### Liveboard schedules API

The `every_n_minutes` schedule frequency option is deprecated in 26.8.0.cl. Schedules configured with this frequency will continue to run during the transition period; however, ThoughtSpot recommends updating existing schedules to supported frequency options (hourly, daily, weekly, or monthly). Support for the `every_n_minutes` frequency will be removed in a future release.

### REST API C# SDK

ThoughtSpot provides the REST API C# SDK (`ThoughtSpot.RestApi.Sdk`) to help .NET developers interact programmatically with ThoughtSpot REST API v2 endpoints. The SDK targets `net8.0` and is available on [NuGet](https://www.nuget.org/packages/ThoughtSpot.RestApi.Sdk).

For information about how to install and use the SDK, see [C# SDK for REST APIs]({{navprefix}}/{{rest-api-csharp-sdk}}).

## Version 26.7.0.cl, July 2026

### Spotter AI APIs

Save chat AI APIs

ThoughtSpot introduces the following REST API endpoints and enhancements to manage saved Spotter conversations programmatically. These endpoints allow you to build custom conversation history interfaces in embedded applications without using the native Spotter UI.

-   `POST /api/rest/2.0/ai/agent/conversations/{conversation_identifier}/update`  
    Updates attributes of an existing agent conversation.
    
-   `GET /api/rest/2.0/ai/agent/conversations`  
    Retrieves the list of saved agent conversations for the currently authenticated user.
    
-   `GET /api/rest/2.0/ai/agent/conversations/{conversation_identifier}/messages`  
    Retrieves the full content of a saved conversation with Spotter agent.
    
-   `POST /api/rest/2.0/ai/agent/conversations/{conversation_identifier}/update`  
    Updates the display title of a saved conversation.
    
-   `DELETE /api/rest/2.0/ai/agent/conversations/{conversation_identifier}/delete`  
    Deletes a saved conversation and all its associated messages.
    
-   `GET /api/rest/2.0/ai/agent/conversations/{conversation_identifier}/answers/{answer_identifier}/details`  
    Loads the full answer payload for a specific answer item in an agent conversation.
    

For more information, see [Saving and managing Spotter AI chat]({{navprefix}}/{{spotter-agent-conversation-mgmt-apis}}).

Save chat settings in conversation create API

The `POST /api/rest/2.0/ai/agent/conversation/create` API endpoint is modified to allow users to save conversations by setting `enable_save_chat: true` in the API request.

Agent instructions APIs

The following new API endpoints allow you to set and retrieve persistent behavioral instructions for the Spotter agent.

-   `PUT /api/rest/2.0/ai/agent/instructions/set`  
    Sets behavioral instructions for the Spotter agent. Use this endpoint to define persistent guidance that Spotter applies when responding to queries in a conversation session.
    
-   `GET /api/rest/2.0/ai/agent/instructions/get`  
    Retrieves the behavioral instructions currently configured by the administrator for the Spotter agent.
    
    For more information, see [Spotter AI Agent instructions APIs]({{navprefix}}/{{spotter-agent-instructions}}).
    

### Webhooks

New API endpoint

The `GET /api/rest/2.0/webhooks/storage-config` API endpoint allows retrieving the storage setup information required for configuring a GCS or S3 storage destination for webhook delivery.

Enhancements

-   The `/api/rest/2.0/webhooks/create` endpoint allows activating a webhook and configuring a GCS storage destination for webhook delivery. The API endpoint also returns GCS storage configuration details in the response.
    
-   The `/api/rest/2.0/webhooks/{webhook_identifier}/update` API endpoint supports configuring webhook activation status, resetting authentication, signature verification, and storage destination properties.
    
-   API requests to the `/api/rest/2.0/system/communication-channels/validate` now return GCS storage properties in response.
    

### Communication channel monitoring

The `/api/rest/2.0/jobs/history/communication-channels/search` API endpoint supports the `end_epoch_time_in_millis` parameter, which allows fetching records with a specific end timestamp.

### Style customization APIs

ThoughtSpot introduces the following REST API v2.0 endpoints to manage style customization settings programmatically.

Style configuration

-   `POST /api/rest/2.0/customization/styles/search`  
    Returns the current style configuration at the `CLUSTER` or active `ORG` scope.
    
-   `POST /api/rest/2.0/customization/styles/update`  
    Updates style settings at the `CLUSTER` or `ORG` scope.
    

Custom fonts

-   `POST /api/rest/2.0/customization/styles/fonts/upload`  
    Uploads a custom font file to ThoughtSpot.
    
-   `POST /api/rest/2.0/customization/styles/fonts/search`  
    Returns custom fonts uploaded to the instance.
    
-   `PUT /api/rest/2.0/customization/styles/fonts/{font_identifier}/update`  
    Updates the display name, weight, style, or color of an existing custom font.
    
-   `POST /api/rest/2.0/customization/styles/fonts/delete`  
    Deletes one or more custom fonts from the font library.
    

Logo export

-   `POST /api/rest/2.0/customization/styles/logos/export`  
    Exports the current logo files as a ZIP archive containing the default logo and the wide logo.
    

For more information, see [Style customization APIs]({{navprefix}}/{{customize-style-api}}).

### Manual translation APIs

The manual translation API endpoints allow you to import, export, and delete translations of terms and labels that can be presented to the user based on their locale settings.

-   `POST /api/rest/2.0/localizations/manual-translation/import`  
    Allows importing a CSV file containing translated terms and labels.
    
-   `POST /api/rest/2.0/localizations/manual-translation/locales/{locale}/export`  
    Retrieves all translations for a specific locale as a JSON map.
    
-   `POST /api/rest/2.0/localizations/manual-translation/export`  
    Downloads all manually translated terms and labels in the Org context as a CSV file.
    
-   `POST /api/rest/2.0/localizations/manual-translation/delete`  
    Deletes all manual translations from the Org.
    

For more information, see [Manual translations]({{navprefix}}/{{manual-translation}}).

### REST API Python SDK

The REST API Python SDK library artifacts are now available on [PyPI](https://pypi.org/project/thoughtspot-rest-api-sdk/). For information about how to install and use the SDK, see [Python SDK]({{navprefix}}/{{rest-api-python-sdk}}).

## Version 26.6.0.cl, June 2026

### Spotter AI APIs

Stop in-progress agent response

-   `POST /api/rest/2.0/ai/agent/conversation/{conversation_identifier}/stop-response`  
    Stops a Spotter agent response that is currently in progress for a given conversation session.
    

For more information, see [Stop an in-progress agent response]({{navprefix}}/{{spotter-agent-conversation-apis}}#_stop_an_in_progress_agent_response).

### Authentication

The following new endpoints allow searching for the authentication configuration at the cluster or Org level, and also allow enabling and disabling authentication. These endpoints currently support only trusted authentication.

-   `POST /api/rest/2.0/auth/configure`  
    Enables or disables authentication at cluster or Org level for the specified auth type.
    
-   `POST /api/rest/2.0/auth/search`  
    Returns the authentication configuration for the specified auth type at cluster and Org level.
    

### Connection deactivate and activate API Beta

ThoughtSpot introduces REST API v2.0 endpoints to programmatically deactivate and activate data connections:

-   `POST /api/rest/2.0/connections/{connection_identifier}/status`  
    Deactivates or activates a connection.
    

### Answer report API enhancements Early Access

The `POST /api/rest/2.0/report/answer` API endpoint introduces the following enhancements:

Pinned Answer export

You can now export a pinned Answer directly from a Liveboard using the Answer report API. To export a pinned Answer, specify the `viz_guid` parameter in your API request. Exports from this endpoint inherently respect Liveboard-level filters, Runtime Filters, Column security rules, and JWT token context.

To export a specific personalized view of a pinned Answer, include the `personalised_view_identifier` parameter.

Spotter Answer export

XLSX and PDF export formats are now supported for Spotter (conversational) Answers.

Custom PNG dimensions

PNG exports now support custom dimensions via the following new parameters:

-   `x_resolution`: Sets the export width in pixels. Valid range: 600–3840 px.
    
-   `y_resolution`: Sets the export height in pixels. Valid range: 600–3840 px.
    

Display scaling

A new `scaling` parameter allows you to adjust the relative size of visual elements in PNG exports without cropping. Valid range: 80–500%.

Automatic file naming

The API now automatically names exported files based on the Answer title and appends the correct file extension (`.png`, `.pdf`, `.csv`, or `.xlsx`).

Contact ThoughtSpot Support to enable these settings for PNG downloads on your ThoughtSpot instance. For more information, see [Answer report API documentation]({{navprefix}}/{{report-apis-v2}}#_answer_report_api).

### Share metadata API: Collections support Beta

The `POST /api/rest/2.0/security/metadata/share` endpoint now supports sharing Collections.

To share a Collection, set `metadata_type` to `COLLECTION` in the request body. For more information, see [Share a Collection]({{navprefix}}/{{collections}}#share-collection).

## Version 26.5.0.cl, May 2026

### Sync connection metadata attributes

You can now synchronize connection metadata attributes from your Cloud Data Warehouse (CDW) with ThoughtSpot by sending a request to the `POST /api/rest/2.0/connections/{connection_identifier}/resync-metadata` API endpoint.

### Spotter APIs

#### New API endpoints

The following new endpoints allow sending messages to an active conversation session with a Spotter agent.

-   `POST /api/rest/2.0/ai/agent/conversation/{conversation_identifier}/send`  
    Allows sending a message to an active Spotter AI conversation and returns a synchronous response.
    
-   `POST /api/rest/2.0/ai/agent/conversation/{conversation_identifier}/send/stream`  
    Allows sending to an active Spotter AI conversation and returns the response as a real-time Server-Sent Events (SSE) stream.
    

These new endpoints replace the legacy agent conversation and SSE streaming APIs.

#### Deprecated endpoints Deprecated

-   `POST /api/rest/2.0/ai/agent/{conversation_identifier}/converse`  
    Replaced by `POST /api/rest/2.0/ai/agent/conversation/{conversation_identifier}/send`.
    
-   `POST /api/rest/2.0/ai/agent/converse/sse`  
    Replaced by `POST /api/rest/2.0/ai/agent/conversation/{conversation_identifier}/send/stream`
    

These endpoints are deprecated and will be removed in a future release. Embedding applications and integrations using these APIs are advised to migrate to the new API endpoints for improved experience.

#### Enhancements to conversation creation API Breaking

The following enhancements have been introduced for the conversation creation operation workflow with the `POST /api/rest/2.0/ai/agent/conversation/create` API endpoint:

metadata\_context

To define the conversation context, the API request must include the `metadata_context` parameter with one of the following values:

-   `AUTO_MODE`: Automatically discovers and selects the most relevant datasets for the user’s queries.
    
-   `DATA_SOURCE`: Sets the target context as the data source. You must specify at least one data source ID.
    
    -   To set a single data source object metadata context, specify a `data_source_identifier`.
        
    -   For multi-data source context, specify the `data_source_identifiers`.
        
        > **IMPORTANT:** The data\_source and guid attributes are deprecated in the 26.5.0.cl release version. Integrations using these parameters in ThoughtSpot versions 26.2.0.cl through 26.4.0.cl will continue to work until further notice. However, ThoughtSpot recommends using either AUTO\_MODE or DATA\_SOURCE with data\_source\_identifier or data\_source\_identifiers for the metadata context.
        
    

Other context options

The `answer_context` and `liveboard_context` are removed and no longer supported. Any existing integration or embedding application passing `answer_context` or `liveboard_context` in the request body must update their workflows to use the `AUTO_MODE` or `DATA_SOURCE` option.

Enable save chat

The `enable_save_chat` parameter, when set to `true`, saves the conversation.

API response

The API response now returns the `conversation_identifier`, which is used in all subsequent send message or SSE streaming calls.

### Liveboard report API enhancements Beta

The `POST /api/rest/2.0/report/liveboard` API endpoint enhances the PDF downloads by introducing the following parameters:

-   `"page_size": "CONTINUOUS"` for a seamless PDF export that matches the full length of your Liveboard. Unlike the A4 format, which introduces forced page breaks between visualizations, this continuous flow maintains your exact design and intended layout.
    
-   `zoom_level` offers various download size options to suit the viewer’s screen dimensions, thereby enhancing legibility. This can be set only when `page_size` is specified as `CONTINUOUS`.
    

For more information, see [Liveboard Report API documentation]({{navprefix}}/{{report-apis-v2}}#_liveboard_report_api).

### Metadata search API enhancements

Personalized Views in metadata search

The `POST /api/rest/2.0/metadata/search` API endpoint introduces the `include_personalised_views` request parameter.

When both `include_details: true` and `include_personalised_views: true` are specified in the request, the API returns a `personalised_views` array in the `metadata_detail` object for `LIVEBOARD` metadata type responses.

This allows you to retrieve the full list of Personalized Views associated with a Liveboard in a single API call, without requiring a separate TML export.

For more information, see [Search metadata API]({{navprefix}}/{{rest-api-v2-metadata-search}}#_include_personalised_views).

### TML API enhancements

The previous limit of 100 Personalized Views per Liveboard on TML import has been removed. You can now import all associated Personalized Views of a Liveboard without any views being dropped. For more information, see the [TML import documentation]({{navprefix}}/{{tml-import}}).

## Version 26.4.0.cl, April 2026

### Variable API endpoints

The following endpoints are introduced for bulk delete and update operations for variables:

-   `POST /api/rest/2.0/template/variables/{identifier}/update-values`  
    Assigns multiple values to a variable and sets the scope for variable values in a single API request.
    
-   `POST /api/rest/2.0/template/variables/delete`  
    Deletes one or more variables in a single API request.
    

These new API endpoints replace the following legacy API endpoints deprecated in 26.4.0.cl.

-   `POST /api/rest/2.0/template/variables/{identifier}/delete`
    
-   `POST /api/rest/2.0/template/variables/update-values`
    

Your existing implementation with the legacy API endpoints will continue to work until further notice. However, these endpoints will be removed from ThoughtSpot in a future release. Hence, we recommend updating your workflows to use the API endpoints at your earliest convenience.

For more information, see [Variable API documentation]({{navprefix}}/{{variables}}).

### Metadata parameterization

You can now parameterize multiple fields in a metadata object in a single API request using the `/api/rest/2.0/metadata/parameterize-fields` API endpoint. This endpoint replaces the legacy `/api/rest/2.0/metadata/parameterize` endpoint, which is deprecated in 26.4.0.cl.

For more information, see [Metadata parameterization API documentation]({{navprefix}}/{{metadata-parameterization}}).

### Webhook integration

This release introduces the following features and enhancements to the webhook integration workflows:

Custom HTTP headers in webhook requests

Administrators can configure custom HTTP headers to send in webhook requests triggered by ThoughtSpot, in addition to the standard HTTP and authentication headers. You can specify these headers in the `additional_headers` attribute during webhook creation (`/api/rest/2.0/webhooks/create`) and update (`/api/rest/2.0/webhooks/{webhook_identifier}/update`) via REST APIs.

Webhook connection validation

You can now validate a webhook connection by sending a test payload via an API request to the `/api/rest/2.0/system/communication-channels/validate` endpoint. The API returns a response indicating the connection and authentication status for a given webhook connection.

Webhook monitoring

To monitor the status of webhook jobs and scheduled events, ThoughtSpot introduces the `/api/rest/2.0/jobs/history/communication-channels/search` API endpoint.

For more information, see [Webhook configuration validation and monitoring]({{navprefix}}/{{webhooks-comm-channel}}).

### Collections API endpoints

The following APIs are introduced for Collections:

-   `POST /api/rest/2.0/collections/create` Beta  
    Creates a new Collection.
    
-   `POST /api/rest/2.0/collections/search` Beta  
    Searches for a Collection in ThoughtSpot
    
-   `POST /api/rest/2.0/collections/{collection_identifier}/update` Beta  
    Updates an existing Collection
    
-   `POST /api/rest/2.0/collections/delete` Beta  
    Deletes a Collection
    

For more information, see [Collections]({{navprefix}}/{{collections}}).

### Email customization API enhancements

The `template_properties` parameter now has the `hide_logo_url` elements for email template customization. Set it to `true` to entirely hide the logo component in the ThoughtSpot notification emails.

### Spotter API enhancements

Spotter AI APIs now support the following error responses:

-   401 Unauthorized: authentication token is missing, expired, or invalid.
    
-   403 Forbidden: the authenticated user does not have `CAN_USE_SPOTTER` privilege or view access to the underlying metadata sources.
    

### Pivot table .xlsx exports

The following API endpoints now support pivot tables in `.xlsx` downloads with full visual and structural parity:

-   `POST /api/rest/2.0/report/answer`
    
-   `POST /api/rest/2.0/schedules/create`
    

To enable pivot formatting on your ThoughtSpot instance, contact ThoughtSpot Support.

## Version 26.3.0.cl, March 2026

### Webhook APIs

The Webhook API allows configuring Amazon S3 buckets as a storage destination for webhook payload delivery.

-   `POST /api/rest/2.0/webhooks/create`  
    Configures storage destination for webhook delivery.
    
-   `POST /api/rest/2.0/webhooks/{webhook_identifier}/update`  
    Allows modifying storage configuration for a webhook.
    
-   `POST /api/rest/2.0/webhooks/search`  
    Retrieves storage configuration details.
    

### Object privilege APIs

Administrators and users with edit access to data models can now use `/api/rest/2.0/security/metadata/manage-object-privilege` to assign object-level permissions to users and groups and control access to Spotter data model instructions.

To fetch object privileges for a data model, user, or group, use the `/api/rest/2.0/security/metadata/fetch-object-privileges` API endpoint.

For more information, see [Allowing access to Spotter data model instructions]({{navprefix}}/{{spotter-nl-instructions}}#_allowing_access_to_spotter_data_model_instructions).

### User API enhancements

The user APIs now support setting browser language as the default locale for ThoughtSpot users. Administrators can set the `use_browser_language` parameter as the default locale for ThoughtSpot users during the following API operations:

-   When creating a new user via `POST /api/rest/2.0/users/create`  
    
-   When importing users via `POST /api/rest/2.0/users/import`  
    
-   When updating user preferences via `POST /api/rest/2.0/users/{user_identifier}/update`  
    

When set to `true`, a user’s current locale preference is overridden and the browser’s language takes precedence.

The status of the browser language setting for a given user can also be retrieved using the following API endpoints:

-   `POST /api/rest/2.0/users/search`  
    
-   `POST /api/rest/2.0/users/activate`  
    
-   `GET /api/rest/2.0/auth/session/user`  
    

### Custom token generation API

Note the following changes to request parameters for the `/api/rest/2.0/auth/token/custom` API endpoint:

-   The `filter_rules` parameter on the custom token authentication (`/api/rest/2.0/auth/token/custom`) page in the REST API Playground is no longer available for new configurations. Existing implementations that use `filter_rules` continue to work. However, we strongly recommend migrating to `variable_values` and ABAC via RLS for data security.
    
-   The `parameter_values` property is supported in the current release but will be deprecated in an upcoming version. Using `parameter_values` for row-level security will be phased out with this deprecation. Therefore, we recommend generating JWTs that pass data security attributes through formula variable attributes instead of `filter_rules` or `parameter_values` for ABAC.
    

For more information, see [ABAC JWT migration guide]({{navprefix}}/{{abac-migration-guide}}) and [ABAC via RLS]({{navprefix}}/{{abac_rls-variables}}).

## Version 26.2.0.cl, February 2026

### Security settings APIs

This release introduces the following Security settings APIs:

-   `POST /api/rest/2.0/system/security-settings/configure`  
    Allows configuring security settings at the Org level or for all Orgs on a ThoughtSpot instance.
    
-   `POST /api/rest/2.0/system/security-settings/search`  
    Gets a list of security settings configured on a specific Org or for all Orgs on a ThoughtSpot instance.
    

For more information, see [Security Settings]({{navprefix}}/{{security-settings}}).

### Connection API

ThoughtSpot administrators can now revoke OAuth refresh tokens for users who no longer require access to a data warehouse connection via the `/api/rest/2.0/connections/{connection_identifier}/revoke-refresh-tokens` API endpoint. When a token is revoked, the affected user’s session for that connection is terminated, and they must re-authenticate to regain access.

### Connection configuration API enhancements

You can now include `same_as_parent` and `policy_process_options` attributes in your API request to `/api/rest/2.0/connection-configurations/create` and `/api/rest/2.0/connection-configurations/{configuration_identifier}/update` endpoints.

The `same_as_parent` parameter specifies if the configuration should inherit settings from its parent. The `policy_process_options` attribute can be used to define additional policy or processing options for the connection, to allow granular control over connection behavior.

### Liveboard Report API enhancements

You can now download Liveboard reports in the CSV and XLSX formats through the `POST /api/rest/2.0/report/liveboard` API endpoint. Both these options are Early Access features.

For more information, see [Report APIs]({{navprefix}}/{{report-apis-v2}}).

### Email customization API enhancements

The `template_properties` parameter now has two additional elements for email template customization:

-   `contact_support_url` to add a customized link for contacting customer support.
    
-   `hide_contact_support_url` to hide the option of adding a link for customer support.
    

### System configuration API enhancements

The API response from the `/api/rest/2.0/system/config` endpoint indicates whether SAML or Okta authentication is enabled on the system.

### User API enhancements

-   `POST /api/rest/2.0/users/import`  
    The `preferred_locale` parameter allows configuring the preferred locale for users being imported via API request.
    
-   `POST /api/rest/2.0/users/search`  
    The `include_variable_values` parameter in the API request allows including variable values in the search response. The variable values can be assigned for a user via [ABAC tokens]({{navprefix}}/{{abac_rls-variables}}) or [variable API documentation]({{navprefix}}/{{variables}}#_define_values_and_scope_for_variables).
    

## Version 10.15.0.cl, December 2025

### Spotter APIs

This release introduces the following Spotter APIs:

-   `POST /api/rest/2.0/ai/instructions/set`  
    Allows configuring data model instructions to define how Spotter interprets queries, handles data nuances, and improves responses.
    
-   `POST /api/rest/2.0/ai/instructions/get`  
    Gets data model instructions that are currently assigned to a model.
    
-   `POST /api/rest/2.0/ai/data-source-suggestions`  
    Retrieves a list of recommended data sources based on the specified query string.
    

For more information, see [Spotter AI APIs]({{navprefix}}/{{spotter-apis}}).

### Variable APIs

You can now create formula variables using the `/api/rest/2.0/template/variables/create` API endpoint, and assign values and scope to these variables using the `/api/rest/2.0/template/variables/update-values` API endpoint.

For more information, see [Configure variables]({{navprefix}}/{{variables}}).

### ABAC tokens with formula variable attributes

The `/api/rest/2.0/auth/token/custom` API endpoint allows creating a token request with formula variables for ABAC via RLS implementation.

For more information, see [ABAC via tokens]({{navprefix}}/{{abac-user-parameters}}).

## Version 10.14.0.cl, November 2025

### New API endpoints

System

This release introduces the following endpoints for configuring communication channel preferences.

-   `POST /api/rest/2.0/system/preferences/communication-channels/configure` Beta  
    Sets a communication channel preference for all Orgs at the cluster level or at the individual Org level.
    
-   `POST /api/rest/2.0/system/preferences/communication-channels/search` Beta  
    Gets details of the communication channel preferences configured on ThoughtSpot.
    
    For more information, see [Configure and monitor communication channels]({{navprefix}}/{{webhooks-comm-channel}}).
    

Webhook

The following APIs are introduced for webhook CRUD operations:

-   `POST /api/rest/2.0/webhooks/create` Creates a webhook.
    
-   `POST /api/rest/2.0/webhooks/{webhook_identifier}/update` Updates the properties of a webhook.
    
-   `POST /api/rest/2.0/webhooks/search` Gets a list of webhooks configured in ThoughtSpot or in a specific Org.
    
-   `POST /api/rest/2.0/webhooks/delete` Deletes the webhook.
    
    For more information, see [Webhooks for Liveboard schedule events]({{navprefix}}/{{webhooks-lb-schedule}}).
    

Column security rules

-   `POST /api/rest/2.0/security/column/rules/update`  
    Updates column security rules for a given Table.
    
-   `POST /api/rest/2.0/security/column/rules/fetch`  
    Gets details of column security rules for the tables specified in the API request.
    

### Variable API enhancements

The variable API enhancements are listed in the following sections. For additional details, see [Define variables]({{navprefix}}/{{variables}}).

#### Variable creation API

-   The variable creation endpoint `/api/rest/2.0/template/variables/create` does not support assigning values to a variable. To assign values to a variable, use the `/api/rest/2.0/template/variables/update-values` endpoint.
    
-   The `sensitive` parameter is renamed as `is_sensitive`.
    

#### Variables update APIs BREAKING CHANGE

The `/api/rest/2.0/template/variables/update` endpoint is deprecated and replaced with `/api/rest/2.0/template/variables/update-values`.  
To update the properties of a specific variable, use the `/api/rest/2.0/template/variables/{identifier}/update` endpoint and to assign values to one or several variables in a single API call, use the `POST /api/rest/2.0/template/variables/update-values` endpoint.

#### Variables search API

-   The variables search API endpoint `/api/rest/2.0/template/variables/search` now includes the `value_scope` parameter that allows you to filter the API response by the objects to which the variable is mapped.
    
-   Filtering API response by `EDITABLE_METADATA_AND_VALUES` is no longer supported.
    

### User API enhancements

The following APIs now support the `variable_values` parameter. The `variable_values` property can be used for user-specific customization.

-   `POST /api/rest/2.0/users/create`
    
-   `POST /api/rest/2.0/users/search`
    
-   `POST /api/rest/2.0/users/activate`
    

### DBT API enhancements

The `/api/rest/2.0/dbt/generate-tml` endpoint supports the `model_tables` attribute to list models and their tables.

## Version 10.13.0.cl, October 2025

### New API endpoints

Spotter

-   `POST /api/rest/2.0/ai/agent/conversation/create`  
    Creates a new AI-driven conversation session based on a specified data source. The resulting session sets the context for subsequent queries and responses.  
    
-   `POST /api/rest/2.0/ai/relevant-questions/`  
    Breaks down a user-submitted query into a series of analytical sub-questions using relevant contextual metadata.
    
-   `POST /api/rest/2.0/ai/agent/converse/sse`  
    Allows sending a follow-up message or question to an ongoing conversation session and returns the AI agent’s response, including answers, tokens, and visualization details.  
    

For more information, see [Spotter AI APIs]({{navprefix}}/{{spotter-apis}}).

Email customization

`POST /api/rest/2.0/customization/email/update`  
Updates an existing email customization. For more information, see [Customize email template]({{navprefix}}/{{customize-email-apis}}).

### API enhancements

The following APIs were modified to include new parameters:

TML export

The TML export API now supports the `export_with_column_aliases` parameter in `export_options` to indicate whether to export column aliases of the model.

Email customization

The `/api/rest/2.0/customization/email/update` and `/api/rest/2.0/customization/email` APIs now include `company_privacy_policy_url` and `company_website_url` properties in template variables, and a new `org_identifier` parameter in the API request.

For more information, see [Customize email template]({{navprefix}}/{{customize-email-apis}}).

### Deprecated endpoints

Spotter

The `POST /api/rest/2.0/ai/analytical-questions` Spotter AI API Beta is deprecated and replaced with the new API endpoint, `POST /api/rest/2.0/ai/relevant-questions/`.

Email customization

The `POST /api/rest/2.0/customization/email/{template_identifier}/delete` email customization API is deprecated and replaced with the new API endpoint, `POST /api/rest/2.0/customization/email/delete`.

## Version 10.12.0.cl, September 2025

### New API endpoints

The following API endpoints are now available:

Custom calendar

-   `POST /api/rest/2.0/calendars/create`  
    Creates a custom calendar.
    
-   `POST /api/rest/2.0/calendars/generate-csv`  
    Exports a custom calendar in the CSV format.
    
-   `POST /api/rest/2.0/calendars/search`  
    Gets custom calendars for the connection ID specified in the API request.
    
-   `POST /api/rest/2.0/calendars/{calendar_identifier}/delete`  
    Deletes a custom calendar.
    
-   `POST /api/rest/2.0/calendars/{calendar_identifier}/update`  
    Updates a custom calendar.
    

Connection configuration

-   `POST /api/rest/2.0/connection-configurations/create`  
    Creates an additional configuration to an existing connection to a data warehouse.
    
-   `POST /api/rest/2.0/connection-configurations/search`  
    Gets the required connection configuration objects.
    
-   `POST /api/rest/2.0/connection-configurations/{configuration_identifier}/update`  
    Updates an existing connection configuration object.
    
-   `POST /api/rest/2.0/connection-configurations/delete`  
    Deletes the connection configuration object.
    

### Enhancements to APIs

Export API endpoint

-   Answer TML:  
    The `POST /api/rest/2.0/metadata/tml/export` API endpoint now allows fetching TML for Answer objects that do not have an ID or name assigned. The `session_identifier` and `generation_number` parameters allow you to define the session ID and the Answer generation number in the API request. These optional attributes can be used for unsaved Answers generated from Spotter queries.
    
-   Table TML:  
    The `POST /api/rest/2.0/metadata/tml/export` API request allows exporting column security rules for Table TML objects. This attribute will export column security rules only if the object specified in the API request has column security applied and when `export_associated` is set to `true`.
    

## Version 10.11.0.cl, July 2025

### Search metadata API enhancements

The search metadata (`/api/rest/2.0/metadata/search`) API includes the following enhancements:

-   The `liveboard_reponse_version` parameter. It allows you to specify the [response format for Liveboard objects]({{navprefix}}/{{rest-api-v2-metadata-search}}#_response_format_for_liveboards).
    
-   The `subtypes` attribute to specify the sub-type for the `LOGICAL_TABLE` metadata type. The `LOGICAL_TABLE` type allows you to fetch objects such as Tables, Models, and Views. The `subtypes` parameter allows you to filter API response by specifying subcategories of the object type.
    
-   The `include_only_published_objects` attribute to specify whether the search should include [published objects]({{navprefix}}/{{publish-api}}).
    

### System API

The API response generated from the `GET /api/rest/2.0/system/config-overrides` requests now returns the overrides in the `config_override_info` object.

### TML API

The API response for the `POST /api/rest/2.0/metadata/tml/async/import` and `POST /api/rest/2.0/metadata/tml/async/status` now includes the `author_display_name` property. This property shows the display name of user that initiated the asynchronous TML import request.

### REST API Java SDK

The REST API Java SDK library artifacts are now available in the `com.thoughtspot` Maven namespace. If you are using Maven Central to import the REST API SDK artifacts, update the group ID in your `pom.xml` file to `com.thoughtspot` and the artifact ID to `rest-api-sdk`.

For more information, see [REST API Java SDK]({{navprefix}}/{{rest-api-java-sdk}}#_import_the_sdk_to_your_application_environment).

## Version 10.10.0.cl, July 2025

### Email template customization APIs

This release introduces the following new endpoints for email template customization:

-   `POST /api/rest/2.0/customization/email`  
    Allows you to personalize the ThoughtSpot notification emails content.
    
-   `POST /api/rest/2.0/customization/email/{template_identifier}/delete`  
    Removes the customizations done for the ThoughtSpot notification emails.
    
-   `POST /api/rest/2.0/customization/email/search`  
    Allows searching the email customization configuration if configured for ThoughtSpot.
    
-   `POST /api/rest/2.0/customization/email/validate`  
    Validates the email customization configuration if configured for ThoughtSpot.
    

### Group API

The `/api/rest/2.0/groups/search` endpoint now supports the following new options in group search API requests:

-   `include_users`  
    When set to `true`, it includes user details in the group search API response.
    
-   `include_sub_groups`  
    When set to `true`, it includes sub-groups in the group search response.
    

### Schedule API

You can now specify the `personalised_view_id` of a Liveboard in API requests to the following schedule APIs:

-   `POST /api/rest/2.0/schedules/create` To schedule a job for a personalized view of the Liveboard, specify the `personalised_view_id`.
    
-   `POST /api/rest/2.0/schedules/{schedule_identifier}/update` To update schedule details for a specific view of the Liveboard, specify the `personalised_view_id`.
    

## Version 10.9.0.cl, June 2025

### Metadata parameterization and content publishing across Orgs

This release introduces the following new endpoints for metadata parameterization Beta and content publishing Beta across Orgs. To enable the content publishing feature and the related API operations on your instance, contact ThoughtSpot Support.

-   `POST /api/rest/2.0/metadata/parameterize` Beta  
    Allows you to parameterize fields in metadata objects.
    
-   `POST /api/rest/2.0/metadata/unparameterize` Beta  
    Allows removing parameterization from fields in metadata objects
    
-   `POST /api/rest/2.0/security/metadata/publish` Beta  
    Publish metadata objects to one or several Orgs on an instance.
    
-   `POST /api/rest/2.0/security/metadata/unpublish` Beta  
    Removes published metadata objects from the Orgs specified in the API request.
    
-   `POST /api/rest/2.0/template/variables/create` Beta  
    Allows creating a template variable which can be used to parameterize fields in a metadata object.
    
-   `POST /api/rest/2.0/template/variables/search` Beta  
    Allows searching template variables
    
-   `POST /api/rest/2.0/template/variables/{identifier}/update` Beta  
    Allows updating properties of a template variable.
    
-   `POST /api/rest/2.0/template/variables/update` Beta  
    Allows you to add, remove, or replace properties of one or several template variables.
    
-   `POST /api/rest/2.0/template/variables/{identifier}/delete` Beta  
    Deletes a template variable.
    

If your metadata objects are parameterized, you can use the `show_resolved_parameters` to filter the API response from `/api/rest/2.0/connection/search` and `/api/rest/2.0/metadata/search` endpoints to get only the objects with resolved parameterized values.

### Liveboard Report API

The Liveboard Report API now allows you to define the following properties:

-   `tab_identifiers`  
    Optional parameter to specify the name or GUID of a Liveboard tab to export only the visualizations in that tab.
    
-   `personalised_view_identifier`  
    Optional parameter to specify the GUID of the Liveboard personalized view that you want to download.
    

In addition to these parameters, you can also define the following properties for PNG downloads:

-   `image_resolution`
    
-   `image_scale`
    
-   `include_header`
    

For more information, see [Liveboard Report API]({{navprefix}}/{{report-apis-v2}}#_liveboard_report_api).

### REST API Java SDK

The REST API Java SDK enables developers to interact programmatically with ThoughtSpot REST APIs from Java applications. It provides a client library with Java methods and classes that map to API endpoints, handle authentication, send API requests, and allow creating and modifying ThoughtSpot resources and objects.

For information about how to install and use the SDK, see [Java SDK for REST APIs]({{navprefix}}/{{rest-api-java-sdk}}).

## Version 10.8.0.cl, April 2025

### New API endpoints

This version introduces the following endpoints:

-   `POST /api/rest/2.0/metadata/update-obj-id`  
    Update object IDs for given metadata objects.  
    

> **NOTE:** An object ID is a user-defined ID assigned to a ThoughtSpot object in addition to the system-generated GUID. Note that the object ID generation for metadata objects is disabled by default. If this feature is enabled on your instance, you can use the POST /api/rest/2.0/metadata/update-obj-id to assign or update the object ID.

### Metadata API

-   The `POST /api/rest/2.0/metadata/search` endpoint now supports the following parameters:
    
    -   `include_discoverable_objects`  
        Allows including Answers and Liveboards that are marked as discoverable by the object owner.
        
    -   `metadata_obj_id`  
        Filters metadata objects by the user-defined object ID. This parameter returns data only if the user-defined object ID feature is enabled on your instance.
        
    

### TML APIs

-   The `all_orgs_context` parameter in TML import APIs (`/api/rest/2.0/metadata/tml/import` and `/api/rest/2.0/metadata/tml/async/import`) is deprecated and removed from the Playground. Use `all_orgs_override` to define the Org context in your API requests.
    
-   The TML export API now allows exporting TML content with user feedback received for objects such as AI-generated Answers. The `export_with_associated_feedbacks` attribute is set to `false` by default.
    

### Report APIs

The Liveboard export API (`/api/rest/2.0/report/liveboard`) now allows overriding filters applied to a Liveboard. The `override_filters` array allows specifying several types of filters and updates the Liveboard data during export.

For more information, see [Override filters]({{navprefix}}/{{report-apis-v2}}#_override_filters).

## Version 10.6.0.cl, March 2025

### New metadata API endpoints

-   `POST /api/rest/2.0/metadata/headers/update`  
    Updates metadata header for a given list of objects.
    
-   `POST /api/rest/2.0/metadata/worksheets/convert`  
    Converts a Worksheet object to a Model.
    

### Report APIs

BREAKING CHANGE

Downloading Liveboard reports in the CSV and XLSX file format via `POST /api/rest/2.0/report/liveboard` API endpoint is not supported. The CSV and XLSX `file_format` options have been removed because they were not functioning in the expected manner.

#### Parameters for regional settings

The `/api/rest/2.0/report/answer` and `/api/rest/2.0/report/liveboard` now allow users to define the following `regional_settings` attributes:

-   `currency_format`
    
-   `user_locale`
    
-   `number_format_locale`
    
-   `date_format_locale`
    

### Custom object ID in TML and Metadata APIs

The following API endpoints allow you to specify a custom object ID (`obj_identifier`) in the metadata object properties:

-   `POST /api/rest/2.0/metadata/search`
    
-   `POST /api/rest/2.0/metadata/headers/update`
    
-   `POST /api/rest/2.0/metadata/tml/export`  
    

### TML import API

The `/api/rest/2.0/metadata/tml/async/import` and `POST /api/rest/2.0/metadata/tml/import` endpoints allow skipping diff check when processing TMLs for imports. The `skip_diff_check` attribute is disabled by default and can be enabled to avoid importing objects that do not have any changes.

### API response changes

The 200 and 201 response body from `POST /api/rest/2.0/ai/answer/create` and `POST /api/rest/2.0/ai/conversation/{conversation_identifier}/converse` API calls now includes the `display_tokens` property.

## Version 10.5.0.cl, December 2024

### Custom access token API

The `/api/rest/2.0/auth/token/custom` API endpoint allows setting the following attributes in API requests:

-   `auto_create`  
    Creates a user if username specified in the API request is not available in ThoughtSpot. By default, the `auto_create` is set to `true`.
    
-   `REPLACE` enum for `persist_option`  
    Allows replacing persisted values with new attributes defined in the token generation API request. For more information, see [ABAC via tokens]({{navprefix}}/{{abac-user-parameters}}).
    

### TML import APIs

TML async import

The `/api/rest/2.0/metadata/tml/async/import` supports setting the following properties via API requests:

-   `import_policy`  
    Allows you to specify if all objects should be imported during the TML import operation. Valid values are:
    
    -   `PARTIAL_OBJECT` (default)
        
    -   `PARTIAL`
        
    -   `VALIDATE_ONLY`
        
    -   `ALL_OR_NONE`
        
    
-   `enable_large_metadata_validation`  
    Indicates if the TMLs with large and complex metadata should be validated before the import.
    
    For more information about these attributes, see [Import TML objects asynchronously]({{navprefix}}/{{tml-import}}#_import_tml_objects_asynchronously).
    

TML import API

The `/api/rest/2.0/metadata/tml/import` API also supports setting the `enable_large_metadata_validation` attribute for large and complex metadata objects during TML import.

TML export API

The `/api/rest/2.0/metadata/tml/export` endpoint now allows you to include additional attributes when exporting TML for an object from ThoughtSpot. The `export_options` allows you to include the following optional attributes:

-   `include_obj_id_ref`  
    Specifies whether to export `user_defined_id` of the referenced object. This setting is valid only if the `UserDefinedId` property in TML is enabled.
    
-   `include_guid`  
    Specifies whether to export the GUID of the object. This setting is valid only if the `UserDefinedId` property in TML is enabled.
    
-   `include_obj_id`  
    Specifies whether to export the `user_defined_id` of the object. This setting is valid only if the `UserDefinedId` property in TML is enabled.
    

Share metadata

The `email` attribute is now optional in the `POST` request body sent to the `/api/rest/2.0/security/metadata/share` API endpoint.

Role API

The `/api/rest/2.0/roles/create` API endpoint now allows setting `read_only` attribute to specify if the role is read only. A read-only role cannot be updated or deleted.

## Version 10.4.0.cl, November 2024

### New API endpoints

Spotter AI APIs Beta

-   `POST /api/rest/2.0/ai/conversation/create`  
    Creates a conversation session.
    
-   `POST /api/rest/2.0/ai/conversation/{conversation_identifier}/converse`  
    Generates responses for user queries and follow-up questions.
    
-   `POST /api/rest/2.0/ai/answer/create`  
    Generates an Answer from a Natural Language Search query.
    

Authentication

The `/api/rest/2.0/auth/token/custom` API endpoint is now available to generate an authentication token with custom rules and filter conditions for a user.

ThoughtSpot recommends using the custom token API endpoint to generate tokens for the Attribute-Based Access Control (ABAC) implementation. For more information, see [ABAC via RLS with variables]({{navprefix}}/{{abac_rls-variables}}).

Connections

The following new API endpoints are available for updating and deleting a connection object:

-   `POST /api/rest/2.0/connections/{connection_identifier}/update`
    
-   `POST /api/rest/2.0/connections/{connection_identifier}/delete`
    

ThoughtSpot recommends using these APIs instead of `POST /api/rest/2.0/connection/update` and `POST /api/rest/2.0/connection/delete`.

TML

The following API endpoints are available for asynchronous TML import:

-   `POST /api/rest/2.0/metadata/tml/async/import`  
    Validates and imports TML objects asynchronously. Use this API endpoint when importing large metadata objects.
    
-   `POST /api/rest/2.0/metadata/tml/async/status`  
    Fetches task status for the async TML import operations.
    

For more information, see [Import TML objects asynchronously]({{navprefix}}/{{tml-import}}#_import_tml_objects_asynchronously).

### API enhancements

User session

-   The 200 API response for the `/api/rest/2.0/auth/session/user` and `/api/rest/2.0/users/search` is modified to show `access_control_properties`.
    
-   You can now manage account activation status for IAMv2 users using the following API endpoints:
    
    -   `POST /api/rest/2.0/users/create`  
        
    -   `POST /api/rest/2.0/users/{user_identifier}/update`
        
    

Report API

The `POST /api/rest/2.0/report/answer` API endpoint supports downloading an Answer generated by the Spotter AI APIs:

-   `session_identifier`  
    Session ID returned in API response by the `/api/rest/2.0/ai/answer/create` or `/api/rest/2.0/ai/conversation/create` endpoint.
    
-   `generation_number`  
    Number assigned to the Answer session with Spotter.
    
    If you are downloading an Answer generated by Spotter, you must specify the session ID. The `metadata_identifier` property is not required.
    

### Deprecated features

Connection APIs

The following connection API endpoints are deprecated:

-   `POST /api/rest/2.0/connection/delete`
    
-   `POST /api/rest/2.0/connection/update`
    

Use `POST /api/rest/2.0/connections/{connection_identifier}/update` and `POST /api/rest/2.0/connections/{connection_identifier}/delete` APIs to update and delete a connection object respectively.

Authentication

The `user_parameters` property in `/api/rest/2.0/auth/token/full` and `/api/rest/2.0/auth/token/object` APIs is deprecated.

ThoughtSpot recommends using `/api/rest/2.0/auth/token/custom` API endpoint with `filter_rules` and `parameter_values` to configure user properties for ABAC via tokens.

## Version 10.3.0.cl, October 2024

### New API endpoint

You can now create a copy of a Liveboard or Answer object using `/api/rest/2.0/metadata/copyobject` API endpoint.

## Version 10.1.0.cl, August 2024

### New API endpoints

-   `POST /api/rest/2.0/metadata/tml/export/batch`  
    Exports a batch of TML for user, user group, or Role objects.
    

### Security APIs

The `/api/rest/2.0/security/metadata/fetch-permissions` API endpoint supports the following parameters:

-   `record_offset`  
    Specifies the starting record number from which the records for each metadata type will be included in the API response.
    
-   `record_size`  
    Specifies the number of records that should be included for each metadata type in the API response.
    
-   `permission_type`  
    Specifies the type of permission. Valid values are:
    
    -   `EFFECTIVE` - If user permission to the metadata objects is granted by the privileges assigned to the groups to which they belong.
        
    -   `DEFINED` - If a user or user group received access to metadata objects via object sharing by another user.
        
    

## Version 10.0.0.cl, July 2024

### Roles

You can now assign the `CAN_MANAGE_VERSION_CONTROL` role using any of the following API endpoints:

-   `POST /api/rest/2.0/roles/create`
    
-   `POST /api/rest/2.0/roles/{role_identifier}/update`
    

The `CAN_MANAGE_VERSION_CONTROL` Role privilege is required for Git integration with ThoughtSpot.

## Version 9.12.0.cl, May 2024

### New features

Authentication API

-   `/api/rest/2.0/auth/token/validate`  
    Validates the authentication token of the logged-in user.
    

TML API

The export TML API requests now support the following parameters:

-   `export_schema_version`  
    Specifies the schema version for datasets during TML export. By default, the API request uses v1 schema for Worksheet TML export. For Models, set `export_schema_version` to `v2`.  
    
-   `export_dependent`  
    Allows exporting dependent Tables while exporting a Connection.
    
-   `export_connection_as_dependent`  
    Specifies if a Connection can be exported as a dependent object when exporting a Table, Worksheet, Answer, or Liveboard. This parameter works only when `export_associated` is set to `true` in the API request.
    

### Deprecated features

Token authentication APIs

The `jwt_user_options` object property in `/api/rest/2.0/auth/token/full` and `/api/rest/2.0/auth/token/object` is deprecated. Use the `user_parameters` property to define security entitlements to a user session. For more information, see [ABAC via token]({{navprefix}}/{{abac-user-parameters}})Beta.

## Version 9.10.5.cl, April 2024

### New features

Authentication

The `/api/rest/2.0/auth/token/full` and `/api/rest/2.0/auth/token/object` API endpoints support generating JWT token for Attribute-Based Access Control. The `user_parameters` object allows you to define security entitlements for a given user.

For more information, see [ABAC via tokens]({{navprefix}}/{{abac-user-parameters}}).

Roles

The `/api/rest/2.0/roles/create` and `/api/rest/2.0/roles/{role_identifier}/update` API endpoints support assigning the following privileges to a Role for granular data access control and management:

-   `CAN_MANAGE_CUSTOM_CALENDAR`
    
-   `CAN_CREATE_OR_EDIT_CONNECTIONS`
    
-   `CAN_MANAGE_WORKSHEET_VIEWS_TABLES`
    

DBT

You can now use `file_content` to upload DBT Manifest and Catalog artifact files as a ZIP file in your API requests to the `/api/rest/2.0/dbt/dbt-connection`, `/api/rest/2.0/dbt/generate-tml`, `/api/rest/2.0/dbt/generate-sync-tml`, and `/api/rest/2.0/dbt/update-dbt-connection` endpoints. This field is required if the `import_type` parameter is set to `'ZIP_FILE'`.

Connections

-   `/api/rest/2.0/connections/fetch-connection-diff-status/{connection_identifier}`  
    Validates the differences in Connection metadata between Cloud Data Warehouse and ThoughtSpot.
    
-   `/api/rest/2.0/connections/download-connection-metadata-changes/{connection_identifier}`  
    Downloads the connection metadata differences identified between Cloud Data Warehouse and ThoughtSpot.
    

Logs

The `/api/rest/2.0/logs/fetch` API endpoint allows fetching all logs in a single API request. To get all logs, set `get_all_logs` to `true`.

Share metadata

The `/api/rest/2.0/security/metadata/share` API supports the following new properties:

-   `notify_on_share`  
    Sends a share notification to the email addresses specified in the API request.
    
-   `has_lenient_discoverability`  
    Sets the shared metadata object as a discoverable object. Applies to Saved Answers and Liveboards only.
    

Users

The `trigger_activation_email` property allows you to specify if an activation email must be sent to the user’s email address in the user creation request to the `/api/rest/2.0/users/create` endpoint.

### Deprecated features

Version Control APIs

The following parameters in `/api/rest/2.0/vcs/git/config/create` and `/api/rest/2.0/vcs/git/config/update` are deprecated from 9.10.5.cl onward:

-   `default_branch_name`  
    Replaced by `commit_branch_name`
    
-   `guid_mapping_branch_name`  
    Replaced by `configuration_branch_name`
    

For more information, see [Git integration and version control]({{navprefix}}/{{version_control}}).

## Version 9.10.0.cl, March 2024

### New API endpoints

DBT

-   `POST /api/rest/2.0/dbt/dbt-connection`  
    Creates a DBT connection.
    
-   `POST /api/rest/2.0/dbt/generate-tml`  
    Generates Worksheets and Tables for a given DBT connection.
    
-   `POST /api/rest/2.0/dbt/generate-sync-tml`  
    Synchronizes the existing TML of data models and Worksheets and imports them to ThoughtSpot.
    
-   `POST /api/rest/2.0/dbt/search`  
    Gets a list of DBT connection objects for a given user or Org.
    
-   `POST /api/rest/2.0/dbt/{dbt_connection_identifier}`  
    Updates a DBT connection.
    

System

`GET api/rest/2.0/system/banner`  
Gets cluster maintenance status and banner text.

For more information, see [Cluster maintenance and upgrade]({{navprefix}}/{{tse-eco-mode}}#_cluster_status_during_upgrade).

## Version 9.8.0.cl, January 2024

The `deploy_policy` property in the `/api/rest/2.0/vcs/git/commits/deploy` endpoint now supports the `VALIDATE_ONLY` option, which allows you to compare and validate TML content on the destination environment against the content in the main branch before deploying commits.

## Version 9.7.0.cl, November 2023

### Version Control APIs

This release introduces the following enhancements to the Version Control API endpoints:

#### Git connection creation and update APIs

The `POST /api/rest/2.0/vcs/git/config/create` and `POST /api/rest/2.0/vcs/git/config/update` API endpoints include the following enhancements:

New parameters

-   `commit_branch_name`  
    Allows configuring a commit branch for Git connections on your ThoughtSpot instance. ThoughtSpot recommends using `commit_branch_name` instead of `default_branch_name` in the API calls to prevent users from committing changes to the default deployment branch.
    
-   `configuration_branch_name`  
    Allows configuring a separate Git branch for storing and maintaining configuration files, such as GUID mapping and commit tracking files. If the `configuration_branch_name` property is defined, the `guid_mapping_branch_name` parameter is not required.
    

Modified parameters

The `enable_guid_mapping` parameter is enabled by default.

Separate branches for Orgs

If you are using Orgs and want to move content between these Orgs using version control APIs, ensure that you set a separate Git branch for each Org. If two Orgs are connected to the same Git `repository_url`, the `POST /api/rest/2.0/vcs/git/config/create` and `POST /api/rest/2.0/vcs/git/config/update` API endpoints do not support configuring the same branch name for these Orgs.

Deprecation notice

The `default_branch_name` and `guid_mapping_branch_name` parameters will be deprecated from version 10.0.0.cl and later releases.

For more information, see [Connect your ThoughtSpot environment to the Git repository]({{navprefix}}/{{git-configuration}}#connectTS).

#### Commit API

The `POST /api/rest/2.0/vcs/git/branches/commit` API endpoint allows the following new attribute in the request body:

-   `delete_aware`
    
    When set to true, the system runs a check between the objects and files in the Git branch and destination environment or Org. If an object exists in the Git branch, but not the destination environment or Org, it will be deleted from the Git branch during the commit operation.
    

For more information, see [Commit files]({{navprefix}}/{{version_control}}#_commit_files_and_changes).

#### Deploy API

Note the following changes:

-   The `branch_name` attribute is now mandatory in the `POST /api/rest/2.0/vcs/git/commits/deploy` API requests. Ensure that you specify the name of the Git branch from which the commits can be picked and deployed on the destination environment or Org.
    
-   After a successful deployment, a tracking file is generated with the `commit_id` and saved in the Git branch that is used for storing configuration files. The `commit_id` recorded in the tracking file is used for comparing changes when new commits are pushed in the subsequent API calls.
    

For more information, see [Deploy commits]({{navprefix}}/{{version_control}}#_deploy_commits).

### User API

The following new API endpoints are introduced for user account management:

-   `POST /api/rest/2.0/users/activate`  
    Activates an inactive user account.
    
-   `POST /api/rest/2.0/users/deactivate`  
    Deactivates a user account.
    

### Support for sorting of columns at runtime

The following data API endpoints now support runtime sorting of columns:

-   `POST /api/rest/2.0/searchdata`  
    
-   `POST /api/rest/2.0/metadata/liveboard/data`  
    
-   `POST /api/rest/2.0/metadata/answer/data`  
    

For more information, see [Runtime sorting of columns]({{navprefix}}/{{runtime-sort}}).

## Version 9.6.0.cl, October 2023

### New API endpoints

-   `POST /api/rest/2.0/customization/custom-actions/search`  
    Gets custom action objects
    
-   `POST /api/rest/2.0/customization/custom-actions`  
    Creates a custom action
    
-   `POST /api/rest/2.0/customization/custom-actions/{custom_action_identifier}/update`  
    Updates the properties of a custom action object.
    
-   `POST /api/rest/2.0/customization/custom-actions/{custom_action_identifier}/delete`  
    Deletes a custom action
    

### SDK for TypeScript

ThoughtSpot provides TypeScript SDK to help client applications call REST APIs using TypeScript. You can download the SDK from the [NPM site](https://www.npmjs.com/package/@thoughtspot/rest-api-sdk?activeTab=readme).

## Version 9.5.0.cl, September 2023

### New API endpoints for Role-Based Access Control Beta

-   `POST /api/rest/2.0/roles/search`  
    Gets details of role objects available in the ThoughtSpot system.
    
-   `POST /api/rest/2.0/roles/create`  
    Creates a role and assigns privileges
    
-   `POST /api/rest/2.0/roles/{role_identifier}/update`  
    Updates the properties of a given role
    
-   `POST /api/rest/2.0/roles/{role_identifier}/delete`  
    Removes a role object from the ThoughtSpot system
    

For more information, see [Role-based access control]({{navprefix}}/{{roles}}).

> **NOTE:** The roles APIs work only if the Role-Based Access Control (RBAC) Beta feature is enabled on your instance. The RBAC feature is turned off by default. To enable this feature, contact ThoughtSpot Support.

### Enhancements and API modifications

Support for runtime parameter overrides

The following data and report API endpoints support applying runtime parameter overrides:

-   `POST /api/rest/2.0/searchdata`  
    
-   `POST /api/rest/2.0/metadata/liveboard/data`  
    
-   `POST /api/rest/2.0/metadata/answer/data`  
    
-   `POST /api/rest/2.0/report/liveboard`  
    
-   `POST /api/rest/2.0/report/answer`
    

Git integration support for Orgs

The Version Control API endpoints support using Orgs as disparate deployment environments. You can create separate Orgs for `dev`, `staging`, and `prod` and integrate these environments with a GitHub repo.

For more information, see [Git integration and version control]({{navprefix}}/{{version_control}}).

### Response code change BREAKING CHANGE

The following endpoints now return the 204 response code instead of 200. The 204 code does not return a response body. This change may affect your current implementation, so we recommend that you update your code to avoid issues.

-   `POST /api/rest/2.0/connection/delete`
    
-   `POST /api/rest/2.0/connection/update`
    
-   `POST /api/rest/2.0/users/{user_identifier}/update`
    
-   `POST /api/rest/2.0/users/{user_identifier}/delete`
    
-   `POST /api/rest/2.0/users/change-password`
    
-   `POST /api/rest/2.0/users/reset-password`
    
-   `POST /api/rest/2.0/users/force-logout`
    
-   `POST /api/rest/2.0/groups/{group_identifier}/update`
    
-   `POST /api/rest/2.0/groups/{group_identifier}/delete`
    
-   `POST /api/rest/2.0/metadata/delete`
    
-   `POST /api/rest/2.0/orgs/{org_identifier}/update`
    
-   `POST /api/rest/2.0/orgs/{org_identifier}/delete`
    
-   `POST /api/rest/2.0/schedules/{schedule_identifier}/delete`
    
-   `POST /api/rest/2.0/schedules/{schedule_identifier}/update`
    
-   `POST /api/rest/2.0/security/metadata/assign`
    
-   `POST /api/rest/2.0/security/metadata/share`
    
-   `POST /api/rest/2.0/system/config-update`
    
-   `POST /api/rest/2.0/tags/{tag_identifier}/update`
    
-   `POST /api/rest/2.0/tags/{tag_identifier}/delete`
    
-   `POST /api/rest/2.0/tags/assign`
    
-   `POST /api/rest/2.0/tags/unassign`
    
-   `POST /api/rest/2.0/vcs/git/config/delete`
    
-   `POST /api/rest/2.0/auth/session/login`
    
-   `POST /api/rest/2.0/auth/session/logout`
    
-   `POST /api/rest/2.0/auth/token/revoke`
    

## Version 9.4.0.cl, August 2023

### API endpoints to schedule and manage Liveboard jobs

-   `**POST** /api/rest/2.0/schedules/create`  
    Creates a scheduled job for a Liveboard
    
-   `**POST** /api/rest/2.0/schedules/{schedule_identifier}/update`  
    Updates a scheduled job
    
-   `**POST** /api/rest/2.0/schedules/search`  
    Gets a list of Liveboard jobs configured on a ThoughtSpot instance
    
-   `**POST** /api/rest/2.0/schedules/{schedule_identifier}/delete`  
    Deletes a scheduled job.
    

For more information, see [REST API v2.0 Reference]({{navprefix}}/restV2-playground?apiResourceId=http%2Fapi-endpoints%2Fschedules%2Fsearch-schedule).

### API to fetch authentication token

The `GET /api/rest/2.0/auth/session/token` API endpoint fetches the current authentication token used by the currently logged-in user.

### Version Control API enhancements

-   The following Version Control API endpoints support generating and maintaining a GUID mapping file on a Git branch connected to a ThoughtSpot instance:
    
    -   `**POST** /api/rest/2.0/vcs/git/config/create`
        
    -   `**POST** /api/rest/2.0/vcs/git/config/update`
        
    

### User and group API enhancements

-   The `**POST** /api/rest/2.0/users/{user_identifier}/update` and `**POST** /api/rest/2.0/groups/{group_identifier}/update` support specifying the type of operation API request. For example, if you are removing a property of a user or group object, you can specify the `operation` type as `REMOVE` in the API request.
    
-   The `**POST** /api/rest/2.0/users/{user_identifier}/update` allows you to define locale settings, preferences, and other properties for a user object.
    

## Version 9.3.0.cl, June 2023

The following Version Control Beta API endpoints are now available for the lifecycle management of content on your deployment environments:

-   `**POST** /api/rest/2.0/vcs/git/config/search`
    
-   `**POST** /api/rest/2.0/vcs/git/commits/search`
    
-   `**POST** /api/rest/2.0/vcs/git/config/create`
    
-   `**POST** /api/rest/2.0/vcs/git/config/update`
    
-   `**POST** /api/rest/2.0/vcs/git/config/delete`
    
-   `**POST** /api/rest/2.0/vcs/git/branches/commit`
    
-   `**POST** /api/rest/2.0/vcs/git/commits/{commit_id}/revert`
    
-   `**POST** /api/rest/2.0/vcs/git/branches/validate`
    
-   `**POST** /api/rest/2.0/vcs/git/commits/deploy`
    

For more information, see [Version control and Git integration]({{navprefix}}/{{version_control}}).

## Version 9.2.0.cl, May 2023

New endpoints

-   System
    
    -   `POST /api/rest/2.0/system/config-update`  
        Updates system configuration
        
    -   `GET /api/rest/2.0/system/config-overrides`  
        Gets system configuration overrides
        
    
-   Connections
    
    -   POST /api/rest/2.0/connection/create  
        Creates a data connection
        
    -   `POST /api/rest/2.0/connection/search`  
        Gets a list of data connections
        
    -   `POST /api/rest/2.0/connection/update`  
        Updates a data connection
        
    -   `POST /api/rest/2.0/connection/delete`  
        Deletes a data connection
        
    

Enhancements

-   Support for runtime filters and runtime sorting of columns  
    The following REST API v2.0 endpoints support applying [runtime filters]({{navprefix}}/{{runtime-filters}}#_rest_api_v2_0_endpoints) and [sorting column data]({{navprefix}}/{{runtime-sort}}):
    
    -   `POST /api/rest/2.0/report/liveboard`  
        
    -   `POST /api/rest/2.0/report/answer`
        
    
-   Search users by their favorites
    
    The `/api/rest/2.0/users/search` API endpoint allows searching users by their favorite objects and home Liveboard setting.
    
-   Ability to log in to a specific Org
    
    The `/api/rest/2.0/auth/session/login` API endpoint now allows ThoughtSpot users to log in to a specific Org context.
    

## Version 9.0.0.cl, February 2023

The ThoughtSpot Cloud 9.0.0.cl release introduces the REST API v2.0 endpoints and Playground. For information about REST API v2.0 endpoints and Playground, see the following articles:

-   [REST API v2.0]({{navprefix}}/{{rest-api-v2}})
    
-   [Get started with REST API v2.0]({{navprefix}}/{{rest-api-v2-getstarted}})
    
-   [REST API v2.0 reference]({{navprefix}}/{{rest-api-v2-reference}})
    
-   [REST API v1 and v2.0 comparison]({{navprefix}}/{{rest-api-v1v2-comparison}})