Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: TextQL Chat Service API
version: 1.0.0
description: 'TextQL public API. Generated from protobuf service definitions; internal
endpoints are excluded via google.api.visibility / file_visibility.'
servers:
- url: https://app.textql.com/rpc/public
security:
- apiKey: []
tags:
- name: ChatService
paths:
/textql.rpc.public.chat.ChatService/ApproveContextPromptChange:
post:
tags:
- ChatService
summary: ApproveContextPromptChange
operationId: ChatService_ApproveContextPromptChange
x-speakeasy-group: chats
x-speakeasy-name-override: approveContextPromptChange
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.ApproveContextPromptChangeRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.ApproveContextPromptChangeResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await textql.chats.approveContextPromptChange({\n body: {\n cellId: \"<id>\",\n editedContext: \"<value>\",\n },\n });\n\n console.log(result);\n}\n\nrun();"
- lang: python
label: Python (SDK)
source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n res = textql.chats.approve_context_prompt_change(cell_id=\"<id>\", edited_context=\"<value>\")\n\n # Handle response\n print(res)"
/textql.rpc.public.chat.ChatService/ApproveOntologyChange:
post:
tags:
- ChatService
summary: ApproveOntologyChange
operationId: ChatService_ApproveOntologyChange
x-speakeasy-group: chats
x-speakeasy-name-override: approveOntologyChange
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.ApproveOntologyChangeRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.ApproveOntologyChangeResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await textql.chats.approveOntologyChange({\n body: {\n cellId: \"<id>\",\n },\n });\n\n console.log(result);\n}\n\nrun();"
- lang: python
label: Python (SDK)
source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n res = textql.chats.approve_ontology_change(cell_id=\"<id>\")\n\n # Handle response\n print(res)"
/textql.rpc.public.chat.ChatService/AttachAgentToChat:
post:
tags:
- ChatService
summary: AttachAgentToChat
operationId: ChatService_AttachAgentToChat
x-speakeasy-group: chats
x-speakeasy-name-override: attachAgent
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.AttachAgentToChatRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.AttachAgentToChatResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await textql.chats.attachAgent({\n body: {\n chatId: \"<id>\",\n agentId: \"<id>\",\n },\n });\n\n console.log(result);\n}\n\nrun();"
- lang: python
label: Python (SDK)
source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n res = textql.chats.attach_agent(chat_id=\"<id>\", agent_id=\"<id>\")\n\n # Handle response\n print(res)"
/textql.rpc.public.chat.ChatService/AttachApp:
post:
tags:
- ChatService
summary: AttachApp
operationId: ChatService_AttachApp
x-speakeasy-group: chats
x-speakeasy-name-override: attachApp
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.AttachAppRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.AttachAppResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await textql.chats.attachApp({\n body: {\n chatId: \"<id>\",\n appId: \"<id>\",\n },\n });\n\n console.log(result);\n}\n\nrun();"
- lang: python
label: Python (SDK)
source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n res = textql.chats.attach_app(chat_id=\"<id>\", app_id=\"<id>\")\n\n # Handle response\n print(res)"
/textql.rpc.public.chat.ChatService/AttachDashboard:
post:
tags:
- ChatService
summary: AttachDashboard
operationId: ChatService_AttachDashboard
x-speakeasy-group: chats
x-speakeasy-name-override: attachDashboard
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.AttachDashboardRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.AttachDashboardResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await textql.chats.attachDashboard({\n body: {\n chatId: \"<id>\",\n dashboardId: \"<id>\",\n },\n });\n\n console.log(result);\n}\n\nrun();"
- lang: python
label: Python (SDK)
source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n res = textql.chats.attach_dashboard(chat_id=\"<id>\", dashboard_id=\"<id>\")\n\n # Handle response\n print(res)"
/textql.rpc.public.chat.ChatService/AttachDataset:
post:
tags:
- ChatService
summary: RateChatCell appends a row to cell_rating for every click; thumbs-down also…
description: RateChatCell appends a row to cell_rating for every click; thumbs-down also upserts a user_thumbs_down thread_warning.
operationId: ChatService_AttachDataset
x-speakeasy-group: chats
x-speakeasy-name-override: attachDataset
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.AttachDatasetRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.AttachDatasetResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await textql.chats.attachDataset({\n body: {\n chatId: \"<id>\",\n datasetId: \"<id>\",\n },\n });\n\n console.log(result);\n}\n\nrun();"
- lang: python
label: Python (SDK)
source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n res = textql.chats.attach_dataset(chat_id=\"<id>\", dataset_id=\"<id>\")\n\n # Handle response\n print(res)"
/textql.rpc.public.chat.ChatService/BookmarkChat:
post:
tags:
- ChatService
summary: BookmarkChat
operationId: ChatService_BookmarkChat
x-speakeasy-group: chats
x-speakeasy-name-override: bookmark
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.BookmarkChatRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/google.protobuf.Empty'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await textql.chats.bookmark({\n body: {\n chatId: \"<id>\",\n },\n });\n\n console.log(result);\n}\n\nrun();"
- lang: python
label: Python (SDK)
source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n res = textql.chats.bookmark(chat_id=\"<id>\")\n\n # Handle response\n print(res)"
/textql.rpc.public.chat.ChatService/CancelStream:
post:
tags:
- ChatService
summary: CancelStream
operationId: ChatService_CancelStream
x-speakeasy-group: chats
x-speakeasy-name-override: cancelStream
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.CancelStreamRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.CancelStreamResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await textql.chats.cancelStream({\n body: {\n chatId: \"<id>\",\n },\n });\n\n console.log(result);\n}\n\nrun();"
- lang: python
label: Python (SDK)
source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n res = textql.chats.cancel_stream(chat_id=\"<id>\")\n\n # Handle response\n print(res)"
/textql.rpc.public.chat.ChatService/CheckChatPermissions:
post:
tags:
- ChatService
summary: CheckChatPermissions
operationId: ChatService_CheckChatPermissions
x-speakeasy-group: chats
x-speakeasy-name-override: checkPermissions
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.CheckChatPermissionsRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.CheckChatPermissionsResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await textql.chats.checkPermissions({\n body: {\n chatId: \"<id>\",\n },\n });\n\n console.log(result);\n}\n\nrun();"
- lang: python
label: Python (SDK)
source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n res = textql.chats.check_permissions(chat_id=\"<id>\")\n\n # Handle response\n print(res)"
/textql.rpc.public.chat.ChatService/CheckHealth:
post:
tags:
- ChatService
summary: CheckHealth
operationId: ChatService_CheckHealth
x-speakeasy-group: chats
x-speakeasy-name-override: checkHealth
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.CheckHealthRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.CheckHealthResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await textql.chats.checkHealth({\n body: {},\n });\n\n console.log(result);\n}\n\nrun();"
- lang: python
label: Python (SDK)
source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n res = textql.chats.check_health()\n\n # Handle response\n print(res)"
/textql.rpc.public.chat.ChatService/CheckStreamlitHealth:
post:
tags:
- ChatService
summary: CheckStreamlitHealth
operationId: ChatService_CheckStreamlitHealth
x-speakeasy-group: chats
x-speakeasy-name-override: checkStreamlitHealth
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.CheckStreamlitHealthRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.CheckStreamlitHealthResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await textql.chats.checkStreamlitHealth({\n body: {\n chatId: \"<id>\",\n cellId: \"<id>\",\n },\n });\n\n console.log(result);\n}\n\nrun();"
- lang: python
label: Python (SDK)
source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n res = textql.chats.check_streamlit_health(chat_id=\"<id>\", cell_id=\"<id>\")\n\n # Handle response\n print(res)"
/textql.rpc.public.chat.ChatService/CreateChat:
post:
tags:
- ChatService
summary: CreateChat
operationId: ChatService_CreateChat
x-speakeasy-group: chats
x-speakeasy-name-override: createChat
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.CreateRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.CreateResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await textql.chats.createChat({\n body: {\n paradigm: {},\n },\n });\n\n console.log(result);\n}\n\nrun();"
- lang: python
label: Python (SDK)
source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n res = textql.chats.create_chat(paradigm={})\n\n # Handle response\n print(res)"
/textql.rpc.public.chat.ChatService/DeleteChat:
post:
tags:
- ChatService
summary: DeleteChat
operationId: ChatService_DeleteChat
x-speakeasy-group: chats
x-speakeasy-name-override: delete
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.DeleteChatRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/google.protobuf.Empty'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await textql.chats.delete({\n body: {\n chatId: \"<id>\",\n },\n });\n\n console.log(result);\n}\n\nrun();"
- lang: python
label: Python (SDK)
source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n res = textql.chats.delete(chat_id=\"<id>\")\n\n # Handle response\n print(res)"
/textql.rpc.public.chat.ChatService/DismissQuestions:
post:
tags:
- ChatService
summary: Resolve a halted questions cell.
description: 'Resolve a halted questions cell. Submit hands the answers to the agent and
resumes it; Dismiss hands over only the answered count and does NOT resume
(the user''s next message becomes the dismissal reason).'
operationId: ChatService_DismissQuestions
x-speakeasy-group: chats
x-speakeasy-name-override: dismissQuestions
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.DismissQuestionsRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.DismissQuestionsResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await textql.chats.dismissQuestions({\n body: {\n cellId: \"<id>\",\n },\n });\n\n console.log(result);\n}\n\nrun();"
- lang: python
label: Python (SDK)
source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n res = textql.chats.dismiss_questions(cell_id=\"<id>\")\n\n # Handle response\n print(res)"
/textql.rpc.public.chat.ChatService/DuplicateChat:
post:
tags:
- ChatService
summary: DuplicateChat
operationId: ChatService_DuplicateChat
x-speakeasy-group: chats
x-speakeasy-name-override: duplicateChat
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.DuplicateChatRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.DuplicateChatResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await textql.chats.duplicateChat({\n body: {\n chatId: \"<id>\",\n },\n });\n\n console.log(result);\n}\n\nrun();"
- lang: python
label: Python (SDK)
source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n res = textql.chats.duplicate_chat(chat_id=\"<id>\")\n\n # Handle response\n print(res)"
/textql.rpc.public.chat.ChatService/GetAPIChatAnswer:
post:
tags:
- ChatService
summary: GetAPIChatAnswer
operationId: ChatService_GetAPIChatAnswer
x-speakeasy-group: chats
x-speakeasy-name-override: getApiAnswer
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.GetAPIChatAnswerRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.GetAPIChatAnswerResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await textql.chats.getApiAnswer({\n body: {\n chatId: \"<id>\",\n },\n });\n\n console.log(result);\n}\n\nrun();"
- lang: python
label: Python (SDK)
source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n res = textql.chats.get_api_answer(chat_id=\"<id>\")\n\n # Handle response\n print(res)"
/textql.rpc.public.chat.ChatService/GetArtifact:
post:
tags:
- ChatService
summary: GetArtifact
operationId: ChatService_GetArtifact
x-speakeasy-group: chats
x-speakeasy-name-override: getArtifact
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.GetArtifactRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.chat.GetArtifactResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: "import { Textql } from \"@textql/sdk\";\n\nconst textql = new Textql({\n apiKey: process.env[\"TEXTQL_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await textql.chats.getArtifact({\n body: {\n artifactId: \"<id>\",\n chatId: \"<id>\",\n },\n });\n\n console.log(result);\n}\n\nrun();"
- lang: python
label: Python (SDK)
source: "import os\nfrom textql_sdk import Textql\n\n\nwith Textql(\n api_key=os.getenv(\"TEXTQL_API_KEY\", \"\"),\n) as textql:\n\n res = textql.chats.get_artifact(artifact_id=\"<id>\", chat_id=\"<id>\")\n\n # Handle response\n print(res)"
/textql.rpc.public.chat.ChatService/GetChat:
post:
tags:
- ChatService
summary: GetChat
operationId: ChatService_GetChat
x-speakeasy-group: chats
x-speakeasy-name-override: get
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
# --- truncated at 32 KB (289 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/textql/refs/heads/main/openapi/textql-chatservice-api-openapi.yml