openapi: 3.0.0
info:
title: ThoughtSpot Public REST 10.1.0.cl 10.7.0.cl API
version: '2.0'
servers:
- url: '{base-url}'
variables:
base-url:
default: https://localhost:443
security:
- bearerAuth: []
tags:
- name: 10.7.0.cl
paths:
/api/rest/2.0/ai/analytical-questions:
post:
operationId: queryGetDecomposedQuery
description: '
Beta Version: 10.7.0.cl or later
Version: 10.7.0.cl or later
**Deprecated** — Use `getRelevantQuestions` instead (available from 10.13.0.cl).
Breaks down a topical or goal-oriented natural language question into smaller, actionable analytical sub-questions, each mapped to a relevant data source for independent execution.
Requires `CAN_USE_SPOTTER` privilege and at least view-level access to the referenced metadata objects.
#### Usage guidelines
The request accepts the following parameters:
- `nlsRequest`: contains the user `query` to decompose, along with optional `instructions` and `bypassCache` flag
- `worksheetIds`: list of data source identifiers to scope the decomposition
- `answerIds`: list of Answer GUIDs whose data guides the response
- `liveboardIds`: list of Liveboard GUIDs whose data guides the response
- `conversationId`: an existing conversation session ID for context continuity
- `content`: supplementary text or CSV data to improve response quality
- `maxDecomposedQueries`: maximum number of sub-questions to return (default: `5`)
If the request is successful, the API returns a `decomposedQueryResponse` containing a list of `decomposedQueries`, each with:
- `query`: the generated analytical sub-question
- `worksheetId`: the unique ID of the data source the question targets
- `worksheetName`: the display name of the corresponding data source
#### Error responses
| Code | Description |
|------|---------------------------------------------------------------------------------------------------------------------------------------|
| 401 | Unauthorized — authentication token is missing, expired, or invalid. |
| 403 | Forbidden — the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks view access to the referenced metadata objects. |
> ###### Note:
> * This endpoint is deprecated since 10.13.0.cl. Use `getRelevantQuestions` for new integrations.
> * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available.
> * This endpoint requires Spotter — please contact ThoughtSpot support to enable Spotter on your cluster.
#### Endpoint URL
'
deprecated: true
tags:
- 10.7.0.cl
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/QueryGetDecomposedQueryRequest'
required: true
parameters: []
responses:
'200':
description: Common successful response
content:
application/json:
schema:
$ref: '#/components/schemas/eureka_DecomposeQueryResponse'
'201':
description: Common error response
content:
application/json:
schema:
$ref: '#/components/schemas/eureka_DecomposeQueryResponse'
'400':
description: Operation failed
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Operation failed
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
Input_eureka_NLSRequest:
type: object
properties:
agentVersion:
type: integer
format: int32
description: Cluster version like 10.4.0.cl, 10.5.0.cl, so on.
nullable: true
bypassCache:
type: boolean
description: If true, results are not returned from cache & calculated every time. Can incur high costs & latency.
nullable: true
instructions:
type: array
items:
type: string
description: User specific instructions for processing the @query.
nullable: true
query:
type: string
description: User query which is a topical/goal oriented question that needs to be broken down into smaller simple analytical questions.
nullable: true
eureka_LLMDecomposeQueryResponse:
type: object
properties:
decomposedQueries:
type: array
items:
$ref: '#/components/schemas/eureka_LLMSuggestedQuery'
description: List of analytical questions that can be run on their respective worksheet/data sources.
nullable: true
eureka_DecomposeQueryResponse:
type: object
properties:
decomposedQueryResponse:
$ref: '#/components/schemas/eureka_LLMDecomposeQueryResponse'
description: Decomposed query response for a topical/goal oriented question that contains broken down analytical questions.
nullable: true
QueryGetDecomposedQueryRequest:
type: object
properties:
answerIds:
description: List of answer unique identifiers (GUIDs) whose data will be used to guide the response.
type: array
items:
type: string
content:
description: User provided content like text data, csv data as a string message to provide context & potentially improve the quality of the response.
type: array
items:
type: string
conversationId:
description: Unique identifier to denote current conversation.
type: string
liveboardIds:
description: List of liveboard unique identifiers (GUIDs) whose data will be used to guide the response.
type: array
items:
type: string
maxDecomposedQueries:
description: Maximum number of decomposed queries that is allowed in the response, default = 5.
type: integer
format: int32
nlsRequest:
description: NLSRequest object containing user query & instructions.
allOf:
- $ref: '#/components/schemas/Input_eureka_NLSRequest'
worksheetIds:
description: List of worksheetIds to provide context for decomposing user query into analytical queries that can be run on them.
type: array
items:
type: string
ErrorResponse:
type: object
properties:
error:
type: object
nullable: true
eureka_LLMSuggestedQuery:
type: object
properties:
query:
type: string
description: NL query that can be run using spotter aka natural language search to get an AI generated answer.
nullable: true
worksheetId:
type: string
description: Unique identifier of the worksheet on which this query can be run on.
nullable: true
worksheetName:
type: string
description: Display name of the worksheet on which this query can be run on.
nullable: true
securitySchemes:
bearerAuth:
type: http
scheme: bearer
x-roles:
- name: 26.2.0.cl
id: 26.2.0.cl
tags:
- 26.2.0.cl
description: Roles for version 26.2.0.cl
- name: 10.4.0.cl
id: 10.4.0.cl
tags:
- 10.4.0.cl
description: Roles for version 10.4.0.cl
- name: 26.7.0.cl
id: 26.7.0.cl
tags:
- 26.7.0.cl
description: Roles for version 26.7.0.cl
- name: 26.8.0.cl
id: 26.8.0.cl
tags:
- 26.8.0.cl
description: Roles for version 26.8.0.cl
- name: 26.6.0.cl
id: 26.6.0.cl
tags:
- 26.6.0.cl
description: Roles for version 26.6.0.cl
- name: 10.15.0.cl
id: 10.15.0.cl
tags:
- 10.15.0.cl
description: Roles for version 10.15.0.cl
- name: 10.13.0.cl
id: 10.13.0.cl
tags:
- 10.13.0.cl
description: Roles for version 10.13.0.cl
- name: 26.9.0.cl
id: 26.9.0.cl
tags:
- 26.9.0.cl
description: Roles for version 26.9.0.cl
- name: 10.7.0.cl
id: 10.7.0.cl
tags:
- 10.7.0.cl
description: Roles for version 10.7.0.cl
- name: 26.5.0.cl
id: 26.5.0.cl
tags:
- 26.5.0.cl
description: Roles for version 26.5.0.cl
- name: 9.0.0.cl
id: 9.0.0.cl
tags:
- 9.0.0.cl
description: Roles for version 9.0.0.cl
- name: 9.4.0.cl
id: 9.4.0.cl
tags:
- 9.4.0.cl
description: Roles for version 9.4.0.cl
- name: 9.12.0.cl
id: 9.12.0.cl
tags:
- 9.12.0.cl
description: Roles for version 9.12.0.cl
- name: 26.4.0.cl
id: 26.4.0.cl
tags:
- 26.4.0.cl
description: Roles for version 26.4.0.cl
- name: 10.12.0.cl
id: 10.12.0.cl
tags:
- 10.12.0.cl
description: Roles for version 10.12.0.cl
- name: 9.2.0.cl
id: 9.2.0.cl
tags:
- 9.2.0.cl
description: Roles for version 9.2.0.cl
- name: 9.9.0.cl
id: 9.9.0.cl
tags:
- 9.9.0.cl
description: Roles for version 9.9.0.cl
- name: 9.6.0.cl
id: 9.6.0.cl
tags:
- 9.6.0.cl
description: Roles for version 9.6.0.cl
- name: 10.10.0.cl
id: 10.10.0.cl
tags:
- 10.10.0.cl
description: Roles for version 10.10.0.cl
- name: 10.6.0.cl
id: 10.6.0.cl
tags:
- 10.6.0.cl
description: Roles for version 10.6.0.cl
- name: 10.3.0.cl
id: 10.3.0.cl
tags:
- 10.3.0.cl
description: Roles for version 10.3.0.cl
- name: 10.1.0.cl
id: 10.1.0.cl
tags:
- 10.1.0.cl
description: Roles for version 10.1.0.cl
- name: 10.9.0.cl
id: 10.9.0.cl
tags:
- 10.9.0.cl
description: Roles for version 10.9.0.cl
- name: 10.8.0.cl
id: 10.8.0.cl
tags:
- 10.8.0.cl
description: Roles for version 10.8.0.cl
- name: 9.5.0.cl
id: 9.5.0.cl
tags:
- 9.5.0.cl
description: Roles for version 9.5.0.cl
- name: 26.3.0.cl
id: 26.3.0.cl
tags:
- 26.3.0.cl
description: Roles for version 26.3.0.cl
- name: 10.14.0.cl
id: 10.14.0.cl
tags:
- 10.14.0.cl
description: Roles for version 10.14.0.cl
- name: 9.7.0.cl
id: 9.7.0.cl
tags:
- 9.7.0.cl
description: Roles for version 9.7.0.cl