openapi: 3.0.0 info: title: ThoughtSpot Public REST 10.1.0.cl 10.13.0.cl API version: '2.0' servers: - url: '{base-url}' variables: base-url: default: https://localhost:443 security: - bearerAuth: [] tags: - name: 10.13.0.cl paths: /api/rest/2.0/ai/relevant-questions/: post: operationId: getRelevantQuestions description: "\nBeta Version: 10.13.0.cl or later\n\nBreaks down a natural language query into a series of smaller analytical sub-questions, each mapped to a relevant data source.\n\nRequires `CAN_USE_SPOTTER` privilege and at least view-level access to the referenced metadata objects.\n\n#### Usage guidelines\n\nThe request must include:\n- `query`: the natural language question to decompose into analytical sub-questions\n- `metadata_context`: at least one of the following context identifiers to guide question generation:\n - `conversation_identifier` — an existing conversation session ID\n - `answer_identifiers` — a list of Answer GUIDs\n - `liveboard_identifiers` — a list of Liveboard GUIDs\n - `data_source_identifiers` — a list of data source GUIDs\n\nOptional parameters for refining the output:\n- `ai_context`: additional context to improve response quality\n - `content` — supplementary text or CSV data as string input\n - `instructions` — custom text instructions for the AI system\n- `limit_relevant_questions`: maximum number of questions to return (default: `5`)\n- `bypass_cache`: if `true`, forces fresh computation instead of returning cached results\n\nIf the request is successful, the API returns a list of relevant analytical questions, each containing:\n- `query`: the generated sub-question\n- `data_source_identifier`: the unique ID of the data source the question targets\n- `data_source_name`: the display name of the corresponding data source\n\n#### Error responses\n\n| Code | Description |\n|------|---------------------------------------------------------------------------------------------------------------------------------------|\n| 401 | Unauthorized — authentication token is missing, expired, or invalid. |\n| 403 | Forbidden — the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks view access to the referenced metadata objects. |\n\n> ###### Note:\n> * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available.\n> * This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster.\n\n\n\n\n#### Endpoint URL\n" tags: - 10.13.0.cl requestBody: content: application/json: schema: $ref: '#/components/schemas/GetRelevantQuestionsRequest' required: true parameters: [] responses: '200': description: Common successful response content: application/json: schema: $ref: '#/components/schemas/eureka_GetRelevantQuestionsResponse' '201': description: Common error response content: application/json: schema: $ref: '#/components/schemas/eureka_GetRelevantQuestionsResponse' '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: GetRelevantQuestionsRequest: type: object properties: metadata_context: description: metadata for the query to enable generation of relevant sub-questions; at least one context identifier is required. allOf: - $ref: '#/components/schemas/MetadataContext' limit_relevant_questions: description: Maximum number of relevant questions that is allowed in the response, default = 5. type: integer format: int32 bypass_cache: description: If true, results are not returned from cache & calculated every time. type: boolean nullable: true query: description: A user query that requires breaking down into smaller, more manageable analytical questions to facilitate better understanding and analysis. Must be a non-empty string. type: string ai_context: description: Additional context to guide the response. allOf: - $ref: '#/components/schemas/AIContext' required: - metadata_context - query AIContext: type: object properties: instructions: type: array items: type: string description: User specific text instructions sent to AI system for processing the query. nullable: true content: type: array items: type: string description: User provided content like text data, csv data as a string message to provide context & potentially improve the quality of the response. nullable: true eureka_RelevantQuestion: 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 data_source_identifier: type: string description: Unique identifier of the data source on which this query can be run on. nullable: true data_source_name: type: string description: Display name of the data source on which this query can be run on. nullable: true ErrorResponse: type: object properties: error: type: object nullable: true eureka_GetRelevantQuestionsResponse: type: object properties: relevant_questions: type: array items: $ref: '#/components/schemas/eureka_RelevantQuestion' description: List of relevant questions that can be run on their respective data sources. nullable: true MetadataContext: type: object properties: data_source_identifiers: type: array items: type: string description: List of data_source_identifiers to provide context for breaking down user query into analytical queries that can be run on them. nullable: true answer_identifiers: type: array items: type: string description: List of answer unique identifiers (GUIDs) whose data will be used to guide the response. nullable: true conversation_identifier: type: string description: Unique identifier to denote current conversation. nullable: true liveboard_identifiers: type: array items: type: string description: List of liveboard unique identifiers (GUIDs) whose data will be used to guide the response. 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