TextQL Chat Service API

The ChatService API from TextQL — 38 operation(s) for chatservice.

Operations 38

POST /textql.rpc.public.chat.ChatService/ApproveContextPromptChange ApproveContextPromptChange #
POST /textql.rpc.public.chat.ChatService/ApproveOntologyChange ApproveOntologyChange #
POST /textql.rpc.public.chat.ChatService/AttachAgentToChat AttachAgentToChat #
POST /textql.rpc.public.chat.ChatService/AttachApp AttachApp #
POST /textql.rpc.public.chat.ChatService/AttachDashboard AttachDashboard #
POST /textql.rpc.public.chat.ChatService/AttachDataset RateChatCell appends a row to cell_rating for every click; thumbs-down also… #
POST /textql.rpc.public.chat.ChatService/BookmarkChat BookmarkChat #
POST /textql.rpc.public.chat.ChatService/CancelStream CancelStream #
POST /textql.rpc.public.chat.ChatService/CheckChatPermissions CheckChatPermissions #
POST /textql.rpc.public.chat.ChatService/CheckHealth CheckHealth #
POST /textql.rpc.public.chat.ChatService/CheckStreamlitHealth CheckStreamlitHealth #
POST /textql.rpc.public.chat.ChatService/CreateChat CreateChat #
POST /textql.rpc.public.chat.ChatService/DeleteChat DeleteChat #
POST /textql.rpc.public.chat.ChatService/DismissQuestions Resolve a halted questions cell. #
POST /textql.rpc.public.chat.ChatService/DuplicateChat DuplicateChat #
POST /textql.rpc.public.chat.ChatService/GetAPIChatAnswer GetAPIChatAnswer #
POST /textql.rpc.public.chat.ChatService/GetArtifact GetArtifact #
POST /textql.rpc.public.chat.ChatService/GetChat GetChat #
POST /textql.rpc.public.chat.ChatService/GetChatArtifactsSummary GetChatArtifactsSummary #
POST /textql.rpc.public.chat.ChatService/GetChatExecutionTiming GetChatExecutionTiming #
POST /textql.rpc.public.chat.ChatService/GetChatHistory GetChatHistory #
POST /textql.rpc.public.chat.ChatService/GetChats GetChats #
POST /textql.rpc.public.chat.ChatService/GetCompletionParameters List distinct chat creators the user can access #
POST /textql.rpc.public.chat.ChatService/GetCompletionParametersBatch GetCompletionParametersBatch #
POST /textql.rpc.public.chat.ChatService/GetLlmUsage GetLlmUsage #
POST /textql.rpc.public.chat.ChatService/GetMembersWithChats GetMembersWithChats #
POST /textql.rpc.public.chat.ChatService/GetPlaybookChats GetPlaybookChats #
POST /textql.rpc.public.chat.ChatService/PollChatEvents PollChatEvents #
POST /textql.rpc.public.chat.ChatService/QueryOneShot QueryOneShot #
POST /textql.rpc.public.chat.ChatService/RateChatCell RateChatCell #
POST /textql.rpc.public.chat.ChatService/RejectContextPromptChange RejectContextPromptChange #
POST /textql.rpc.public.chat.ChatService/RejectOntologyChange Resolve a halted ask_approval form cell. #
POST /textql.rpc.public.chat.ChatService/RunChat RunChat #
POST /textql.rpc.public.chat.ChatService/SendMessage SendMessage #
POST /textql.rpc.public.chat.ChatService/SubmitContextPromptChange SubmitContextPromptChange #
POST /textql.rpc.public.chat.ChatService/SubmitQuestions SubmitQuestions #
POST /textql.rpc.public.chat.ChatService/UnbookmarkChat UnbookmarkChat #
POST /textql.rpc.public.chat.ChatService/UpdateChat UpdateChat #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/textql-chatservice-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

textql-chatservice-api-openapi.yml Raw ↑
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