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