TextQL Textql.rpc.platform.Chat Service API

Platform Chat Service - External API for chat management

Operations 4

POST /v1/chat/cancel CancelStream #
POST /v1/chat Chat #
POST /v1/chat/get GetChat #
POST /v1/chat/list ListChats #

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-textql-rpc-platform-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-textql-rpc-platform-chatservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Textql.rpc.platform.Chat Service API
  version: '1.0'
  description: Platform Chat Service - External API for chat management
security: []
tags:
- name: textql.rpc.platform.ChatService
  description: Platform Chat Service - External API for chat management
paths:
  /v1/chat/cancel:
    post:
      tags:
      - textql.rpc.platform.ChatService
      summary: CancelStream
      operationId: textql.rpc.platform.ChatService.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'
  /v1/chat:
    post:
      tags:
      - textql.rpc.platform.ChatService
      summary: Chat
      operationId: textql.rpc.platform.ChatService.Chat
      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.platform.ChatRequest'
        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.platform.ChatResponse'
  /v1/chat/get:
    post:
      tags:
      - textql.rpc.platform.ChatService
      summary: GetChat
      operationId: textql.rpc.platform.ChatService.GetChat
      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.GetChatRequest'
        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.GetChatResponse'
  /v1/chat/list:
    post:
      tags:
      - textql.rpc.platform.ChatService
      summary: ListChats
      operationId: textql.rpc.platform.ChatService.ListChats
      description: List chats with optional filtering and pagination. Uses Connect-RPC protocol.
      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.GetChatsRequest'
        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.GetChatsResponse'
components:
  schemas:
    textql.rpc.public.paradigm.BasicOptions:
      type: object
      title: BasicOptions
      additionalProperties: false
      description: "This is a placeholder for future basic options.\n Currently, it does not contain any fields."
    textql.rpc.public.paradigm.Paradigm:
      type: object
      properties:
        type:
          title: type
          $ref: '#/components/schemas/textql.rpc.paradigm_params.ParadigmType'
        version:
          type: integer
          title: version
          format: int32
        options:
          title: options
          $ref: '#/components/schemas/textql.rpc.public.paradigm.ParadigmOptions'
      title: Paradigm
      additionalProperties: false
      description: ChatParadigm includes paradigm options
    textql.rpc.public.paradigm.UniversalOptions:
      type: object
      properties:
        connectorIds:
          type: array
          items:
            type: integer
            format: int32
          title: connector_ids
        datasetId:
          type: string
          title: dataset_id
          nullable: true
        webSearchEnabled:
          type: boolean
          title: web_search_enabled
        sqlEnabled:
          type: boolean
          title: sql_enabled
        ontologyEnabled:
          type: boolean
          title: ontology_enabled
        ontologyEditingEnabled:
          type: boolean
          title: ontology_editing_enabled
        pythonEnabled:
          type: boolean
          title: python_enabled
        autoApproveEnabled:
          type: boolean
          title: auto_approve_enabled
        googleDriveEnabled:
          type: boolean
          title: google_drive_enabled
        powerbiEnabled:
          type: boolean
          title: powerbi_enabled
        contextEditingEnabled:
          type: boolean
          title: context_editing_enabled
        formEditorEnabled:
          type: boolean
          title: form_editor_enabled
        playbookToolsEnabled:
          type: boolean
          title: playbook_tools_enabled
        microsoft365Enabled:
          type: boolean
          title: microsoft365_enabled
        feedExplorerEnabled:
          type: boolean
          title: feed_explorer_enabled
        bashEnabled:
          type: boolean
          title: bash_enabled
        javascriptEnabled:
          type: boolean
          title: javascript_enabled
        feedPostEnabled:
          type: boolean
          title: feed_post_enabled
        feedCommentEnabled:
          type: boolean
          title: feed_comment_enabled
        feedEngageEnabled:
          type: boolean
          title: feed_engage_enabled
      title: UniversalOptions
      additionalProperties: false
    textql.rpc.platform.ChatRequest:
      type: object
      properties:
        question:
          type: string
          title: question
          minLength: 3
        chatId:
          type: string
          title: chat_id
          nullable: true
        tools:
          title: tools
          nullable: true
          $ref: '#/components/schemas/textql.rpc.platform.ChatTools'
      title: ChatRequest
      additionalProperties: false
    connect.error_details.Any:
      type: object
      properties:
        type:
          type: string
          description: 'A URL that acts as a globally unique identifier for the type of the serialized message. For example: `type.googleapis.com/google.rpc.ErrorInfo`. This is used to determine the schema of the data in the `value` field and is the discriminator for the `debug` field.'
        value:
          type: string
          format: binary
          description: The Protobuf message, serialized as bytes and base64-encoded. The specific message type is identified by the `type` field.
        debug:
          oneOf:
          - type: object
            title: Any
            additionalProperties: true
            description: Detailed error information.
          discriminator:
            propertyName: type
          title: Debug
          description: Deserialized error detail payload. The 'type' field indicates the schema. This field is for easier debugging and should not be relied upon for application logic.
      additionalProperties: true
      description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message, with an additional debug field for ConnectRPC error details.
    textql.rpc.public.chat.ChatMessage:
      type: object
      properties:
        role:
          type: string
          title: role
          description: '"user" or "assistant"'
        content:
          type: string
          title: content
        createdAt:
          title: created_at
          nullable: true
          $ref: '#/components/schemas/google.protobuf.Timestamp'
      title: ChatMessage
      additionalProperties: false
    textql.rpc.public.paradigm.TableauOptions:
      type: object
      properties:
        datasetId:
          type: string
          title: dataset_id
          description: id of dataset_version_tableau.dataset_id to use
      title: TableauOptions
      additionalProperties: false
    textql.rpc.platform.ChatResponse:
      type: object
      properties:
        id:
          type: string
          title: id
          minLength: 1
        createdAt:
          title: created_at
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        error:
          type: string
          title: error
          nullable: true
        model:
          type: string
          title: model
          minLength: 1
        response:
          type: string
          title: response
        chatId:
          type: string
          title: chat_id
          minLength: 1
        assets:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.PreviewCell'
          title: assets
      title: ChatResponse
      additionalProperties: false
    textql.rpc.platform.ChatTools:
      type: object
      properties:
        connectorIds:
          type: array
          items:
            type: integer
            format: int32
          title: connector_ids
        webSearchEnabled:
          type: boolean
          title: web_search_enabled
        sqlEnabled:
          type: boolean
          title: sql_enabled
        ontologyEnabled:
          type: boolean
          title: ontology_enabled
        experimentalEnabled:
          type: boolean
          title: experimental_enabled
        tableauEnabled:
          type: boolean
          title: tableau_enabled
        autoApproveEnabled:
          type: boolean
          title: auto_approve_enabled
        pythonEnabled:
          type: boolean
          title: python_enabled
        googleDriveEnabled:
          type: boolean
          title: google_drive_enabled
        powerbiEnabled:
          type: boolean
          title: powerbi_enabled
      title: ChatTools
      additionalProperties: false
    textql.rpc.public.chat.Methodology:
      type: string
      title: Methodology
      enum:
      - METHODOLOGY_UNKNOWN
      - METHODOLOGY_ADAPTIVE
      - METHODOLOGY_PRESCRIPTIVE
      - METHODOLOGY_THOROUGH
      - METHODOLOGY_CAREFUL
    textql.rpc.public.chat.GetChatRequest:
      type: object
      properties:
        chatId:
          type: string
          title: chat_id
      title: GetChatRequest
      additionalProperties: false
    textql.rpc.public.chat.GetChatsResponse:
      type: object
      properties:
        chats:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.chat.Chat'
          title: chats
        totalCount:
          type: integer
          format: int32
          title: total_count
      title: GetChatsResponse
      additionalProperties: false
    textql.rpc.public.chat.GetChatResponse:
      type: object
      properties:
        chat:
          title: chat
          $ref: '#/components/schemas/textql.rpc.public.chat.Chat'
        messages:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.chat.ChatMessage'
          title: messages
        assets:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.PreviewCell'
          title: assets
      title: GetChatResponse
      additionalProperties: false
    connect-timeout-header:
      type: number
      title: Connect-Timeout-Ms
      description: Define the timeout, in ms
    connect.error:
      type: object
      properties:
        code:
          type: string
          examples:
          - not_found
          enum:
          - canceled
          - unknown
          - invalid_argument
          - deadline_exceeded
          - not_found
          - already_exists
          - permission_denied
          - resource_exhausted
          - failed_precondition
          - aborted
          - out_of_range
          - unimplemented
          - internal
          - unavailable
          - data_loss
          - unauthenticated
          description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
        message:
          type: string
          description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
        details:
          type: array
          items:
            $ref: '#/components/schemas/connect.error_details.Any'
          description: A list of messages that carry the error details. There is no limit on the number of messages.
      title: Connect Error
      additionalProperties: true
      description: 'Error type returned by Connect: https://connectrpc.com/docs/go/errors/#http-representation'
    textql.rpc.public.paradigm.ExperimentalOptions:
      type: object
      properties:
        connectorIds:
          type: array
          items:
            type: integer
            format: int32
          title: connector_ids
        autoApproveEnabled:
          type: boolean
          title: auto_approve_enabled
      title: ExperimentalOptions
      additionalProperties: false
    textql.rpc.public.paradigm.ParadigmOptions:
      type: object
      oneOf:
      - properties:
          basic:
            title: basic
            $ref: '#/components/schemas/textql.rpc.public.paradigm.BasicOptions'
        title: basic
        required:
        - basic
      - properties:
          experimental:
            title: experimental
            $ref: '#/components/schemas/textql.rpc.public.paradigm.ExperimentalOptions'
        title: experimental
        required:
        - experimental
      - properties:
          ontology:
            title: ontology
            $ref: '#/components/schemas/textql.rpc.public.paradigm.OntologyOptions'
        title: ontology
        required:
        - ontology
      - properties:
          publicDemo:
            title: public_demo
            $ref: '#/components/schemas/textql.rpc.public.paradigm.PublicDemoOptions'
        title: public_demo
        required:
        - publicDemo
      - properties:
          research:
            title: research
            $ref: '#/components/schemas/textql.rpc.public.paradigm.ResearchOptions'
        title: research
        required:
        - research
      - properties:
          sql:
            title: sql
            $ref: '#/components/schemas/textql.rpc.public.paradigm.SqlOptions'
        title: sql
        required:
        - sql
      - properties:
          tableau:
            title: tableau
            $ref: '#/components/schemas/textql.rpc.public.paradigm.TableauOptions'
        title: tableau
        required:
        - tableau
      - properties:
          universal:
            title: universal
            $ref: '#/components/schemas/textql.rpc.public.paradigm.UniversalOptions'
        title: universal
        required:
        - universal
      title: ParadigmOptions
      additionalProperties: false
    textql.rpc.public.paradigm.ResearchOptions:
      type: object
      properties:
        connectorIds:
          type: array
          items:
            type: integer
            format: int32
          title: connector_ids
        backgroundColor:
          type: string
          title: background_color
          nullable: true
        logo:
          type: string
          title: logo
          nullable: true
      title: ResearchOptions
      additionalProperties: false
    textql.rpc.public.paradigm.PublicDemoOptions:
      type: object
      properties:
        connectorId:
          type: integer
          title: connector_id
          format: int32
      title: PublicDemoOptions
      additionalProperties: false
    textql.rpc.public.chat.Chat:
      type: object
      properties:
        id:
          type: string
          title: id
          description: UUID
        paradigm:
          title: paradigm
          $ref: '#/components/schemas/textql.rpc.public.paradigm.Paradigm'
        model:
          title: model
          $ref: '#/components/schemas/textql.rpc.public.chat.LlmModel'
        timestamp:
          title: timestamp
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        orgId:
          type: string
          title: org_id
        memberId:
          type: string
          title: member_id
        summary:
          type: string
          title: summary
          nullable: true
        playbookId:
          type: string
          title: playbook_id
          nullable: true
        research:
          type: boolean
          title: research
          description: whether this chat was created with report mode enabled
          nullable: true
        creatorEmail:
          type: string
          title: creator_email
          nullable: true
        apiKeyClientId:
          type: string
          title: api_key_client_id
          nullable: true
        updatedAt:
          title: updated_at
          description: when chat was last updated
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        isBookmarked:
          type: boolean
          title: is_bookmarked
          description: whether this chat is bookmarked by the user
          nullable: true
        preferredProvider:
          type: string
          title: preferred_provider
          nullable: true
        templateDataId:
          type: string
          title: template_data_id
          description: UUID reference to playbook_template_data
          nullable: true
        batchRunId:
          type: string
          title: batch_run_id
          description: UUID reference to playbook_batch_run
          nullable: true
        preview:
          type: string
          title: preview
          description: preview/snippet of first message content
          nullable: true
        dashboardMode:
          type: boolean
          title: dashboard_mode
          description: whether this chat was created with dashboard mode enabled
          nullable: true
        source:
          title: source
          description: source of the chat
          nullable: true
          $ref: '#/components/schemas/textql.rpc.public.chat.ChatSource'
        methodology:
          title: methodology
          description: chat-level methodology preference
          nullable: true
          $ref: '#/components/schemas/textql.rpc.public.chat.Methodology'
      title: Chat
      additionalProperties: false
    textql.rpc.public.paradigm.SqlOptions:
      type: object
      properties:
        connectorIds:
          type: array
          items:
            type: integer
            format: int32
          title: connector_ids
      title: SqlOptions
      additionalProperties: false
    textql.rpc.public.cells.PreviewCell:
      type: object
      properties:
        target:
          type: string
          title: target
        previewType:
          type: string
          title: preview_type
          description: '"image", "table", "pdf", "html", "dataframe", "download"'
        name:
          type: string
          title: name
        url:
          type: string
          title: url
          nullable: true
        content:
          type: string
          title: content
          nullable: true
        error:
          type: string
          title: error
          nullable: true
      title: PreviewCell
      additionalProperties: false
      description: primary interface for ana to render sandbox assets client side
    textql.rpc.public.chat.ChatSource:
      type: string
      title: ChatSource
      enum:
      - CHAT_SOURCE_UNKNOWN
      - CHAT_SOURCE_THREAD
      - CHAT_SOURCE_PLAYBOOK
      - CHAT_SOURCE_TEMPLATE
      - CHAT_SOURCE_SLACK
      - CHAT_SOURCE_AGENT
      - CHAT_SOURCE_FEED
    textql.rpc.public.chat.CancelStreamResponse:
      type: object
      properties:
        exists:
          type: boolean
          title: exists
      title: CancelStreamResponse
      additionalProperties: false
    google.protobuf.Timestamp:
      type: string
      examples:
      - '2023-01-15T01:30:15.01Z'
      - '2024-12-25T12:00:00Z'
      format: date-time
      description: "A Timestamp represents a point in time independent of any time zone or local\n calendar, encoded as a count of seconds and fractions of seconds at\n nanosecond resolution. The count is relative to an epoch at UTC midnight on\n January 1, 1970, in the proleptic Gregorian calendar which extends the\n Gregorian calendar backwards to year one.\n\n All minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap\n second table is needed for interpretation, using a [24-hour linear\n smear](https://developers.google.com/time/smear).\n\n The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By\n restricting to that range, we ensure that we can convert to and from [RFC\n 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n\n # Examples\n\n Example 1: Compute Timestamp from POSIX `time()`.\n\n     Timestamp timestamp;\n     timestamp.set_seconds(time(NULL));\n     timestamp.set_nanos(0);\n\n Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n\n     struct timeval tv;\n     gettimeofday(&tv, NULL);\n\n     Timestamp timestamp;\n     timestamp.set_seconds(tv.tv_sec);\n     timestamp.set_nanos(tv.tv_usec * 1000);\n\n Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n\n     FILETIME ft;\n     GetSystemTimeAsFileTime(&ft);\n     UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n\n     // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n     // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n     Timestamp timestamp;\n     timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n     timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n\n Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n\n     long millis = System.currentTimeMillis();\n\n     Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n         .setNanos((int) ((millis % 1000) * 1000000)).build();\n\n Example 5: Compute Timestamp from Java `Instant.now()`.\n\n     Instant now = Instant.now();\n\n     Timestamp timestamp =\n         Timestamp.newBuilder().setSeconds(now.getEpochSecond())\n             .setNanos(now.getNano()).build();\n\n Example 6: Compute Timestamp from current time in Python.\n\n     timestamp = Timestamp()\n     timestamp.GetCurrentTime()\n\n # JSON Mapping\n\n In JSON format, the Timestamp type is encoded as a string in the\n [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n where {year} is always expressed using four digits while {month}, {day},\n {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n is required. A proto3 JSON serializer should always use UTC (as indicated by\n \"Z\") when printing the Timestamp type and a proto3 JSON parser should be\n able to accept both UTC and other timezones (as indicated by an offset).\n\n For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n 01:30 UTC on January 15, 2017.\n\n In JavaScript, one can convert a Date object to this format using the\n standard\n [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\n method. In Python, a standard `datetime.datetime` object can be converted\n to this format using\n [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with\n the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use\n the Joda Time's [`ISODateTimeFormat.dateTime()`](\n http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()\n ) to obtain a formatter capable of generating timestamps in this format."
    textql.rpc.paradigm_params.ParadigmType:
      type: string
      title: ParadigmType
      enum:
      - TYPE_UNKNOWN
      - TYPE_SQL
      - TYPE_RESEARCH
      - TYPE_ONTOLOGY
      - TYPE_BASIC
      - TYPE_TABLEAU
      - TYPE_EXPERIMENTAL
      - TYPE_UNIVERSAL
      - TYPE_PUBLIC_DEMO
    connect-protocol-version:
      type: number
      title: Connect-Protocol-Version
      enum:
      - 1
      description: Define the version of the Connect protocol
      const: 1
    textql.rpc.public.paradigm.OntologyOptions:
      type: object
      properties:
        connectorIds:
          type: array
          items:
            type: integer
            format: int32
          title: connector_ids
        ontologyIds:
          type: array
          items:
            type: integer
            format: int32
          title: ontology_ids
      title: OntologyOptions
      additionalProperties: false
    textql.rpc.public.chat.GetChatsRequest:
      type: object
      properties:
        memberOnly:
          type: boolean
          title: member_only
          default: false
          description: Whether to return only the user's chats (true) or all org chats (false)
        searchTerm:
          type: string
          title: search_term
          description: Filter chats by summary or first message content
        limit:
          type: integer
          format: int32
          title: limit
          description: Maximum number of chats to return
          minimum: 0
        offset:
          type: integer
          format: int32
          title: offset
          description: Number of chats to skip
          minimum: 0
        sortBy:
          type: integer
          title: sort_by
          description: 'Sort field (0: unknown, 1: name, 2: created_at, 3: updated_at)'
          enum:
          - 0
          - 1
          - 2
          - 3
        sortDirection:
          type: integer
          title: sort_direction
          description: 'Sort direction (0: unknown, 1: asc, 2: desc)'
          enum:
          - 0
          - 1
          - 2
      title: GetChatsRequest
      additionalProperties: false
    textql.rpc.public.chat.LlmModel:
      type: string
      title: LlmModel
      enum:
      - MODEL_UNKNOWN
      - MODEL_DEFAULT_SMALL
      - MODEL_DEFAULT
      - MODEL_DEFAULT_LARGE
      - MODEL_DEFAULT_REASONING
      - MODEL_HAIKU_3
      - MODEL_HAIKU_3_5
      - MODEL_SONNET_3_5
      - MODEL_SONNET_3_6
      - MODEL_SONNET_3_7
      - MODEL_SONNET_4
      - MODEL_OPUS_4
      - MODEL_SONNET_4_5
      - MODEL_HAIKU_4_5
      - MODEL_OPUS_4_5
      - MODEL_OPUS_4_6
      - MODEL_SONNET_4_6
      - MODEL_GPT_4
      - MODEL_GPT_4_TURBO
      - MODEL_GPT_4O
      - MODEL_GPT_4_1
      - MODEL_GPT_4_1_MINI
      - MODEL_GPT_4_1_NANO
      - MODEL_O_1
      - MODEL_O_1_MINI
      - MODEL_O_3
      - MODEL_O_3_MINI
      - MODEL_O_4_MINI
      - MODEL_GPT_5
      - MODEL_GPT_5_MINI
      - MODEL_GPT_5_NANO
      - MODEL_GPT_5_2
      - MODEL_GPT_5_2_PRO
      - MODEL_GPT_5_4
      - MODEL_GPT_5_4_MINI
      - MODEL_GPT_5_5
      - MODEL_GPT_5_6_SOL
      - MODEL_GPT_5_6_TERRA
      - MODEL_GPT_5_6_LUNA
      - MODEL_GEMINI_3_FLASH
      - MODEL_GEMINI_3_PRO
      - MODEL_GEMINI_3_1_PRO
      - MODEL_GEMINI_3_5_FLASH
      - MODEL_KIMI_K2_INSTRUCT
      - MODEL_QWEN3_CODER
      - MODEL_QWEN3_CODER_SMALL
      - MODEL_GPT_OSS
      - MODEL_GPT_OSS_SMALL
      - MODEL_GLM_4_5
      - MODEL_GLM_4_6
      - MODEL_KIMI_K2_THINKING
      - MODEL_KIMI_K2_5
      - MODEL_DEEPSEEK_3_2
      - MODEL_GLM_5
      - MODEL_KIMI_K2_6
      - MODEL_GLM_5_2
      - MODEL_KIMI_K2_7_CODE
      - MODEL_KIMI_K3
      - MODEL_QWEN3_7_PLUS
      - MODEL_MUSE_SPARK_1_1
      - MODEL_MUSE_SPARK_1_2
    textql.rpc.public.chat.CancelStreamRequest:
      type: object
      properties:
        chatId:
          type: string
          title: chat_id
      title: CancelStreamRequest
      additionalProperties: false