{ "info": { "_postman_id": "7ab62e0c-5582-48bd-a5d0-bce63272fe08", "name": "ThoughtSpot Public REST 10.1.0.cl AI API", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "lastUpdatedBy": "35240", "uid": "35240-7ab62e0c-5582-48bd-a5d0-bce63272fe08" }, "item": [ { "name": "api", "item": [ { "name": "rest", "item": [ { "name": "2.0", "item": [ { "name": "ai", "item": [ { "name": "agent", "item": [ { "name": "conversation", "item": [ { "name": "create", "item": [ { "name": "create Agent Conversation", "id": "17652e91-9f29-4619-9637-73031a11ef11", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"metadata_context\": {\n \"type\": \"data_source\",\n \"data_source_context\": {\n \"data_source_identifier\": \"\",\n \"data_source_identifiers\": [\n \"\",\n \"\"\n ],\n \"guid\": \"\"\n }\n },\n \"conversation_settings\": {\n \"enable_contextual_change_analysis\": true,\n \"enable_natural_language_answer_generation\": true,\n \"enable_reasoning\": true,\n \"enable_save_chat\": false\n }\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", "create" ] }, "description": "\n Version: 26.2.0.cl or later\n\nVersion: 26.2.0.cl or later\n\nCreates a new Spotter agent conversation based on the provided context and settings. The endpoint was in Beta from 26.2.0.cl through 26.4.0.cl.\n\nRequires `CAN_USE_SPOTTER` privilege and at least view access to the metadata object specified in the request.\n\n#### Usage guidelines\n\nThe request must include the `metadata_context` parameter to define the conversation context. The context type can be one of:\n\n- `DATA_SOURCE` *(available from 26.5.0.cl)*: targets a specific data source. Provide `data_source_identifier` in `data_source_context` for a single data source, or `data_source_identifiers` for multi-data-source context. The deprecated `guid` field is accepted for backwards compatibility.\n- `AUTO_MODE` *(available from 26.5.0.cl)*: automatically discovers and selects the most relevant datasets for the user's queries.\n\n> **Note for callers on versions 26.2.0.cl \u2013 26.4.0.cl (Beta):** use the lowercase `data_source` enum value with the `guid` field instead of the above. Example: `{ \"type\": \"data_source\", \"data_source_context\": { \"guid\": \"\" } }`.\n\nThe `conversation_settings` parameter controls which Spotter capabilities are enabled for the conversation:\n\n- `enable_contextual_change_analysis` (default: `true`, **deprecated from 26.2.0.cl**) \u2014 always enabled in Spotter 3; setting this to `false` has no effect on versions >= 26.2.0.cl\n- `enable_natural_language_answer_generation` (default: `true`, **deprecated from 26.2.0.cl**) \u2014 always enabled in Spotter 3; setting this to `false` has no effect on versions >= 26.2.0.cl\n- `enable_reasoning` (default: `true`, **deprecated from 26.2.0.cl**) \u2014 always enabled in Spotter 3; setting this to `false` has no effect on versions >= 26.2.0.cl\n- `enable_save_chat` (default: `false`, *available from 26.5.0.cl*) \u2014 enables saving the conversation for later retrieval via conversation history\n\nIf the request is successful, the response includes a unique `conversation_identifier` that must be passed to `sendAgentConversationMessage` or `sendAgentConversationMessageStreaming` to send messages within this conversation. The response also includes `conversation_id` with the same value for backwards compatibility; use `conversation_identifier` for new integrations.\n\n#### Example request\n\n```json\n{\n \"metadata_context\": {\n \"type\": \"DATA_SOURCE\",\n \"data_source_context\": {\n \"data_source_identifier\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n }\n },\n \"conversation_settings\": {}\n}\n```\n\n#### Error responses\n\n| Code | Description |\n| ---- | --------------------------------------------------------------------------------------------------------------------------------------- |\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks view permission on the specified metadata object. |\n\n> ###### Note:\n>\n> - This endpoint was in Beta from 26.2.0.cl through 26.4.0.cl and is Generally Available from version 26.5.0.cl.\n> - This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster.\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "fda5e7e3-9656-4555-a887-d6fe890372cb", "name": "Common successful response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_context\": {\n \"type\": \"data_source\",\n \"data_source_context\": {\n \"data_source_identifier\": \"\",\n \"data_source_identifiers\": [\n \"\",\n \"\"\n ],\n \"guid\": \"\"\n }\n },\n \"conversation_settings\": {\n \"enable_contextual_change_analysis\": true,\n \"enable_natural_language_answer_generation\": true,\n \"enable_reasoning\": true,\n \"enable_save_chat\": false\n }\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", "create" ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"conversation_id\": \"\",\n \"conversation_identifier\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-fda5e7e3-9656-4555-a887-d6fe890372cb" }, { "id": "ad72eb4b-559b-47c6-8787-ca17331dbdce", "name": "Common error response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_context\": {\n \"type\": \"data_source\",\n \"data_source_context\": {\n \"data_source_identifier\": \"\",\n \"data_source_identifiers\": [\n \"\",\n \"\"\n ],\n \"guid\": \"\"\n }\n },\n \"conversation_settings\": {\n \"enable_contextual_change_analysis\": true,\n \"enable_natural_language_answer_generation\": true,\n \"enable_reasoning\": true,\n \"enable_save_chat\": false\n }\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", "create" ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"conversation_id\": \"\",\n \"conversation_identifier\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-ad72eb4b-559b-47c6-8787-ca17331dbdce" }, { "id": "08271d85-4902-4f73-889b-8f657ca8fabf", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_context\": {\n \"type\": \"data_source\",\n \"data_source_context\": {\n \"data_source_identifier\": \"\",\n \"data_source_identifiers\": [\n \"\",\n \"\"\n ],\n \"guid\": \"\"\n }\n },\n \"conversation_settings\": {\n \"enable_contextual_change_analysis\": true,\n \"enable_natural_language_answer_generation\": true,\n \"enable_reasoning\": true,\n \"enable_save_chat\": false\n }\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", "create" ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-08271d85-4902-4f73-889b-8f657ca8fabf" }, { "id": "e5ade468-d4a0-4817-9502-4bfd20743a8f", "name": "Unauthorized access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_context\": {\n \"type\": \"data_source\",\n \"data_source_context\": {\n \"data_source_identifier\": \"\",\n \"data_source_identifiers\": [\n \"\",\n \"\"\n ],\n \"guid\": \"\"\n }\n },\n \"conversation_settings\": {\n \"enable_contextual_change_analysis\": true,\n \"enable_natural_language_answer_generation\": true,\n \"enable_reasoning\": true,\n \"enable_save_chat\": false\n }\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", "create" ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-e5ade468-d4a0-4817-9502-4bfd20743a8f" }, { "id": "5cf1e039-2c29-4a77-87bc-fcd940a22e8b", "name": "Forbidden access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_context\": {\n \"type\": \"data_source\",\n \"data_source_context\": {\n \"data_source_identifier\": \"\",\n \"data_source_identifiers\": [\n \"\",\n \"\"\n ],\n \"guid\": \"\"\n }\n },\n \"conversation_settings\": {\n \"enable_contextual_change_analysis\": true,\n \"enable_natural_language_answer_generation\": true,\n \"enable_reasoning\": true,\n \"enable_save_chat\": false\n }\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", "create" ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-5cf1e039-2c29-4a77-87bc-fcd940a22e8b" }, { "id": "3e8e8178-dd43-4a4c-9d6e-d4d5acda4f6a", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_context\": {\n \"type\": \"data_source\",\n \"data_source_context\": {\n \"data_source_identifier\": \"\",\n \"data_source_identifiers\": [\n \"\",\n \"\"\n ],\n \"guid\": \"\"\n }\n },\n \"conversation_settings\": {\n \"enable_contextual_change_analysis\": true,\n \"enable_natural_language_answer_generation\": true,\n \"enable_reasoning\": true,\n \"enable_save_chat\": false\n }\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", "create" ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-3e8e8178-dd43-4a4c-9d6e-d4d5acda4f6a" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-17652e91-9f29-4619-9637-73031a11ef11" } ], "id": "b67be8d5-8128-4707-9991-eb376bf912df", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-b67be8d5-8128-4707-9991-eb376bf912df" }, { "name": "{conversation_identifier}", "item": [ { "name": "send", "item": [ { "name": "stream", "item": [ { "name": "send Agent Conversation Message Streaming", "id": "76fec0b1-23cf-4a32-af98-7766d2e50564", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/send/stream", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "send", "stream" ], "variable": [ { "id": "e3fbbd7b-3af1-4ed3-951a-f15df66a5737", "key": "conversation_identifier", "value": "", "description": "(Required) Unique identifier for the conversation (used to track context)" } ] }, "description": "\n Version: 26.5.0.cl or later\n\nVersion: 26.5.0.cl or later\n\nSends one or more natural language messages to an existing Spotter agent conversation and returns the response as a real-time Server-Sent Events stream.\n\nRequires `CAN_USE_SPOTTER` privilege and access to the metadata object associated with the conversation. The user must have access to the conversation session referenced by `conversation_identifier`. A conversation must first be created using the `createAgentConversation` API.\n\n#### Usage guidelines\n\nThe request must include:\n\n- `conversation_identifier`: the unique session ID returned by `createAgentConversation`, used for context continuity and message tracking\n- `messages`: an array of one or more text messages to send to the agent\n\nIf the request is valid, the API returns a Server-Sent Events (SSE) stream. Each line has the form `data: [{\"type\": \"...\", ...}]` \u2014 a JSON array of event objects. Event types include:\n\n- `ack`: confirms receipt of the request (`node_id`)\n- `conv_title`: conversation title (`title`, `conv_id`)\n- `notification`: status updates on operations (`group_id`, `metadata`, `code` \u2014 e.g. `TOOL_CALL_NOTIFICATION`, `nls_start`, `FINAL_RESPONSE_NOTIFICATION`)\n- `text-chunk`: incremental content chunks (`id`, `group_id`, `metadata` with `format` and `type` such as `thinking` or `text`, `content`)\n- `text`: full text block with same structure as `text-chunk`\n- `answer`: structured answer with metadata (`id`, `group_id`, `metadata` with `sage_query`, `session_id`, `title`, etc., `title`)\n- `error`: if a failure occurs\n\n#### Error responses\n\n| Code | Description |\n| ---- | -------------------------------------------------------------------------------------------------------------------------------- |\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks permission on the referenced conversation. |\n\n> ###### Note:\n>\n> - This endpoint is Generally Available from version 26.5.0.cl.\n> - This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster.\n> - The streaming protocol uses Server-Sent Events (SSE).\n> - For the complete response in a single payload, use `sendAgentConversationMessage` instead.\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "9c251db3-950e-41b2-8caf-49d3cb06bb9a", "name": "Common successful response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/send/stream", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "send", "stream" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"success\": \"\",\n \"message\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-9c251db3-950e-41b2-8caf-49d3cb06bb9a" }, { "id": "15ad90ff-9f4d-4f21-8565-f2282ba8f8ba", "name": "Common error response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/send/stream", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "send", "stream" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"success\": \"\",\n \"message\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-15ad90ff-9f4d-4f21-8565-f2282ba8f8ba" }, { "id": "5ca10662-48fb-4a96-8d03-b9a2703ce4e1", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/send/stream", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "send", "stream" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-5ca10662-48fb-4a96-8d03-b9a2703ce4e1" }, { "id": "393d65b2-9161-47a3-8205-3723e1dcf669", "name": "Unauthorized access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/send/stream", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "send", "stream" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-393d65b2-9161-47a3-8205-3723e1dcf669" }, { "id": "45f12d2f-80ac-466c-9d6c-ee2be9717378", "name": "Forbidden access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/send/stream", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "send", "stream" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-45f12d2f-80ac-466c-9d6c-ee2be9717378" }, { "id": "5cf09c50-9db5-41a6-b4f7-2ec9714fd82c", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/send/stream", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "send", "stream" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-5cf09c50-9db5-41a6-b4f7-2ec9714fd82c" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-76fec0b1-23cf-4a32-af98-7766d2e50564" } ], "id": "0b982e77-5af5-4178-8201-5430e6e54438", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-0b982e77-5af5-4178-8201-5430e6e54438" }, { "name": "send Agent Conversation Message", "id": "36da61f7-4de8-4f8b-bc81-c8363a765cb6", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/send", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "send" ], "variable": [ { "id": "0fd4ed19-f467-4125-b466-db5d0f056b0d", "key": "conversation_identifier", "value": "", "description": "(Required) Unique identifier for the conversation (used to track context)" } ] }, "description": "\n Version: 26.5.0.cl or later\n\nVersion: 26.5.0.cl or later\n\nSends natural language messages to an existing Spotter agent conversation and returns the complete response synchronously.\n\nRequires `CAN_USE_SPOTTER` privilege and access to the metadata object associated with the conversation. The user must have access to the conversation session referenced by `conversation_identifier`. A conversation must first be created using the `createAgentConversation` API.\n\n#### Usage guidelines\n\nThe request must include:\n\n- `conversation_identifier`: the unique session ID returned by `createAgentConversation`, used for context continuity and message tracking\n- `messages`: an array of one or more text messages to send to the agent\n\nThe API returns an array of response objects, each containing:\n\n- `type`: the kind of response \u2014 `text`, `answer`, or `error`\n- `message`: the main content of the response\n- `metadata`: additional information depending on the message type (e.g., answer metadata includes analytics and visualization details)\n\n#### Error responses\n\n| Code | Description |\n|------|----------------------------------------------------------------------------------------------------------------------------------|\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks permission on the referenced conversation. |\n\n> ###### Note:\n>\n> - This endpoint is Generally Available from version 26.5.0.cl.\n> - This endpoint requires Spotter - please contact ThoughtSpot support to enable Spotter on your cluster.\n> - For real-time streamed responses, use `sendAgentConversationMessageStreaming` instead.\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "f86d4ccc-2fc6-4be7-a580-fc8074ca3ea5", "name": "Common successful response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/send", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "send" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-f86d4ccc-2fc6-4be7-a580-fc8074ca3ea5" }, { "id": "db1e608a-5e42-4326-ba3c-03f428e8d46f", "name": "Common error response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/send", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "send" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-db1e608a-5e42-4326-ba3c-03f428e8d46f" }, { "id": "60cccba3-08f0-4844-8d6b-c20efe4a57f6", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/send", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "send" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-60cccba3-08f0-4844-8d6b-c20efe4a57f6" }, { "id": "5b9a929b-afd6-4adf-8cf8-45b5969cc5dc", "name": "Unauthorized access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/send", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "send" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-5b9a929b-afd6-4adf-8cf8-45b5969cc5dc" }, { "id": "4ae5a2a7-ba02-46f2-bf67-d92be873fd80", "name": "Forbidden access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/send", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "send" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-4ae5a2a7-ba02-46f2-bf67-d92be873fd80" }, { "id": "76f7214f-9387-444f-957b-bce3d20afaa1", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/send", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "send" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-76f7214f-9387-444f-957b-bce3d20afaa1" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-36da61f7-4de8-4f8b-bc81-c8363a765cb6" } ], "id": "a846b210-e88f-4c6b-846d-cd12cdcdb01e", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-a846b210-e88f-4c6b-846d-cd12cdcdb01e" }, { "name": "stop-response", "item": [ { "name": "stop Conversation", "id": "2e91b70f-8ae7-4dbb-a52d-b671e02bc39e", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/stop-response", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "stop-response" ], "variable": [ { "id": "bf06838f-33bd-49a9-8efa-c0fcb81c89de", "key": "conversation_identifier", "value": "", "description": "(Required) Unique identifier of the conversation to stop." } ] }, "description": "\nStops an in-progress agent conversation response.
Version: 26.6.0.cl or later\n\nVersion: 26.6.0.cl or later\n\nStops an in-progress agent response for the specified conversation. Use this endpoint to cancel a response that is actively being generated \u2014 for example, when the user navigates away, reformulates their question, or no longer needs the current result.\n\nRequires `CAN_USE_SPOTTER` privilege and access to the specified conversation.\n\n#### Usage guidelines\n\nThe request must include:\n\n- `conversation_identifier` *(path parameter)*: the unique ID of the conversation whose active response should be stopped, as returned by `createAgentConversation`\n\nA successful request returns an empty `204 No Content` response. If there is no active response in progress at the time of the call, the request is still treated as successful.\n\nAfter stopping a response, the conversation session remains active. You can continue sending messages using `sendAgentConversationMessage` or `sendAgentConversationMessageStreaming`.\n\n#### Example request\n\n```bash\nPOST /api/rest/2.0/ai/agent/conversation/{conversation_identifier}/stop-response\n```\n\n#### Typical usage scenario\n\nThis endpoint is useful when integrating Spotter into a chat UI where users can cancel a long-running query. For example:\n\n1. User sends a message via `sendAgentConversationMessageStreaming`.\n2. User clicks a \"Stop generating\" button while the response is streaming.\n3. Your client calls `stopConversation` with the active `conversation_identifier`.\n4. The stream is terminated and the user can ask a new question.\n\n#### Error responses\n\n| Code | Description |\n|------|-------------|\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks access to the specified conversation. |\n\n> ###### Note:\n>\n> - Calling this endpoint when no response is in progress does not return an error.\n> - The conversation context is preserved after stopping \u2014 previous messages and answers remain accessible.\n> - Available from version 26.6.0.cl and later.\n> - This endpoint requires Spotter \u2014 please contact ThoughtSpot Support to enable Spotter on your cluster.\n> - This feature is available only for **Spotter 3** (`SPOTTER3`) version.\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "24cc9491-9fb7-4db5-abb0-7fe10b451a99", "name": "Successfully stopped the in-progress agent conversation response for the given.", "originalRequest": { "method": "POST", "header": [ { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/stop-response", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "stop-response" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "No Content", "code": 204, "_postman_previewlanguage": "text", "header": [], "cookie": [], "responseTime": null, "body": null, "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-24cc9491-9fb7-4db5-abb0-7fe10b451a99" }, { "id": "ef6f7efc-7703-4772-8ee0-4b652a46c9b5", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/stop-response", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "stop-response" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-ef6f7efc-7703-4772-8ee0-4b652a46c9b5" }, { "id": "50b85e98-9d39-42d5-863b-ebd63d5d652e", "name": "Unauthorized access.", "originalRequest": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/stop-response", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "stop-response" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-50b85e98-9d39-42d5-863b-ebd63d5d652e" }, { "id": "6fd1b6bc-35f9-4b42-a2c9-55629a5c4e73", "name": "Forbidden access.", "originalRequest": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/stop-response", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "stop-response" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-6fd1b6bc-35f9-4b42-a2c9-55629a5c4e73" }, { "id": "c7523703-b95d-4582-af83-6fc19c414489", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversation/:conversation_identifier/stop-response", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversation", ":conversation_identifier", "stop-response" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-c7523703-b95d-4582-af83-6fc19c414489" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-2e91b70f-8ae7-4dbb-a52d-b671e02bc39e" } ], "id": "7804a6f2-10bf-4696-88ea-9bc7724049cc", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-7804a6f2-10bf-4696-88ea-9bc7724049cc" } ], "id": "ecf7df57-c901-48c1-be6f-248a4a163529", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-ecf7df57-c901-48c1-be6f-248a4a163529" } ], "id": "bb17a0ba-c42b-4581-b6a6-b537aa46444e", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-bb17a0ba-c42b-4581-b6a6-b537aa46444e" }, { "name": "conversations", "item": [ { "name": "{conversation_identifier}", "item": [ { "name": "delete", "item": [ { "name": "delete Conversation", "id": "b6734d3f-0418-4191-b1dd-056fb41f2acc", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "DELETE", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/delete", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "delete" ], "variable": [ { "id": "cbbbb618-d687-44a7-8850-9470f8939b8e", "key": "conversation_identifier", "value": "", "description": "(Required) Unique identifier of the conversation to delete." } ] }, "description": "\nDeletes an existing agent conversation.
Version: 26.7.0.cl or later\n\nPermanently deletes an existing saved agent conversation and all its associated messages. This operation is irreversible \u2014 deleted conversations cannot be recovered.\n\nRequires `CAN_USE_SPOTTER` privilege and ownership of the conversation being deleted.\n\n#### Usage guidelines\n\nThe request must include:\n\n- `conversation_identifier` *(path parameter)*: the unique ID of the conversation to delete, as returned by `createAgentConversation` or `getConversationList`\n\nA successful request returns an empty `204 No Content` response. The deleted conversation no longer appears in `getConversationList`.\n\n#### Example request\n\n```bash\nDELETE /api/rest/2.0/ai/agent/conversations/{conversation_identifier}/delete\n```\n\n#### Error responses\n\n| Code | Description |\n|------|-------------|\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have `CAN_USE_SPOTTER` privilege or does not own the specified conversation. |\n| 404 | Not Found \u2014 no conversation exists with the given `conversation_identifier` for the authenticated user. |\n\n> ###### Note:\n>\n> - Deletion is permanent and cannot be undone. Ensure the correct `conversation_identifier` is used before calling this endpoint.\n> - Only conversations created with `enable_save_chat: true` are persisted and can be deleted via this endpoint.\n> - Available from version 26.7.0.cl and later.\n> - This endpoint requires Spotter \u2014 please contact ThoughtSpot Support to enable Spotter on your cluster.\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "dc861a86-fda7-40a5-83bd-c906bc635169", "name": "Successfully deleted the agent conversation.", "originalRequest": { "method": "DELETE", "header": [ { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/delete", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "delete" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "No Content", "code": 204, "_postman_previewlanguage": "text", "header": [], "cookie": [], "responseTime": null, "body": null, "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-dc861a86-fda7-40a5-83bd-c906bc635169" }, { "id": "d637a5a9-33a4-4e30-917c-0249fb0f4095", "name": "Operation failed", "originalRequest": { "method": "DELETE", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/delete", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "delete" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-d637a5a9-33a4-4e30-917c-0249fb0f4095" }, { "id": "ee5938ef-999d-41dd-8992-d9b11e4ebd80", "name": "Unauthorized access.", "originalRequest": { "method": "DELETE", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/delete", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "delete" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-ee5938ef-999d-41dd-8992-d9b11e4ebd80" }, { "id": "6444b094-4de8-4cf7-bd7e-ded17a92fad3", "name": "Forbidden access.", "originalRequest": { "method": "DELETE", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/delete", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "delete" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-6444b094-4de8-4cf7-bd7e-ded17a92fad3" }, { "id": "7462770f-5fd0-4098-a0c5-2d1f7410c26b", "name": "Operation failed", "originalRequest": { "method": "DELETE", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/delete", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "delete" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-7462770f-5fd0-4098-a0c5-2d1f7410c26b" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-b6734d3f-0418-4191-b1dd-056fb41f2acc" } ], "id": "c1728afd-ac82-4b7d-84d8-36a4d149dd3c", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-c1728afd-ac82-4b7d-84d8-36a4d149dd3c" }, { "name": "messages", "item": [ { "name": "get Conversation", "id": "08040675-f107-4c1e-b5ec-42bb1b876002", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/messages", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "messages" ], "variable": [ { "id": "6ca07d62-9ff0-42c5-90ac-6dfb84ed2606", "key": "conversation_identifier", "value": "", "description": "(Required) Unique identifier of the conversation to load." } ] }, "description": "\nRetrieves the full public-safe content of a saved agent conversation: ordered\nturns (user messages and agent response items) and sanitized code-execution\nfile metadata. Internal graph or branch state, Azure file identifiers, and\nmessages with a `SYSTEM` source are omitted. The full answer payload is not\nembedded; fetch it separately via `loadAnswer` using the `answer_id` on each\n`answer` response item.\nRequires `CAN_USE_SPOTTER` privilege and access to the specified conversation.
Version: 26.7.0.cl or later\n\nRetrieves the full public-safe content of a saved agent conversation. Returns ordered conversation messages \u2014 each carrying an optional user prompt (the user's message and any attachments) and the agent response items produced for that turn \u2014 plus sanitized metadata for any files generated by the code-execution tool. \n\nUse this endpoint to render a persisted conversation in a UI, build an audit trail, or post-process a completed conversation. The full answer payload is not embedded \u2014 fetch it separately via `loadAnswer` using the `answer_id` on each `answer` response item.\n\nRequires `CAN_USE_SPOTTER` privilege and access to the specified conversation.\n\n#### Usage guidelines\n\nThe request must include:\n\n- `conversation_identifier` _(path parameter)_: the unique ID of the conversation, as returned by `createAgentConversation` or `getConversationList`.\n\nIf the request is successful, the response contains two top-level fields:\n\n| Field | Type | Description |\n| ---------------------- | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `messages` | `ConversationMessage[]` | Ordered oldest to newest. Empty array when the conversation has no messages. |\n| `code_execution_files` | `CodeExecutionFileMetadata[]` | List of sanitized file metadata entries (one per `file_id`). Covers all code-execution-generated files referenced anywhere in the conversation. Empty array when there are none. |\n\nNo other top-level fields are returned.\n\n#### ConversationMessage fields\n\n| Field | Type | Description |\n| --------------------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------- |\n| `message_id` | `String` | Stable identifier for the turn. For liveboard-started synthetic first turns, this is the root node identifier. |\n| `timestamp_in_millis` | `Long` | Milliseconds since Unix epoch for the turn. |\n| `user_prompt` | `UserPrompt` | User-authored prompt that started the turn (message and attachments). `null` for liveboard-started synthetic first turns. |\n| `response_items` | `ConversationResponseItem[]` | Agent-side output produced in response to this turn. Empty array for in-progress turns. |\n\n#### UserPrompt fields\n\n| Field | Type | Description |\n| ------------- | ---------------------- | ---------------------------------------------------------------------------------------------------- |\n| `message` | `UserMessage` | User query that started the turn. `null` for liveboard-started synthetic first turns. |\n| `attachments` | `UserAttachmentItem[]` | Files or connector resources attached to the user message. Empty array when there are no attachments. |\n\n#### UserMessage fields\n\n| Field | Type | Description |\n| ------------ | -------- | --------------------------------------------- |\n| `message_id` | `String` | Unique identifier of the user-source message. |\n| `content` | `String` | Text body of the user query. |\n\n#### UserAttachmentItem fields\n\nDiscriminated by `type`. Only `\"file\"` or `\"resource\"` are valid values. Only the fields for the indicated variant are populated. See `ConversationResponseItem` below for the field definitions of the `file` and `resource` variants \u2014 `UserAttachmentItem` uses the same fields.\n\n#### ConversationResponseItem fields\n\nEvery item carries a `type` discriminator and these shared fields:\n\n| Field | Type | Description |\n| --------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------ |\n| `type` | `String` | Discriminator. One of `\"text\"`, `\"tool_call\"`, `\"tool_result\"`, `\"answer\"`, `\"file\"`, `\"resource\"`, `\"search_datasets\"`. |\n| `timestamp_in_millis` | `Long` | Milliseconds since Unix epoch when this item was produced. |\n| `is_thinking` | `Boolean` | `true` when the item represents internal agent reasoning rather than user-facing output. Consumers may hide or collapse these. |\n| `step_title` | `String` | Human-readable label for the agent step producing this item (e.g. `\"Searching\"`, `\"Visualising\"`). |\n\nVariant-specific fields:\n\n- **`text`** \u2014 agent text output: `content` (String), `content_type` (`ContentMimeType` enum), `file_reference` (FileReference).\n- **`tool_call`** \u2014 agent invoked a tool: `tool_call_id` (String), `tool_name` (String), `arguments` (JSON object).\n- **`tool_result`** \u2014 result returned from a tool invocation: `tool_call_id`, `tool_name`, `content`, `content_type` (`ContentMimeType` enum), `success` (Boolean).\n- **`answer`** \u2014 slim reference to a saved answer: `answer_id` (String), `tool_call_id`, `tool_name`.\n- **`file`** \u2014 uploaded or generated files: `files` (`PublicFileInfo[]`).\n- **`resource`** \u2014 MCP connector resource: `title`, `uri`, `name`, `mime_type`, `description`, `size` (Int), `connector_id`, `connector_name`, `connector_slug`, `transport_type` (`TransportType` enum).\n- **`search_datasets`** \u2014 dataset discovery result: `text` (String), `data_sources` (`DataSourceInfo[]`).\n\nClients should switch on `type` and ignore unknown variants for forward-compatibility.\n\n#### content_type values\n\n`content_type` is the `ContentMimeType` enum. The following values are defined:\n\n| Value | Wire MIME | Meaning |\n| --------------------------- | --------------------------- | ---------------------------------------------------- |\n| `TEXT_PLAIN` | `text/plain` | Plain text. Default for `tool_result`. |\n| `TEXT_MARKDOWN` | `text/markdown` | Markdown. Default for `text`. |\n| `TEXT_X_MARKDOWN_WITH_CODE` | `text/x-markdown-with-code` | Markdown whose body starts with a fenced code block. |\n| `TEXT_HTML` | `text/html` | Raw HTML. |\n\n#### transport_type values\n\n`transport_type` is the `TransportType` enum used on the `resource` variant.\n\n| Value | Meaning |\n| ------------------ | --------------------------------------------- |\n| `STREAMABLE_HTTP` | Streamable HTTP transport (default for MCP). |\n| `SSE` | Server-sent events transport. |\n\n#### FileReference fields\n\n| Field | Type | Description |\n| ------------------------ | -------- | ------------------------------------------------------------ |\n| `file_id` | `String` | Unique identifier of the code-execution-generated file. |\n| `display_name` | `String` | Human-readable file name. |\n| `created_time_in_millis` | `Long` | Milliseconds since Unix epoch when the file was created. |\n\nCross-reference `file_id` against `code_execution_files` to retrieve full metadata including the `expired` flag before attempting a download.\n\n#### PublicFileInfo fields\n\n| Field | Type | Description |\n| ------------------------ | -------- | -------------------------------------------------------- |\n| `file_id` | `String` | Unique identifier of the file. |\n| `display_name` | `String` | Human-readable file name. |\n| `file_type` | `String` | File type such as `csv`, `pdf`, or `png`. |\n| `created_time_in_millis` | `Long` | Milliseconds since Unix epoch when the file was created. |\n| `size_bytes` | `Int` | File size in bytes. |\n\n#### CodeExecutionFileMetadata fields\n\nEach entry in the `code_execution_files` array contains:\n\n| Field | Type | Description |\n| ------------------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------- |\n| `file_id` | `String` | Unique identifier of the file. |\n| `display_name` | `String` | Human-readable file name. |\n| `file_type` | `String` | File type such as `csv`, `pdf`, or `png`. |\n| `created_time_in_millis` | `Long` | Milliseconds since Unix epoch when the file was created. |\n| `expired` | `Boolean` | When `true`, the underlying file is no longer retrievable from code-execution storage; UIs should disable download and preview. |\n\n#### Loading answer payloads\n\nEach `AnswerResponseItem` in the response contains an `answer_id` field. Pass this value as the `answer_identifier` parameter to `loadAnswer` to retrieve the full answer payload (TML tokens, visualization metadata) for that item.\n\n#### Example request\n\n```bash\nGET /api/rest/2.0/ai/agent/conversations/{conversation_identifier}/messages\n```\n\n#### Example response\n\n```json\n{\n \"messages\": [\n {\n \"message_id\": \"node_u_01\",\n \"timestamp_in_millis\": 1744000000000,\n \"user_prompt\": {\n \"message\": {\n \"message_id\": \"msg_u_01\",\n \"content\": \"Show me revenue by region as a chart.\"\n },\n \"attachments\": []\n },\n \"response_items\": [\n {\n \"type\": \"tool_call\",\n \"tool_call_id\": \"toolu_01ABC\",\n \"tool_name\": \"search_datasets\",\n \"step_title\": \"Searching datasets\",\n \"arguments\": { \"query\": \"revenue\" },\n \"timestamp_in_millis\": 1744000001000,\n \"is_thinking\": false\n },\n {\n \"type\": \"answer\",\n \"answer_id\": \"ans_01XYZ\",\n \"tool_call_id\": \"toolu_02DEF\",\n \"tool_name\": \"fetch_and_visualize\",\n \"step_title\": \"Visualising\",\n \"timestamp_in_millis\": 1744000004000,\n \"is_thinking\": false\n },\n {\n \"type\": \"text\",\n \"content\": \"Revenue is highest in APAC.\",\n \"content_type\": \"TEXT_MARKDOWN\",\n \"timestamp_in_millis\": 1744000005000,\n \"is_thinking\": false,\n \"step_title\": null,\n \"file_reference\": {\n \"file_id\": \"revenue_by_region.csv\",\n \"display_name\": \"revenue_by_region.csv\",\n \"created_time_in_millis\": 1744027200000\n }\n }\n ]\n }\n ],\n \"code_execution_files\": [\n {\n \"file_id\": \"revenue_by_region.csv\",\n \"display_name\": \"revenue_by_region.csv\",\n \"file_type\": \"csv\",\n \"created_time_in_millis\": 1744027200000,\n \"expired\": false\n }\n ]\n}\n```\n\n#### Example: liveboard-started conversation\n\nWhen a conversation is initiated from a saved liveboard visualization rather than a user query, the first turn is synthetic. `user_prompt` is `null`, and `response_items` contains a single `answer` item referencing the seed visualization.\n\n```json\n{\n \"messages\": [\n {\n \"message_id\": \"ROOT_NODE\",\n \"timestamp_in_millis\": 1743999000000,\n \"user_prompt\": null,\n \"response_items\": [\n {\n \"type\": \"answer\",\n \"answer_id\": \"lb_seed_01\",\n \"tool_call_id\": null,\n \"tool_name\": null,\n \"step_title\": null,\n \"timestamp_in_millis\": 1743999000000,\n \"is_thinking\": false\n }\n ]\n }\n ],\n \"code_execution_files\": []\n}\n```\n\nSubsequent turns follow the normal user-to-agent pattern.\n\n#### Error responses\n\n| Code | Description |\n| ---- | --------------------------------------------------------------------------------------------------------------------------- |\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks access to the specified conversation. |\n| 404 | Not Found \u2014 no conversation exists with the given identifier for the authenticated user. |\n\n> ###### Note:\n>\n> - Messages with an internal `SYSTEM` source are always dropped from the response.\n> - In-progress turns are still returned with an empty `response_items` array so clients can render the user message immediately.\n> - Do not assume every `tool_call` has a paired `tool_result` or `answer` \u2014 an interrupted conversation can leave a dangling call.\n> - Available from version 26.7.0.cl and later.\n> - This endpoint requires Spotter \u2014 please contact ThoughtSpot Support to enable Spotter on your cluster.\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "d7ef0f44-0c8a-4364-a855-a66bd90122b1", "name": "Common successful response", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/messages", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "messages" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"messages\": [\n {\n \"message_id\": \"\",\n \"timestamp_in_millis\": {},\n \"user_prompt\": {\n \"message\": {\n \"message_id\": \"\",\n \"content\": \"\"\n }\n }\n },\n {\n \"message_id\": \"\",\n \"timestamp_in_millis\": {},\n \"user_prompt\": {\n \"message\": {\n \"message_id\": \"\",\n \"content\": \"\"\n }\n }\n }\n ],\n \"code_execution_files\": [\n {\n \"file_id\": \"\",\n \"expired\": \"\",\n \"display_name\": \"\",\n \"file_type\": \"\",\n \"created_time_in_millis\": {}\n },\n {\n \"file_id\": \"\",\n \"expired\": \"\",\n \"display_name\": \"\",\n \"file_type\": \"\",\n \"created_time_in_millis\": {}\n }\n ]\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-d7ef0f44-0c8a-4364-a855-a66bd90122b1" }, { "id": "4e482491-dc2f-4bbb-b809-af7656793e5c", "name": "Common error response", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/messages", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "messages" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"messages\": [\n {\n \"message_id\": \"\",\n \"timestamp_in_millis\": {},\n \"user_prompt\": {\n \"message\": {\n \"message_id\": \"\",\n \"content\": \"\"\n }\n }\n },\n {\n \"message_id\": \"\",\n \"timestamp_in_millis\": {},\n \"user_prompt\": {\n \"message\": {\n \"message_id\": \"\",\n \"content\": \"\"\n }\n }\n }\n ],\n \"code_execution_files\": [\n {\n \"file_id\": \"\",\n \"expired\": \"\",\n \"display_name\": \"\",\n \"file_type\": \"\",\n \"created_time_in_millis\": {}\n },\n {\n \"file_id\": \"\",\n \"expired\": \"\",\n \"display_name\": \"\",\n \"file_type\": \"\",\n \"created_time_in_millis\": {}\n }\n ]\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-4e482491-dc2f-4bbb-b809-af7656793e5c" }, { "id": "46635c05-cba8-4ecc-930a-855fb3cea49f", "name": "Operation failed", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/messages", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "messages" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-46635c05-cba8-4ecc-930a-855fb3cea49f" }, { "id": "76297771-1de5-4258-a747-d85f7c69096b", "name": "Unauthorized access.", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/messages", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "messages" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-76297771-1de5-4258-a747-d85f7c69096b" }, { "id": "5e0f7406-a5de-44ee-bb63-3e2b67bf4c85", "name": "Forbidden access.", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/messages", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "messages" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-5e0f7406-a5de-44ee-bb63-3e2b67bf4c85" }, { "id": "4fc7320c-38b0-4701-9927-30d694f25b9e", "name": "Operation failed", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/messages", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "messages" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-4fc7320c-38b0-4701-9927-30d694f25b9e" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-08040675-f107-4c1e-b5ec-42bb1b876002" } ], "id": "bc429281-9b09-4045-a005-4dbe8720b43e", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-bc429281-9b09-4045-a005-4dbe8720b43e" }, { "name": "get-shared-content", "item": [ { "name": "get Shared Content", "id": "8c77c7b2-5541-4862-a04f-23e28b497c42", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/get-shared-content", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "get-shared-content" ], "variable": [ { "id": "1c6f2397-cc48-4840-93e1-504ddd16f057", "key": "conversation_identifier", "value": "", "description": "(Required) Unique identifier of the source conversation." } ] }, "description": "\nReturns the full read-only view of a shared conversation, including ordered\nmessages and data source metadata. Accessible by the conversation owner and\nany principal (user or group) that has been granted access.\nRequires `CAN_USE_SPOTTER` privilege.
Version: 26.9.0.cl or later\n\nReturns the full read-only view of a shared conversation, including ordered messages and data source metadata. Accessible by the conversation owner and any principal (user or group) that has been granted access via `shareConversation`.\n\nUse this endpoint to render a shared conversation in a UI or to retrieve its content for post-processing. The full answer payload is not embedded in messages \u2014 fetch it separately via `loadAnswer` using the `shared_conversation_id` from this response as the `conversation_identifier` parameter, along with the `answer_id` from each `answer` response item.\n\n> **Important**: `shared_conversation_id` is not the same as `conversation_id`. It identifies the shared snapshot, which is a separate internal object from the source conversation. You must use the `shared_conversation_id` value \u2014 not `conversation_id` \u2014 as the `conversation_identifier` parameter when calling `loadAnswer` to hydrate answers from a shared view.\n\n#### Usage guidelines\n\nThe request must include:\n\n- `conversation_identifier` _(query parameter)_: the unique ID of the source conversation.\n\n#### Response fields\n\n| Field | Type | Description |\n| --- | --- | --- |\n| `conversation_id` | `String` | Echoes the request parameter. |\n| `shared_conversation_id` | `String` | Identifier for the shared snapshot. **This is not the same as `conversation_id`.** Pass this value as the `conversation_identifier` parameter in `loadAnswer` calls. It changes each time the snapshot is refreshed via `shareConversation` with `refresh_shared_content: true` \u2014 re-fetch this response to get the current value before calling `loadAnswer`. |\n| `conversation_title` | `String` | Display title of the conversation. `null` if no title was set. |\n| `data_sources` | `DataSourceEntry[]` | Data sources used by the conversation, each with an `id` and display `name`. |\n| `messages` | `ConversationMessage[]` | Ordered conversation messages, oldest to newest. Same structure as returned by `getConversation`. Empty when the conversation has no messages. |\n| `code_execution_files` | `CodeExecutionFileMetadata[]` | Sanitized metadata for files generated by the code-execution tool. Empty when there are none. |\n\n#### DataSourceEntry fields\n\n| Field | Type | Description |\n| --- | --- | --- |\n| `id` | `String` | Unique identifier of the data source. |\n| `name` | `String` | Display name of the data source. |\n\n#### CodeExecutionFileMetadata fields\n\nEach entry in the `code_execution_files` array contains:\n\n| Field | Type | Description |\n| --- | --- | --- |\n| `file_id` | `String` | Unique identifier of the file. |\n| `display_name` | `String` | Human-readable file name. |\n| `file_type` | `String` | File type such as `csv`, `pdf`, or `png`. |\n| `created_time_in_millis` | `Long` | Milliseconds since Unix epoch when the file was created. |\n| `expired` | `Boolean` | When `true`, the underlying file is no longer retrievable from code-execution storage; UIs should disable download and preview. |\n\n#### Loading answer payloads\n\nEach `answer` response item in `messages[].response_items` contains an `answer_id` field. To retrieve the full answer payload (TML tokens, visualization metadata, chart config), call `loadAnswer` with:\n\n- `conversation_identifier`: the `shared_conversation_id` from **this** response (not `conversation_id`)\n- `answer_identifier`: the `answer_id` from the `answer` item\n\nIf the snapshot has been refreshed since you last called `getSharedContent`, the `shared_conversation_id` will have changed. Always use the `shared_conversation_id` from the most recent `getSharedContent` response; stale values return 404.\n\n#### Example request\n\n```bash\nGET /api/rest/2.0/ai/agent/conversations/{conversation_identifier}/get-shared-content\n```\n\n#### Example response\n\n```json\n{\n \"conversation_id\": \"conv-abc-123\",\n \"shared_conversation_id\": \"snap-xyz-456\",\n \"conversation_title\": \"Sales by Region Q1\",\n \"data_sources\": [{ \"id\": \"ds-001\", \"name\": \"Retail Sales\" }],\n \"messages\": [\n {\n \"message_id\": \"node-u-01\",\n \"timestamp_in_millis\": 1744000000000,\n \"user_prompt\": {\n \"message\": {\n \"message_id\": \"msg-u-01\",\n \"content\": \"Show me revenue by region.\"\n },\n \"attachments\": []\n },\n \"response_items\": [\n {\n \"type\": \"tool_call\",\n \"tool_call_id\": \"toolu-01\",\n \"tool_name\": \"search_datasets\",\n \"step_title\": \"Searching datasets\",\n \"arguments\": { \"query\": \"revenue by region\" },\n \"timestamp_in_millis\": 1744000001000,\n \"is_thinking\": false\n },\n {\n \"type\": \"answer\",\n \"answer_id\": \"ans-01\",\n \"tool_call_id\": \"toolu-02\",\n \"tool_name\": \"fetch_and_visualize\",\n \"step_title\": \"Visualizing\",\n \"timestamp_in_millis\": 1744000004000,\n \"is_thinking\": false\n },\n {\n \"type\": \"text\",\n \"content\": \"Revenue is highest in APAC.\",\n \"content_type\": \"TEXT_MARKDOWN\",\n \"timestamp_in_millis\": 1744000005000,\n \"is_thinking\": false,\n \"step_title\": null,\n \"file_reference\": null\n }\n ]\n }\n ],\n \"code_execution_files\": [\n {\n \"file_id\": \"revenue_by_region.csv\",\n \"display_name\": \"revenue_by_region.csv\",\n \"file_type\": \"csv\",\n \"created_time_in_millis\": 1744027200000,\n \"expired\": false\n }\n ]\n}\n```\n\nFor the `ConversationMessage` field structure, see `getConversation`.\n\n#### Error responses\n\n| Code | Description |\n| --- | --- |\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the caller is neither the conversation owner nor a principal with access, or does not have `CAN_USE_SPOTTER` privilege. |\n| 404 | Not Found \u2014 no active shared view exists for the given conversation identifier. |\n\n> ###### Note:\n>\n> - The shared view is a point-in-time copy of the conversation. It may not reflect edits made after sharing. Check `is_shared_content_outdated` via `getShareInfo` and use `shareConversation` with `refresh_shared_content: true` to update.\n> - This endpoint requires Spotter \u2014 please contact ThoughtSpot Support to enable Spotter on your cluster.\nVersion: 26.9.0.cl or later\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "5638823b-f4ea-4c1b-9603-03b94b0716e5", "name": "Common successful response", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/get-shared-content", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "get-shared-content" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"conversation_id\": \"\",\n \"shared_conversation_id\": \"\",\n \"data_sources\": [\n {\n \"id\": \"\",\n \"name\": \"\"\n },\n {\n \"id\": \"\",\n \"name\": \"\"\n }\n ],\n \"messages\": [\n {\n \"message_id\": \"\",\n \"timestamp_in_millis\": {},\n \"user_prompt\": {\n \"message\": {\n \"message_id\": \"\",\n \"content\": \"\"\n }\n }\n },\n {\n \"message_id\": \"\",\n \"timestamp_in_millis\": {},\n \"user_prompt\": {\n \"message\": {\n \"message_id\": \"\",\n \"content\": \"\"\n }\n }\n }\n ],\n \"code_execution_files\": [\n {\n \"file_id\": \"\",\n \"expired\": \"\",\n \"display_name\": \"\",\n \"file_type\": \"\",\n \"created_time_in_millis\": {}\n },\n {\n \"file_id\": \"\",\n \"expired\": \"\",\n \"display_name\": \"\",\n \"file_type\": \"\",\n \"created_time_in_millis\": {}\n }\n ],\n \"conversation_title\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-5638823b-f4ea-4c1b-9603-03b94b0716e5" }, { "id": "d6546fb4-086a-4825-8fd5-0fc268f99378", "name": "Common error response", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/get-shared-content", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "get-shared-content" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"conversation_id\": \"\",\n \"shared_conversation_id\": \"\",\n \"data_sources\": [\n {\n \"id\": \"\",\n \"name\": \"\"\n },\n {\n \"id\": \"\",\n \"name\": \"\"\n }\n ],\n \"messages\": [\n {\n \"message_id\": \"\",\n \"timestamp_in_millis\": {},\n \"user_prompt\": {\n \"message\": {\n \"message_id\": \"\",\n \"content\": \"\"\n }\n }\n },\n {\n \"message_id\": \"\",\n \"timestamp_in_millis\": {},\n \"user_prompt\": {\n \"message\": {\n \"message_id\": \"\",\n \"content\": \"\"\n }\n }\n }\n ],\n \"code_execution_files\": [\n {\n \"file_id\": \"\",\n \"expired\": \"\",\n \"display_name\": \"\",\n \"file_type\": \"\",\n \"created_time_in_millis\": {}\n },\n {\n \"file_id\": \"\",\n \"expired\": \"\",\n \"display_name\": \"\",\n \"file_type\": \"\",\n \"created_time_in_millis\": {}\n }\n ],\n \"conversation_title\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-d6546fb4-086a-4825-8fd5-0fc268f99378" }, { "id": "917622e8-5642-42fb-a511-110817342459", "name": "Operation failed", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/get-shared-content", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "get-shared-content" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-917622e8-5642-42fb-a511-110817342459" }, { "id": "7e85abd9-e92d-4f9a-9d9c-d6946d6787b7", "name": "Unauthorized access.", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/get-shared-content", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "get-shared-content" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-7e85abd9-e92d-4f9a-9d9c-d6946d6787b7" }, { "id": "20e68d7b-200d-4212-b39b-2bfec55704b4", "name": "Forbidden access.", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/get-shared-content", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "get-shared-content" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-20e68d7b-200d-4212-b39b-2bfec55704b4" }, { "id": "e662332f-d500-4997-a731-2f2b622a235d", "name": "Operation failed", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/get-shared-content", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "get-shared-content" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-e662332f-d500-4997-a731-2f2b622a235d" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-8c77c7b2-5541-4862-a04f-23e28b497c42" } ], "id": "8e4e1542-8216-4139-9495-43a7bba69387", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-8e4e1542-8216-4139-9495-43a7bba69387" }, { "name": "get-share-info", "item": [ { "name": "get Share Info", "id": "9bcfa512-fd50-4d9e-b952-a49183f48558", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/get-share-info", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "get-share-info" ], "variable": [ { "id": "977f1897-43eb-4e41-97c9-b5b6ef1e25a5", "key": "conversation_identifier", "value": "", "description": "(Required) Unique identifier of the conversation." } ] }, "description": "\nReturns the current share state for a conversation the caller owns: whether\nthe shared view is outdated relative to the latest conversation content, and\nthe list of principals that currently have access.\nRequires `CAN_USE_SPOTTER` privilege and ownership of the specified conversation.
Version: 26.9.0.cl or later\n\nReturns the current share state for a conversation the caller owns: whether the shared view reflects the latest conversation content, and the list of principals that currently have access.\n\nUse this endpoint to render a share management UI, audit who has access to a conversation, or determine whether the shared view needs to be refreshed before sending a link.\n\nRequires ownership of the specified conversation.\n\n#### Usage guidelines\n\nThe request must include:\n\n- `conversation_identifier` _(query parameter)_: the unique ID of the conversation, as returned by `createAgentConversation` or `getConversationList`.\n\n#### Response fields\n\n| Field | Type | Description |\n| --- | --- | --- |\n| `conversation_id` | `String` | Echoes the request parameter. |\n| `is_shared_content_outdated` | `Boolean` | `true` when the shared view was generated before the last edit to the conversation and does not reflect the latest content. `false` when the shared view is current. `null` when the conversation has never been shared. |\n| `principals` | `ConversationPrincipalInfo[]` | List of principals with access. Empty when no access has been granted. The conversation owner is never included. |\n\n#### ConversationPrincipalInfo fields\n\n| Field | Type | Description |\n| --- | --- | --- |\n| `id` | `String` | Unique identifier of the user or group. |\n| `type` | `Principals` | `USER` for individual users, `USER_GROUP` for groups. |\n| `display_name` | `String` | Display name as shown in the ThoughtSpot UI. |\n| `name` | `String` | Internal name of the user or group. |\n| `permission` | `String` | Access level. Always `READ_ONLY` for shared conversations. |\n\n#### Example request\n\n```bash\nGET /api/rest/2.0/ai/agent/conversations/{conversation_identifier}/get-share-info\n```\n\n#### Example response \u2014 conversation shared and current\n\n```json\n{\n \"conversation_id\": \"conv-abc-123\",\n \"is_shared_content_outdated\": false,\n \"principals\": [\n {\n \"id\": \"user-001\",\n \"type\": \"USER\",\n \"display_name\": \"Alice Example\",\n \"name\": \"alice.example\",\n \"permission\": \"READ_ONLY\"\n },\n {\n \"id\": \"group-001\",\n \"type\": \"USER_GROUP\",\n \"display_name\": \"Sales Team\",\n \"name\": \"sales-team\",\n \"permission\": \"READ_ONLY\"\n }\n ]\n}\n```\n\n#### Example response \u2014 conversation never shared\n\n```json\n{\n \"conversation_id\": \"conv-abc-123\",\n \"is_shared_content_outdated\": null,\n \"principals\": []\n}\n```\n\n#### Example response \u2014 shared view outdated\n\n```json\n{\n \"conversation_id\": \"conv-abc-123\",\n \"is_shared_content_outdated\": true,\n \"principals\": [\n {\n \"id\": \"user-001\",\n \"type\": \"USER\",\n \"display_name\": \"Alice Example\",\n \"name\": \"alice.example\",\n \"permission\": \"READ_ONLY\"\n }\n ]\n}\n```\n\nWhen `is_shared_content_outdated` is `true`, call `shareConversation` with `refresh_shared_content: true` to update the shared view with the latest conversation content.\n\n#### Error responses\n\n| Code | Description |\n| --- | --- |\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the caller does not own the specified conversation, or does not have `CAN_USE_SPOTTER` privilege. |\n| 404 | Not Found \u2014 no conversation exists with the given identifier for the authenticated user. |\n\n> ###### Note:\n>\n> - This endpoint requires Spotter \u2014 please contact ThoughtSpot Support to enable Spotter on your cluster.\nVersion: 26.9.0.cl or later\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "54568fe0-d1fc-48ce-b6d5-7856ada3ee45", "name": "Common successful response", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/get-share-info", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "get-share-info" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"conversation_id\": \"\",\n \"principals\": [\n {\n \"id\": \"\",\n \"type\": \"USER\",\n \"display_name\": \"\",\n \"name\": \"\",\n \"permission\": \"READ_ONLY\"\n },\n {\n \"id\": \"\",\n \"type\": \"USER_GROUP\",\n \"display_name\": \"\",\n \"name\": \"\",\n \"permission\": \"READ_ONLY\"\n }\n ],\n \"is_shared_content_outdated\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-54568fe0-d1fc-48ce-b6d5-7856ada3ee45" }, { "id": "84d64c4a-f940-4c64-bf86-00cb24c3a201", "name": "Common error response", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/get-share-info", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "get-share-info" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"conversation_id\": \"\",\n \"principals\": [\n {\n \"id\": \"\",\n \"type\": \"USER\",\n \"display_name\": \"\",\n \"name\": \"\",\n \"permission\": \"READ_ONLY\"\n },\n {\n \"id\": \"\",\n \"type\": \"USER_GROUP\",\n \"display_name\": \"\",\n \"name\": \"\",\n \"permission\": \"READ_ONLY\"\n }\n ],\n \"is_shared_content_outdated\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-84d64c4a-f940-4c64-bf86-00cb24c3a201" }, { "id": "8023d542-ee7c-4211-928e-140a735351a7", "name": "Operation failed", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/get-share-info", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "get-share-info" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-8023d542-ee7c-4211-928e-140a735351a7" }, { "id": "f7b2744a-fd93-4597-b0e8-34bb206ea888", "name": "Unauthorized access.", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/get-share-info", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "get-share-info" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-f7b2744a-fd93-4597-b0e8-34bb206ea888" }, { "id": "c615912c-bdf1-4dbd-b930-a9a51d9d59b2", "name": "Forbidden access.", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/get-share-info", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "get-share-info" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-c615912c-bdf1-4dbd-b930-a9a51d9d59b2" }, { "id": "c9e6441b-9d78-431d-a0b7-af4ca7ed4789", "name": "Operation failed", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/get-share-info", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "get-share-info" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-c9e6441b-9d78-431d-a0b7-af4ca7ed4789" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-9bcfa512-fd50-4d9e-b952-a49183f48558" } ], "id": "1ada3ec5-349e-4446-be34-019872d7601e", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-1ada3ec5-349e-4446-be34-019872d7601e" }, { "name": "answers", "item": [ { "name": "{answer_identifier}", "item": [ { "name": "details", "item": [ { "name": "load Answer", "id": "d3f89f6f-e69b-4c4c-b589-24d95ead895b", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/answers/:answer_identifier/details", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "answers", ":answer_identifier", "details" ], "variable": [ { "id": "fdd40b3c-0b83-4d5a-866f-6f66975eb89c", "key": "conversation_identifier", "value": "", "description": "(Required) Unique identifier of the conversation." }, { "id": "4e57364a-ac43-404b-a39e-fee0d187a48b", "key": "answer_identifier", "value": "", "description": "(Required) Unique identifier of the answer to load. Use the `answer_id` field from an\n`AnswerResponseItem` returned by `getConversation`." } ] }, "description": "\nLoads the full answer payload for a specific answer item in an agent\nconversation. Returns structured answer data including the TML query, token\nbreakdown, visualization metadata, and agent context state.\nPass the `answer_id` from an `AnswerResponseItem` in the `getConversation`\nresponse as the `answer_identifier` parameter.\nRequires `CAN_USE_SPOTTER` privilege and access to the specified conversation.
Version: 26.7.0.cl or later\n\nLoads the answer details for a specific answer item in an agent conversation. Returns structured answer data including the TML token list, visualization metadata, and agent context state. Use this endpoint to retrieve the full answer representation for an answer item \u2014 for example, to re-render a chart, export a query, or inspect the generated TML.\n\nRequires `CAN_USE_SPOTTER` privilege and access to the specified conversation.\n\n#### Usage guidelines\n\nThe request must include:\n\n- `conversation_identifier` *(path parameter)*: the unique ID of the conversation, as returned by `createAgentConversation`\n- `answer_identifier` *(path parameter)*: the `answer_id` field from an `AnswerResponseItem` in the `getConversation` response\n\nIf the request is successful, the response contains an `answer` object with the following fields:\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `title` | `String` | Display title of the generated answer (e.g., `\"sales by month\"`). |\n| `description` | `String` | Optional description of the answer. |\n| `session_identifier` | `String` | Unique identifier of the session in which this answer was generated. |\n| `generation_number` | `Int` | Generation sequence number of this answer within the session. |\n| `tokens` | `[String]` | Ordered list of TML token strings that make up the answer query (e.g., `[\"[sales]\", \"[date].'monthly'\"]`). |\n| `visualization_type` | `VizType` | Suggested visualization type: `Chart`, `Table`, or `Undefined`. `null` if no suggestion is available. |\n| `formulas` | `[String]` | List of formula names referenced in the answer. Empty if none are used. |\n| `parameters` | `[String]` | List of parameter names applied to the answer. Empty if none are used. |\n| `sub_queries` | `[JSON]` | List of sub-query objects used in the answer. Empty if none are present. |\n| `ac_state` | `ACState` | Agent context state, including `transaction_identifier` and `generation_number`, used to correlate this answer with a specific agent turn. |\n\n#### ACState fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `transaction_identifier` | `String` | Unique identifier of the agent transaction that produced this answer. |\n| `generation_number` | `Int` | Generation number within the transaction. |\n\n#### Example request\n\n```bash\nGET /api/rest/2.0/ai/agent/conversations/{conversation_identifier}/answers/{answer_identifier}/details\n```\n\n#### Example response\n\n```json\n{\n \"answer\": {\n \"title\": \"sales by month\",\n \"description\": \"\",\n \"session_identifier\": \"7b00b801-73f4-4639-af5e-e775584ceba6\",\n \"generation_number\": 1,\n \"tokens\": [\"[sales]\", \"[date].'monthly'\"],\n \"visualization_type\": null,\n \"formulas\": [],\n \"parameters\": [],\n \"sub_queries\": [],\n \"ac_state\": {\n \"transaction_identifier\": \"7f6c9948-b4c7-4098-bb1f-6c67bc0e5699\",\n \"generation_number\": 1\n }\n }\n}\n```\n\n#### Typical usage scenario\n\n1. Call `getConversation` to retrieve the full conversation history.\n2. Locate an `AnswerResponseItem` in `response_items` \u2014 note its `answer_id` field.\n3. Call `loadAnswer` with the `conversation_identifier` and `answer_id` as `answer_identifier`.\n4. The returned `tokens` array can be used to open the answer in the ThoughtSpot search interface or rendered as pill chips in the UI.\n\n#### Error responses\n\n| Code | Description |\n|------|-------------|\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks access to the specified conversation. |\n| 404 | Not Found \u2014 no conversation or message exists with the given identifiers for the authenticated user. |\n| 422 | Unprocessable Entity \u2014 the message does not contain an answer of the expected type. |\n\n> ###### Note:\n>\n> - This endpoint only loads answer-type messages. Other message types are not supported.\n> - `visualization_type` may be `null` if the agent did not produce a visualization suggestion for this answer.\n> - `formulas`, `parameters`, and `sub_queries` are returned as empty arrays when not applicable \u2014 they are never `null`.\n> - Available from version 26.7.0.cl and later.\n> - This endpoint requires Spotter \u2014 please contact ThoughtSpot Support to enable Spotter on your cluster.\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "d7373ad2-27d4-42a2-9661-829243b7de56", "name": "Common successful response", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/answers/:answer_identifier/details", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "answers", ":answer_identifier", "details" ], "variable": [ { "key": "conversation_identifier" }, { "key": "answer_identifier" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"answer\": {\n \"title\": \"\",\n \"description\": \"\",\n \"session_identifier\": \"\",\n \"generation_number\": \"\",\n \"tokens\": [\n \"\",\n \"\"\n ],\n \"visualization_type\": \"Chart\",\n \"formulas\": [\n \"\",\n \"\"\n ],\n \"parameters\": [\n \"\",\n \"\"\n ],\n \"ac_state\": {\n \"transaction_identifier\": \"\",\n \"generation_number\": \"\"\n }\n }\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-d7373ad2-27d4-42a2-9661-829243b7de56" }, { "id": "dad99dbf-3c95-43aa-b443-13dbd8403c64", "name": "Common error response", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/answers/:answer_identifier/details", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "answers", ":answer_identifier", "details" ], "variable": [ { "key": "conversation_identifier" }, { "key": "answer_identifier" } ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"answer\": {\n \"title\": \"\",\n \"description\": \"\",\n \"session_identifier\": \"\",\n \"generation_number\": \"\",\n \"tokens\": [\n \"\",\n \"\"\n ],\n \"visualization_type\": \"Chart\",\n \"formulas\": [\n \"\",\n \"\"\n ],\n \"parameters\": [\n \"\",\n \"\"\n ],\n \"ac_state\": {\n \"transaction_identifier\": \"\",\n \"generation_number\": \"\"\n }\n }\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-dad99dbf-3c95-43aa-b443-13dbd8403c64" }, { "id": "9825bfe5-4e3d-4c81-ae54-8b1097d8216b", "name": "Operation failed", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/answers/:answer_identifier/details", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "answers", ":answer_identifier", "details" ], "variable": [ { "key": "conversation_identifier" }, { "key": "answer_identifier" } ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-9825bfe5-4e3d-4c81-ae54-8b1097d8216b" }, { "id": "14dff681-9d98-418e-9abf-2b07dd08a473", "name": "Unauthorized access.", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/answers/:answer_identifier/details", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "answers", ":answer_identifier", "details" ], "variable": [ { "key": "conversation_identifier" }, { "key": "answer_identifier" } ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-14dff681-9d98-418e-9abf-2b07dd08a473" }, { "id": "3b689b32-9c0f-48b2-9bd3-cec63e12ec8c", "name": "Forbidden access.", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/answers/:answer_identifier/details", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "answers", ":answer_identifier", "details" ], "variable": [ { "key": "conversation_identifier" }, { "key": "answer_identifier" } ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-3b689b32-9c0f-48b2-9bd3-cec63e12ec8c" }, { "id": "2fe435d5-14a6-42c9-ae65-e639ca9d0463", "name": "Operation failed", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/answers/:answer_identifier/details", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "answers", ":answer_identifier", "details" ], "variable": [ { "key": "conversation_identifier" }, { "key": "answer_identifier" } ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-2fe435d5-14a6-42c9-ae65-e639ca9d0463" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-d3f89f6f-e69b-4c4c-b589-24d95ead895b" } ], "id": "523f0ebd-3de2-438b-9e41-cf9c3b7d5c19", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-523f0ebd-3de2-438b-9e41-cf9c3b7d5c19" } ], "id": "9578a57e-7f50-4a65-a2fc-8f633665ca58", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-9578a57e-7f50-4a65-a2fc-8f633665ca58" } ], "id": "ef654241-b803-40d9-a704-3985be7e22f2", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-ef654241-b803-40d9-a704-3985be7e22f2" }, { "name": "share", "item": [ { "name": "share Conversation", "id": "3abd1919-cab0-42f7-89ba-3be9f2592ad4", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"grant\": [],\n \"revoke\": [],\n \"refresh_shared_content\": false,\n \"notify_on_share\": true\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/share", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "share" ], "variable": [ { "id": "fce4ac4b-4615-4252-96c8-c90bbaf65f48", "key": "conversation_identifier", "value": "", "description": "(Required) Unique identifier of the conversation to share." } ] }, "description": "\nGrants or revokes access to a shared conversation for one or more principals\n(users or groups). When principals are added, a read-only shared view of the\nconversation is created from its current state. Use `refresh_shared_content`\nto regenerate the shared view with the latest conversation content.\nRequires `CAN_USE_SPOTTER` privilege and ownership of the specified conversation.
Version: 26.9.0.cl or later\n\nGrants or revokes access to a shared conversation for one or more principals (users or groups). When principals are added, a read-only shared view of the conversation is created from its current state. The shared view is a point-in-time copy \u2014 use `refresh_shared_content` to regenerate it with the latest conversation content.\n\nRequires ownership of the specified conversation. Only the user who created the conversation can manage its share access.\n\n#### Usage guidelines\n\nThe conversation to share is identified by the `{conversation_identifier}` URL path parameter. At least one of the following must be true: `grant` is non-empty, `revoke` is non-empty, or `refresh_shared_content` is `true`. A principal cannot appear in both lists in the same request.\n\n| Field | Type | Default | Description |\n| --- | --- | --- | --- |\n| `refresh_shared_content` | `Boolean` | `false` | When `true`, always regenerates the shared view from the latest conversation state, even if a shared view already exists. When `false`, reuses the existing shared view. |\n| `grant` | `PrincipalRefInput[]` | `[]` | Principals to grant read-only access. |\n| `revoke` | `PrincipalRefInput[]` | `[]` | Principals to revoke access from. |\n| `notify_on_share` | `Boolean` | `true` | *(available from 26.10.0.cl)* When `true`, newly granted principals are notified of the share. When `false`, access is granted without sending a notification. Has no effect on principals passed in `revoke`, and does not re-notify a principal who already had access. |\n\n#### PrincipalRefInput fields\n\n| Field | Type | Description |\n| --- | --- | --- |\n| `principal_identifier` | `String` | Unique identifier of the user or group. |\n| `principal_type` | `Principals` | `USER` for individual users, `USER_GROUP` for groups. |\n\n#### Example request \u2014 granting access\n\n```bash\nPOST /api/rest/2.0/ai/agent/conversations/{conversation_identifier}/share\n```\n\n```json\n{\n \"refresh_shared_content\": false,\n \"grant\": [\n { \"principal_identifier\": \"user-001\", \"principal_type\": \"USER\" },\n { \"principal_identifier\": \"group-001\", \"principal_type\": \"USER_GROUP\" }\n ],\n \"revoke\": [],\n \"notify_on_share\": true\n}\n```\n\n#### Example request \u2014 revoking access\n\n```json\n{\n \"refresh_shared_content\": false,\n \"grant\": [],\n \"revoke\": [\n { \"principal_identifier\": \"user-001\", \"principal_type\": \"USER\" }\n ]\n}\n```\n\nSet `refresh_shared_content: true` with empty `grant` and `revoke` to regenerate the shared snapshot for existing recipients without changing access. Combine with non-empty `grant` or `revoke` to update access and refresh the snapshot in a single call.\n\n#### Error responses\n\n| Code | Description |\n| --- | --- |\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the caller does not own the specified conversation, or does not have `CAN_USE_SPOTTER` privilege. |\n| 404 | Not Found \u2014 no conversation exists with the given identifier for the authenticated user. |\n| 422 | Unprocessable \u2014 `refresh_shared_content` is `false` and both `grant` and `revoke` are empty, or a principal appears in both lists. |\n\n> ###### Note:\n>\n> - The shared view is a read-only snapshot of the conversation at the time of sharing. Recipients cannot send messages or modify the conversation.\n> - Use `getShareInfo` to check whether the shared view is outdated relative to the current conversation state.\n> - `notify_on_share: false` only suppresses the share notification; access is still granted.\n> - This endpoint requires Spotter \u2014 please contact ThoughtSpot Support to enable Spotter on your cluster.\nVersion: 26.9.0.cl or later\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "e79ab0d0-2285-4f6e-9dd3-378e4736a048", "name": "Successfully updated the share access for the conversation.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"grant\": [],\n \"revoke\": [],\n \"refresh_shared_content\": false,\n \"notify_on_share\": true\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/share", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "share" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "No Content", "code": 204, "_postman_previewlanguage": "text", "header": [], "cookie": [], "responseTime": null, "body": null, "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-e79ab0d0-2285-4f6e-9dd3-378e4736a048" }, { "id": "dac22280-2b42-4c55-8ce3-4ef2802a7649", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"grant\": [],\n \"revoke\": [],\n \"refresh_shared_content\": false,\n \"notify_on_share\": true\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/share", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "share" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-dac22280-2b42-4c55-8ce3-4ef2802a7649" }, { "id": "7f81cc2e-e65f-4433-9fc8-6ada07cbef27", "name": "Unauthorized access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"grant\": [],\n \"revoke\": [],\n \"refresh_shared_content\": false,\n \"notify_on_share\": true\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/share", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "share" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-7f81cc2e-e65f-4433-9fc8-6ada07cbef27" }, { "id": "9676de6c-fd59-47a6-8eaf-3431e9ab0350", "name": "Forbidden access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"grant\": [],\n \"revoke\": [],\n \"refresh_shared_content\": false,\n \"notify_on_share\": true\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/share", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "share" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-9676de6c-fd59-47a6-8eaf-3431e9ab0350" }, { "id": "5e644024-f74b-4ef1-941f-ff341d3b9620", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"grant\": [],\n \"revoke\": [],\n \"refresh_shared_content\": false,\n \"notify_on_share\": true\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/share", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "share" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-5e644024-f74b-4ef1-941f-ff341d3b9620" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-3abd1919-cab0-42f7-89ba-3be9f2592ad4" } ], "id": "528f8c06-233f-438b-b0eb-a81768386525", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-528f8c06-233f-438b-b0eb-a81768386525" }, { "name": "update", "item": [ { "name": "update Conversation", "id": "71d48a2d-b8ee-4475-84aa-6160786b23eb", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"title\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/update", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "update" ], "variable": [ { "id": "cc09589f-76c6-4f94-a865-42a83e8c3943", "key": "conversation_identifier", "value": "", "description": "(Required) Unique identifier of the conversation to update." } ] }, "description": "\nUpdates attributes of an existing agent conversation. Currently only the\ndisplay title can be updated; additional conversation attributes may be\nsupported in future versions. At least one updatable attribute must be\nprovided in the request body.
Version: 26.7.0.cl or later\n\nUpdates attributes of an existing saved agent conversation. Currently only the conversation's display `title` can be updated; additional updatable attributes may be supported in future versions. At least one updatable attribute must be supplied in the request body.\n\nRequires `CAN_USE_SPOTTER` privilege and ownership of the conversation being updated.\n\n#### Usage guidelines\n\nThe request must include:\n\n- `conversation_identifier` *(path parameter)*: the unique ID of the conversation to update, as returned by `createAgentConversation` or `getConversationList`\n- At least one updatable attribute in the request body:\n - `title` *(optional)*: the new display name for the conversation. When provided, must be a non-empty string.\n\nA successful request returns an empty `204 No Content` response. Updated attributes are reflected immediately in subsequent calls to `getConversationList`.\n\n#### Example request\n\n```bash\nPOST /api/rest/2.0/ai/agent/conversations/{conversation_identifier}/update\nContent-Type: application/json\n\n{\n \"title\": \"Revenue Breakdown by Product Line\"\n}\n```\n\n#### Error responses\n\n| Code | Description |\n|------|-------------|\n| 400 | Bad Request \u2014 the request body is empty or `title` is provided as an empty string. |\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have `CAN_USE_SPOTTER` privilege or does not own the specified conversation. |\n| 404 | Not Found \u2014 no conversation exists with the given `conversation_identifier` for the authenticated user. |\n| 422 | Unprocessable Entity \u2014 the request body is malformed or contains an invalid field value. |\n\n> ###### Note:\n>\n> - Only conversations created with `enable_save_chat: true` can be updated. Unsaved conversations are not persisted and do not have a retrievable identifier.\n> - Available from version 26.7.0.cl and later.\n> - This endpoint requires Spotter \u2014 please contact ThoughtSpot Support to enable Spotter on your cluster.\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "b28d5f0b-412c-44e4-b371-d4265fb7e9a0", "name": "Successfully updated the agent conversation.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"title\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/update", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "update" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "No Content", "code": 204, "_postman_previewlanguage": "text", "header": [], "cookie": [], "responseTime": null, "body": null, "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-b28d5f0b-412c-44e4-b371-d4265fb7e9a0" }, { "id": "67edb299-c322-46ca-a4ee-44233937175d", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"title\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/update", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "update" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-67edb299-c322-46ca-a4ee-44233937175d" }, { "id": "5887d079-aefe-42ad-a318-f59cfb077522", "name": "Unauthorized access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"title\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/update", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "update" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-5887d079-aefe-42ad-a318-f59cfb077522" }, { "id": "d4ef4ea7-e86c-444f-a7f5-bcb0c45e092e", "name": "Forbidden access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"title\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/update", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "update" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-d4ef4ea7-e86c-444f-a7f5-bcb0c45e092e" }, { "id": "b9dc1a65-0387-444c-8c19-c2731f1b8f31", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"title\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations/:conversation_identifier/update", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations", ":conversation_identifier", "update" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-b9dc1a65-0387-444c-8c19-c2731f1b8f31" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-71d48a2d-b8ee-4475-84aa-6160786b23eb" } ], "id": "ccde97e9-9b7e-405b-93ac-80cb7ef5a548", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-ccde97e9-9b7e-405b-93ac-80cb7ef5a548" } ], "id": "7f2ce098-960c-41b4-88ba-3919d87a8814", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-7f2ce098-960c-41b4-88ba-3919d87a8814" }, { "name": "get Conversation List", "id": "7de2e8d4-63df-4c96-a83f-17b963ed67f3", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations?limit=30&offset=0&skip_empty=true", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations" ], "query": [ { "description": "Maximum number of conversations to return. Used for pagination.", "key": "limit", "value": "30" }, { "description": "Number of conversations to skip before returning results. Used for pagination.", "key": "offset", "value": "0" }, { "description": "When true, excludes conversations with no messages. Defaults to true.", "key": "skip_empty", "value": "true" } ] }, "description": "\nRetrieves the list of saved agent conversations for the currently authenticated user.\nOnly conversations created with `enable_save_chat: true` are returned.
Version: 26.7.0.cl or later\n\nRetrieves a paginated list of saved agent conversations for the currently authenticated user. Only conversations that were created with `enable_save_chat: true` in `createAgentConversation` are returned.\n\nRequires `CAN_USE_SPOTTER` privilege.\n\n#### Usage guidelines\n\nThe request supports the following optional query parameters:\n\n- `limit`: maximum number of conversations to return. Use this together with `offset` for pagination.\n- `offset`: number of conversations to skip before returning results. Defaults to `0`.\n- `skip_empty`: when `true` (default), conversations with no messages are excluded from the results. Set to `false` to include empty conversations.\n\nIf the request is successful, the response includes a `conversations` array. Each entry contains:\n\n- `conversation_identifier`: the unique ID of the conversation, used as input to `sendAgentConversationMessage`, `updateConversation`, `deleteConversation`, `stopConversation`, and `loadAnswer`\n- `conversation_title`: the display name of the conversation\n- `created_at`: ISO 8601 timestamp of when the conversation was created\n- `updated_at`: ISO 8601 timestamp of the most recent update to the conversation\n- `data_source_identifiers`: list of unique IDs of the data sources associated with the conversation\n- `data_source_names`: array of `{ id, name }` objects for the data sources associated with the conversation\n\n#### Pagination\n\nUse `limit` and `offset` to page through large result sets:\n\n```\nGET /api/rest/2.0/ai/agent/conversations?limit=20&offset=0 \u2192 first page\nGET /api/rest/2.0/ai/agent/conversations?limit=20&offset=20 \u2192 second page\n```\n\n#### Pagination and `has_more`\n\nThe response includes a `has_more: Boolean` field. When `true`, there are additional conversations beyond the current page \u2014 increment `offset` by `limit` to fetch the next page. When `has_more` is `false`, the current page is the last. Note that `total_count` is not returned; use `has_more` to drive paging controls.\n\n#### Example response\n\n```json\n{\n \"conversations\": [\n {\n \"conversation_identifier\": \"abc123\",\n \"conversation_title\": \"Sales by Region Q1\",\n \"created_at\": \"2026-03-01T10:00:00Z\",\n \"updated_at\": \"2026-03-05T14:23:00Z\",\n \"data_source_identifiers\": [\"ds-001\"],\n \"data_source_names\": [{ \"id\": \"ds-001\", \"name\": \"Retail Sales\" }]\n }\n ],\n \"has_more\": false\n}\n```\n\n#### Error responses\n\n| Code | Description |\n|------|-------------|\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have `CAN_USE_SPOTTER` privilege. |\n\n> ###### Note:\n>\n> - Only conversations created with `enable_save_chat: true` appear in this list. Conversations created with `enable_save_chat: false` (the default) are not persisted and cannot be retrieved.\n> - Available from version 26.7.0.cl and later.\n> - This endpoint requires Spotter \u2014 please contact ThoughtSpot Support to enable Spotter on your cluster.\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "c14bfeda-6ec4-46c5-a88e-c07d5c3368a8", "name": "Common successful response", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations?limit=30&offset=0&skip_empty=true", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations" ], "query": [ { "description": "Maximum number of conversations to return. Used for pagination.", "key": "limit", "value": "30" }, { "description": "Number of conversations to skip before returning results. Used for pagination.", "key": "offset", "value": "0" }, { "description": "When true, excludes conversations with no messages. Defaults to true.", "key": "skip_empty", "value": "true" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"conversations\": [\n {\n \"conversation_identifier\": \"\",\n \"conversation_title\": \"\",\n \"created_at\": \"\",\n \"updated_at\": \"\",\n \"data_source_identifiers\": [\n \"\",\n \"\"\n ],\n \"data_source_names\": [\n {\n \"id\": \"\",\n \"name\": \"\"\n },\n {\n \"id\": \"\",\n \"name\": \"\"\n }\n ]\n },\n {\n \"conversation_identifier\": \"\",\n \"conversation_title\": \"\",\n \"created_at\": \"\",\n \"updated_at\": \"\",\n \"data_source_identifiers\": [\n \"\",\n \"\"\n ],\n \"data_source_names\": [\n {\n \"id\": \"\",\n \"name\": \"\"\n },\n {\n \"id\": \"\",\n \"name\": \"\"\n }\n ]\n }\n ],\n \"has_more\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-c14bfeda-6ec4-46c5-a88e-c07d5c3368a8" }, { "id": "893bd88b-f271-4514-b2a3-e80618d07350", "name": "Common error response", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations?limit=30&offset=0&skip_empty=true", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations" ], "query": [ { "description": "Maximum number of conversations to return. Used for pagination.", "key": "limit", "value": "30" }, { "description": "Number of conversations to skip before returning results. Used for pagination.", "key": "offset", "value": "0" }, { "description": "When true, excludes conversations with no messages. Defaults to true.", "key": "skip_empty", "value": "true" } ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"conversations\": [\n {\n \"conversation_identifier\": \"\",\n \"conversation_title\": \"\",\n \"created_at\": \"\",\n \"updated_at\": \"\",\n \"data_source_identifiers\": [\n \"\",\n \"\"\n ],\n \"data_source_names\": [\n {\n \"id\": \"\",\n \"name\": \"\"\n },\n {\n \"id\": \"\",\n \"name\": \"\"\n }\n ]\n },\n {\n \"conversation_identifier\": \"\",\n \"conversation_title\": \"\",\n \"created_at\": \"\",\n \"updated_at\": \"\",\n \"data_source_identifiers\": [\n \"\",\n \"\"\n ],\n \"data_source_names\": [\n {\n \"id\": \"\",\n \"name\": \"\"\n },\n {\n \"id\": \"\",\n \"name\": \"\"\n }\n ]\n }\n ],\n \"has_more\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-893bd88b-f271-4514-b2a3-e80618d07350" }, { "id": "c86f52c1-fca8-448e-95bd-99ae45f7a780", "name": "Operation failed", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations?limit=30&offset=0&skip_empty=true", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations" ], "query": [ { "description": "Maximum number of conversations to return. Used for pagination.", "key": "limit", "value": "30" }, { "description": "Number of conversations to skip before returning results. Used for pagination.", "key": "offset", "value": "0" }, { "description": "When true, excludes conversations with no messages. Defaults to true.", "key": "skip_empty", "value": "true" } ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-c86f52c1-fca8-448e-95bd-99ae45f7a780" }, { "id": "187e1ca5-743c-499b-9555-2cf37eee624d", "name": "Unauthorized access.", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations?limit=30&offset=0&skip_empty=true", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations" ], "query": [ { "description": "Maximum number of conversations to return. Used for pagination.", "key": "limit", "value": "30" }, { "description": "Number of conversations to skip before returning results. Used for pagination.", "key": "offset", "value": "0" }, { "description": "When true, excludes conversations with no messages. Defaults to true.", "key": "skip_empty", "value": "true" } ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-187e1ca5-743c-499b-9555-2cf37eee624d" }, { "id": "6935641c-5a3e-4295-afa5-e60d2b5cb9c2", "name": "Forbidden access.", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations?limit=30&offset=0&skip_empty=true", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations" ], "query": [ { "description": "Maximum number of conversations to return. Used for pagination.", "key": "limit", "value": "30" }, { "description": "Number of conversations to skip before returning results. Used for pagination.", "key": "offset", "value": "0" }, { "description": "When true, excludes conversations with no messages. Defaults to true.", "key": "skip_empty", "value": "true" } ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-6935641c-5a3e-4295-afa5-e60d2b5cb9c2" }, { "id": "357e7476-74a8-4d11-b133-1217a6773c36", "name": "Operation failed", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/conversations?limit=30&offset=0&skip_empty=true", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "conversations" ], "query": [ { "description": "Maximum number of conversations to return. Used for pagination.", "key": "limit", "value": "30" }, { "description": "Number of conversations to skip before returning results. Used for pagination.", "key": "offset", "value": "0" }, { "description": "When true, excludes conversations with no messages. Defaults to true.", "key": "skip_empty", "value": "true" } ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-357e7476-74a8-4d11-b133-1217a6773c36" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-7de2e8d4-63df-4c96-a83f-17b963ed67f3" } ], "id": "99000d3f-a4c0-4fce-b1e5-3041de938e66", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-99000d3f-a4c0-4fce-b1e5-3041de938e66" }, { "name": "instructions", "item": [ { "name": "get", "item": [ { "name": "get Agent Instructions", "id": "48179524-754c-4a57-873e-0e9268ae6e23", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/instructions/get", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "instructions", "get" ] }, "description": "\nBeta Version: 26.6.0.cl or later\n\nRetrieves the admin instructions currently configured for the AI agent (Spotter). Admin instructions are tenant- and org-scoped text that guide agent behavior across all conversations.\n\nRequires admin privileges. Only users with org admin access can retrieve agent instructions.\n\n#### Usage guidelines\n\nNo input parameters are required. The API returns the stored `AgentInstructions` record for the caller's tenant and org.\n\nIf no instructions have been configured yet, the API returns a record with an empty `instructions` field and `null` values for `id`, `created_at`, `updated_at`, and `last_updated_by`.\n\nIf the request is successful, the response includes:\n\n- `id`: unique identifier of the instructions record\n- `instructions`: the configured instructions text\n- `created_at`: ISO timestamp when the instructions were first saved\n- `updated_at`: ISO timestamp when the instructions were last updated\n- `last_updated_by`: user ID of the admin who last updated the instructions (may be `null` for older records)\n\n#### Error responses\n\n| Code | Description |\n|------|-------------|\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have org admin privileges required to read agent instructions. |\n\n> ###### Note:\n>\n> - Use `setAgentInstructions` to create or update agent instructions.\n> - Available from version 26.6.0.cl and later.\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "f9baf980-c020-4d30-8e01-02f9118e7b06", "name": "Common successful response", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/instructions/get", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "instructions", "get" ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"instructions\": \"\",\n \"id\": \"\",\n \"created_at\": \"\",\n \"updated_at\": \"\",\n \"last_updated_by\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-f9baf980-c020-4d30-8e01-02f9118e7b06" }, { "id": "1c42d558-d72e-4540-93e1-90215459260a", "name": "Common error response", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/instructions/get", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "instructions", "get" ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"instructions\": \"\",\n \"id\": \"\",\n \"created_at\": \"\",\n \"updated_at\": \"\",\n \"last_updated_by\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-1c42d558-d72e-4540-93e1-90215459260a" }, { "id": "2750af39-0b6b-4ec6-b691-096d56e7dbd7", "name": "Operation failed", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/instructions/get", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "instructions", "get" ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-2750af39-0b6b-4ec6-b691-096d56e7dbd7" }, { "id": "44681388-9078-4e26-846a-9138cc318c0f", "name": "Unauthorized access.", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/instructions/get", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "instructions", "get" ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-44681388-9078-4e26-846a-9138cc318c0f" }, { "id": "1f926d1b-bf77-47d9-ac38-2547c0e8941e", "name": "Forbidden access.", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/instructions/get", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "instructions", "get" ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-1f926d1b-bf77-47d9-ac38-2547c0e8941e" }, { "id": "343183e4-ff65-42b4-9e1d-282bbd5c32af", "name": "Operation failed", "originalRequest": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/instructions/get", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "instructions", "get" ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-343183e4-ff65-42b4-9e1d-282bbd5c32af" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-48179524-754c-4a57-873e-0e9268ae6e23" } ], "id": "8162cffc-9561-4e25-82ea-df11f8528ca6", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-8162cffc-9561-4e25-82ea-df11f8528ca6" }, { "name": "set", "item": [ { "name": "set Agent Instructions", "id": "e121e3e6-658e-48bc-ae0a-87f442c6d439", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"instructions\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/instructions/set", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "instructions", "set" ] }, "description": "\nBeta Version: 26.6.0.cl or later\n\nCreates or updates the admin instructions for the AI agent (Spotter). Admin instructions are tenant- and org-scoped text that guide agent behavior across all conversations. If instructions already exist for the org, they are replaced (upsert semantics).\n\nRequires admin privileges. Only users with org admin access can set agent instructions.\n\n#### Usage guidelines\n\nThe request must include:\n\n- `instructions`: the instructions text to apply to the agent (maximum 5000 characters)\n\nInstructions are validated against system guardrails before being saved. If the instructions contain content that conflicts with guardrails, the request is rejected with a `409` error and the existing instructions remain unchanged.\n\nIf the request is successful, the response includes the saved `AgentInstructions` record:\n\n- `id`: unique identifier of the record\n- `instructions`: the saved instructions text\n- `created_at`: ISO timestamp when the instructions were first created\n- `updated_at`: ISO timestamp of this update\n- `last_updated_by`: user ID of the admin who performed this update\n\n#### Error responses\n\n| Code | Description |\n|------|-------------|\n| 400 | Bad request \u2014 the request body is missing required fields or the `instructions` field exceeds the maximum allowed length of 5000 characters. |\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have org admin privileges required to set agent instructions. |\n| 409 | Conflict \u2014 the provided instructions conflict with system guardrails. Review and revise the instructions text before retrying. |\n| 500 | Internal server error. |\n\n> ###### Note:\n>\n> - This operation uses upsert semantics: it creates the instructions record if none exists, or replaces the existing one.\n> - Instructions take effect immediately for new conversations created after the update.\n> - Use `getAgentInstructions` to retrieve the current instructions before making changes.\n> - Available from version 26.6.0.cl and later.\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "d927a740-4fd6-46e9-bc13-a8fdc735ea4a", "name": "Common successful response", "originalRequest": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"instructions\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/instructions/set", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "instructions", "set" ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"instructions\": \"\",\n \"id\": \"\",\n \"created_at\": \"\",\n \"updated_at\": \"\",\n \"last_updated_by\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-d927a740-4fd6-46e9-bc13-a8fdc735ea4a" }, { "id": "60f63ef3-447d-4f8c-a13b-6f2395ecf220", "name": "Common error response", "originalRequest": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"instructions\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/instructions/set", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "instructions", "set" ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"instructions\": \"\",\n \"id\": \"\",\n \"created_at\": \"\",\n \"updated_at\": \"\",\n \"last_updated_by\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-60f63ef3-447d-4f8c-a13b-6f2395ecf220" }, { "id": "f86d9709-a4e3-46ba-8fdd-3403d8c4e1a2", "name": "Operation failed", "originalRequest": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"instructions\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/instructions/set", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "instructions", "set" ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-f86d9709-a4e3-46ba-8fdd-3403d8c4e1a2" }, { "id": "6005beaf-c30a-4ebc-9d3b-a359b4b3fe40", "name": "Unauthorized access.", "originalRequest": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"instructions\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/instructions/set", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "instructions", "set" ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-6005beaf-c30a-4ebc-9d3b-a359b4b3fe40" }, { "id": "4b7e6750-8320-49ec-a955-51438ff4dd7f", "name": "Forbidden access.", "originalRequest": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"instructions\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/instructions/set", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "instructions", "set" ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-4b7e6750-8320-49ec-a955-51438ff4dd7f" }, { "id": "21ddc200-3920-4461-83c0-fb5a9e94ed8b", "name": "Operation failed", "originalRequest": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"instructions\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/instructions/set", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "instructions", "set" ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-21ddc200-3920-4461-83c0-fb5a9e94ed8b" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-e121e3e6-658e-48bc-ae0a-87f442c6d439" } ], "id": "e3784d1b-c450-46d6-8b88-f24c2812e731", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-e3784d1b-c450-46d6-8b88-f24c2812e731" } ], "id": "518dc3d9-1c2b-4a59-a8e1-191c6cccc358", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-518dc3d9-1c2b-4a59-a8e1-191c6cccc358" }, { "name": "{conversation_identifier}", "item": [ { "name": "converse", "item": [ { "name": "send Agent Message", "id": "e0f8877e-0027-44c3-885f-328a5f2b3123", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/:conversation_identifier/converse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", ":conversation_identifier", "converse" ], "variable": [ { "id": "fa9e0d44-24a5-4a38-91b5-87960b5f3c40", "key": "conversation_identifier", "value": "", "description": "(Required) Unique identifier for the conversation (used to track context)" } ] }, "description": "\nBeta Version: 26.2.0.cl or later\n\n**Deprecated** \u2014 Use `sendAgentConversationMessage` instead.\n\nSend natural language messages to an existing Spotter agent conversation and returns the complete response synchronously.\n\nRequires `CAN_USE_SPOTTER` privilege and access to the metadata object associated with the conversation. The user must have access to the conversation session referenced by `conversation_identifier`.\nA conversation must first be created using the `createAgentConversation` API.\n\n#### Usage guidelines\n\nThe request must include:\n\n- `conversation_identifier`: the unique session ID returned by `createAgentConversation`, used for context continuity and message tracking\n- `messages`: an array of one or more text messages to send to the agent\n\nThe API returns an array of response objects, each containing:\n\n- `type`: the kind of response \u2014 `text`, `answer`, or `error`\n- `message`: the main content of the response\n- `metadata`: additional information depending on the message type (e.g., answer metadata includes analytics and visualization details)\n\n#### Error responses\n\n| Code | Description |\n|------|----------------------------------------------------------------------------------------------------------------------------------|\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks permission on the referenced conversation. |\n\n> ###### Note:\n>\n> - This endpoint is deprecated. Use `sendAgentConversationMessage` for new integrations.\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" }, "response": [ { "id": "d2621814-63a5-4c1a-a472-02727d6dc160", "name": "Common successful response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/:conversation_identifier/converse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", ":conversation_identifier", "converse" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-d2621814-63a5-4c1a-a472-02727d6dc160" }, { "id": "de67aa33-9b79-491a-98a9-0eb05e409808", "name": "Common error response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/:conversation_identifier/converse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", ":conversation_identifier", "converse" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-de67aa33-9b79-491a-98a9-0eb05e409808" }, { "id": "d4ed0d02-6fd0-4747-8f18-235b9f7c2347", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/:conversation_identifier/converse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", ":conversation_identifier", "converse" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-d4ed0d02-6fd0-4747-8f18-235b9f7c2347" }, { "id": "6c3c87c3-3ce3-4ad0-afc6-5c54c7bd429e", "name": "Unauthorized access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/:conversation_identifier/converse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", ":conversation_identifier", "converse" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-6c3c87c3-3ce3-4ad0-afc6-5c54c7bd429e" }, { "id": "ff144acf-bf3f-4465-812e-e8173c7f7ae9", "name": "Forbidden access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/:conversation_identifier/converse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", ":conversation_identifier", "converse" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-ff144acf-bf3f-4465-812e-e8173c7f7ae9" }, { "id": "b41ae517-9c6b-46fe-a38e-ef15df9a4c7a", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/:conversation_identifier/converse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", ":conversation_identifier", "converse" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-b41ae517-9c6b-46fe-a38e-ef15df9a4c7a" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-e0f8877e-0027-44c3-885f-328a5f2b3123" } ], "id": "4a8d67e2-2c7f-4740-be78-83aef08567d4", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-4a8d67e2-2c7f-4740-be78-83aef08567d4" } ], "id": "ae1b955b-a37c-461d-a48a-f39e4d0c63b2", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-ae1b955b-a37c-461d-a48a-f39e4d0c63b2" }, { "name": "converse", "item": [ { "name": "sse", "item": [ { "name": "send Agent Message Streaming", "id": "70cbf21c-0ee2-4071-bb43-dc1ef76bdb35", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"conversation_identifier\": \"\",\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/converse/sse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "converse", "sse" ] }, "description": "\nBeta Version: 26.2.0.cl or later\n\n**Deprecated** \u2014 Use `sendAgentConversationMessageStreaming` instead.\n\nSends one or more natural language messages to an existing Spotter agent conversation and returns the response as a real-time Server-Sent Events stream.\n\nRequires `CAN_USE_SPOTTER` privilege and access to the metadata object associated with the conversation. The user must have access to the conversation session referenced by `conversation_identifier`. A conversation must first be created using the `createAgentConversation` API.\n\n#### Usage guidelines\n\nThe request must include:\n\n- `conversation_identifier`: the unique session ID returned by `createAgentConversation`, used for context continuity and message tracking\n- `messages`: an array of one or more text messages to send to the agent\n\nIf the request is valid, the API returns a Server-Sent Events (SSE) stream. Each line has the form `data: [{\"type\": \"...\", ...}]` \u2014 a JSON array of event objects. Event types include:\n\n- `ack`: confirms receipt of the request (`node_id`)\n- `conv_title`: conversation title (`title`, `conv_id`)\n- `notification`: status updates on operations (`group_id`, `metadata`, `code` \u2014 e.g. `TOOL_CALL_NOTIFICATION`, `nls_start`, `FINAL_RESPONSE_NOTIFICATION`)\n- `text-chunk`: incremental content chunks (`id`, `group_id`, `metadata` with `format` and `type` such as `thinking` or `text`, `content`)\n- `text`: full text block with same structure as `text-chunk`\n- `answer`: structured answer with metadata (`id`, `group_id`, `metadata` with `sage_query`, `session_id`, `title`, etc., `title`)\n- `error`: if a failure occurs\n\n#### Error responses\n\n| Code | Description |\n|------|----------------------------------------------------------------------------------------------------------------------------------|\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks permission on the referenced conversation. |\n\n> ###### Note:\n>\n> - This endpoint is deprecated. Use `sendAgentConversationMessageStreaming` for new integrations.\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> - The streaming protocol uses Server-Sent Events (SSE).\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "2bebb0d8-b47a-4f85-8d0b-057dfee11604", "name": "Common successful response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"conversation_identifier\": \"\",\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/converse/sse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "converse", "sse" ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"success\": \"\",\n \"message\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-2bebb0d8-b47a-4f85-8d0b-057dfee11604" }, { "id": "7b264455-bb16-4b05-9db9-c7e8ad859e99", "name": "Common error response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"conversation_identifier\": \"\",\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/converse/sse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "converse", "sse" ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"success\": \"\",\n \"message\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-7b264455-bb16-4b05-9db9-c7e8ad859e99" }, { "id": "dda7f583-aa77-4ab6-8bbe-ce127d45770c", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"conversation_identifier\": \"\",\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/converse/sse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "converse", "sse" ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-dda7f583-aa77-4ab6-8bbe-ce127d45770c" }, { "id": "5b74f87b-7980-4f77-8852-3e60367d555e", "name": "Unauthorized access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"conversation_identifier\": \"\",\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/converse/sse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "converse", "sse" ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-5b74f87b-7980-4f77-8852-3e60367d555e" }, { "id": "6d9d3ab6-8c12-4e16-8243-db68c22b9a5f", "name": "Forbidden access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"conversation_identifier\": \"\",\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/converse/sse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "converse", "sse" ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-6d9d3ab6-8c12-4e16-8243-db68c22b9a5f" }, { "id": "cc29a546-fb47-485e-8466-a0ca8420aacc", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"conversation_identifier\": \"\",\n \"messages\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/agent/converse/sse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "agent", "converse", "sse" ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-cc29a546-fb47-485e-8466-a0ca8420aacc" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-70cbf21c-0ee2-4071-bb43-dc1ef76bdb35" } ], "id": "d6dc6325-28f6-4fd1-b02a-5ac9dd4881d4", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-d6dc6325-28f6-4fd1-b02a-5ac9dd4881d4" } ], "id": "e63c0504-fb3b-4021-b1b8-77d2f0a9a556", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-e63c0504-fb3b-4021-b1b8-77d2f0a9a556" } ], "id": "c20c0384-4665-497d-9620-637e47f59208", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-c20c0384-4665-497d-9620-637e47f59208" }, { "name": "conversation", "item": [ { "name": "create", "item": [ { "name": "create Conversation", "id": "06e0b404-040f-47c1-8a52-8da62bf1f268", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"metadata_identifier\": \"\",\n \"tokens\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/conversation/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "conversation", "create" ] }, "description": "\nBeta Version: 10.4.0.cl or later\n\nVersion: 10.4.0.cl or later\n\nCreates a new conversation session tied to a specific data model for AI-driven natural language querying.\n\nRequires `CAN_USE_SPOTTER` privilege and at least view access to the metadata object specified in the request.\n\n#### Usage guidelines\n\nThe request must include:\n- `metadata_identifier`: the unique ID of the data source that provides context for the conversation\n\nOptionally, you can provide:\n- `tokens`: a token string to set initial context for the conversation (e.g., `\"[sales],[item type],[state]\"`)\n\nIf the request is successful, ThoughtSpot returns a unique `conversation_identifier` that must be passed to `sendMessage` to continue the conversation.\n\n#### Error responses\n\n| Code | Description |\n|------|-------------|\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks view permission on the specified metadata object. |\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" }, "response": [ { "id": "4873778e-6a1b-4f15-b16b-24dbb9b7c837", "name": "Common successful response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_identifier\": \"\",\n \"tokens\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/conversation/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "conversation", "create" ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"conversation_identifier\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-4873778e-6a1b-4f15-b16b-24dbb9b7c837" }, { "id": "a2419eca-ccd3-477a-b246-57949b7acde7", "name": "Common error response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_identifier\": \"\",\n \"tokens\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/conversation/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "conversation", "create" ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"conversation_identifier\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-a2419eca-ccd3-477a-b246-57949b7acde7" }, { "id": "dcd04fef-a8e2-41f0-98ab-284edbc2877a", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_identifier\": \"\",\n \"tokens\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/conversation/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "conversation", "create" ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-dcd04fef-a8e2-41f0-98ab-284edbc2877a" }, { "id": "c067edfb-cc87-4642-85e2-0e6ddc878f35", "name": "Unauthorized access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_identifier\": \"\",\n \"tokens\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/conversation/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "conversation", "create" ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-c067edfb-cc87-4642-85e2-0e6ddc878f35" }, { "id": "7455834e-40aa-4704-a81a-cb1604e94b4e", "name": "Forbidden access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_identifier\": \"\",\n \"tokens\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/conversation/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "conversation", "create" ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-7455834e-40aa-4704-a81a-cb1604e94b4e" }, { "id": "a84101f3-fc89-4b31-9006-18e1689e891c", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_identifier\": \"\",\n \"tokens\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/conversation/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "conversation", "create" ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-a84101f3-fc89-4b31-9006-18e1689e891c" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-06e0b404-040f-47c1-8a52-8da62bf1f268" } ], "id": "692cbedb-fedf-41c8-aa03-44ea9121d814", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-692cbedb-fedf-41c8-aa03-44ea9121d814" }, { "name": "{conversation_identifier}", "item": [ { "name": "converse", "item": [ { "name": "send Message", "id": "26724f90-cecd-4ad0-8d07-9d48d92ffc68", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"metadata_identifier\": \"\",\n \"message\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/conversation/:conversation_identifier/converse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "conversation", ":conversation_identifier", "converse" ], "variable": [ { "id": "8ae292c1-e003-4bb7-9a72-032baee10792", "key": "conversation_identifier", "value": "", "description": "(Required) Unique identifier of the conversation." } ] }, "description": "\nBeta Version: 10.4.0.cl or later\n\nSends a follow-up message to an existing conversation within the context of a data model.\n\nRequires `CAN_USE_SPOTTER` privilege and at least view access to the metadata object specified in the request. A conversation must first be created using the `createConversation` API.\n\n#### Usage guidelines\n\nThe request must include:\n- `conversation_identifier`: the unique session ID returned by `createConversation`\n- `metadata_identifier`: the unique ID of the data source used for the conversation\n- `message`: a natural language string with the follow-up question\n\nIf the request is successful, the API returns an array of response messages, each containing:\n- `session_identifier`: the unique ID of the generated response\n- `generation_number`: the generation number of the response\n- `message_type`: the type of the response (e.g., `TSAnswer`)\n- `visualization_type`: the generated visualization type (`Chart`, `Table`, or `Undefined`)\n- `tokens` / `display_tokens`: the search tokens and user-friendly display tokens for the response\n\n#### Error responses\n\n| Code | Description |\n|------|-----------------------------------------------------------------------------------------------------------------------------------------|\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks view permission on the specified metadata object. |\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" }, "response": [ { "id": "c80ef846-d035-45fb-b1cd-ec8fd42bcc8d", "name": "Common successful response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_identifier\": \"\",\n \"message\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/conversation/:conversation_identifier/converse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "conversation", ":conversation_identifier", "converse" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "[\n {\n \"message_type\": \"TSAnswer\",\n \"session_identifier\": \"\",\n \"generation_number\": \"\",\n \"visualization_type\": \"CHART\",\n \"tokens\": \"\",\n \"display_tokens\": \"\"\n },\n {\n \"message_type\": \"TSAnswer\",\n \"session_identifier\": \"\",\n \"generation_number\": \"\",\n \"visualization_type\": \"Table\",\n \"tokens\": \"\",\n \"display_tokens\": \"\"\n }\n]", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-c80ef846-d035-45fb-b1cd-ec8fd42bcc8d" }, { "id": "1ed0e9db-410a-418c-b3c2-b8422d45afc6", "name": "Common error response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_identifier\": \"\",\n \"message\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/conversation/:conversation_identifier/converse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "conversation", ":conversation_identifier", "converse" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "[\n {\n \"message_type\": \"TSAnswer\",\n \"session_identifier\": \"\",\n \"generation_number\": \"\",\n \"visualization_type\": \"CHART\",\n \"tokens\": \"\",\n \"display_tokens\": \"\"\n },\n {\n \"message_type\": \"TSAnswer\",\n \"session_identifier\": \"\",\n \"generation_number\": \"\",\n \"visualization_type\": \"Table\",\n \"tokens\": \"\",\n \"display_tokens\": \"\"\n }\n]", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-1ed0e9db-410a-418c-b3c2-b8422d45afc6" }, { "id": "735785a6-f5f3-4359-833c-fd189fc3e7c4", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_identifier\": \"\",\n \"message\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/conversation/:conversation_identifier/converse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "conversation", ":conversation_identifier", "converse" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-735785a6-f5f3-4359-833c-fd189fc3e7c4" }, { "id": "5350947c-2053-4896-81c1-6e950d132609", "name": "Unauthorized access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_identifier\": \"\",\n \"message\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/conversation/:conversation_identifier/converse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "conversation", ":conversation_identifier", "converse" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-5350947c-2053-4896-81c1-6e950d132609" }, { "id": "b5efcd9e-7134-41cd-9363-61a196d84816", "name": "Forbidden access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_identifier\": \"\",\n \"message\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/conversation/:conversation_identifier/converse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "conversation", ":conversation_identifier", "converse" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-b5efcd9e-7134-41cd-9363-61a196d84816" }, { "id": "19679da1-e4d8-45e5-82f9-cc6fe91419ca", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_identifier\": \"\",\n \"message\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/conversation/:conversation_identifier/converse", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "conversation", ":conversation_identifier", "converse" ], "variable": [ { "key": "conversation_identifier" } ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-19679da1-e4d8-45e5-82f9-cc6fe91419ca" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-26724f90-cecd-4ad0-8d07-9d48d92ffc68" } ], "id": "93f5bf14-3f4d-4769-813c-e1b5c6285fa0", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-93f5bf14-3f4d-4769-813c-e1b5c6285fa0" } ], "id": "3cf217ca-64c6-47c9-97ee-2fc906b9932c", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-3cf217ca-64c6-47c9-97ee-2fc906b9932c" } ], "id": "10f1e9ee-6b43-4ae5-9e61-71144f71345c", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-10f1e9ee-6b43-4ae5-9e61-71144f71345c" }, { "name": "memory", "item": [ { "name": "export", "item": [ { "name": "export Memory", "id": "7b109a2c-319f-48ec-9fd3-9cf12f1aa35e", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"sources\": [\n {\n \"type\": \"DATA_MODEL\",\n \"identifiers\": [\n \"\",\n \"\"\n ]\n },\n {\n \"type\": \"DATA_MODEL\",\n \"identifiers\": [\n \"\",\n \"\"\n ]\n }\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/memory/export", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "memory", "export" ] }, "description": "\nExports memory entries (rules, recipes, and always-apply rules) for\nthe specified data-models as a single YAML payload. The payload can\nbe edited locally and re-submitted through `importMemory`.\nRequires Spotter access (use/manage) and either edit or memory\naccess on corresponding data model sources.
Beta Version: 26.8.0.cl or later\n\nThis API allows users to export data-model memories for a given list of data-models. This exported yaml file can then be modified and used as input to the import API in target env.\n\nThis API enables customers to migrate memories from a source env to a target env. This improves memory adoption for Spotter by giving the users a chance to develop their memories in one env and replicate the same in another env.\n\n#### Usage guidelines\n\nTo export memory for one or more data-models, the request may include:\n- `sources`: A list of typed scope groups identifying which data-models to export memory for. Each group contains:\n - `type`: The source object type for this group \u2014 `DATA_MODEL`.\n - `identifiers`: An array of GUIDs or human-readable `obj_id`s of the data-models to export memory for. obj_ids are resolved server-side before forwarding.\n\nThe API returns a response object with:\n- `content`: The serialized memory payload (YAML) \u2014 exactly the shape that the `importMemory` API consumes. Edit it locally and pass it back through `importMemory` to apply changes.\n\n#### Source Type\n\n- **DATA_MODEL**: The `identifiers` are data-model GUIDs. This is the default source type for Spotter memory and covers the rules, recipes and always-apply rules attached directly to a data-model.\n\n#### File format\n\nThe exported `content` is a YAML document with a single top-level `memories` key holding a list of memory items \u2014 exactly the format the `importMemory` API consumes. The full format reference (an annotated example, memory item fields, per-type content, and `datamodel_sources` identification) is documented in the `importMemory` API's **File format** section. Exported files populate each source's `guid` and, if present, `obj_id` as well.\n\n#### Error responses\n\n| Code | Description |\n|------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have necessary permissions, or lacks read access on a referenced data-model, or the bearer token does not correspond to the data-model's org. |\n\n> ###### Note:\n> - To use this API, the user needs Spotter access (use/manage) and either edit or memory access on the data-model and they must use corresponding org related bearerToken where the data-model exists.\n> - This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available.\n> - Available from version 26.8.0.cl and later.\n> - This endpoint requires Spotter \u2014 please contact ThoughtSpot Support to enable Spotter on your cluster.\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "5c527180-da4a-4d31-b2d3-f8f9404ec328", "name": "Common successful response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"sources\": [\n {\n \"type\": \"DATA_MODEL\",\n \"identifiers\": [\n \"\",\n \"\"\n ]\n },\n {\n \"type\": \"DATA_MODEL\",\n \"identifiers\": [\n \"\",\n \"\"\n ]\n }\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/memory/export", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "memory", "export" ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"content\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-5c527180-da4a-4d31-b2d3-f8f9404ec328" }, { "id": "d77d4144-6929-48fb-b2a1-30775d2de2e7", "name": "Common error response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"sources\": [\n {\n \"type\": \"DATA_MODEL\",\n \"identifiers\": [\n \"\",\n \"\"\n ]\n },\n {\n \"type\": \"DATA_MODEL\",\n \"identifiers\": [\n \"\",\n \"\"\n ]\n }\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/memory/export", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "memory", "export" ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"content\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-d77d4144-6929-48fb-b2a1-30775d2de2e7" }, { "id": "cf577c3d-49c0-4e91-bee4-b62cdf72238c", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"sources\": [\n {\n \"type\": \"DATA_MODEL\",\n \"identifiers\": [\n \"\",\n \"\"\n ]\n },\n {\n \"type\": \"DATA_MODEL\",\n \"identifiers\": [\n \"\",\n \"\"\n ]\n }\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/memory/export", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "memory", "export" ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-cf577c3d-49c0-4e91-bee4-b62cdf72238c" }, { "id": "5524373b-ac98-46f9-90ef-f47e3de6e2dd", "name": "Unauthorized access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"sources\": [\n {\n \"type\": \"DATA_MODEL\",\n \"identifiers\": [\n \"\",\n \"\"\n ]\n },\n {\n \"type\": \"DATA_MODEL\",\n \"identifiers\": [\n \"\",\n \"\"\n ]\n }\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/memory/export", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "memory", "export" ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-5524373b-ac98-46f9-90ef-f47e3de6e2dd" }, { "id": "4635f3fb-9de8-48ce-8404-575394dbb759", "name": "Forbidden access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"sources\": [\n {\n \"type\": \"DATA_MODEL\",\n \"identifiers\": [\n \"\",\n \"\"\n ]\n },\n {\n \"type\": \"DATA_MODEL\",\n \"identifiers\": [\n \"\",\n \"\"\n ]\n }\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/memory/export", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "memory", "export" ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-4635f3fb-9de8-48ce-8404-575394dbb759" }, { "id": "e804f0fd-4299-4ea0-ad3d-b2dc492eb3cc", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"sources\": [\n {\n \"type\": \"DATA_MODEL\",\n \"identifiers\": [\n \"\",\n \"\"\n ]\n },\n {\n \"type\": \"DATA_MODEL\",\n \"identifiers\": [\n \"\",\n \"\"\n ]\n }\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/memory/export", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "memory", "export" ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-e804f0fd-4299-4ea0-ad3d-b2dc492eb3cc" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-7b109a2c-319f-48ec-9fd3-9cf12f1aa35e" } ], "id": "752ca215-2cd1-4986-ac7a-0362e14e9712", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-752ca215-2cd1-4986-ac7a-0362e14e9712" }, { "name": "import", "item": [ { "name": "import Memory", "id": "0b13babb-8324-4de2-95be-eac25fd842aa", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"content\": \"\",\n \"dry_run\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/memory/import", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "memory", "import" ] }, "description": "\nImports memory entries (rules, recipes, and always-apply rules) from\na YAML payload, typically a payload produced by `exportMemory` and\nedited locally. The imported entries replace the existing memory for\nthe data-models referenced in the payload.\n`dry_run` is required. Pass `true` first to validate the payload and\nreview the preview counts and any row-level failures without making\nchanges, then re-run with `dry_run = false` to apply the import. An\nimport is not applied if any row fails validation.\nRequires Spotter access (use/manage) and either edit or memory\naccess on corresponding data model sources.
Beta Version: 26.8.0.cl or later\n\nThis API allows users to import data-model memories using a given yaml file. This yaml file can be obtained from the export memory API in source env and can be modified and used as input to the import API in target env.\n\nThis API enables customers to migrate memories from a source env to a target env. This improves memory adoption for Spotter by giving the users a chance to develop their memories in one env and replicate the same in another env.\n\n#### Usage guidelines\n\nTo import memory, the request must include:\n- `content`: The full serialized memory payload to import (YAML). Typically the `content` value returned by the `exportMemory` API, edited locally and re-submitted. The payload itself identifies which data-models the memory applies to, so no separate identifier list is required.\n- `dry_run`: Required. When `true`, validate the payload and return preview counts without writing anything; when `false`, apply the import. Always run with `dry_run = true` first, then re-run with `dry_run = false` once you are satisfied with the preview.\n\nThe import replaces the existing global memories on the data-models referenced in the payload with the entries supplied in the payload.\n\nThe API returns a response object with:\n- `status`: The terminal status of the import (`SUCCESS`, `VALIDATION_FAILED`, or `FAILED`).\n- `summary`: Per `(memory_type, source)` counts. In a dry run the `deleted_record_count`/`inserted_record_count` are previews; in a real import they are actuals. On `VALIDATION_FAILED`, `summary` is `null` when validation fails before any item is processed (e.g. an unresolved or inaccessible data-model source) and an empty list otherwise \u2014 treat both as \"no counts available\".\n- `validation_failures`: Per-item validation failures, each with `line_number`, `reason`, `field_name`, and `message` for click-to-locate and inline highlighting.\n- `diagnostics`: Groups of diagnostic messages, each with a `sub_status` (`WARNING`, `FAILURE`, `ROLLED_BACK`, or `UNKNOWN`) and a `messages` list. This is the single channel for both non-fatal warnings (under `WARNING`, e.g. when some older memory entries could not be fully cleaned up) and fatal causes (e.g. the failure reason under `FAILURE`, or a `ROLLED_BACK` group when new entries were undone).\n- `operation_id`: A server-generated identifier for this import operation; include it when contacting support to help correlate server-side logs. Populated once the server registers the import operation; `null` when the request fails earlier (e.g. while parsing the payload or resolving its data-model sources).\n\n#### File format\n\nThe payload is a YAML document with a single top-level `memories` key holding a list of memory items. Each item is self-contained: a `type`, a typed `content` block, a `datamodel_sources` list, and optional `tags`. Typically you don't hand-author this file \u2014 you obtain it from `exportMemory`, edit it, and submit it back through `importMemory`.\n\n```yaml\nmemories:\n- type: RULE\n content:\n rule_definition: \"Always filter revenue to closed-won deals.\"\n datamodel_sources:\n - guid: 11111111-1111-1111-1111-111111111111\n obj_id: sales_data_model\n tags:\n - finance\n- type: RULE\n content:\n rule_definition: \"Exclude internal test accounts from all results.\"\n datamodel_sources:\n - obj_id: sales_data_model\n- type: RECIPE\n content:\n user_query: \"top accounts by revenue\"\n recipe: |\n {\"steps\": [...serialized recipe blob...]}\n datamodel_sources:\n - obj_id: sales_data_model\n- type: RECIPE\n content:\n user_query: \"monthly new customer count\"\n recipe: |\n {\"steps\": [...serialized recipe blob...]}\n datamodel_sources:\n - obj_id: sales_data_model\n- type: ALWAYS_APPLY_RULES\n content:\n rules:\n - \"Never show internal test accounts.\"\n - \"Round currency to whole dollars.\"\n datamodel_sources:\n - guid: 22222222-2222-2222-2222-222222222222\n```\n\nA file can contain multiple `RULE` and multiple `RECIPE` items for a data-model, but at most one `ALWAYS_APPLY_RULES` item per data-model.\n\n##### Memory item fields\n\n| Field | Required | Type | Description |\n|-------|----------|------|-------------|\n| `type` | Yes | String enum | One of `RULE`, `RECIPE`, or `ALWAYS_APPLY_RULES`. |\n| `content` | Yes | Mapping | Type-specific content block (see below). |\n| `datamodel_sources` | Yes | Non-empty list | The data-model(s) the memory attaches to. |\n| `tags` | No | List of strings | Free-form labels. |\n\n##### Memory types and content\n\n| `type` | Content fields | Notes |\n|--------|----------------|-------|\n| `RULE` | `rule_definition` \u2014 required, non-empty string | A single semantic rule. |\n| `RECIPE` | `recipe` and `user_query` \u2014 both required, non-empty strings | `recipe` is an opaque serialized blob; `user_query` is the natural-language query it answers. |\n| `ALWAYS_APPLY_RULES` | `rules` \u2014 required, non-empty list of non-empty strings | Data-model-wide always-apply rules. At most one `ALWAYS_APPLY_RULES` item per data-model. |\n\n##### Identifying data-models (`datamodel_sources`)\n\nEach item must list at least one source. Each entry identifies a data-model by at least one of:\n- `guid` \u2014 the data-model GUID.\n- `obj_id` \u2014 a stable object ID, resolved to a GUID server-side.\n\nIf both are supplied, `obj_id` takes precedence and `guid` is ignored entirely; `guid` takes effect only when `obj_id` is absent. Exported files populate `guid` and, if present, `obj_id` as well.\n\n> \u26a0\ufe0f **Cross-environment import:** When `obj_id` is present it is\n> authoritative \u2014 the accompanying `guid` is **not** used as a fallback.\n> If an `obj_id` does not exist in the target environment, that item\n> fails with `UNRESOLVED_SOURCE`. Remove or correct stale `obj_id`\n> values before importing across environments.\n\n#### Validations reference\n\nThe payload is fully validated before anything is written. This applies to `dry_run = true` and `dry_run = false` alike: if any item fails validation, the entire import is rejected \u2014 no partial writes \u2014 and all failures are returned together so you can fix them in one pass.\n\n##### Limits\n\nDefault limits (may be adjusted in future if the need arises):\n\n| Limit | Default |\n|-------|---------|\n| Uploaded file size | 10 MiB |\n| Total memory items | 10,000 |\n| `rule_definition` length | 1,000 characters |\n| `user_query` length | 1,000 characters |\n| `recipe` length | 2,000 characters |\n| `rules` combined length (`ALWAYS_APPLY_RULES`) | 2,000 characters |\n| Tags per item | 10 |\n| Characters per tag | 50 |\n\nThe `rules` limit in `ALWAYS_APPLY_RULES` is a combined budget across all entries in the list, not per entry.\n\n##### Structural rules\n\n- The document must be a mapping with a `memories` key whose value is a list.\n- Unknown keys \u2014 at the top level, within an item, or under `content` \u2014 are rejected.\n- Each item's `type` must be one of the three supported values, and `content` must match that type's shape.\n- Null, empty-string, or wrong-typed values in a required field are treated as missing.\n- Non-string or empty `tags` entries are dropped silently; certain tags reserved for internal use are stripped automatically before the item is stored.\n\n##### Cross-item rules\n\n- A data-model referenced by more than one `ALWAYS_APPLY_RULES` item is rejected \u2014 combine them into a single item's `rules` list.\n\n##### Failure reasons\n\nEach entry in `validation_failures` carries one of:\n\n| Reason | Meaning |\n|--------|---------|\n| `SCHEMA` | YAML structure is invalid or unsupported. |\n| `VALIDATION` | A required field is missing/empty, a count exceeds a limit, or a GUID is malformed. |\n| `CHAR_LIMIT` | A content field or tag exceeds its size limit. |\n| `UNRESOLVED_SOURCE` | A `guid` or `obj_id` could not be resolved to an existing data-model. |\n| `ACCESS_DENIED` | The caller lacks sufficient access on the referenced data-model. |\n\n#### Dry run\n\n`dry_run` is required and has no default, so the import is always a deliberate two-step flow:\n\n1. **First, call with `dry_run = true`.** This validates the payload and previews what would happen \u2014 the counts in `summary` and any `validation_failures` \u2014 without writing anything.\n2. **Then, after reviewing a clean preview, call again with `dry_run = false`** (same `content`). This applies the import. It refuses to write when any item fails validation, so fix the reported `validation_failures` and resubmit.\n\n> ###### Important:\n> Never call `dry_run = false` without first inspecting a `dry_run = true` preview. A real import deletes and replaces existing global memories on the referenced data-models.\n\n#### Error responses\n\n| Code | Description |\n|------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have the necessary Spotter permissions, or the bearer token does not correspond to the data-model's org. Per-data-model access failures do not use this code \u2014 they surface as `ACCESS_DENIED` validation failures with HTTP `200` (see Logical failures below). |\n\n#### Logical failures\n\nValidation and write failures are not returned in the error envelope. The call returns `200` with a terminal `status` of `VALIDATION_FAILED` or `FAILED`, and the details live in `validation_failures` / `diagnostics`:\n\n- **VALIDATION_FAILED** \u2014 one or more items failed schema/semantic validation; nothing was written. Inspect `validation_failures`, fix the items, and resubmit.\n- **FAILED** \u2014 the import did not complete. Inspect `diagnostics`: a `ROLLED_BACK` group means writing the new entries failed and any entries written before the failure were undone (existing memory is intact, no destructive change), while a `FAILURE` group carries another non-validation cause.\n\nSample `VALIDATION_FAILED` responses (HTTP 200):\n\n**Invalid data-model (unresolved source):**\n\n```json\n{\n \"status\": \"VALIDATION_FAILED\",\n \"summary\": null,\n \"validation_failures\": [\n {\n \"line_number\": 2,\n \"reason\": \"UNRESOLVED_SOURCE\",\n \"field_name\": \"datamodel_sources[0].guid\",\n \"message\": \"unknown datamodel guid: 55555555-5555-5555-5555-555555555555\"\n }\n ],\n \"diagnostics\": [\n {\n \"sub_status\": \"FAILURE\",\n \"messages\": [\n \"unknown datamodel guid: 55555555-5555-5555-5555-555555555555\"\n ]\n }\n ],\n \"operation_id\": null\n}\n```\n\n**Inaccessible data-models:**\n\n```json\n{\n \"status\": \"VALIDATION_FAILED\",\n \"summary\": null,\n \"validation_failures\": [\n {\n \"line_number\": 2,\n \"reason\": \"ACCESS_DENIED\",\n \"field_name\": \"datamodel_sources[0]\",\n \"message\": \"Insufficient permissions on datamodel '44444444-4444-4444-4444-444444444444'\"\n },\n {\n \"line_number\": 8,\n \"reason\": \"ACCESS_DENIED\",\n \"field_name\": \"datamodel_sources[0]\",\n \"message\": \"Insufficient permissions on datamodel '33333333-3333-3333-3333-333333333333'\"\n }\n ],\n \"diagnostics\": [\n {\n \"sub_status\": \"FAILURE\",\n \"messages\": [\n \"Memory import validation failed with 2 error(s): Insufficient permissions on datamodel '44444444-4444-4444-4444-444444444444'; Insufficient permissions on datamodel '33333333-3333-3333-3333-333333333333'\"\n ]\n }\n ],\n \"operation_id\": null\n}\n```\n\n**Character-limit validations:**\n\n```json\n{\n \"status\": \"VALIDATION_FAILED\",\n \"summary\": [],\n \"validation_failures\": [\n {\n \"line_number\": 3,\n \"reason\": \"CHAR_LIMIT\",\n \"field_name\": \"content.rule_definition\",\n \"message\": \"content.rule_definition is 1073 characters; max allowed is 1000\"\n },\n {\n \"line_number\": 49,\n \"reason\": \"CHAR_LIMIT\",\n \"field_name\": \"content.user_query\",\n \"message\": \"content.user_query is 1150 characters; max allowed is 1000\"\n },\n {\n \"line_number\": 49,\n \"reason\": \"CHAR_LIMIT\",\n \"field_name\": \"content.recipe\",\n \"message\": \"content.recipe is 3574 characters; max allowed is 2000\"\n }\n ],\n \"diagnostics\": [\n {\n \"sub_status\": \"FAILURE\",\n \"messages\": [\n \"Validation failures present; fix them and re-run to see the DRY_RUN preview.\"\n ]\n }\n ],\n \"operation_id\": \"66666666-6666-6666-6666-666666666666\"\n}\n```\n\n> ###### Note:\n> - To use this API, the user needs Spotter access (use/manage) and either edit or memory access on the data-model and they must use corresponding org related bearerToken where the data-model exists.\n> - This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available.\n> - Available from version 26.8.0.cl and later.\n> - This endpoint requires Spotter \u2014 please contact ThoughtSpot Support to enable Spotter on your cluster.\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "2efb959e-c1fb-494a-9073-63c6c2ab5c50", "name": "Common successful response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"content\": \"\",\n \"dry_run\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/memory/import", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "memory", "import" ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"status\": \"FAILED\",\n \"summary\": [\n {\n \"memory_type\": \"ALWAYS_APPLY_RULES\",\n \"source\": {\n \"identifier\": \"\",\n \"type\": \"DATA_MODEL\"\n },\n \"existing_record_count\": \"\",\n \"deleted_record_count\": \"\",\n \"inserted_record_count\": \"\",\n \"failed_record_count\": \"\"\n },\n {\n \"memory_type\": \"RULES\",\n \"source\": {\n \"identifier\": \"\",\n \"type\": \"DATA_MODEL\"\n },\n \"existing_record_count\": \"\",\n \"deleted_record_count\": \"\",\n \"inserted_record_count\": \"\",\n \"failed_record_count\": \"\"\n }\n ],\n \"validation_failures\": [\n {\n \"line_number\": \"\",\n \"reason\": \"UNRESOLVED_SOURCE\",\n \"field_name\": \"\",\n \"message\": \"\"\n },\n {\n \"line_number\": \"\",\n \"reason\": \"CHAR_LIMIT\",\n \"field_name\": \"\",\n \"message\": \"\"\n }\n ],\n \"diagnostics\": [\n {\n \"sub_status\": \"FAILURE\",\n \"messages\": [\n \"\",\n \"\"\n ]\n },\n {\n \"sub_status\": \"UNKNOWN\",\n \"messages\": [\n \"\",\n \"\"\n ]\n }\n ],\n \"operation_id\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-2efb959e-c1fb-494a-9073-63c6c2ab5c50" }, { "id": "cfbe5ee3-27d6-4d92-8a65-241ed14a25f4", "name": "Common error response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"content\": \"\",\n \"dry_run\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/memory/import", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "memory", "import" ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"status\": \"FAILED\",\n \"summary\": [\n {\n \"memory_type\": \"ALWAYS_APPLY_RULES\",\n \"source\": {\n \"identifier\": \"\",\n \"type\": \"DATA_MODEL\"\n },\n \"existing_record_count\": \"\",\n \"deleted_record_count\": \"\",\n \"inserted_record_count\": \"\",\n \"failed_record_count\": \"\"\n },\n {\n \"memory_type\": \"RULES\",\n \"source\": {\n \"identifier\": \"\",\n \"type\": \"DATA_MODEL\"\n },\n \"existing_record_count\": \"\",\n \"deleted_record_count\": \"\",\n \"inserted_record_count\": \"\",\n \"failed_record_count\": \"\"\n }\n ],\n \"validation_failures\": [\n {\n \"line_number\": \"\",\n \"reason\": \"UNRESOLVED_SOURCE\",\n \"field_name\": \"\",\n \"message\": \"\"\n },\n {\n \"line_number\": \"\",\n \"reason\": \"CHAR_LIMIT\",\n \"field_name\": \"\",\n \"message\": \"\"\n }\n ],\n \"diagnostics\": [\n {\n \"sub_status\": \"FAILURE\",\n \"messages\": [\n \"\",\n \"\"\n ]\n },\n {\n \"sub_status\": \"UNKNOWN\",\n \"messages\": [\n \"\",\n \"\"\n ]\n }\n ],\n \"operation_id\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-cfbe5ee3-27d6-4d92-8a65-241ed14a25f4" }, { "id": "379c1047-a74d-4152-b520-0e528f26f2cf", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"content\": \"\",\n \"dry_run\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/memory/import", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "memory", "import" ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-379c1047-a74d-4152-b520-0e528f26f2cf" }, { "id": "54be6228-8311-4fe6-8f00-6d962cf3a89d", "name": "Unauthorized access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"content\": \"\",\n \"dry_run\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/memory/import", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "memory", "import" ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-54be6228-8311-4fe6-8f00-6d962cf3a89d" }, { "id": "e887c80c-2a18-46c6-aa41-39c838193ada", "name": "Forbidden access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"content\": \"\",\n \"dry_run\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/memory/import", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "memory", "import" ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-e887c80c-2a18-46c6-aa41-39c838193ada" }, { "id": "39dcec11-aa68-4c07-9cad-82a9414c38e3", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"content\": \"\",\n \"dry_run\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/memory/import", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "memory", "import" ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-39dcec11-aa68-4c07-9cad-82a9414c38e3" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-0b13babb-8324-4de2-95be-eac25fd842aa" } ], "id": "63f50e95-6b63-436e-8a18-26b44b01d35e", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-63f50e95-6b63-436e-8a18-26b44b01d35e" } ], "id": "a57b44e8-c2c6-4b7f-8834-cc99bf6f7725", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-a57b44e8-c2c6-4b7f-8834-cc99bf6f7725" }, { "name": "data-source-suggestions", "item": [ { "name": "get Data Source Suggestions", "id": "c085dc7e-8c7b-43f9-8609-daf2c0d80336", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"query\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/data-source-suggestions", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "data-source-suggestions" ] }, "description": "\nBeta Version: 10.15.0.cl or later\n\nSuggests the most relevant data sources for a given natural language query, ranked by confidence with LLM-generated reasoning.\n\nRequires `CAN_USE_SPOTTER` privilege and at least view-level access to the underlying metadata entities referenced in the response.\n\n#### Usage guidelines\n\nThe request must include:\n- `query`: the natural language question to find relevant data sources for\n\nIf the request is successful, the API returns a ranked list of suggested data sources, each containing:\n- `confidence`: a float score indicating the model's confidence in the relevance of the suggestion\n- `details`: metadata about the data source\n - `data_source_identifier`: the unique ID of the data source\n - `data_source_name`: the display name of the data source\n - `description`: a description of the data source\n- `reasoning`: LLM-generated rationale explaining why the data source was recommended\n\n#### Error responses\n\n| Code | Description |\n|------|--------------------------------------------------------------------------------------------------------------------------------------------|\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks view permission on the underlying metadata entities. |\n\n> ###### Note:\n> * This endpoint is currently in Beta. Breaking changes may be introduced before it is made Generally Available.\n> * This endpoint requires Spotter \u2014 please contact ThoughtSpot Support to enable Spotter on your cluster.\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "0c1a86a8-674d-49ea-9983-85a64c60f4fe", "name": "Common successful response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"query\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/data-source-suggestions", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "data-source-suggestions" ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"data_sources\": [\n {\n \"confidence\": \"\",\n \"details\": {\n \"description\": \"\",\n \"data_source_name\": \"\",\n \"data_source_identifier\": \"\"\n },\n \"reasoning\": \"\"\n },\n {\n \"confidence\": \"\",\n \"details\": {\n \"description\": \"\",\n \"data_source_name\": \"\",\n \"data_source_identifier\": \"\"\n },\n \"reasoning\": \"\"\n }\n ]\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-0c1a86a8-674d-49ea-9983-85a64c60f4fe" }, { "id": "b684569a-fb15-4070-b8af-039d603d9ab5", "name": "Common error response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"query\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/data-source-suggestions", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "data-source-suggestions" ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"data_sources\": [\n {\n \"confidence\": \"\",\n \"details\": {\n \"description\": \"\",\n \"data_source_name\": \"\",\n \"data_source_identifier\": \"\"\n },\n \"reasoning\": \"\"\n },\n {\n \"confidence\": \"\",\n \"details\": {\n \"description\": \"\",\n \"data_source_name\": \"\",\n \"data_source_identifier\": \"\"\n },\n \"reasoning\": \"\"\n }\n ]\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-b684569a-fb15-4070-b8af-039d603d9ab5" }, { "id": "0d08ccf0-3724-45c7-96f5-62913ce08154", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"query\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/data-source-suggestions", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "data-source-suggestions" ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-0d08ccf0-3724-45c7-96f5-62913ce08154" }, { "id": "bd3c1b35-6aae-458a-85c3-8062e5919122", "name": "Unauthorized access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"query\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/data-source-suggestions", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "data-source-suggestions" ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-bd3c1b35-6aae-458a-85c3-8062e5919122" }, { "id": "5293afdb-85c9-4c19-8a37-3dfd6e3f3487", "name": "Forbidden access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"query\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/data-source-suggestions", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "data-source-suggestions" ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-5293afdb-85c9-4c19-8a37-3dfd6e3f3487" }, { "id": "05922fd3-9435-42b3-ab2c-98c9596f6e99", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"query\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/data-source-suggestions", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "data-source-suggestions" ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-05922fd3-9435-42b3-ab2c-98c9596f6e99" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-c085dc7e-8c7b-43f9-8609-daf2c0d80336" } ], "id": "1ee7cc25-c731-4c28-a384-93805cfee030", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-1ee7cc25-c731-4c28-a384-93805cfee030" }, { "name": "instructions", "item": [ { "name": "get", "item": [ { "name": "get NL Instructions", "id": "4cc0178a-b3a3-43ba-8846-bcb65a0a3600", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"data_source_identifier\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/instructions/get", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "instructions", "get" ] }, "description": "\nBeta Version: 10.15.0.cl or later\n\nRetrieves existing natural language (NL) instructions configured for a specific data model. These instructions guide the AI system in understanding data context and generating more accurate responses.\n\nRequires `CAN_USE_SPOTTER` privilege, at least view access on the data model, and a bearer token corresponding to the org where the data model exists.\n\n#### Usage guidelines\n\nThe request must include:\n\n- `data_source_identifier`: the unique ID of the data model to retrieve instructions for\n\nIf the request is successful, the API returns:\n\n- `nl_instructions_info`: an array of instruction objects, each containing:\n - `instructions`: the configured text instructions for AI processing\n - `scope`: the scope of the instruction \u2014 currently only `GLOBAL` is supported\n\n#### Instructions scope\n\n- **GLOBAL**: Instructions that apply globally across the system on the given data-model (currently only global instructions are supported)\n\n#### Error responses\n\n| Code | Description |\n|------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have `CAN_USE_SPOTTER` privilege, lacks view access on the data model, or the bearer token does not correspond to the org where the data model exists. |\n\n> ###### Note:\n>\n> - To use this API, the user needs at least view access on the data model, and must use the bearer token corresponding to the org where the data model exists.\n> - This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available.\n> - Available from version 10.15.0.cl and later.\n> - This endpoint requires Spotter \u2014 please contact ThoughtSpot Support to enable Spotter on your cluster.\n> - Use this API to review currently configured instructions before modifying them with `setNLInstructions`.\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "4ebcaab6-d878-4d92-add8-0002565e4ef8", "name": "Common successful response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"data_source_identifier\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/instructions/get", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "instructions", "get" ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"nl_instructions_info\": [\n {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"scope\": \"GLOBAL\"\n },\n {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"scope\": \"GLOBAL\"\n }\n ]\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-4ebcaab6-d878-4d92-add8-0002565e4ef8" }, { "id": "3f197751-8b6c-4163-8d60-03a18487bf74", "name": "Common error response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"data_source_identifier\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/instructions/get", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "instructions", "get" ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"nl_instructions_info\": [\n {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"scope\": \"GLOBAL\"\n },\n {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"scope\": \"GLOBAL\"\n }\n ]\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-3f197751-8b6c-4163-8d60-03a18487bf74" }, { "id": "51e3b443-a318-4e63-80a0-4acc2d965610", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"data_source_identifier\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/instructions/get", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "instructions", "get" ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-51e3b443-a318-4e63-80a0-4acc2d965610" }, { "id": "d8540781-1795-47a4-b41c-13fd17d93c9a", "name": "Unauthorized access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"data_source_identifier\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/instructions/get", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "instructions", "get" ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-d8540781-1795-47a4-b41c-13fd17d93c9a" }, { "id": "ba617848-9d9a-454f-8f83-f018c6cb6c87", "name": "Forbidden access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"data_source_identifier\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/instructions/get", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "instructions", "get" ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-ba617848-9d9a-454f-8f83-f018c6cb6c87" }, { "id": "3e030553-a919-4d7c-92c8-c2024b1bd28e", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"data_source_identifier\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/instructions/get", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "instructions", "get" ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-3e030553-a919-4d7c-92c8-c2024b1bd28e" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-4cc0178a-b3a3-43ba-8846-bcb65a0a3600" } ], "id": "1fb283e0-d8ab-4402-94f6-44c743b17c2e", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-1fb283e0-d8ab-4402-94f6-44c743b17c2e" }, { "name": "set", "item": [ { "name": "set NL Instructions", "id": "44fc513c-08d0-4ccd-a6d0-24ddf44b1f2c", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"data_source_identifier\": \"\",\n \"nl_instructions_info\": [\n {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"scope\": \"GLOBAL\"\n },\n {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"scope\": \"GLOBAL\"\n }\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/instructions/set", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "instructions", "set" ] }, "description": "\nBeta Version: 10.15.0.cl or later\n\nThis API allows users to set natural language (NL) instructions for a specific data-model to improve AI-generated answers and query processing. These instructions help guide the AI system to better understand the data context and provide more accurate responses.\n\nRequires `CAN_USE_SPOTTER` privilege, either edit access or `SPOTTER_COACHING_PRIVILEGE` on the data model, and a bearer token corresponding to the org where the data model exists.\n\n#### Usage guidelines\n\nTo set NL instructions for a data-model, the request must include:\n\n- `data_source_identifier`: The unique ID of the data-model for which to set NL instructions\n- `nl_instructions_info`: An array of instruction objects, each containing:\n - `instructions`: Array of text instructions for the LLM\n - `scope`: The scope of the instruction (`GLOBAL`). Currently only `GLOBAL` is supported. It can be extended to data-model-user scope in future.\n\n#### Instructions scope\n\n- **GLOBAL**: instructions that apply to all users querying this data model\n\nIf the request is successful, the API returns:\n\n- `success`: a boolean indicating whether the operation completed successfully\n\n#### Error responses\n\n| Code | Description |\n|------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have `CAN_USE_SPOTTER` privilege, lacks edit access or `SPOTTER_COACHING_PRIVILEGE` on the data model, or the bearer token does not correspond to the org where the data model exists. |\n\n> ###### Note:\n>\n> - To use this API, the user needs either edit access or `SPOTTER_COACHING_PRIVILEGE` on the data model, and must use the bearer token corresponding to the org where the data model exists.\n> - This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available.\n> - Available from version 10.15.0.cl and later.\n> - This endpoint requires Spotter \u2014 please contact ThoughtSpot Support to enable Spotter on your cluster.\n> - Instructions help improve the accuracy and relevance of AI-generated responses for the specified data-model.\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "808c09cb-eda7-498e-bb39-febc3bea66a9", "name": "Common successful response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"data_source_identifier\": \"\",\n \"nl_instructions_info\": [\n {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"scope\": \"GLOBAL\"\n },\n {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"scope\": \"GLOBAL\"\n }\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/instructions/set", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "instructions", "set" ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"success\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-808c09cb-eda7-498e-bb39-febc3bea66a9" }, { "id": "7881126c-e335-4192-ae5e-bd71f01c4935", "name": "Common error response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"data_source_identifier\": \"\",\n \"nl_instructions_info\": [\n {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"scope\": \"GLOBAL\"\n },\n {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"scope\": \"GLOBAL\"\n }\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/instructions/set", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "instructions", "set" ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"success\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-7881126c-e335-4192-ae5e-bd71f01c4935" }, { "id": "8d39ee13-a6d8-4e21-a2f1-0ad979a905c1", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"data_source_identifier\": \"\",\n \"nl_instructions_info\": [\n {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"scope\": \"GLOBAL\"\n },\n {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"scope\": \"GLOBAL\"\n }\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/instructions/set", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "instructions", "set" ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-8d39ee13-a6d8-4e21-a2f1-0ad979a905c1" }, { "id": "afbf931a-752b-4ec9-9a5a-f65ba0b6a20a", "name": "Unauthorized access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"data_source_identifier\": \"\",\n \"nl_instructions_info\": [\n {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"scope\": \"GLOBAL\"\n },\n {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"scope\": \"GLOBAL\"\n }\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/instructions/set", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "instructions", "set" ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-afbf931a-752b-4ec9-9a5a-f65ba0b6a20a" }, { "id": "14a7140c-b542-4385-b43a-02a58844fdcf", "name": "Forbidden access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"data_source_identifier\": \"\",\n \"nl_instructions_info\": [\n {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"scope\": \"GLOBAL\"\n },\n {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"scope\": \"GLOBAL\"\n }\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/instructions/set", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "instructions", "set" ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-14a7140c-b542-4385-b43a-02a58844fdcf" }, { "id": "6cfd1862-5c59-4109-9fef-3f21d56aebb8", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"data_source_identifier\": \"\",\n \"nl_instructions_info\": [\n {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"scope\": \"GLOBAL\"\n },\n {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"scope\": \"GLOBAL\"\n }\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/instructions/set", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "instructions", "set" ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-6cfd1862-5c59-4109-9fef-3f21d56aebb8" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-44fc513c-08d0-4ccd-a6d0-24ddf44b1f2c" } ], "id": "88307b3a-8676-4262-9c09-ec8b23fdc4a1", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-88307b3a-8676-4262-9c09-ec8b23fdc4a1" } ], "id": "938d8c41-c1d6-4b95-9189-e1f52b2417a2", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-938d8c41-c1d6-4b95-9189-e1f52b2417a2" }, { "name": "relevant-questions", "item": [ { "name": "get Relevant Questions", "id": "2c96137e-5353-4af2-8b21-fe716313a18f", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"metadata_context\": {\n \"data_source_identifiers\": [\n \"\",\n \"\"\n ],\n \"answer_identifiers\": [\n \"\",\n \"\"\n ],\n \"conversation_identifier\": \"\",\n \"liveboard_identifiers\": [\n \"\",\n \"\"\n ]\n },\n \"query\": \"\",\n \"limit_relevant_questions\": \"\",\n \"bypass_cache\": \"\",\n \"ai_context\": {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"content\": [\n \"\",\n \"\"\n ]\n }\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/relevant-questions/", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "relevant-questions", "" ] }, "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` \u2014 an existing conversation session ID\n - `answer_identifiers` \u2014 a list of Answer GUIDs\n - `liveboard_identifiers` \u2014 a list of Liveboard GUIDs\n - `data_source_identifiers` \u2014 a list of data source GUIDs\n\nOptional parameters for refining the output:\n- `ai_context`: additional context to improve response quality\n - `content` \u2014 supplementary text or CSV data as string input\n - `instructions` \u2014 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 \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 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" }, "response": [ { "id": "74f8e419-774c-48e5-8a80-4bd2e5d8d16e", "name": "Common successful response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_context\": {\n \"data_source_identifiers\": [\n \"\",\n \"\"\n ],\n \"answer_identifiers\": [\n \"\",\n \"\"\n ],\n \"conversation_identifier\": \"\",\n \"liveboard_identifiers\": [\n \"\",\n \"\"\n ]\n },\n \"query\": \"\",\n \"limit_relevant_questions\": \"\",\n \"bypass_cache\": \"\",\n \"ai_context\": {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"content\": [\n \"\",\n \"\"\n ]\n }\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/relevant-questions/", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "relevant-questions", "" ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"relevant_questions\": [\n {\n \"query\": \"\",\n \"data_source_identifier\": \"\",\n \"data_source_name\": \"\"\n },\n {\n \"query\": \"\",\n \"data_source_identifier\": \"\",\n \"data_source_name\": \"\"\n }\n ]\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-74f8e419-774c-48e5-8a80-4bd2e5d8d16e" }, { "id": "20d49f2b-4e19-419f-b83e-0a225a2f358c", "name": "Common error response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_context\": {\n \"data_source_identifiers\": [\n \"\",\n \"\"\n ],\n \"answer_identifiers\": [\n \"\",\n \"\"\n ],\n \"conversation_identifier\": \"\",\n \"liveboard_identifiers\": [\n \"\",\n \"\"\n ]\n },\n \"query\": \"\",\n \"limit_relevant_questions\": \"\",\n \"bypass_cache\": \"\",\n \"ai_context\": {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"content\": [\n \"\",\n \"\"\n ]\n }\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/relevant-questions/", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "relevant-questions", "" ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"relevant_questions\": [\n {\n \"query\": \"\",\n \"data_source_identifier\": \"\",\n \"data_source_name\": \"\"\n },\n {\n \"query\": \"\",\n \"data_source_identifier\": \"\",\n \"data_source_name\": \"\"\n }\n ]\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-20d49f2b-4e19-419f-b83e-0a225a2f358c" }, { "id": "c060ceb2-43e7-4279-b38f-7067874d165c", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_context\": {\n \"data_source_identifiers\": [\n \"\",\n \"\"\n ],\n \"answer_identifiers\": [\n \"\",\n \"\"\n ],\n \"conversation_identifier\": \"\",\n \"liveboard_identifiers\": [\n \"\",\n \"\"\n ]\n },\n \"query\": \"\",\n \"limit_relevant_questions\": \"\",\n \"bypass_cache\": \"\",\n \"ai_context\": {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"content\": [\n \"\",\n \"\"\n ]\n }\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/relevant-questions/", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "relevant-questions", "" ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-c060ceb2-43e7-4279-b38f-7067874d165c" }, { "id": "360d82ea-f0fa-4aed-ba00-4cf239d1b1d2", "name": "Unauthorized access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_context\": {\n \"data_source_identifiers\": [\n \"\",\n \"\"\n ],\n \"answer_identifiers\": [\n \"\",\n \"\"\n ],\n \"conversation_identifier\": \"\",\n \"liveboard_identifiers\": [\n \"\",\n \"\"\n ]\n },\n \"query\": \"\",\n \"limit_relevant_questions\": \"\",\n \"bypass_cache\": \"\",\n \"ai_context\": {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"content\": [\n \"\",\n \"\"\n ]\n }\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/relevant-questions/", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "relevant-questions", "" ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-360d82ea-f0fa-4aed-ba00-4cf239d1b1d2" }, { "id": "564c7e22-05fc-428e-9f5c-35fe2b9938d8", "name": "Forbidden access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_context\": {\n \"data_source_identifiers\": [\n \"\",\n \"\"\n ],\n \"answer_identifiers\": [\n \"\",\n \"\"\n ],\n \"conversation_identifier\": \"\",\n \"liveboard_identifiers\": [\n \"\",\n \"\"\n ]\n },\n \"query\": \"\",\n \"limit_relevant_questions\": \"\",\n \"bypass_cache\": \"\",\n \"ai_context\": {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"content\": [\n \"\",\n \"\"\n ]\n }\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/relevant-questions/", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "relevant-questions", "" ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-564c7e22-05fc-428e-9f5c-35fe2b9938d8" }, { "id": "8d990b05-146a-416d-a6a4-1b2d2037f9d3", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"metadata_context\": {\n \"data_source_identifiers\": [\n \"\",\n \"\"\n ],\n \"answer_identifiers\": [\n \"\",\n \"\"\n ],\n \"conversation_identifier\": \"\",\n \"liveboard_identifiers\": [\n \"\",\n \"\"\n ]\n },\n \"query\": \"\",\n \"limit_relevant_questions\": \"\",\n \"bypass_cache\": \"\",\n \"ai_context\": {\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"content\": [\n \"\",\n \"\"\n ]\n }\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/relevant-questions/", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "relevant-questions", "" ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-8d990b05-146a-416d-a6a4-1b2d2037f9d3" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-2c96137e-5353-4af2-8b21-fe716313a18f" } ], "id": "a37f912f-2e43-435d-bfc5-641f80d3443b", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-a37f912f-2e43-435d-bfc5-641f80d3443b" }, { "name": "analytical-questions", "item": [ { "name": "query Get Decomposed Query", "id": "75a9a0b5-4262-41f4-b8d7-f265ef664500", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"answerIds\": [\n \"\",\n \"\"\n ],\n \"content\": [\n \"\",\n \"\"\n ],\n \"conversationId\": \"\",\n \"liveboardIds\": [\n \"\",\n \"\"\n ],\n \"maxDecomposedQueries\": \"\",\n \"nlsRequest\": {\n \"agentVersion\": \"\",\n \"bypassCache\": \"\",\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"query\": \"\"\n },\n \"worksheetIds\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/analytical-questions", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "analytical-questions" ] }, "description": "\nBeta Version: 10.7.0.cl or later\n\nVersion: 10.7.0.cl or later\n\n**Deprecated** \u2014 Use `getRelevantQuestions` instead (available from 10.13.0.cl).\n\nBreaks 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.\n\nRequires `CAN_USE_SPOTTER` privilege and at least view-level access to the referenced metadata objects.\n\n#### Usage guidelines\n\nThe request accepts the following parameters:\n\n- `nlsRequest`: contains the user `query` to decompose, along with optional `instructions` and `bypassCache` flag\n- `worksheetIds`: list of data source identifiers to scope the decomposition\n- `answerIds`: list of Answer GUIDs whose data guides the response\n- `liveboardIds`: list of Liveboard GUIDs whose data guides the response\n- `conversationId`: an existing conversation session ID for context continuity\n- `content`: supplementary text or CSV data to improve response quality\n- `maxDecomposedQueries`: maximum number of sub-questions to return (default: `5`)\n\nIf the request is successful, the API returns a `decomposedQueryResponse` containing a list of `decomposedQueries`, each with:\n- `query`: the generated analytical sub-question\n- `worksheetId`: the unique ID of the data source the question targets\n- `worksheetName`: the display name of the corresponding data source\n\n#### Error responses\n\n| Code | Description |\n|------|---------------------------------------------------------------------------------------------------------------------------------------|\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 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 deprecated since 10.13.0.cl. Use `getRelevantQuestions` for new integrations.\n> * This endpoint is currently in Beta. Breaking changes may be introduced before the endpoint is made Generally Available.\n> * This endpoint requires Spotter \u2014 please contact ThoughtSpot support to enable Spotter on your cluster.\n\n\n\n\n#### Endpoint URL\n" }, "response": [ { "id": "f5eb46bb-6731-424d-8ea9-e3961a6967a4", "name": "Common successful response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"answerIds\": [\n \"\",\n \"\"\n ],\n \"content\": [\n \"\",\n \"\"\n ],\n \"conversationId\": \"\",\n \"liveboardIds\": [\n \"\",\n \"\"\n ],\n \"maxDecomposedQueries\": \"\",\n \"nlsRequest\": {\n \"agentVersion\": \"\",\n \"bypassCache\": \"\",\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"query\": \"\"\n },\n \"worksheetIds\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/analytical-questions", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "analytical-questions" ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"decomposedQueryResponse\": {\n \"decomposedQueries\": [\n {\n \"query\": \"\",\n \"worksheetId\": \"\",\n \"worksheetName\": \"\"\n },\n {\n \"query\": \"\",\n \"worksheetId\": \"\",\n \"worksheetName\": \"\"\n }\n ]\n }\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-f5eb46bb-6731-424d-8ea9-e3961a6967a4" }, { "id": "82e734ef-a53e-40d7-9707-c9be6a176e8c", "name": "Common error response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"answerIds\": [\n \"\",\n \"\"\n ],\n \"content\": [\n \"\",\n \"\"\n ],\n \"conversationId\": \"\",\n \"liveboardIds\": [\n \"\",\n \"\"\n ],\n \"maxDecomposedQueries\": \"\",\n \"nlsRequest\": {\n \"agentVersion\": \"\",\n \"bypassCache\": \"\",\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"query\": \"\"\n },\n \"worksheetIds\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/analytical-questions", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "analytical-questions" ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"decomposedQueryResponse\": {\n \"decomposedQueries\": [\n {\n \"query\": \"\",\n \"worksheetId\": \"\",\n \"worksheetName\": \"\"\n },\n {\n \"query\": \"\",\n \"worksheetId\": \"\",\n \"worksheetName\": \"\"\n }\n ]\n }\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-82e734ef-a53e-40d7-9707-c9be6a176e8c" }, { "id": "8581df4d-9638-451e-a7e8-12af4c33d87d", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"answerIds\": [\n \"\",\n \"\"\n ],\n \"content\": [\n \"\",\n \"\"\n ],\n \"conversationId\": \"\",\n \"liveboardIds\": [\n \"\",\n \"\"\n ],\n \"maxDecomposedQueries\": \"\",\n \"nlsRequest\": {\n \"agentVersion\": \"\",\n \"bypassCache\": \"\",\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"query\": \"\"\n },\n \"worksheetIds\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/analytical-questions", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "analytical-questions" ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-8581df4d-9638-451e-a7e8-12af4c33d87d" }, { "id": "06f993be-04a0-4d11-b0bf-bbf310ee5434", "name": "Unauthorized access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"answerIds\": [\n \"\",\n \"\"\n ],\n \"content\": [\n \"\",\n \"\"\n ],\n \"conversationId\": \"\",\n \"liveboardIds\": [\n \"\",\n \"\"\n ],\n \"maxDecomposedQueries\": \"\",\n \"nlsRequest\": {\n \"agentVersion\": \"\",\n \"bypassCache\": \"\",\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"query\": \"\"\n },\n \"worksheetIds\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/analytical-questions", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "analytical-questions" ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-06f993be-04a0-4d11-b0bf-bbf310ee5434" }, { "id": "4cf756fa-49a4-4c81-bddc-3e1612f79723", "name": "Forbidden access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"answerIds\": [\n \"\",\n \"\"\n ],\n \"content\": [\n \"\",\n \"\"\n ],\n \"conversationId\": \"\",\n \"liveboardIds\": [\n \"\",\n \"\"\n ],\n \"maxDecomposedQueries\": \"\",\n \"nlsRequest\": {\n \"agentVersion\": \"\",\n \"bypassCache\": \"\",\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"query\": \"\"\n },\n \"worksheetIds\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/analytical-questions", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "analytical-questions" ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-4cf756fa-49a4-4c81-bddc-3e1612f79723" }, { "id": "d000047d-e948-4e54-b5e5-8af0c2264a37", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"answerIds\": [\n \"\",\n \"\"\n ],\n \"content\": [\n \"\",\n \"\"\n ],\n \"conversationId\": \"\",\n \"liveboardIds\": [\n \"\",\n \"\"\n ],\n \"maxDecomposedQueries\": \"\",\n \"nlsRequest\": {\n \"agentVersion\": \"\",\n \"bypassCache\": \"\",\n \"instructions\": [\n \"\",\n \"\"\n ],\n \"query\": \"\"\n },\n \"worksheetIds\": [\n \"\",\n \"\"\n ]\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/analytical-questions", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "analytical-questions" ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-d000047d-e948-4e54-b5e5-8af0c2264a37" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-75a9a0b5-4262-41f4-b8d7-f265ef664500" } ], "id": "1cdf5ac3-f8a4-4021-a11f-bfc453b68335", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-1cdf5ac3-f8a4-4021-a11f-bfc453b68335" }, { "name": "answer", "item": [ { "name": "create", "item": [ { "name": "single Answer", "id": "3040676e-8bd6-46fc-ae12-3acfdc10c4c1", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"query\": \"\",\n \"metadata_identifier\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/answer/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "answer", "create" ] }, "description": "\nBeta Version: 10.4.0.cl or later\n\nProcesses a natural language query against a specified data model and returns a single AI-generated answer without requiring a conversation session.\n\nRequires `CAN_USE_SPOTTER` privilege and at least view access to the metadata object specified in the request.\n\n#### Usage guidelines\n\nThe request must include:\n- `query`: a natural language question (e.g., \"What were total sales last quarter?\")\n- `metadata_identifier`: the unique ID of the data source to query against\n\nIf the request is successful, the API returns a response message containing:\n- `session_identifier`: the unique ID of the generated response\n- `generation_number`: the generation number of the response\n- `message_type`: the type of the response (e.g., `TSAnswer`)\n- `visualization_type`: the generated visualization type (`Chart`, `Table`, or `Undefined`)\n- `tokens` / `display_tokens`: the search tokens and user-friendly display tokens for the response\n\n#### Error responses\n\n| Code | Description |\n|------|-----------------------------------------------------------------------------------------------------------------------------------------|\n| 401 | Unauthorized \u2014 authentication token is missing, expired, or invalid. |\n| 403 | Forbidden \u2014 the authenticated user does not have `CAN_USE_SPOTTER` privilege or lacks view permission on the specified metadata object. |\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" }, "response": [ { "id": "a20b9ae5-c0fc-485d-acd4-2c6dbeee935d", "name": "Common successful response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"query\": \"\",\n \"metadata_identifier\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/answer/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "answer", "create" ] } }, "status": "OK", "code": 200, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"message_type\": \"TSAnswer\",\n \"session_identifier\": \"\",\n \"generation_number\": \"\",\n \"visualization_type\": \"Undefined\",\n \"tokens\": \"\",\n \"display_tokens\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-a20b9ae5-c0fc-485d-acd4-2c6dbeee935d" }, { "id": "8fdf2bca-ba14-4802-99c0-19b45d7d16dc", "name": "Common error response", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"query\": \"\",\n \"metadata_identifier\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/answer/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "answer", "create" ] } }, "status": "Created", "code": 201, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"message_type\": \"TSAnswer\",\n \"session_identifier\": \"\",\n \"generation_number\": \"\",\n \"visualization_type\": \"Undefined\",\n \"tokens\": \"\",\n \"display_tokens\": \"\"\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-8fdf2bca-ba14-4802-99c0-19b45d7d16dc" }, { "id": "02e0e7f6-b131-4036-b642-e929c175fcf5", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"query\": \"\",\n \"metadata_identifier\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/answer/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "answer", "create" ] } }, "status": "Bad Request", "code": 400, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-02e0e7f6-b131-4036-b642-e929c175fcf5" }, { "id": "c18c8e9b-fe6e-4e54-aff3-ceae1e447876", "name": "Unauthorized access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"query\": \"\",\n \"metadata_identifier\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/answer/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "answer", "create" ] } }, "status": "Unauthorized", "code": 401, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-c18c8e9b-fe6e-4e54-aff3-ceae1e447876" }, { "id": "4c1a713d-dc13-4d06-bc48-b93641320b22", "name": "Forbidden access.", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"query\": \"\",\n \"metadata_identifier\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/answer/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "answer", "create" ] } }, "status": "Forbidden", "code": 403, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-4c1a713d-dc13-4d06-bc48-b93641320b22" }, { "id": "f5ae66bc-3d55-4087-b781-0faff5275f5f", "name": "Operation failed", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }, { "description": "Added as a part of security scheme: bearer", "key": "Authorization", "value": "Bearer " } ], "body": { "mode": "raw", "raw": "{\n \"query\": \"\",\n \"metadata_identifier\": \"\"\n}", "options": { "raw": { "headerFamily": "json", "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/rest/2.0/ai/answer/create", "host": [ "{{baseUrl}}" ], "path": [ "api", "rest", "2.0", "ai", "answer", "create" ] } }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", "value": "application/json" } ], "cookie": [], "responseTime": null, "body": "{\n \"error\": {}\n}", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-f5ae66bc-3d55-4087-b781-0faff5275f5f" } ], "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-3040676e-8bd6-46fc-ae12-3acfdc10c4c1" } ], "id": "5dcbcf6a-ab0d-40ab-be27-de91f6d5767c", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-5dcbcf6a-ab0d-40ab-be27-de91f6d5767c" } ], "id": "5db16d1a-5b80-41e7-8491-d57c17525807", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-5db16d1a-5b80-41e7-8491-d57c17525807" } ], "id": "b55b50c4-f7da-4ae2-b2fe-e3943fc6d820", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-b55b50c4-f7da-4ae2-b2fe-e3943fc6d820" } ], "id": "9b1fb53b-18dd-4a79-915a-a8e7243ad367", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-9b1fb53b-18dd-4a79-915a-a8e7243ad367" } ], "id": "3545716f-d720-4312-84a0-333aabe35991", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-3545716f-d720-4312-84a0-333aabe35991" } ], "id": "400d6d7e-3c62-4bdf-bade-3e91f98237df", "createdAt": "2026-07-28T03:15:40.000Z", "updatedAt": "2026-07-28T03:15:40.000Z", "uid": "35240-400d6d7e-3c62-4bdf-bade-3e91f98237df" } ], "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{bearerToken}}", "type": "string" } ] }, "variable": [ { "key": "base-url", "value": "https://localhost:443" }, { "key": "baseUrl", "value": "{{base-url}}" } ] }