TextQL Playbook Service API

The PlaybookService API from TextQL — 39 operation(s) for playbookservice.

Operations 39

POST /textql.rpc.public.playbook.PlaybookService/AttachDashboard AttachDashboard #
POST /textql.rpc.public.playbook.PlaybookService/AttachDataset AttachDataset #
POST /textql.rpc.public.playbook.PlaybookService/CancelTemplateExecution Cancel template execution for a specific template header #
POST /textql.rpc.public.playbook.PlaybookService/CreatePlaybook CreatePlaybook #
POST /textql.rpc.public.playbook.PlaybookService/DeactivatePlaybook DeactivatePlaybook #
POST /textql.rpc.public.playbook.PlaybookService/DeletePlaybook DeletePlaybook #
POST /textql.rpc.public.playbook.PlaybookService/DemoPlaybook DemoPlaybook #
POST /textql.rpc.public.playbook.PlaybookService/DeployPlaybook DeployPlaybook #
POST /textql.rpc.public.playbook.PlaybookService/DuplicatePlaybook DuplicatePlaybook #
POST /textql.rpc.public.playbook.PlaybookService/FavoriteReport Favorite report management #
POST /textql.rpc.public.playbook.PlaybookService/GetActiveSubscribedPlaybooksCount GetActiveSubscribedPlaybooksCount #
POST /textql.rpc.public.playbook.PlaybookService/GetChatReportsSummary Lightweight endpoint for chat report drawer - returns summaries without full… #
POST /textql.rpc.public.playbook.PlaybookService/GetMembersWithPlaybooks GetMembersWithPlaybooks #
POST /textql.rpc.public.playbook.PlaybookService/GetPlaybook GetPlaybook #
POST /textql.rpc.public.playbook.PlaybookService/GetPlaybookBatchRun Get a specific batch run #
POST /textql.rpc.public.playbook.PlaybookService/GetPlaybookLineage GetPlaybookLineage #
POST /textql.rpc.public.playbook.PlaybookService/GetPlaybookReports GetPlaybookReports #
POST /textql.rpc.public.playbook.PlaybookService/GetPlaybookReportsBatch Get reports for multiple template data IDs in a single batch request #
POST /textql.rpc.public.playbook.PlaybookService/GetPlaybooks GetPlaybooks #
POST /textql.rpc.public.playbook.PlaybookService/GetPlaybooksPreviews GetPlaybooksPreviews #
POST /textql.rpc.public.playbook.PlaybookService/GetReportById Get a single report by ID #
POST /textql.rpc.public.playbook.PlaybookService/GetReportsWithFilters GetReportsWithFilters #
POST /textql.rpc.public.playbook.PlaybookService/ListAllSlackChannelContextPlaybooks List all Slack channels context playbook mappings for the organization #
POST /textql.rpc.public.playbook.PlaybookService/ListAllTeamsChannelContextPlaybooks ListAllTeamsChannelContextPlaybooks #
POST /textql.rpc.public.playbook.PlaybookService/ListPlaybookBatchRuns List batch runs for a playbook #
POST /textql.rpc.public.playbook.PlaybookService/ListSlackChannelsForContextPlaybook List Slack channel IDs where the given playbook is set as the context #
POST /textql.rpc.public.playbook.PlaybookService/ListTeamsChannelsForContextPlaybook ListTeamsChannelsForContextPlaybook #
POST /textql.rpc.public.playbook.PlaybookService/MarkReportAsRead Report read tracking #
POST /textql.rpc.public.playbook.PlaybookService/PreviewSlackReport PreviewSlackReport #
POST /textql.rpc.public.playbook.PlaybookService/RemoveDashboard RemoveDashboard #
POST /textql.rpc.public.playbook.PlaybookService/RemoveDataset RemoveDataset #
POST /textql.rpc.public.playbook.PlaybookService/RunPlaybook RunPlaybook #
POST /textql.rpc.public.playbook.PlaybookService/SetSlackChannelContextPlaybook Set the context playbook for a Slack channel. #
POST /textql.rpc.public.playbook.PlaybookService/SetTeamsChannelContextPlaybook SetTeamsChannelContextPlaybook #
POST /textql.rpc.public.playbook.PlaybookService/SubscribeToPlaybook SubscribeToPlaybook #
POST /textql.rpc.public.playbook.PlaybookService/UnsetSlackChannelContextPlaybook Unset the context playbook for a Slack channel. #
POST /textql.rpc.public.playbook.PlaybookService/UnsetTeamsChannelContextPlaybook UnsetTeamsChannelContextPlaybook #
POST /textql.rpc.public.playbook.PlaybookService/UnsubscribeFromPlaybook UnsubscribeFromPlaybook #
POST /textql.rpc.public.playbook.PlaybookService/UpdatePlaybook UpdatePlaybook #

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-playbookservice-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-playbookservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: TextQL Playbook 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: PlaybookService
paths:
  /textql.rpc.public.playbook.PlaybookService/AttachDashboard:
    post:
      tags:
      - PlaybookService
      summary: AttachDashboard
      operationId: PlaybookService_AttachDashboard
      x-speakeasy-group: playbooks
      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.playbook.PlaybookAttachDashboardRequest'
        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.playbook.PlaybookAttachDashboardResponse'
      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.playbooks.attachDashboard({\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.playbooks.attach_dashboard()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.playbook.PlaybookService/AttachDataset:
    post:
      tags:
      - PlaybookService
      summary: AttachDataset
      operationId: PlaybookService_AttachDataset
      x-speakeasy-group: playbooks
      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.playbook.PlaybookAttachDatasetRequest'
        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.playbook.PlaybookAttachDatasetResponse'
      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.playbooks.attachDataset({\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.playbooks.attach_dataset()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.playbook.PlaybookService/CancelTemplateExecution:
    post:
      tags:
      - PlaybookService
      summary: Cancel template execution for a specific template header
      operationId: PlaybookService_CancelTemplateExecution
      x-speakeasy-group: playbooks
      x-speakeasy-name-override: cancelTemplateExecution
      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.playbook.CancelTemplateExecutionRequest'
        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.playbook.CancelTemplateExecutionResponse'
      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.playbooks.cancelTemplateExecution({\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.playbooks.cancel_template_execution()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.playbook.PlaybookService/CreatePlaybook:
    post:
      tags:
      - PlaybookService
      summary: CreatePlaybook
      operationId: PlaybookService_CreatePlaybook
      x-speakeasy-group: playbooks
      x-speakeasy-name-override: createPlaybook
      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.playbook.CreatePlaybookRequest'
        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.playbook.CreatePlaybookResponse'
      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.playbooks.createPlaybook({\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.playbooks.create_playbook(body={})\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.playbook.PlaybookService/DeactivatePlaybook:
    post:
      tags:
      - PlaybookService
      summary: DeactivatePlaybook
      operationId: PlaybookService_DeactivatePlaybook
      x-speakeasy-group: playbooks
      x-speakeasy-name-override: deactivate
      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.playbook.DeactivatePlaybookRequest'
        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.playbooks.deactivate({\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.playbooks.deactivate()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.playbook.PlaybookService/DeletePlaybook:
    post:
      tags:
      - PlaybookService
      summary: DeletePlaybook
      operationId: PlaybookService_DeletePlaybook
      x-speakeasy-group: playbooks
      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.playbook.DeletePlaybookRequest'
        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.playbook.DeletePlaybookResponse'
      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.playbooks.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.playbooks.delete()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.playbook.PlaybookService/DemoPlaybook:
    post:
      tags:
      - PlaybookService
      summary: DemoPlaybook
      operationId: PlaybookService_DemoPlaybook
      x-speakeasy-group: playbooks
      x-speakeasy-name-override: demoPlaybook
      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.playbook.DemoPlaybookRequest'
        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.playbook.DemoPlaybookResponse'
      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.playbooks.demoPlaybook({\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.playbooks.demo_playbook()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.playbook.PlaybookService/DeployPlaybook:
    post:
      tags:
      - PlaybookService
      summary: DeployPlaybook
      operationId: PlaybookService_DeployPlaybook
      x-speakeasy-group: playbooks
      x-speakeasy-name-override: deploy
      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.playbook.DeployPlaybookRequest'
        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.playbook.DeployPlaybookResponse'
      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.playbooks.deploy({\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.playbooks.deploy()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.playbook.PlaybookService/DuplicatePlaybook:
    post:
      tags:
      - PlaybookService
      summary: DuplicatePlaybook
      operationId: PlaybookService_DuplicatePlaybook
      x-speakeasy-group: playbooks
      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.playbook.DuplicatePlaybookRequest'
        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.playbook.DuplicatePlaybookResponse'
      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.playbooks.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.playbooks.duplicate()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.playbook.PlaybookService/FavoriteReport:
    post:
      tags:
      - PlaybookService
      summary: Favorite report management
      operationId: PlaybookService_FavoriteReport
      x-speakeasy-group: playbooks
      x-speakeasy-name-override: favoriteReport
      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.playbook.FavoriteReportRequest'
        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.playbook.FavoriteReportResponse'
      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.playbooks.favoriteReport({\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.playbooks.favorite_report()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.playbook.PlaybookService/GetActiveSubscribedPlaybooksCount:
    post:
      tags:
      - PlaybookService
      summary: GetActiveSubscribedPlaybooksCount
      operationId: PlaybookService_GetActiveSubscribedPlaybooksCount
      x-speakeasy-group: playbooks
      x-speakeasy-name-override: getActiveSubscribedCount
      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.playbook.GetActiveSubscribedPlaybooksCountRequest'
        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.playbook.GetActiveSubscribedPlaybooksCountResponse'
      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.playbooks.getActiveSubscribedCount({\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.playbooks.get_active_subscribed_count(body={})\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.playbook.PlaybookService/GetChatReportsSummary:
    post:
      tags:
      - PlaybookService
      summary: Lightweight endpoint for chat report drawer - returns summaries without full…
      description: Lightweight endpoint for chat report drawer - returns summaries without full blocks
      operationId: PlaybookService_GetChatReportsSummary
      x-speakeasy-group: playbooks
      x-speakeasy-name-override: getChatReportsSummary
      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.playbook.GetChatReportsSummaryRequest'
        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.playbook.GetChatReportsSummaryResponse'
      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.playbooks.getChatReportsSummary({\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.playbooks.get_chat_reports_summary()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.playbook.PlaybookService/GetMembersWithPlaybooks:
    post:
      tags:
      - PlaybookService
      summary: GetMembersWithPlaybooks
      operationId: PlaybookService_GetMembersWithPlaybooks
      x-speakeasy-group: playbooks
      x-speakeasy-name-override: getMembersWith
      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.playbook.GetMembersWithPlaybooksRequest'
        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.playbook.GetMembersWithPlaybooksResponse'
      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.playbooks.getMembersWith({\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.playbooks.get_members_with(body={})\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.playbook.PlaybookService/GetPlaybook:
    post:
      tags:
      - PlaybookService
      summary: GetPlaybook
      operationId: PlaybookService_GetPlaybook
      x-speakeasy-group: playbooks
      x-speakeasy-name-override: fetch
      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.playbook.GetPlaybookRequest'
        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.playbook.GetPlaybookResponse'
      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.playbooks.fetch({\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.playbooks.fetch()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.playbook.PlaybookService/GetPlaybookBatchRun:
    post:
      tags:
      - PlaybookService
      summary: Get a specific batch run
      operationId: PlaybookService_GetPlaybookBatchRun
      x-speakeasy-group: playbooks
      x-speakeasy-name-override: getBatchRun
      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.playbook.GetPlaybookBatchRunRequest'
        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.playbook.GetPlaybookBatchRunResponse'
      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.playbooks.getBatchRun({\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.playbooks.get_batch_run()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.playbook.PlaybookService/GetPlaybookLineage:
    post:
      tags:
      - PlaybookService
      summary: GetPlaybookLineage
      operationId: PlaybookService_GetPlaybookLineage
      x-speakeasy-group: playbooks
      x-speakeasy-name-override: getPlaybookLineage
      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.playbook.GetPlaybookLineageRequest'
        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.playbook.GetPlaybookLineageResponse'
      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.playbooks.getPlaybookLineage({\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.playbooks.get_playbook_lineage()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.playbook.PlaybookService/GetPlaybookReports:
    post:
      tags:
      - PlaybookService
      summary: GetPlaybookReports
      operationId: PlaybookService_GetPlaybookReports
      x-speakeasy-group: playbooks
      x-speakeasy-name-override: getReports
      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.playbook.GetPlaybookReportsRequest'
        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.playbook.GetPlaybookReportsResponse'
      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.playbooks.getReports({\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.playbooks.get_reports()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.playbook.PlaybookService/GetPlaybookReportsBatch:
    post:
      tags:
      - PlaybookService
      summary: Get reports for multiple template data IDs in a single batch request
      operationId: PlaybookService_GetPlaybookReportsBatch
      x-speakeasy-group: playbooks
      x-speakeasy-name-override: getPlaybookReportsBatch
      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/schema

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