TextQL Agent Service API

The AgentService API from TextQL — 13 operation(s) for agentservice.

Operations 13

POST /textql.rpc.public.agent.AgentService/CreateAgent CreateAgent #
POST /textql.rpc.public.agent.AgentService/DeleteAgent DeleteAgent #
POST /textql.rpc.public.agent.AgentService/DuplicateAgent DuplicateAgent #
POST /textql.rpc.public.agent.AgentService/GetAgent GetAgent #
POST /textql.rpc.public.agent.AgentService/GetAgentDBSchema GetAgentDBSchema #
POST /textql.rpc.public.agent.AgentService/GetAgentDBTablePreview GetAgentDBTablePreview #
POST /textql.rpc.public.agent.AgentService/GetAgentRun GetAgentRun #
POST /textql.rpc.public.agent.AgentService/ListAgentRuns ListAgentRuns #
POST /textql.rpc.public.agent.AgentService/ListAgents ListAgents #
POST /textql.rpc.public.agent.AgentService/ResetAgentAvatar ResetAgentAvatar #
POST /textql.rpc.public.agent.AgentService/TriggerAgent TriggerAgent #
POST /textql.rpc.public.agent.AgentService/UpdateAgent UpdateAgent #
POST /textql.rpc.public.agent.AgentService/UploadAgentAvatar UploadAgentAvatar #

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-agentservice-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-agentservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: TextQL Agent 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: AgentService
paths:
  /textql.rpc.public.agent.AgentService/CreateAgent:
    post:
      tags:
      - AgentService
      summary: CreateAgent
      operationId: AgentService_CreateAgent
      x-speakeasy-group: agents
      x-speakeasy-name-override: create
      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.agent.CreateAgentRequest'
        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.agent.CreateAgentResponse'
      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.agents.create({\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.agents.create()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.agent.AgentService/DeleteAgent:
    post:
      tags:
      - AgentService
      summary: DeleteAgent
      operationId: AgentService_DeleteAgent
      x-speakeasy-group: agents
      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.agent.DeleteAgentRequest'
        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.agents.delete({\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.agents.delete()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.agent.AgentService/DuplicateAgent:
    post:
      tags:
      - AgentService
      summary: DuplicateAgent
      operationId: AgentService_DuplicateAgent
      x-speakeasy-group: agents
      x-speakeasy-name-override: duplicate
      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.agent.DuplicateAgentRequest'
        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.agent.DuplicateAgentResponse'
      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.agents.duplicate({\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.agents.duplicate()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.agent.AgentService/GetAgent:
    post:
      tags:
      - AgentService
      summary: GetAgent
      operationId: AgentService_GetAgent
      x-speakeasy-group: agents
      x-speakeasy-name-override: getAgent
      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.agent.GetAgentRequest'
        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.agent.GetAgentResponse'
      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.agents.getAgent({\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.agents.get_agent()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.agent.AgentService/GetAgentDBSchema:
    post:
      tags:
      - AgentService
      summary: GetAgentDBSchema
      operationId: AgentService_GetAgentDBSchema
      x-speakeasy-group: agents
      x-speakeasy-name-override: getDBSchema
      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.agent.GetAgentDBSchemaRequest'
        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.agent.GetAgentDBSchemaResponse'
      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.agents.getDBSchema({\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.agents.get_db_schema()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.agent.AgentService/GetAgentDBTablePreview:
    post:
      tags:
      - AgentService
      summary: GetAgentDBTablePreview
      operationId: AgentService_GetAgentDBTablePreview
      x-speakeasy-group: agents
      x-speakeasy-name-override: getDBTablePreview
      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.agent.GetAgentDBTablePreviewRequest'
        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.agent.GetAgentDBTablePreviewResponse'
      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.agents.getDBTablePreview({\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.agents.get_db_table_preview()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.agent.AgentService/GetAgentRun:
    post:
      tags:
      - AgentService
      summary: GetAgentRun
      operationId: AgentService_GetAgentRun
      x-speakeasy-group: agents
      x-speakeasy-name-override: getRun
      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.agent.GetAgentRunRequest'
        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.agent.GetAgentRunResponse'
      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.agents.getRun({\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.agents.get_run()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.agent.AgentService/ListAgentRuns:
    post:
      tags:
      - AgentService
      summary: ListAgentRuns
      operationId: AgentService_ListAgentRuns
      x-speakeasy-group: agents
      x-speakeasy-name-override: listRuns
      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.agent.ListAgentRunsRequest'
        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.agent.ListAgentRunsResponse'
      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.agents.listRuns({\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.agents.list_runs()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.agent.AgentService/ListAgents:
    post:
      tags:
      - AgentService
      summary: ListAgents
      operationId: AgentService_ListAgents
      x-speakeasy-group: agents
      x-speakeasy-name-override: list
      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.agent.ListAgentsRequest'
        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.agent.ListAgentsResponse'
      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.agents.list({\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.agents.list()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.agent.AgentService/ResetAgentAvatar:
    post:
      tags:
      - AgentService
      summary: ResetAgentAvatar
      operationId: AgentService_ResetAgentAvatar
      x-speakeasy-group: agents
      x-speakeasy-name-override: resetAgentAvatar
      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.agent.ResetAgentAvatarRequest'
        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.agent.ResetAgentAvatarResponse'
      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.agents.resetAgentAvatar({\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.agents.reset_agent_avatar()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.agent.AgentService/TriggerAgent:
    post:
      tags:
      - AgentService
      summary: TriggerAgent
      operationId: AgentService_TriggerAgent
      x-speakeasy-group: agents
      x-speakeasy-name-override: triggerAgent
      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.agent.TriggerAgentRequest'
        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.agent.TriggerAgentResponse'
      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.agents.triggerAgent({\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.agents.trigger_agent()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.agent.AgentService/UpdateAgent:
    post:
      tags:
      - AgentService
      summary: UpdateAgent
      operationId: AgentService_UpdateAgent
      x-speakeasy-group: agents
      x-speakeasy-name-override: update
      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.agent.UpdateAgentRequest'
        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.agent.UpdateAgentResponse'
      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.agents.update({\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.agents.update()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.agent.AgentService/UploadAgentAvatar:
    post:
      tags:
      - AgentService
      summary: UploadAgentAvatar
      operationId: AgentService_UploadAgentAvatar
      x-speakeasy-group: agents
      x-speakeasy-name-override: uploadAgentAvatar
      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.agent.UploadAgentAvatarRequest'
        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.agent.UploadAgentAvatarResponse'
      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.agents.uploadAgentAvatar({\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.agents.upload_agent_avatar()\n\n    # Handle response\n    print(res)"
components:
  schemas:
    textql.rpc.public.chat.EgressSummary:
      type: object
      properties:
        totalCalls:
          type: integer
          title: total_calls
          format: int32
        outcomeCounts:
          type: object
          title: outcome_counts
          additionalProperties:
            type: integer
            title: value
            format: int32
        calls:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.chat.EgressCall'
          title: calls
      title: EgressSummary
      additionalProperties: false
    textql.rpc.public.agent.AgentRunTriggerGeo:
      type: object
      properties:
        city:
          type: string
          title: city
        region:
          type: string
          title: region
        country:
          type: string
          title: country
        countryCode:
          type: string
          title: country_code
      title: AgentRunTriggerGeo
      additionalProperties: false
    textql.rpc.public.agent.UploadAgentAvatarResponse:
      type: object
      properties:
        profileImageUrl:
          type: string
          title: profile_image_url
          description: Signed URL of the newly uploaded avatar.
      title: UploadAgentAvatarResponse
      additionalProperties: false
    textql.rpc.public.agent.CreateAgentRequest:
      type: object
      properties:
        name:
          type: string
          title: name
        prompt:
          type: string
          title: prompt
        paradigmOptions:
          title: paradigm_options
          nullable: true
          $ref: '#/components/schemas/textql.rpc.public.paradigm.ParadigmOptions'
        sourceSuggestionId:
          type: string
          title: source_suggestion_id
        slackChannelId:
          type: string
          title: slack_channel_id
          nullable: true
        slackDmUserIds:
          type: array
          items:
            type: string
          title: slack_dm_user_ids
        skipOrgDefaultChannel:
          type: boolean
          title: skip_org_default_channel
        llmModel:
          title: llm_model
          nullable: true
          $ref: '#/components/schemas/textql.rpc.public.chat.LlmModel'
        fastMode:
          type: boolean
          title: fast_mode
          nullable: true
        isStateful:
          type: boolean
          title: is_stateful
          nullable: true
        postingFrequencyCrons:
          type: array
          items:
            type: string
          title: posting_frequency_crons
        emailRecipientMemberIds:
          type: array
          items:
            type: string
          title: email_recipient_member_ids
        channelIds:
          type: array
          items:
            type: string
          title: channel_ids
        teamsChannelId:
          type: string
          title: teams_channel_id
          nullable: true
        teamsDmUserAadIds:
          type: array
          items:
            type: string
          title: teams_dm_user_aad_ids
        slackTrigger:
          title: slack_trigger
          nullable: true
          $ref: '#/components/schemas/textql.rpc.public.agent.SlackAgentTrigger'
        postingFrequencyCadences:
          type: array
          items:
            type: string
          title: posting_frequency_cadences
          description: "Index-aligned with posting_frequency_crons. A non-empty cadence\n (HOURLY/FOUR-HOUR/EIGHT-HOUR/DAILY/WEEKLY) marks a flexible schedule whose\n cron the backend generates; \"\" (or an empty list) means exact."
        callableAsSubagent:
          type: boolean
          title: callable_as_subagent
          description: "Unset defaults to true: new agents are delegatable unless the caller opts\n out. Mirrors allow_ad_hoc_subagents below."
          nullable: true
        subagentInvokerMemberIds:
          type: array
          items:
            type: string
          title: subagent_invoker_member_ids
        subagentInvokerRoleIds:
          type: array
          items:
            type: string
          title: subagent_invoker_role_ids
        feedEnabled:
          type: boolean
          title: feed_enabled
          nullable: true
        subagentAgentIds:
          type: array
          items:
            type: string
          title: subagent_agent_ids
        allowAdHocSubagents:
          type: boolean
          title: allow_ad_hoc_subagents
          nullable: true
      title: CreateAgentRequest
      additionalProperties: false
    textql.rpc.public.agent.Agent:
      type: object
      properties:
        id:
          type: string
          title: id
        name:
          type: string
          title: name
        prompt:
          type: string
          title: prompt
        isActive:
          type: boolean
          title: is_active
        lastPostAt:
          title: last_post_at
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        paradigmOptions:
          title: paradigm_options
          nullable: true
          $ref: '#/components/schemas/textql.rpc.public.paradigm.ParadigmOptions'
        postCount:
          type: integer
          title: post_count
          format: int32
        commentCount:
          type: integer
          title: comment_count
          format: int32
        voteCount:
          type: integer
          title: vote_count
          format: int32
        memberId:
          type: string
          title: member_id
        memberName:
          type: string
          title: member_name
        lastChatId:
          type: string
          title: last_chat_id
        hasWritePermission:
          type: boolean
          title: has_write_permission
          nullable: true
        slackChannelId:
          type: string
          title: slack_channel_id
          description: Notification delivery
          nullable: true
        slackDmUserIds:
          type: array
          items:
            type: string
          title: slack_dm_user_ids
        skipOrgDefaultChannel:
          type: boolean
          title: skip_org_default_channel
        llmModel:
          title: llm_model
          nullable: true
          $ref: '#/components/schemas/textql.rpc.public.chat.LlmModel'
        fastMode:
          type: boolean
          title: fast_mode
          nullable: true
        isStateful:
          type: boolean
          title: is_stateful
          description: whether or not we inject past run history
          nullable: true
        postingFrequencyCrons:
          type: array
          items:
            type: string
          title: posting_frequency_crons
        emailOutputEnabled:
          type: boolean
          title: email_output_enabled
        emailRecipientMemberIds:
          type: array
          items:
            type: string
          title: email_recipient_member_ids
        webhookTriggerId:
          type: string
          title: webhook_trigger_id
        channelIds:
          type: array
          items:
            type: string
          title: channel_ids
        teamsChannelId:
          type: string
          title: teams_channel_id
          nullable: true
        teamsDmUserAadIds:
          type: array
          items:
            type: string
          title: teams_dm_user_aad_ids
        slackTrigger:
          title: slack_trigger
          nullable: true
          $ref: '#/components/schemas/textql.rpc.public.agent.SlackAgentTrigger'
        profileImageUrl:
          type: string
          title: profile_image_url
        postingFrequencyCadences:
          type: array
          items:
            type: string
          title: posting_frequency_cadences
          description: "Index-aligned with posting_frequency_crons. Each entry is the flexible\n cadence (HOURLY/FOUR-HOUR/EIGHT-HOUR/DAILY/WEEKLY) the schedule came from,\n or \"\" when the schedule is an exact custom cron."
        callableAsSubagent:
          type: boolean
          title: callable_as_subagent
          description: "Whether this agent participates in the feed (posts/comments/engages, feed\n tools, feed persona prompt). Delivery config (channels, recipients, slack,\n teams) is only meaningful when true."
        subagentInvokerMemberIds:
          type: array
          items:
            type: string
          title: subagent_invoker_member_ids
        subagentInvokerRoleIds:
          type: array
          items:
            type: string
          title: subagent_invoker_role_ids
        feedEnabled:
          type: boolean
          title: feed_enabled
        subagentAgentIds:
          type: array
          items:
            type: string
          title: subagent_agent_ids
        allowAdHocSubagents:
          type: boolean
          title: allow_ad_hoc_subagents
      title: Agent
      additionalProperties: false
    textql.rpc.public.agent.GetAgentRunRequest:
      type: object
      properties:
        runId:
          type: string
          title: run_id
      title: GetAgentRunRequest
      additionalProperties: false
    textql.rpc.public.agent.GetAgentRequest:
      type: object
      properties:
        agentId:
  

# --- truncated at 32 KB (62 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/textql/refs/heads/main/openapi/textql-agentservice-api-openapi.yml