Analytics
ThoughtSpot
API integration
Ship Analytics features without building the integration. Full ThoughtSpot API access via Proxy, normalized data through Unified APIs, and 220+ MCP-ready tools for AI agents — all extensible to your exact use case.
Talk to usUse Cases
Why integrate with ThoughtSpot
Common scenarios for SaaS companies building ThoughtSpot integrations for their customers.
Automate multi-tenant user provisioning for embedded analytics
SaaS platforms embedding ThoughtSpot need to replicate their tenant hierarchy — orgs, groups, users, and roles — inside ThoughtSpot to enforce row-level security. Truto's Unified User Directory API lets you sync this identity layer programmatically without building custom glue code against ThoughtSpot's REST API.
Enforce HIPAA and SOC 2 compliant data isolation across customer tenants
Healthcare and fintech SaaS companies must guarantee that each customer's users only see their own data in embedded dashboards. By syncing groups, roles, and org assignments through Truto, platforms can dynamically apply row-level security attributes as part of their standard user lifecycle — without maintaining a separate identity pipeline.
Streamline onboarding when new customers connect their ThoughtSpot instance
When your end users bring their own ThoughtSpot deployment, your product needs to read their existing org structure, groups, and roles to map permissions correctly. Truto handles the auth handshake and normalizes the user directory data so your onboarding flow works regardless of ThoughtSpot API version quirks.
Centralize identity management across multiple analytics backends
SaaS companies that support several BI tools alongside ThoughtSpot can use Truto's Unified User Directory API to manage users, groups, and roles through a single interface — reducing integration surface area and keeping permissions consistent across every connected analytics platform.
What You Can Build
Ship these features with Truto + ThoughtSpot
Concrete product features your team can ship faster by leveraging Truto’s ThoughtSpot integration instead of building from scratch.
Automated tenant org and group creation on signup
When a new customer signs up for your SaaS, automatically create a corresponding ThoughtSpot Org and Group via Truto's unified Users, Groups, and Organizations resources — no direct API wiring needed.
Role-based access sync from your app to ThoughtSpot
Map your application's permission tiers (admin, viewer, analyst) to ThoughtSpot Roles through Truto so embedded dashboard access stays in lockstep with your product's entitlements.
User lifecycle management dashboard
Build an internal admin panel that lists all synced ThoughtSpot users, their group memberships, and assigned roles — powered by Truto's normalized User Directory data — so your support team can troubleshoot access issues instantly.
Just-in-time user provisioning for embedded analytics sessions
Create or update a ThoughtSpot user with the correct group and RLS attributes the moment they launch an embedded Liveboard, ensuring zero-friction first-time access without pre-provisioning.
Bulk user deprovisioning on churn
When a customer churns or a user is deactivated in your platform, cascade the change to ThoughtSpot by removing users from groups and orgs through Truto — closing security gaps automatically.
SuperAI
ThoughtSpot AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
create_a_thought_spot_authentication
Generate a full-access authentication token for a ThoughtSpot user via trusted authentication. Returns: token, creation_time_in_millis, expiration_time_in_millis, scope, valid_for_user_id, valid_for_username. Required: username, secret_key. Tokens expire after 300 seconds by default.
create_a_thought_spot_role
Create a role in ThoughtSpot with a defined set of privileges, such as CAN_MANAGE_VERSION_CONTROL. Returns the created role object including id, privileges, created_at, and updated_at. Required: name.
update_a_thought_spot_role_by_id
Update a role in ThoughtSpot, including its assigned privileges. Returns the updated role object including id, privileges, created_at, and updated_at. Required: role_identifier.
delete_a_thought_spot_role_by_id
Delete a role from ThoughtSpot by its identifier. Returns an empty 204 response on success. Required: role_identifier.
list_all_thought_spot_roles
Search and list role objects available in ThoughtSpot. Returns roles including id, privileges, created_at, and updated_at.
list_all_thought_spot_users
Search ThoughtSpot users and get details of one or several users. Returns: id, name, display_name, visibility, author_id, can_change_password, complete_detail, creation_time_in_millis, current_org, deleted, deprecated, account_type, account_status, email, expiration_time_in_millis, external, orgs, privileges, user_groups, and 20 more.
create_a_thought_spot_user
Create a user in ThoughtSpot. Returns the created user record including id, name, display_name, email, account_status, and user_groups. Required: name, display_name, email.
update_a_thought_spot_user_by_id
Update the properties of a ThoughtSpot user object. Returns the updated user record including id, name, display_name, email, account_status, and user_groups. Required: id.
delete_a_thought_spot_user_by_id
Delete a user object from ThoughtSpot by id. Returns an empty 204 response on success. Required: id.
list_all_thought_spot_user_groups
Search and list user groups in ThoughtSpot. Returns matching group records with their id.
create_a_thought_spot_user_group
Create a user group in ThoughtSpot. Returns the created group record with its id. Required: name, display_name.
update_a_thought_spot_user_group_by_id
Update a user group's object properties in ThoughtSpot by id, including adding or removing users, sub-groups, and privileges. Returns the updated group record with its id. Required: id.
delete_a_thought_spot_user_group_by_id
Delete a user group from ThoughtSpot by id. Returns an empty 204 response on success. Required: id.
list_all_thought_spot_orgs
List the Orgs configured on the ThoughtSpot system. Returns each matched Org record with its id and Org-specific attributes (upstream-defined; see ThoughtSpot docs for the field-level breakdown). Available in ThoughtSpot Cloud 9.2.0.cl or later.
create_a_thought_spot_org
Create a new Org object in ThoughtSpot. Returns the created Org record with its id and Org-specific attributes (upstream-defined; see ThoughtSpot docs for the field-level breakdown). Available in ThoughtSpot Cloud 9.2.0.cl or later. Required: name.
delete_a_thought_spot_org_by_id
Delete an Org object from ThoughtSpot. Returns an empty 204 response on success. Required: org_identifier. Available in ThoughtSpot Cloud 9.2.0.cl or later.
update_a_thought_spot_org_by_id
Update the object properties of an Org in ThoughtSpot. Returns the updated Org record with its id and Org-specific attributes (upstream-defined; see ThoughtSpot docs for the field-level breakdown). Required: org_identifier. Available in ThoughtSpot Cloud 9.2.0.cl or later.
list_all_thought_spot_me
Get session information for the currently logged-in ThoughtSpot user. Returns: id, name, display_name, visibility, author_id, can_change_password, complete_detail, creation_time_in_millis, current_org, deleted, account_type, account_status, email, privileges, super_user, user_groups, user_inherited_groups, and 22 more. Takes no parameters.
thought_spot_2_0_auths_search
Retrieve ThoughtSpot authentication settings for the specified auth type at cluster and org level. Returns: auth_type, cluster_preferences, org_preferences. Currently supports TRUSTED_AUTH only. Required: auth_type.
thought_spot_2_0_collections_search
Search ThoughtSpot collections by name pattern (using '%' as a wildcard), by collection identifiers (GUID or name), or by author. Returns: collections, record_offset, record_size, is_last_batch, count. Available on ThoughtSpot 26.4.0.cl or later.
thought_spot_agent_analysts_search
Search ThoughtSpot Spotter Analysts. Provide analyst_identifier to fetch a single analyst, or omit it to page through analysts visible to you, optionally filtered by a case-insensitive name match (query) and ownership (type). Returns: analysts, total_size. Results are ordered by most recently accessed.
list_all_thought_spot_agent_conversations
List ThoughtSpot Spotter agent conversations saved by the currently authenticated user. Returns: conversation_identifier, conversation_title, created_at, updated_at, data_source_identifiers, data_source_names, is_pinned, analyst_id. Only conversations created with enable_save_chat: true are returned.
thought_spot_agent_conversations_send
Send natural language messages to an existing Spotter agent conversation in ThoughtSpot and get the complete agent response synchronously. Returns: messages. Required: conversation_identifier, messages. Create the conversation first via createAgentConversation; for real-time streamed responses use sendAgentConversationMessageStreaming instead.
list_all_thought_spot_agent_conversations_messages
List the messages of a saved agent conversation in ThoughtSpot, in order. Returns: message_id, timestamp_in_millis, user_prompt, response_items. Required: conversation_identifier.
create_a_thought_spot_ai_analytical_question
Decompose a natural language question into analytical sub-questions in ThoughtSpot, each mapped to a relevant data source. Returns a decomposedQueryResponse with the generated sub-questions (query, worksheetId, worksheetName). Deprecated — use getRelevantQuestions instead.
create_a_thought_spot_ai_data_source_suggestion
Get ThoughtSpot data source suggestions for a natural language query, ranked by confidence with LLM-generated reasoning. Returns: data_sources. Required: query. Beta endpoint — breaking changes may occur before GA.
create_a_thought_spot_ai_relevant_question
Decompose a natural language query into analytical sub-questions in ThoughtSpot. Returns relevant_questions, each containing query, data_source_identifier, and data_source_name. Beta endpoint. Required: metadata_context, query.
delete_a_thought_spot_analyst_delete_by_id
Permanently delete a Spotter Analyst in ThoughtSpot. Irreversible — deleted analysts cannot be recovered. Returns: id. Required: id.
create_a_thought_spot_analyst_share
Share a ThoughtSpot Spotter Analyst with users or groups by updating its share permissions; READ_ONLY/MODIFY grant access, NO_ACCESS revokes it. Returns an empty 204 response on success. Required: analyst_identifier, permissions.
update_a_thought_spot_analyst_update_by_id
Update a Spotter Analyst in ThoughtSpot by id. Returns: id, name, description, instructions, sources, mcp_connectors, starter_prompts, updated_time_in_millis, created_by, updated_by. Required: id, name, description, sources. The update is a full replace — optional fields omitted from the request are reset.
create_a_thought_spot_analysts_create
Create a Spotter Analyst in ThoughtSpot — a configured agent with data sources and optional instructions, MCP connectors, and starter prompts. Returns: id, name, description, instructions, sources, mcp_connectors, starter_prompts, and 3 more fields. Required: name, description, sources. Requires name, description, and at least one source.
create_a_thought_spot_answer_create
Generate a single AI answer for a natural language query against a ThoughtSpot data model, without a conversation session. Returns: session_identifier, generation_number, message_type, visualization_type, tokens, display_tokens. Required: query, metadata_identifier. Beta endpoint; breaking changes may occur before GA.
list_all_thought_spot_answer_details
Load the full answer payload for a specific answer in a ThoughtSpot agent conversation. Returns an answer object with title, tokens, visualization_type, and ac_state. Available from 26.7.0.cl. Required: conversation_identifier, answer_identifier.
create_a_thought_spot_auth_configure
Enable or disable Trusted Authentication (TRUSTED_AUTH) at cluster level or for specific Orgs in ThoughtSpot. Returns an empty 204 response on success. Requires auth_type and at least one of cluster_preferences or org_preferences. Required: auth_type.
update_a_thought_spot_collection_update_by_id
Update an existing ThoughtSpot collection: change its name, description, or visibility settings, and add (ADD), remove (REMOVE), or replace (REPLACE, the default) its metadata objects. Returns an empty 204 response on success. Required: id.
create_a_thought_spot_collections_create
Create a new collection in ThoughtSpot to group metadata objects like Liveboards, Answers, and worksheets, optionally nested as sub-collections. Returns: id, name, obj_id, description, metadata, created_at, updated_at, author_name, author_id, org. Required: name. Requires version 26.4.0.cl or later.
thought_spot_collections_deletes_bulk_delete
Delete one or more collections from ThoughtSpot. Returns: metadata_deleted, metadata_skipped. Required: collection_identifiers. Requires ThoughtSpot version 26.4.0.cl or later.
update_a_thought_spot_connection_configuration_update_by_id
Update a ThoughtSpot connection configuration by its GUID or name. Returns an empty 204 response on success. If the configuration is disabled, re-set disabled to true in the payload or it defaults to false; parameterized OAuth connections accept only same_as_parent and policy_process_options. Required: id,…
create_a_thought_spot_connection_configurations_create
Create an additional configuration for an existing ThoughtSpot data warehouse connection. Returns: configuration_identifier, name, configuration, data_warehouse_type, policy_type, and 6 more. Required: name, connection_identifier, configuration. policy_principals is required when policy_type is PRINCIPALS; policy_processes when PROCESSES.
thought_spot_connection_configurations_deletes_bulk_delete
Delete one or more connection configuration objects in ThoughtSpot (v10.12.0.cl or later). Returns an empty 204 response on success. Requires a JSON request body identifying the connection configuration objects to delete. Required: configuration_identifier, connection_identifier.
create_a_thought_spot_connection_create
Create a data warehouse connection in ThoughtSpot for live query services. Returns the created connection including id, name, data_warehouse_type, configuration, and databases. Required: name, data_warehouse_type, data_warehouse_config. Set validate to false for connections without tables. Available in ThoughtSpot 9.2.0.cl or later.
create_a_thought_spot_connection_delete
Delete a ThoughtSpot connection (V2 endpoint) by its unique ID or name. Returns an empty 204 response on success. Required: connection_identifier. Remove the connection's dependent-object associations before deleting.
thought_spot_connection_deletes_bulk_delete
Delete a ThoughtSpot connection object. Returns an empty 204 response on success. Requires a JSON request body; remove the connection's dependent-object associations before deleting. This endpoint is deprecated and will be removed in September 2025 — prefer the V2 delete method. Required: connection_identifier.
create_a_thought_spot_conversation_create
Create a new Spotter conversation in ThoughtSpot. Returns: conversation_identifier. Required: metadata_identifier. Requires ThoughtSpot 10.4.0.cl or later (Beta).
create_a_thought_spot_conversation_creates_create
Create a new Spotter AI agent conversation in ThoughtSpot. Returns: conversation_id, conversation_identifier, analyst_id. Required: conversation_settings. Available in ThoughtSpot 26.2.0.cl or later.
thought_spot_conversation_deletes_bulk_delete
Delete a saved Spotter agent conversation in ThoughtSpot, permanently removing it and all its associated messages — this operation is irreversible. Returns an empty 204 response on success. Required: conversation_identifier. Only conversations created with enable_save_chat: true are persisted and can be deleted.
list_all_thought_spot_conversation_get_share_infos
Get the current share state for a ThoughtSpot conversation you own: whether the shared view is outdated and which principals have access. Returns: conversation_id, is_shared_content_outdated, principals. Required: conversation_identifier. principals is empty and is_shared_content_outdated is null when the conversation was never shared.
list_all_thought_spot_conversation_get_shared_contents
Get the full read-only view of a shared ThoughtSpot conversation. Returns: conversation_id, shared_conversation_id, conversation_title, creator_user_id, data_sources, analyst_ids, messages, code_execution_files. Required: conversation_identifier. Use shared_conversation_id (not conversation_id) as the loadAnswer conversation_identifier.
create_a_thought_spot_conversation_share
Share a ThoughtSpot Spotter conversation with users or groups, granting or revoking read-only access or regenerating the point-in-time shared snapshot. Returns: refresh_shared_content, grant, revoke, notify_on_share. Required: conversation_identifier, grant, revoke.
update_a_thought_spot_conversation_update_by_id
Update a ThoughtSpot agent conversation's display title or pinned state. Returns an empty 204 response on success. Only saved conversations can be updated; is_pinned requires version 26.10.0.cl or later. Required: id.
create_a_thought_spot_converse_ss
Send natural language messages to an existing ThoughtSpot Spotter agent conversation and stream the response as Server-Sent Events. Returns: success, message. Required: conversation_identifier, messages. Deprecated - use sendAgentConversationMessageStreaming for new integrations. Beta; requires version 26.2.0.cl or later.
create_a_thought_spot_converse
Send natural language messages to an existing ThoughtSpot Spotter agent conversation and get the complete response synchronously (deprecated — use sendAgentConversationMessage). Returns an array of response objects with type, message, and metadata. Required: conversation_identifier, messages.
create_a_thought_spot_converses_converse
Send a message to an existing Spotter AI conversation in ThoughtSpot and receive the AI response. Returns: session_identifier, generation_number, message_type, visualization_type, tokens, display_tokens. Required: conversation_identifier, metadata_identifier, message. Available in beta on ThoughtSpot 10.4.0.cl or later.
thought_spot_instructions_sets_bulk_update
Set or update AI agent instructions in ThoughtSpot. Returns: id, instructions, created_at, updated_at, last_updated_by. Beta endpoint, available from version 26.6.0.cl or later. Required: instructions.
create_a_thought_spot_instructions_set
Set natural language (NL) instructions for a data model in ThoughtSpot to improve AI-generated answers. Returns: success. Beta endpoint, available from version 10.15.0.cl or later. Required: data_source_identifier, nl_instructions_info.
create_a_thought_spot_memory_export
Export memory entries (rules, recipes, and always-apply rules) for the specified ThoughtSpot data-models as a YAML payload that can be edited locally and re-imported via importMemory. Returns: content. Beta endpoint, version 26.8.0.cl or later. Required: sources.
create_a_thought_spot_memory_import
Import ThoughtSpot memory entries (rules, recipes, always-apply rules) from a YAML payload. Returns: status, summary, validation_failures, diagnostics, operation_id. Required: content, dry_run. Run with dry_run=true first to preview, then dry_run=false to apply; imports replace existing memory on referenced data-models. Beta (v26.8.0.cl+).
list_all_thought_spot_search_2_0_connection_configurations
Search ThoughtSpot connection configurations by connection name or GUID. Returns: configuration_identifier, name, description, configuration, policy_principals, policy_processes, disabled, data_warehouse_type, policy_type, same_as_parent, policy_process_options. Required: connection_identifier. Requires ThoughtSpot 10.12.0.cl or later.
create_a_thought_spot_send_stream
Send natural-language messages to a ThoughtSpot Spotter agent conversation and stream the agent's response as Server-Sent Events. Returns event objects with type, id, content, title, group_id, and metadata. Required: conversation_identifier, messages. The conversation must already exist (created via createAgentConversation).
create_a_thought_spot_session_login
Create a login session for a ThoughtSpot user with Basic authentication. Returns an empty 204 response on success and sets a session cookie to use in subsequent requests. Requires username and password. Note: basic-auth login returns an error when MFA is enabled on the instance.
create_a_thought_spot_session_logout
Log out the user from their current ThoughtSpot session. Returns an empty 204 response on success.
list_all_thought_spot_session_tokens
Generate a new ThoughtSpot bearer token from the current authenticated session without re-authenticating. Returns: token, creation_time_in_millis, expiration_time_in_millis, valid_for_user_id, valid_for_username. The issued token is valid for 24 hours.
create_a_thought_spot_stop_response
Stop an in-progress ThoughtSpot Spotter agent response for a conversation, terminating the output currently being generated. Returns an empty 204 response on success. Required: conversation_identifier. Succeeds even when no response is in progress, and the conversation session stays active afterwards.
create_a_thought_spot_token_custom
Create a custom authentication token in ThoughtSpot for ABAC via RLS, applying formula variable values for a user. Returns: id, token, org, user, creation_time_in_millis, expiration_time_in_millis, scope. Required: username, persist_option. Token is valid for 5 minutes by default; secret_key takes precedence over password.
create_a_thought_spot_token_object
Generate a ThoughtSpot authentication token scoped to a specific metadata object. Returns: token, creation_time_in_millis, expiration_time_in_millis, scope, valid_for_user_id, valid_for_username. Requires username plus either secret_key or password. Token is valid for 5 minutes by default; set validity_time_in_sec to adjust. Required: username.
create_a_thought_spot_token_revoke
Revoke the authentication token of a user session in ThoughtSpot. Returns an empty 204 response on success. Requires user_identifier or token (at least one must be provided). The session token expires immediately and the user cannot access ThoughtSpot objects until a new token is obtained.
thought_spot_token_validates_validate
Validate a ThoughtSpot authentication token. Returns: creation_time_in_millis, expiration_time_in_millis, scope, valid_for_user_id, token_type. Required: token. Available in version 9.12.0.cl or later; if the token is invalid, request a new one via the full-access-token endpoint.
thought_spot_2_0_searchdatas_search
Search ThoughtSpot data by running a search-token query against a data source (Worksheet, View, Table, or SQL view) to generate an answer. Returns: contents. Required: query_string, logical_table_identifier. Available in version 9.0.0.cl or later.
thought_spot_answer_data_lookup
Fetch data from a saved Answer in ThoughtSpot. Returns: metadata_id, metadata_name, contents. Required: metadata_identifier. Available on ThoughtSpot 9.0.0.cl or later.
thought_spot_answer_sqls_lookup
Fetch the underlying SQL query data for a ThoughtSpot Answer object. Returns: metadata_id, metadata_name, metadata_type, sql_queries. Required: metadata_identifier. Available in ThoughtSpot 9.0.0.cl or later.
thought_spot_assignments_updates_bulk_update
Update the Org assignments for a feature in ThoughtSpot. Returns: feature_id, feature_name, assigned_orgs. Required: feature_identifier, org_identifiers.
create_a_thought_spot_async_status
Get the status of ThoughtSpot TML async import tasks scheduled via the async import API. Returns: status_list, last_batch. Requires ThoughtSpot 10.4.0.cl or later.
delete_a_thought_spot_calendar_delete_by_id
Delete a custom calendar in ThoughtSpot by its ID or name. Returns an empty 204 response on success. Requires ThoughtSpot 10.12.0.cl or later. Required: id.
update_a_thought_spot_calendar_update_by_id
Update a ThoughtSpot custom calendar by its id or name. Returns an empty 204 response on success. Required: id, table_reference.
create_a_thought_spot_calendars_create
Create a custom calendar in ThoughtSpot, either from an existing table or from input parameters. Returns: calendar_name, connection_name, data_warehouse_type, and 4 more fields. Required: name, creation_method, table_reference. Requires name, creation_method, and table_reference. Available in version 10.12.0.cl or later.
create_a_thought_spot_calendars_generate_csv
Generate a ThoughtSpot custom calendar as a CSV file download based on the specified date range. Returns the generated custom calendar data as a CSV file. Available in 10.12.0.cl or later. Required: start_date, end_date.
create_a_thought_spot_connection_resync_metadata
Synchronize ThoughtSpot connection metadata attributes from your Cloud Data Warehouse. Returns: status, tables_updated, columns_updated, tables_failed, columns_failed, message. Required: connection_identifier. Requires ThoughtSpot version 26.5.0.cl or later.
create_a_thought_spot_connection_revoke_refresh_token
Revoke OAuth refresh tokens for a ThoughtSpot connection, terminating affected users' sessions until they re-authenticate. Revokes tokens for all connection users except the author by default. Returns: data. Required: connection_identifier.
update_a_thought_spot_connection_status_by_id
Activate or deactivate a ThoughtSpot connection. A deactivated connection stays intact but cannot be used for queries or operations until reactivated. Returns an empty 204 response on success. Available in version 26.6.0.cl or later. Required: id.
create_a_thought_spot_connection_update
Update a ThoughtSpot connection (Update Connection V2). Pass the updated database, schema, and table metadata in data_warehouse_config with validate=true for schema updates, or validate=false for configuration, name, or description changes. Returns an empty 204 response on success. Required: connection_identifier.
thought_spot_connection_updates_bulk_update
Update a ThoughtSpot connection object (legacy endpoint, deprecated and removed in September 2025 — use Update Connection V2 instead). Pass the connection's GUID and, for table or schema updates, the updated metadata in data_warehouse_config with validate=true. Returns an empty 204 response on success. Required: connection_identifier.
create_connections_download_connection_metadata_change
Download the connection metadata changes between ThoughtSpot and its cloud data warehouse (CDW) for a specific connection. Returns the metadata difference export as a binary file download rather than a JSON object, so no response fields are enumerated. Available in ThoughtSpot 9.9.0.cl or…. Required: connection_identifier.
thought_spot_connections_fetch_connection_diff_status_lookup
Check whether a ThoughtSpot connection's metadata differs from the Cloud Data Warehouse. Returns a boolean (true/false) indicating whether any difference exists between the connection metadata at ThoughtSpot and CDW. Available in ThoughtSpot 9.9.0.cl or later. Required: connection_identifier.
delete_a_thought_spot_custom_action_delete_by_id
Delete a ThoughtSpot custom action by its unique ID or name. Returns an empty 204 response on success. Required: id. Available in version 9.6.0.cl or later.
update_a_thought_spot_custom_action_update_by_id
Update a custom action in ThoughtSpot by its unique ID or name, modifying properties such as the action's name, availability to groups, associations to metadata objects, and authentication settings for a URL-based action. Returns an empty 204 response on success. Required: id. Available in ThoughtSpot 9.6.0.cl or later.
create_a_thought_spot_customization_custom_action
Create a custom action in ThoughtSpot that appears as a menu action on saved Answers or Liveboard visualizations, either URL-based or callback-type. Returns the created action with id, name, action_details, default_action_config, and user_groups. Requires name and action_details. Available in ThoughtSpot 9.6.0.cl or later. Required: name,…
create_a_thought_spot_customization_email
Create a customization configuration for notification emails in ThoughtSpot. Returns: tenant_id, org, name, template_properties. Required: template_properties. Beta endpoint; contact ThoughtSpot support to enable on your instance.
create_a_thought_spot_dbt_dbt_connection
Create a DBT connection in ThoughtSpot using dbt Cloud credentials or an uploaded dbt artifacts ZIP file. Returns a JSON object confirming the created DBT connection. Required: connection_name, database_name.
create_a_thought_spot_dbt_generate_sync_tml
Resynchronize existing models, tables, and worksheet TMLs from a dbt connection and import them into ThoughtSpot. Returns a JSON object with the generated sync result for the resynchronized table and worksheet TMLs. Required: dbt_connection_identifier. file_content (ZIP upload) is mandatory for connections created with import_type ZIP_FILE;…
create_a_thought_spot_dbt_generate_tml
Generate and import table and worksheet TMLs for selected dbt models into ThoughtSpot (9.9.0.cl or later). Returns the generation result, with a semantic_report per model when include_semantic_report is true. Required: dbt_connection_identifier, model_tables, import_worksheets.
thought_spot_dbt_update_dbt_connections_bulk_update
Update a DBT connection in ThoughtSpot, changing its connection name, database name, import type, DBT Cloud credentials, or uploaded DBT artifact ZIP. Returns the updated connection confirmation. Required: dbt_connection_identifier. access_token, dbt_url, account_id, and project_id apply when import_type=DBT_CLOUD; file_content applies when…
thought_spot_email_deletes_bulk_delete
Delete the email customization configuration in ThoughtSpot for an org, removing any custom notification email settings. Returns an empty 204 response on success. Beta endpoint — contact ThoughtSpot support to enable it on your instance.
thought_spot_email_updates_bulk_update
Update the customization configuration for ThoughtSpot notification emails by posting a template_properties JSON map of attributes such as logo_url, product_name, footer_address, and hide_footer_phone. Returns an empty 204 response on success. Beta feature requiring ThoughtSpot 10.12.0.cl or later; contact ThoughtSpot support to enable it.…
thought_spot_email_validates_validate
Validate the email customization configuration for ThoughtSpot by triggering a test email for the configuration. Returns an empty 204 response on success. Beta endpoint; requires ThoughtSpot Cloud 10.10.0.cl or later.
create_a_thought_spot_export_batch
Export the TML representation of USER, GROUP, and ROLES metadata objects from ThoughtSpot in batches, in JSON or YAML format. Returns the exported TML content object with TML-format-specific fields. Requires ThoughtSpot Cloud 10.1.0.cl or later; only USER, GROUP, and ROLES metadata types are supported. Required: metadata_type.
create_a_thought_spot_groups_import
Import group objects from external databases into ThoughtSpot, adding new groups and synchronizing the properties of existing ones. Returns: groups_added, groups_deleted, groups_updated. Set delete_unspecified_groups=true to delete groups not listed in the request. Requires ThoughtSpot 9.0.0.cl or later.
thought_spot_history_communication_channels_search
Search ThoughtSpot delivery history for communication channels such as webhooks. Returns jobs, each with id, status, creation_time_in_millis, event, recipients, detail, and try_count. Required: channel_type.
thought_spot_liveboard_data_lookup
Retrieve data from a ThoughtSpot Liveboard and its visualizations. Returns: metadata_id, metadata_name, contents. Requires ThoughtSpot 9.0.0.cl or later. Required: metadata_identifier.
list_all_thought_spot_locale_exports
Get the translations bundle for a specific locale in ThoughtSpot. Returns: translations. fr-fr). Falls back to cluster-level translations if the org has none for the locale; returns an empty translations map when no entries exist at either level. Required: locale.
thought_spot_logs_fetches_lookup
Fetch security audit logs from ThoughtSpot (v9.0.0.cl or later). Returns log entries with date and log text. Required: log_type. By default covers the last 24 hours, and each request must not exceed a 24-hour window — for longer ranges set custom EPOCH start/end times and make multiple sequential requests.
thought_spot_manual_translation_deletes_bulk_delete
Delete all manual translations for the targeted org in ThoughtSpot. This bulk operation cannot be undone. Returns an empty 204 response on success. Available in version 26.7.0.cl or later.
create_a_thought_spot_manual_translation_export
Export all ThoughtSpot manual translations as a CSV file download. Returns: file. Requires version 26.7.0.cl or later; returns 404 if no translations exist for the targeted org or cluster. Note: the response is a binary/text file (PDF, PNG, CSV, XLSX or ZIP), returned as raw text rather than JSON.
create_a_thought_spot_manual_translation_import
Import manual translations into ThoughtSpot by uploading a CSV file, which upserts entries matched by org, locale, and content and leaves untouched entries not included in the upload. Returns an empty 204 response on success. Max 30 MB and 10,000 rows; requires…. Required: translations_file.
create_a_thought_spot_metadata_copyobject
Create a copy of an Answer or Liveboard in ThoughtSpot. Returns the metadata_id of the new copy. Available in ThoughtSpot 10.3.0.cl or later. Required: identifier.
thought_spot_metadata_deletes_bulk_delete
Delete metadata objects from ThoughtSpot by sending a required JSON request body that identifies the objects to remove. Requires edit access to each metadata object. Returns an empty 204 response on success. Required: metadata.
list_all_thought_spot_search_2_0_calendars
Search custom calendars in ThoughtSpot across all connections by default (requires v10.12.0.cl or later). Returns: calendar_name, connection_name, data_warehouse_type, modification_time_in_millis, author_name, connection_id, calendar_id.
list_all_thought_spot_search_2_0_connections
Search ThoughtSpot data connections by name, warehouse type, tags, authentication type, or specific database/schema/table/column objects. Returns: id, name, obj_id, description, data_warehouse_type, data_warehouse_objects, details. All filters are optional; an empty body lists every connection. Requires ThoughtSpot 9.2.0.cl or later.
list_all_thought_spot_search_2_0_dbts
Search DBT connections in ThoughtSpot. Returns a list of DBT connection records with dbt_connection_identifier, connection_name, database_name, project_name, project_id, import_type, and author. Available in ThoughtSpot 9.9.0.cl or later.
list_all_thought_spot_search_configurations_features
Search ThoughtSpot feature configurations grouped by feature group. Returns: feature_group, docs_url, features. Requires version 26.10.0.cl or later. Required: scope.
list_all_thought_spot_search_customization_custom_actions
Search custom actions configured on the ThoughtSpot cluster. Returns: action_details, default_action_config, id, obj_id, metadata_association, name, user_groups. Available in ThoughtSpot 9.6.0.cl or later.
list_all_thought_spot_search_customization_emails
Search email customization configurations set for a ThoughtSpot system. Returns: tenant_id, org, name, template_properties. Beta endpoint (version 10.10.0.cl or later); contact ThoughtSpot support to enable it on your instance.
create_a_thought_spot_tml_export
Export the ThoughtSpot Modeling Language (TML) representation of metadata objects in JSON or YAML format. Returns an array of TML export objects with content-type-specific fields. When export_associated is true, export one metadata object at a time. Required: metadata.
thought_spot_values_updates_bulk_update
Set a ThoughtSpot feature's value at cluster or Org scope. Returns: feature_id, feature_name, feature_value. Requires scope, feature_identifier, and feature_value; also pass org_identifier when scope is ORG. reset_org_overrides applies only at CLUSTER scope. Requires version 26.10.0.cl or later. Required: scope, feature_identifier, feature_value.
create_a_thought_spot_worksheets_convert
Convert ThoughtSpot worksheets to models. Returns: name, success_count, failure_count, incomplete_count, successful_entities, failed_entities, incomplete_entities, post_upgrade_failed_entities, and 2 more. Set convert_all true for all worksheets or false with worksheet_ids; apply_changes false previews only. Requires ThoughtSpot 10.6.0.cl or later.
list_all_thought_spot_2_0_systems
Get system information for a ThoughtSpot cluster, including release version, locale, time zone, deployment environment, and date/time formats. Returns: id, name, release_version, time_zone, locale, date_format, api_version, type, environment, license, date_time_format, and 12 more. Takes no parameters; available in ThoughtSpot 9.0.0.cl or later.
create_a_thought_spot_async_import
Import TML files into ThoughtSpot asynchronously as a background task for large or complex metadata objects. Returns the async task object including task_id, task_status, import_policy, created_at, and completed_at. Required: metadata_tmls. Available in version 10.4.0.cl or later; poll the returned task_id via the TML async status endpoint.
create_a_thought_spot_communication_channels_configure
Configure communication channel preferences in ThoughtSpot: set instance-wide defaults via cluster_preferences and, when Orgs are enabled, Org-specific overrides via org_preferences; use reset_events to reset event preferences. Beta endpoint (10.14.0.cl or later). Returns an empty 204 response on success.
thought_spot_communication_channels_validates_validate
Validate a communication channel configuration in ThoughtSpot to ensure it is properly set up and can receive events. Returns: channel_type, channel_id, channel_name, event_type, job_id, result_code, details. Required: channel_type, channel_identifier, event_type. Beta feature, requires ThoughtSpot 26.4.0.cl or later.
update_a_thought_spot_font_update_by_id
Update the metadata of an existing custom font in ThoughtSpot's cluster-level or org-level font library; only provided fields are modified. Returns an empty 204 response on success. Required: id (UUID or name). color must be a valid 6-digit hex string (e.g. #333333); replacing the font file requires delete and re-upload.
thought_spot_fonts_deletes_bulk_delete
Delete one or more custom fonts from the ThoughtSpot cluster or org font library. Returns: affected_assignments. Required: font_identifiers. dry_run defaults to true — pass dry_run: false to apply the deletion; deletions cannot be undone.
create_a_thought_spot_fonts_upload
Upload a custom font to ThoughtSpot's cluster-level or org-level font library. Returns: id, name. Required: name, file_content. Only WOFF and WOFF2 font formats are accepted; TTF and OTF files are rejected.
thought_spot_headers_updates_bulk_update
Update header attributes for a given list of header objects.
Beta Version: 10.6.0.cl or later. Required: headers_update. Only the obj_id attribute can be updated (attributes: [{name: "obj_id", value: "..."}]).
thought_spot_liveboard_sqls_lookup
Fetch the underlying SQL query data for a ThoughtSpot Liveboard and its visualizations. Returns: metadata_id, metadata_name, metadata_type, sql_queries. Required: metadata_identifier. Available in ThoughtSpot 9.0.0.cl or later.
create_a_thought_spot_logos_export
Download the active ThoughtSpot logos (default and wide slots) at the requested scope as a single ZIP archive. Returns a binary ZIP archive (application/zip) containing both logo image files, falling back to cluster-level logos when none are set at the org scope. Requires ThoughtSpot 26.7.0.cl or later.
create_a_thought_spot_metadata_assign
Transfer ownership of one or more ThoughtSpot objects from one user to another by assigning a new author. Returns an empty 204 response on success. Requires a JSON request body identifying the new author and the objects to reassign (see the AssignChangeAuthorRequest schema in the upstream docs). Available from version 9.0.0.cl. Required: metadata,…
create_a_thought_spot_metadata_manage_object_privilege
Add or remove object-level privileges for ThoughtSpot users and groups on metadata objects. Returns an empty 204 response on success. Requires operation, metadata_type, object_privilege_types, metadata_identifiers, and principals. Only LOGICAL_TABLE metadata and SPOTTER_COACHING_PRIVILEGE privilege are supported. Required: operation,…
list_all_thought_spot_metadata_object_privileges
Fetch the object privileges that ThoughtSpot principals (users or groups) hold on a set of metadata objects. Returns the metadata_object_privileges array with each entry's metadata_id, metadata_name, metadata_type, and principal_object_privilege_info. Required: metadata. Requires ThoughtSpot 26.3.0.cl or later; only LOGICAL_TABLE metadata type is…
create_a_thought_spot_metadata_parameterize_field
Parameterize multiple fields of ThoughtSpot metadata objects (Logical Tables, Connections, or Connection Configs), e.g. [schemaName, databaseName] on a LOGICAL_TABLE. Returns an empty 204 response on success. Available in version 26.5.0.cl or later. Required: metadata_identifier, field_type, field_names, variable_identifier.
create_a_thought_spot_metadata_parameterize
Parameterize a field on a ThoughtSpot metadata object such as a Logical Table, Connection, or Connection Config. Returns an empty 204 response on success. Deprecated: use the parameterize-fields endpoint instead. Required: metadata_identifier, field_type, field_name, variable_identifier.
list_all_thought_spot_metadata_permissions
Fetch permission details for a metadata object in ThoughtSpot. Returns: metadata_permission_details. Required: metadata (each item needs identifier; type when identifying by name). record_size defaults to -1 (all records).
create_a_thought_spot_metadata_publish
Publish Liveboards, Answers, and Logical Tables across organizations in ThoughtSpot, sharing the objects along with their dependencies to the admins of the target orgs. Returns an empty 204 response on success. Available in version 26.5.0.cl or later. Required: metadata, org_identifiers.
create_a_thought_spot_metadata_share
Share ThoughtSpot metadata objects (Liveboards, Visualizations, Answers, Models, Views, Connections, Collections) with users and groups, granting READ_ONLY, MODIFY, or NO_ACCESS. Returns an empty 204 response on success. Required: permissions, message.
create_a_thought_spot_metadata_unparameterize
Remove parameterization from a field in a ThoughtSpot metadata object (Logical Table, Connection, or Connection Config), restoring either a supplied value or the variable's Primary-org value. Returns an empty 204 response on success. Supports two mutually exclusive modes: single-field (field_name + value) or bulk (metadata_entries), and bulk…
create_a_thought_spot_metadata_unpublish
Unpublish metadata objects (Liveboards, Answers, and Logical Tables) from organizations in ThoughtSpot. Returns an empty 204 response on success. Optional body flags: include_dependencies (also unpublishes dependent objects if no other published object uses them) and force (breaks all dependent objects in the unpublished organizations). Required:…
thought_spot_metadata_update_obj_ids_bulk_update
Update object IDs for ThoughtSpot metadata objects. Returns an empty 204 response on success. Requires metadata: a list where each entry has new_obj_id plus either current_obj_id or metadata_identifier (with type when using a name instead of a GUID). Beta; requires ThoughtSpot 10.8.0.cl or later. Required: metadata.
thought_spot_preferences_communication_channels_search
Search communication channel preferences configured for a ThoughtSpot instance. Returns: cluster_preferences, org_preferences. Beta feature; requires version 10.14.0.cl or later.
list_all_thought_spot_principals_permissions
Fetch object permission details for ThoughtSpot principals (users or groups). Returns: principal_permission_details. Required: principals. Fetches all records by default; set record_size lower to page on large instances.
create_a_thought_spot_report_answer
Export a ThoughtSpot Answer as a downloadable report file in CSV, PDF, PNG, or XLSX format (defaults to CSV). Returns the exported file as extensionless binary data. Note: HTML rendering is not supported for PDF exports of Answers with tables.
create_a_thought_spot_report_liveboard
Export a ThoughtSpot Liveboard and its visualizations as a report in PDF, PNG, CSV, or XLSX format. Returns the exported report as an extensionless binary file that must be renamed with the matching extension. Required: metadata_identifier. file_format defaults to CSV; XLSX exports allow at most 255 worksheets.
thought_spot_rules_fetches_lookup
Fetch column security rules for the specified tables in ThoughtSpot. Returns: table_guid, obj_id, column_security_rules. Beta feature, requires version 10.12.0.cl or later. Required: tables.
thought_spot_rules_updates_bulk_update
Create, update, or delete column-level security rules for a ThoughtSpot table (beta, requires 10.12.0.cl or later). Returns: identifier, obj_identifier, clear_csr, column_security_rules. Required: column_security_rules. The operation is all-or-none — if any column rule fails, everything is rolled back.
delete_a_thought_spot_schedule_delete_by_id
Delete a scheduled Liveboard job in ThoughtSpot by its unique ID or name. Returns an empty 204 response on success. Required: id. Available in ThoughtSpot 9.4.0.cl or later.
update_a_thought_spot_schedule_update_by_id
Update a scheduled Liveboard job in ThoughtSpot, looked up by its unique ID or name — pause the job, resume a paused one, or edit its recipients, frequency, file format, PDF options, or time zone. Returns an empty 204 response on success. Required: id. Available in ThoughtSpot 9.4.0.cl or later.
create_a_thought_spot_schedules_create
Create a Liveboard schedule job in ThoughtSpot. Returns the created schedule including id, name, description, author, status, time_zone, frequency, and recipient_details. Requires name, description, metadata_type, metadata_identifier, time_zone, and recipient_details. Liveboards with both charts and tables only support PDF and XLS formats.
list_all_thought_spot_search_2_0_metadata
Search metadata objects on the ThoughtSpot system (9.0.0.cl or later). Send without attributes to list all objects, or filter by type, subtypes, tags, or GUID. Returns: metadata_id, metadata_name, metadata_type, metadata_obj_id, dependent_objects, metadata_detail, and 4 more. Do not set record_size to -1; paginate with an explicit record_size.
list_all_thought_spot_search_2_0_schedules
Search scheduled jobs configured for Liveboards in ThoughtSpot. Returns: author, creation_time_in_millis, frequency, id, name, recipient_details, status, and 8 more. Pass schedule_identifiers to fetch a specific job by name or GUID. Filtering by parameters other than metadata requires record_size -1 and record_offset 0 for accurate results.
list_all_thought_spot_search_2_0_semantic_integrations
Search and list semantic integrations available in ThoughtSpot, with optional filters by name pattern, author, connection, or tags. Returns: id, name, description, model_id, model_name, import_type, type, connection_name, author_name, creation_time_in_millis, tags, and 3 more. Set record_size to 0 to return all matching records; never -1.
list_all_thought_spot_search_2_0_tags
Search for tag objects in ThoughtSpot. Returns: name, id, color, deleted, hidden, external, deprecated, creation_time_in_millis, modification_time_in_millis, author_id, modifier_id, owner_id. Available in ThoughtSpot 9.0.0.cl or later.
list_all_thought_spot_search_customization_styles
Search ThoughtSpot style preferences at cluster or org level. Returns: scope, org, navigation_panel, chart_color_palette, embedded_footer_text, logo, visualization_fonts. Set scope to CLUSTER for cluster-level defaults or ORG for the authenticated user's org (default).
list_all_thought_spot_search_styles_fonts
Search custom fonts in the ThoughtSpot cluster-level or org-level font library. Returns: id, scope, org, name, weight, style, color, creation_time_in_millis, assignments. Omitting all filter fields returns every font in the target scope; only one of font_identifier or name_pattern may be provided.
create_a_thought_spot_security_settings_configure
Configure security settings for a ThoughtSpot instance (requires version 26.2.0.cl or later). Accepts cluster_preferences (CORS allowlist, CSP settings, SAML redirect URLs, partitioned cookies, non-embed access) and/or org_preferences (Org-level CORS and non-embed access settings). Returns an empty 204 response on success.
delete_a_thought_spot_semantic_integration_delete_by_id
Delete a ThoughtSpot semantic integration and its associated ThoughtSpot model by GUID or name. Returns an empty 204 response on success. Required: id. Available in version 26.9.0.cl or later; deletions cannot be undone.
create_a_thought_spot_semantic_integration_import
Imports semantic updates for a ThoughtSpot semantic integration from its CDW source and refreshes the associated model. Returns a semantic_report with import summary counts and per-formula change_status (NEW/UPDATED/UNCHANGED); preserves the integration's name and model_id. Required: semantic_integration_identifier.
create_a_thought_spot_semantic_integrations_create
Create a new semantic integration in ThoughtSpot from a CDW semantic view. Returns: id, name, model_id, and 2 more fields. Required: connection_identifier, name, database_name, schema_name, semantic_view_name, type. Requires connection_identifier, name, database_name, schema_name, semantic_view_name, and type; name must be unique per organization.
thought_spot_styles_updates_bulk_update
Update style customization preferences in ThoughtSpot for the cluster or the authenticated user's org (nav panel color, chart palette, footer text, logos, fonts). Returns an empty 204 response on success. Required: scope. Provide at most one of navigation_panel or app_color_theme; chart_color_palette.colors needs exactly 8 entries.
list_all_thought_spot_system_config_overrides
Get the configuration overrides applied on a ThoughtSpot cluster. Returns: config_override_info. Available in 9.2.0.cl or later; requires no request parameters.
thought_spot_system_config_updates_bulk_update
Update the current system configuration of a ThoughtSpot cluster. Returns an empty 204 response on success. Requires the cluster configuration data as the JSON request body; unknown or unsupported configuration keys are rejected. Available in 9.2.0.cl or later. Required: configuration.
list_all_thought_spot_system_configs
Retrieve the current configuration settings applied on the ThoughtSpot cluster. Returns: onboarding_content_url, saml_enabled, okta_enabled. Takes no parameters; available in version 9.0.0.cl or later.
thought_spot_system_security_settings_search
Fetch security settings for your ThoughtSpot instance. Returns cluster_preferences and org_preferences covering CORS/CSP allowlists, SAML redirect URLs, and non-embed access settings. Requires version 26.2.0.cl or later.
delete_a_thought_spot_tag_delete_by_id
Delete a tag from ThoughtSpot by its identifier (tag name or tag id). Returns an empty 204 response on success. Required: id.
create_a_thought_spot_tags_assign
Assign tags to Liveboards, Answers, Tables, and Worksheets in ThoughtSpot. Returns an empty 204 response on success. Requires a JSON request body identifying the tags and the target metadata objects. Available in ThoughtSpot 9.0.0.cl or later. Required: metadata, tag_identifiers.
create_a_thought_spot_tags_create
Create a tag in ThoughtSpot — a label that identifies metadata objects, such as subject areas like sales or HR. Returns: name, id, color, deleted, hidden, external, deprecated, creation_time_in_millis, modification_time_in_millis, author_id, modifier_id, owner_id. Required: name. Available on instances running 9.0.0.cl or later.
create_a_thought_spot_tags_unassign
Unassign tags from a Liveboard, Answer, Table, or Worksheet in ThoughtSpot by submitting the target tags and objects in the required JSON request body. Returns an empty 204 response on success. Available in ThoughtSpot 9.0.0.cl or later. Required: metadata, tag_identifiers.
create_a_thought_spot_tml_import
Import one or more ThoughtSpot Modeling Language (TML) files into ThoughtSpot synchronously via the JSON request body. Returns an array of import results, one per imported TML file. Requires ThoughtSpot 9.0.0.cl or later. Import all related objects in a single call and include FQNs in the TML to avoid ambiguous object references. Required:…
thought_spot_2_0_webhooks_search
Search ThoughtSpot webhook configurations by org, webhook identifier, event type, or status. Returns matching webhooks with id, name, url, events, authentication, signature_verification, created_by, and status. Requires ThoughtSpot 10.14.0.cl or later.
create_a_thought_spot_branches_commit
Commit TML files of metadata objects to the Git branch configured on your ThoughtSpot instance. Returns: committer, author, comment, commit_time, commit_id, branch, committed_files. Git integration must be enabled and the repository and branch details configured beforehand. Required: metadata, identifier, comment.
create_a_thought_spot_branches_validate
Validate a source Git branch's content against the destination ThoughtSpot environment before merging. Returns: file_name, metadata_name, metadata_type, status_code, status_message. Requires source_branch_name and target_branch_name. Available in 9.2.0.cl or later. Required: source_branch_name, target_branch_name.
create_a_thought_spot_commits_deploy
Deploy a Git commit and publish TML content to your ThoughtSpot instance. Returns: file_name, metadata_name, metadata_type, status_code, status_message. Required: branch_name. Deploys the branch head unless commit_id is given; requires ThoughtSpot 9.2.0.cl or later.
create_a_thought_spot_config_create
Connect a ThoughtSpot instance to a Git repository for version control and CI/CD. Returns the saved repo config: repository_url, username, commit_branch_name, branches, enable_guid_mapping, configuration_branch_name, org. Required: repository_url, username, access_token. Only GitHub / GitHub Enterprise is supported for CI/CD.
thought_spot_config_deletes_bulk_delete
Delete the Git repository configuration from a ThoughtSpot instance. Returns an empty 204 response on success. Requires a JSON request body. Available on ThoughtSpot 9.2.0.cl or later.
thought_spot_config_updates_bulk_update
Update Git repository configuration settings in ThoughtSpot. Returns the updated configuration, including repository_url, username, commit_branch_name, branches, enable_guid_mapping, configuration_branch_name, and org. Available in ThoughtSpot 9.2.0.cl or later.
thought_spot_git_commits_revert
Revert ThoughtSpot TML objects to a previous Git commit. Returns: committer, author, comment, commit_time, commit_id, branch, committed_files, reverted_metadata. Required: commit_id. Reverts all objects in the commit; if any object fails, nothing is reverted. Uses the instance's default branch when none is supplied. Version 9.2.0.cl or later.
list_all_thought_spot_search_git_commits
Search the Git commit history of a metadata object in ThoughtSpot. Returns a list of commits, each with committer, author, comment, commit_time, commit_id, and branch. Required: metadata_identifier. Available in ThoughtSpot 9.2.0.cl or later.
list_all_thought_spot_search_git_configs
List Git repository connections configured on the ThoughtSpot instance. Returns: repository_url, username, commit_branch_name, branches, enable_guid_mapping, configuration_branch_name, org. Available in ThoughtSpot 9.2.0.cl or later.
list_all_thought_spot_search_template_variables
Search variables in ThoughtSpot by identifier, name pattern (% wildcard, case-insensitive), or type. Returns: id, name, obj_id, variable_type, sensitive, values, org. Available in 26.4.0.cl or later; do not set record_size to -1.
update_a_thought_spot_tag_update_by_id
Update a tag object in ThoughtSpot by its name or id; only the name and color properties can be modified. Returns an empty 204 response on success. Required: id.
create_a_thought_spot_users_activate
Activate a deactivated ThoughtSpot user account. Returns the activated user with id, name, display_name, email, and visibility. Required: user_identifier, auth_token, password.
create_a_thought_spot_users_change_password
Update the password for the authenticated user in ThoughtSpot (available in 9.0.0.cl or later). Requires a JSON request body. Returns an empty 204 response on success. Required: current_password, new_password, user_identifier.
create_a_thought_spot_users_deactivate
Deactivate a user account in ThoughtSpot by its username or GUID. Returns: activation_link. Required: user_identifier, base_url.
create_a_thought_spot_users_force_logout
Force-logout users in ThoughtSpot by invalidating their active sessions and requiring them to log in again. Returns an empty 204 response on success. Identify the target users by username or GUID; passing null values invalidates all user sessions on the cluster.
create_a_thought_spot_users_import
Import users into ThoughtSpot from an external source: users not yet present are created, existing users are updated, and users omitted from the request can be deleted. Returns: users_added, users_updated, users_deleted. Required: users.
create_a_thought_spot_users_reset_password
Reset the password of a user account in ThoughtSpot. Administrators can reset a password on behalf of a user. Returns an empty 204 response on success. Required: new_password, user_identifier.
delete_a_thought_spot_variable_delete_by_id
Delete a ThoughtSpot variable by identifier (ID, name, or object id). Returns an empty 204 response on success. Required: id. Deprecated; use POST /api/rest/2.0/template/variables/delete instead. Fails if the variable doesn't exist or is used by other objects.
create_a_thought_spot_variable_update_value
Update the stored values of a ThoughtSpot (add, replace, remove, or reset, per the ADD, REPLACE, REMOVE, RESET operation rules). Returns an empty 204 response on success. Required: identifier, variable_assignment.
update_a_thought_spot_variable_update_by_id
Update a variable's name in ThoughtSpot. Returns an empty 204 response on success. Requires identifier (the variable's unique id, name, or object id) and name (the new variable name). Available in ThoughtSpot 26.4.0.cl or later. Required: id, name.
create_a_thought_spot_variables_create
Create a variable in ThoughtSpot for parameterizing metadata objects. Returns: id, name, obj_id, variable_type, sensitive, values, org. Required: type, name. Fails if the variable name already exists. Available in version 26.4.0.cl or later. Note: data_type applies only to FORMULA_VARIABLE; omit it for other types.
thought_spot_variables_deletes_bulk_delete
Delete one or more template variables in ThoughtSpot by their identifiers (IDs or names). Returns an empty 204 response on success. Requires a JSON body listing the variable identifiers. The operation fails if any variable doesn't exist or is in use by other objects. Required: identifiers.
thought_spot_variables_update_values_bulk_update
Update values for multiple ThoughtSpot variables: add, replace, remove, or reset values per variable. Returns an empty 204 response on success. Deprecated; use the per-variable update-values endpoint instead. Required: variable_assignment, variable_value_scope.
update_a_thought_spot_webhook_update_by_id
Update an existing ThoughtSpot webhook configuration by its unique id or name. Returns an empty 204 response on success. Required: id. With the default REPLACE operation only the provided fields are updated; the RESET operation with reset_options clears an optional configuration section, but a RESET request cannot carry any other…
create_a_thought_spot_webhooks_create
Create a webhook configuration in ThoughtSpot to receive notifications for specified events (e.g. LIVEBOARD_SCHEDULE). Returns: id, name, description, org, url, url_params, events, authentication, signature_verification, additional_headers, created_by, and 5 more. Required: name, url, events. Requires ThoughtSpot 10.14.0.cl or later.
thought_spot_webhooks_deletes_bulk_delete
Delete one or more ThoughtSpot webhook configurations by their id or name. Returns: deleted_count, failed_count, deleted_webhooks, failed_webhooks. Required: webhook_identifiers. Available in version 10.14.0.cl or later.
list_all_thought_spot_webhooks_storage_configs
Get cluster-level storage setup information for configuring ThoughtSpot webhook storage destinations, including the IAM identity details (AWS account ID or GCP service account) needed for S3 or GCS access. Returns: storage_type, provider, config. Requires ThoughtSpot 26.7.0.cl or later.
list_all_thought_spot_ai_nl_instructions
Retrieve the natural language (NL) instructions configured for a specific data model in ThoughtSpot. Returns: nl_instructions_info. Required: data_source_identifier. Beta endpoint (10.15.0.cl or later).
list_all_thought_spot_ai_agent_instructions
Get the admin instructions currently configured for the ThoughtSpot AI agent (Spotter). Returns: id, instructions, created_at, updated_at, last_updated_by. No required parameters; returns an empty record if no instructions are set.
list_all_thought_spot_version_control_configs
Beta Version: 26.12.0.cl or later Returns your Org's version control configuration, or an empty list when the Org is not configured. The stored credential is never included; only its type and username are reported. Use this to confirm which repository and branch an Org versions to before starting a run. The response is a list because the scope will widen to several Orgs in a later release. Require. Returns: configs.
create_a_thought_spot_version_control_config
Beta Version: 26.12.0.cl or later Configures version control for your Org, connecting it to a Git repository and the branch that versioning runs commit to. Use this once per Org before any commit, deploy or restore. To stop versioning without discarding the settings, send `disabled_operations` on the update endpoint instead of deleting the configuration. Requires `ADMINISTRATION` (**Can administer. Returns: org, provider, repository_url, commit_branch, root_dir, credential, disabled_operations, created_by, creation_time_in_millis, last_modified_by, modification_time_in_millis. Required: provider, repository_url, commit_branch, credential.
thought_spot_version_control_configs_bulk_update
Beta Version: 26.12.0.cl or later Changes your Org's version control configuration. Every field is optional and an omitted field keeps its stored value, so nothing is reset by leaving it out. Use this to rotate a credential, move to a different branch, or turn individual operations off through `disabled_operations`. Changing the provider, repository, branch, directory or credential fails any versi. Returns an empty response on success.
thought_spot_version_control_configs_bulk_delete
Beta Version: 26.12.0.cl or later Revokes version control for your Org. The configuration is deleted, the stored credential is destroyed, and any versioning run in flight for the Org fails. Use this to disconnect an Org from its repository for good. To stop versioning but keep the settings and credential, set `disabled_operations` on the update endpoint instead. Requires `ADMINISTRATION` (**Can ad. Returns an empty response on success.
create_a_thought_spot_version_control_commit
Beta Version: 26.12.0.cl or later Starts a versioning run that exports the named objects, such as Liveboards and Answers, and commits them to the branch your Org versions to. Name each object by GUID, object ID, or name with its type; it is resolved in your Org and committed by its cross-Org object ID, so object IDs must be enabled on the cluster. An object named more than once is committed once. Returns: run_id, accepted_time_in_millis, author. Required: objects.
thought_spot_version_control_commits_restore
Beta Version: 26.12.0.cl or later Starts a run that restores the branch your Org versions to, and the Org itself, to an earlier revision. The revision must be reachable from the configured branch and must not be its head. The run is asynchronous and returns an admission receipt carrying a `run_id`. Use this to roll an Org back to a known-good revision. It both commits and deploys, so it carries th. Returns: run_id, target_revision, accepted_time_in_millis. Required: target_revision.
create_a_thought_spot_version_control_deploy
Beta Version: 26.12.0.cl or later Starts a run that imports repository content from the branch your Org versions to into the Org itself. The run is asynchronous: the response is an admission receipt carrying a `run_id` and the pinned revision. Requires `ADMINISTRATION` (**Can administer ThoughtSpot**) privilege. #### Endpoint URL. Returns: run_id, target_deployment_revision, last_deployed_revision, accepted_time_in_millis.
thought_spot_version_control_branches_promote
Beta Version: 26.12.0.cl or later Merges content from another Org's branch, or from a branch named directly, into the branch your Org versions to, and pushes the result. This is a repository-only operation: no Org's live content changes until a deploy. `dry_run` defaults to true, so a request that omits it reports what would change and writes nothing. Name the source by Org or by branch; a branch. Returns: source, target, branch_divergence, revision_details, file_changes. Required: source, strategy.
list_all_thought_spot_version_control_runs
Beta Version: 26.12.0.cl or later Returns the commit, deploy and restore runs for your Org, newest first, each with its current state and its per-object outcomes. This is the only place per-object results are reported: a commit, deploy or restore receipt carries only a `run_id`. Use this to follow a run to completion, to explain a `PARTIAL_SUCCESS`, or to read an Org's commit history by filtering. Returns: runs, last_batch.
list_all_thought_spot_ai_usage_data
Retrieves Spotter usage pools: the question allowance configured for each user, user group, or Org and how much of it has been consumed. Pass `keys` to fetch specific pools, or omit it to fetch every pool on the cluster. Requires `ADMINISTRATION` privilege. Beta Version: 26.11.0.cl or later Retrieves Spotter usage pools. A usage pool is the Spotter question allowance configured for a user, user gr. Returns: usage_data.
thought_spot_ai_usage_data_bulk_update
Creates or updates Spotter usage pools, setting the question allowance for a user, user group, or Org. A pool that does not exist is created; fields omitted from an update keep their current value. Every key must use the scope the cluster meters at. Switching scope requires deleting the existing pools first. Requires `ADMINISTRATION` privilege. Beta Version: 26.11.0.cl or later Creates or updates. Returns: usage_data. Required: updates.
thought_spot_ai_usage_data_bulk_delete
Deletes Spotter usage pools. Users who no longer draw from any pool are no longer metered: their Spotter usage is unlimited, not blocked. Requires `ADMINISTRATION` privilege. Beta Version: 26.11.0.cl or later Deletes Spotter usage pools. Use this API to remove a limit from a user, user group, or Org, or to clear every pool before switching the scope the cluster meters at. Requires `ADMINISTRATION`. Returns: deleted_keys. Required: keys.
list_all_thought_spot_ai_usage_data_users
Retrieves a user's combined Spotter usage position: every pool the user draws from, with usage, warning limits, and limits summed across them. Any user can retrieve their own usage. Retrieving another user's usage requires `ADMINISTRATION` privilege. Beta Version: 26.11.0.cl or later Retrieves a user's combined Spotter usage: every usage pool the user draws from, with usage, warning limits, and li. Returns: summary.
create_a_thought_spot_agent_conversations_v_2
Beta Version: 26.12.0.cl or later Version: 26.12.0.cl or later Creates a new Spotter conversation, grounded in data sources or in a saved analyst, and returns its identifier. Requires `CAN_USE_SPOTTER` privilege, and at least view access to any data source or analyst specified in the request. #### Usage guidelines A conversation holds the message history and context for an exchange with Spotter. C. Returns: conversation_identifier.
thought_spot_agent_conversations_v_2_send
Beta Version: 26.12.0.cl or later Version: 26.12.0.cl or later Sends a message to Spotter and returns the complete response once the turn has finished. Requires `CAN_USE_SPOTTER` privilege, and at least view access to the data sources the conversation is scoped to. Use this when you want the finished answer in a single response — a scheduled job, a server-side integration, or any caller that canno. Returns: conversation_identifier, events. Required: message.
thought_spot_agent_conversations_v_2_send_stream
Beta Version: 26.12.0.cl or later Version: 26.12.0.cl or later Sends a message to Spotter and streams the response back as Server-Sent Events. Requires `CAN_USE_SPOTTER` privilege, and at least view access to the data sources the conversation is scoped to. #### Usage guidelines - `message` (required): the question to ask Spotter. - `conversation_identifier` (optional): the conversation to ask in,. Returns: event, tool_call, progress, tool_result, error, done. Required: message.
create_a_thought_spot_input_table
Version: 26.11.0.cl or later Creates an input table and links it to a ThoughtSpot model (worksheet). An input table is a user-editable table stored in the model's external Cloud Data Warehouse (CDW) connection. It lets analysts enter or import data directly from the ThoughtSpot UI without requiring access to the underlying warehouse. Requires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATI. Returns: input_table_id, input_columns, message_info. Required: table_name, model_identifier, table_definition.
update_a_thought_spot_input_table_by_id
Version: 26.11.0.cl or later Writes rows into an existing input table. Each call performs a keyed upsert (MERGE): rows are matched against the input table's existing rows on its key columns — the columns mapped to the linked model (its join-key columns). A matched row is updated in place; a row whose key is not found is inserted. Requires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION`. Returns: rows_loaded. Required: input_table_identifier, columns, rows.
delete_a_thought_spot_input_table_by_id
Version: 26.11.0.cl or later Deletes an input table. This operation unlinks the input table from its owner model, removes it from the connection metadata, and drops the physical table from the Cloud Data Warehouse (CDW). This action is irreversible — all data stored in the input table is permanently deleted. Requires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION` (**Can administer Thou. Required: input_table_identifier. Returns an empty response on success.
create_a_thought_spot_input_table_column
Version: 26.11.0.cl or later Version: 26.11.0.cl or later Adds one or more new editable columns to an existing input table. This widens the physical table in the external Cloud Data Warehouse (CDW) (`ALTER TABLE ... ADD COLUMN`) and refreshes the input table's ThoughtSpot metadata so the new columns are exposed on the linked model. Requires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION. Returns: columns. Required: input_table_identifier, column_definition.
delete_a_thought_spot_input_table_column_by_id
Version: 26.11.0.cl or later Version: 26.11.0.cl or later Deletes a single editable column from an input table. This removes the column from the input table's ThoughtSpot metadata and drops the physical column from the Cloud Data Warehouse (CDW). This action is irreversible — all data stored in that column is permanently deleted. Requires `DATAMANAGEMENT` (**Can manage data**) or `ADMINISTRATION`. Required: input_table_identifier, column_identifier. Returns an empty response on success.
list_all_thought_spot_link_customizations
Version: 26.11.0.cl or later Retrieves the URL templates ThoughtSpot uses when it generates a shareable link, at the cluster level or for the Org the caller is signed in to. Use this endpoint to verify what an Org has customized before modifying it, or to confirm the destination URLs used in scheduled emails and the Share dialog. Cluster-level templates serve as the default that Orgs inherit. Org-. Returns: scope, org, templates.
thought_spot_link_customizations_bulk_update
Version: 26.11.0.cl or later Updates the URL templates ThoughtSpot uses when it generates a shareable link, at the cluster level or for the Org the caller is signed in to. Use this endpoint to point shared links at your own embedding application, so a link in a scheduled email or a Share dialog opens your page instead of the ThoughtSpot application. Requires `ADMINISTRATION` (**Can administer Thou. Required: scope, templates. Returns an empty response on success.
create_a_thought_spot_metadata_build_index
Version: 27.1.0.cl or later Triggers a rebuild of the search index of a logical table, such as a table, view, or model. Use this endpoint after loading new data into a table, so that its new column values become searchable without waiting for the next scheduled indexing run. Requires edit access to the logical table, or `ADMINISTRATION` (**Can administer ThoughtSpot**) or `ORG_ADMINISTRATION` (**C. Required: logical_table_identifier. Returns an empty response on success.
delete_a_thought_spot_dbt_connection_by_id
Delete a DBT connection from ThoughtSpot. Returns an empty 204 response on success. Required: id.
delete_a_thought_spot_email_template_by_id
Delete the email customization configuration for a notification email template in ThoughtSpot. Returns an empty 204 response on success. Beta endpoint (10.10.0.cl or later). Required: id. The id is the template identifier in the format
Why Truto
Why use Truto’s MCP server for ThoughtSpot
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 900+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
Unified APIs
Unified APIs for ThoughtSpot
Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.
Unified User Directory API
Groups
Groups are a collection of users in the source application. In some applications, they might also be called Teams.
Organizations
Organizations are the top level entity in the source application. Users are associated with an organization.
Roles
The Role object represents a role of a User.
Users
The User object represents a User.
How It Works
From zero to integrated
Go live with ThoughtSpot in under an hour. No boilerplate, no maintenance burden.
Link your customer’s ThoughtSpot account
Use Truto’s frontend SDK to connect your customer’s ThoughtSpot account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call ThoughtSpot
Truto’s Proxy API is a 1-to-1 mapping of the ThoughtSpot API. You call us, we call ThoughtSpot, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate ThoughtSpot’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about ThoughtSpot on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What ThoughtSpot resources can I manage through Truto today?
Truto maps ThoughtSpot to its Unified User Directory API, covering Users, Groups, Organizations, and Roles. These are the normalized resources available out of the box. Additional ThoughtSpot-specific tools (e.g., TML management, search data, AI agent endpoints) can be built on request.
How does authentication work for connecting a ThoughtSpot instance?
ThoughtSpot's REST API v2.0 supports bearer token authentication and trusted authentication tokens. Truto manages the auth lifecycle — token generation, refresh, and secure storage — so your application never handles raw credentials directly.
Does Truto handle pagination and rate limits for ThoughtSpot's API?
Yes. Truto abstracts away cursor-based pagination and respects ThoughtSpot's rate limits internally, so your application receives complete, normalized result sets without building retry or pagination logic.
Can I sync custom user attributes used for row-level security?
ThoughtSpot uses group membership and user properties to drive RLS. Through Truto's Unified User Directory, you can manage group assignments and user metadata that ThoughtSpot evaluates for security rules. For highly custom RLS attribute workflows, Truto can build tailored tools on request.
What if I need ThoughtSpot capabilities beyond the Unified User Directory?
Truto builds integration tools on request. If you need support for ThoughtSpot's search data API, TML import/export, connection management, or the Spotter AI agent endpoints, reach out and Truto will scope and deliver those tools for your use case.
Does this work with both ThoughtSpot Cloud and Software (on-prem) deployments?
ThoughtSpot's REST API v2.0 is available on both Cloud and Software editions. As long as the instance exposes the API and your end user provides valid credentials, Truto can connect to either deployment model.
From the Blog
ThoughtSpot integration guides
Deep dives, architecture guides, and practical tutorials for building ThoughtSpot integrations.
ThoughtSpot
Get ThoughtSpot integrated into your app
Our team understands what it takes to make a ThoughtSpot integration successful. A short, crisp 30 minute call with folks who understand the problem.