TextQL Textql.rpc.platform.Playbook Service API

Platform Playbook Service - External API for playbook management

Operations 7

POST /v1/playbooks/create CreatePlaybook #
POST /v1/playbooks/delete DeletePlaybook #
POST /v1/playbooks/deploy DeployPlaybook #
POST /v1/playbooks/get GetPlaybook #
POST /v1/playbooks/list ListPlaybooks #
POST /v1/playbooks/run RunPlaybook #
POST /v1/playbooks/update 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-textql-rpc-platform-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-textql-rpc-platform-playbookservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Textql.rpc.platform.Playbook Service API
  version: '1.0'
  description: Platform Playbook Service - External API for playbook management
security: []
tags:
- name: textql.rpc.platform.PlaybookService
  description: Platform Playbook Service - External API for playbook management
paths:
  /v1/playbooks/create:
    post:
      tags:
      - textql.rpc.platform.PlaybookService
      summary: CreatePlaybook
      operationId: textql.rpc.platform.PlaybookService.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.platform.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.platform.CreatePlaybookResponse'
  /v1/playbooks/delete:
    post:
      tags:
      - textql.rpc.platform.PlaybookService
      summary: DeletePlaybook
      operationId: textql.rpc.platform.PlaybookService.DeletePlaybook
      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.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.platform.DeletePlaybookResponse'
  /v1/playbooks/deploy:
    post:
      tags:
      - textql.rpc.platform.PlaybookService
      summary: DeployPlaybook
      operationId: textql.rpc.platform.PlaybookService.DeployPlaybook
      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.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.platform.DeployPlaybookResponse'
  /v1/playbooks/get:
    post:
      tags:
      - textql.rpc.platform.PlaybookService
      summary: GetPlaybook
      operationId: textql.rpc.platform.PlaybookService.GetPlaybook
      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.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.platform.GetPlaybookResponse'
  /v1/playbooks/list:
    post:
      tags:
      - textql.rpc.platform.PlaybookService
      summary: ListPlaybooks
      operationId: textql.rpc.platform.PlaybookService.ListPlaybooks
      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.ListPlaybooksRequest'
        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.ListPlaybooksResponse'
  /v1/playbooks/run:
    post:
      tags:
      - textql.rpc.platform.PlaybookService
      summary: RunPlaybook
      operationId: textql.rpc.platform.PlaybookService.RunPlaybook
      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.RunPlaybookRequest'
        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.RunPlaybookResponse'
  /v1/playbooks/update:
    post:
      tags:
      - textql.rpc.platform.PlaybookService
      summary: UpdatePlaybook
      operationId: textql.rpc.platform.PlaybookService.UpdatePlaybook
      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.UpdatePlaybookRequest'
        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.UpdatePlaybookResponse'
components:
  schemas:
    textql.rpc.public.common.SortDirection:
      type: string
      title: SortDirection
      enum:
      - SORT_DIRECTION_UNKNOWN
      - SORT_DIRECTION_ASC
      - SORT_DIRECTION_DESC
      description: Common enum for sort direction used across multiple services
    textql.rpc.platform.GetPlaybookResponse:
      type: object
      properties:
        playbook:
          title: playbook
          $ref: '#/components/schemas/textql.rpc.public.playbook.Playbook'
        reports:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.playbook.PlaybookReport'
          title: reports
        totalReportsCount:
          type: integer
          title: total_reports_count
          format: int32
      title: GetPlaybookResponse
      additionalProperties: false
    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.platform.UpdatePlaybookRequest:
      type: object
      properties:
        playbookId:
          type: string
          title: playbook_id
          minLength: 1
        name:
          type: string
          title: name
          nullable: true
        prompt:
          type: string
          title: prompt
          nullable: true
        status:
          title: status
          nullable: true
          $ref: '#/components/schemas/textql.rpc.public.playbook.PlaybookStatus'
        triggerType:
          title: trigger_type
          nullable: true
          $ref: '#/components/schemas/textql.rpc.public.playbook.PlaybookTriggerType'
        cronString:
          type: string
          title: cron_string
          nullable: true
        datasetIds:
          type: array
          items:
            type: string
          title: dataset_ids
        connectorId:
          exclusiveMinimum: 0
          type: integer
          title: connector_id
          format: int32
          nullable: true
        referenceReportId:
          type: string
          title: reference_report_id
          nullable: true
        paradigmOptions:
          title: paradigm_options
          nullable: true
          $ref: '#/components/schemas/textql.rpc.public.paradigm.ParadigmOptions'
        paradigmType:
          title: paradigm_type
          nullable: true
          $ref: '#/components/schemas/textql.rpc.paradigm_params.ParadigmType'
        emailAddresses:
          type: array
          items:
            type: string
          title: email_addresses
        slackChannelId:
          type: string
          title: slack_channel_id
          nullable: true
        taggedSlackUserIds:
          type: array
          items:
            type: string
          title: tagged_slack_user_ids
        reportOutputStyle:
          title: report_output_style
          nullable: true
          $ref: '#/components/schemas/textql.rpc.public.playbook.PlaybookReportStyle'
        templateHeaderId:
          type: string
          title: template_header_id
          nullable: true
        selectedTemplateDataIds:
          type: array
          items:
            type: string
          title: selected_template_data_ids
        maxConcurrentTemplates:
          type: integer
          title: max_concurrent_templates
          minimum: 1
          format: int32
          nullable: true
        autoOptimizeConcurrency:
          type: boolean
          title: auto_optimize_concurrency
          nullable: true
        connectorIds:
          type: array
          items:
            type: integer
            format: int32
          title: connector_ids
        llmModel:
          title: llm_model
          nullable: true
          $ref: '#/components/schemas/textql.rpc.public.chat.LlmModel'
      title: UpdatePlaybookRequest
      additionalProperties: false
    textql.rpc.public.reports.ListBlock:
      type: object
      properties:
        heading:
          type: string
          title: heading
          nullable: true
        items:
          type: array
          items:
            type: string
          title: items
      title: ListBlock
      additionalProperties: false
    textql.rpc.public.reports.ReportBlock:
      type: object
      oneOf:
      - properties:
          card:
            title: card
            $ref: '#/components/schemas/textql.rpc.public.reports.CardBlock'
        title: card
        required:
        - card
      - properties:
          divider:
            title: divider
            $ref: '#/components/schemas/textql.rpc.public.reports.DividerBlock'
        title: divider
        required:
        - divider
      - properties:
          hero:
            title: hero
            $ref: '#/components/schemas/textql.rpc.public.reports.HeroBlock'
        title: hero
        required:
        - hero
      - properties:
          image:
            title: image
            $ref: '#/components/schemas/textql.rpc.public.reports.ImageBlock'
        title: image
        required:
        - image
      - properties:
          imageText:
            title: image_text
            $ref: '#/components/schemas/textql.rpc.public.reports.ImageTextBlock'
        title: image_text
        required:
        - imageText
      - properties:
          list:
            title: list
            $ref: '#/components/schemas/textql.rpc.public.reports.ListBlock'
        title: list
        required:
        - list
      - properties:
          spacer:
            title: spacer
            $ref: '#/components/schemas/textql.rpc.public.reports.SpacerBlock'
        title: spacer
        required:
        - spacer
      - properties:
          text:
            title: text
            $ref: '#/components/schemas/textql.rpc.public.reports.TextBlock'
        title: text
        required:
        - text
      title: ReportBlock
      additionalProperties: false
    textql.rpc.platform.ListPlaybooksResponse:
      type: object
      properties:
        playbooks:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.playbook.Playbook'
          title: playbooks
        totalCount:
          type: integer
          title: total_count
          format: int32
      title: ListPlaybooksResponse
      additionalProperties: false
    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.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
    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.reports.DividerBlock:
      type: object
      title: DividerBlock
      additionalProperties: false
    textql.rpc.public.cells.ReportCell:
      type: object
      properties:
        subject:
          type: string
          title: subject
        summary:
          type: string
          title: summary
        blocks:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.reports.ReportBlock'
          title: blocks
        htmlPreview:
          type: string
          title: html_preview
        chatId:
          type: string
          title: chat_id
        reportId:
          type: string
          title: report_id
      title: ReportCell
      additionalProperties: false
    textql.rpc.platform.RunPlaybookRequest:
      type: object
      properties:
        playbookId:
          type: string
          title: playbook_id
          minLength: 1
        dryRun:
          type: boolean
          title: dry_run
        templateId:
          type: string
          title: template_id
          nullable: true
      title: RunPlaybookRequest
      additionalProperties: false
    textql.rpc.public.playbook.FilterCondition:
      type: object
      properties:
        field:
          type: string
          title: field
          description: JSON field name
        operator:
          type: string
          title: operator
          description: '"equals", "contains", "starts_with", "ends_with", "gt", "gte", "lt", "lte"'
        value:
          type: string
          title: value
          description: Value to filter by
      title: FilterCondition
      additionalProperties: false
      description: Filter condition for template data searches
    textql.rpc.public.playbook.PlaybookTriggerType:
      type: string
      title: PlaybookTriggerType
      enum:
      - TRIGGER_TYPE_UNKNOWN
      - TRIGGER_TYPE_CRON
      - TRIGGER_TYPE_WEBHOOK
    textql.rpc.public.playbook.PlaybookReport:
      type: object
      properties:
        id:
          type: string
          title: id
          description: UUID
        chatId:
          type: string
          title: chat_id
          description: UUID
        cellId:
          type: string
          title: cell_id
          description: UUID
        createdAt:
          title: created_at
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        subject:
          type: string
          title: subject
        summary:
          type: string
          title: summary
        blocks:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.reports.ReportBlock'
          title: blocks
        htmlPreview:
          type: string
          title: html_preview
        playbookId:
          type: string
          title: playbook_id
          description: UUID
        readAt:
          title: read_at
          description: When the current member read this report, not present if the current member hasn't read it
          nullable: true
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        playbookTemplateDataId:
          type: string
          title: playbook_template_data_id
          description: References UUID
          nullable: true
      title: PlaybookReport
      additionalProperties: false
    textql.rpc.platform.CreatePlaybookRequest:
      type: object
      title: CreatePlaybookRequest
      additionalProperties: false
    textql.rpc.public.reports.ImageBlock:
      type: object
      properties:
        imageUrl:
          type: string
          title: image_url
        imageAlt:
          type: string
          title: image_alt
          nullable: true
        variant:
          title: variant
          nullable: true
          $ref: '#/components/schemas/textql.rpc.public.reports.ImageVariant'
      title: ImageBlock
      additionalProperties: false
    textql.rpc.identity.MemberPreview:
      type: object
      properties:
        memberId:
          type: string
          title: member_id
        memberEmail:
          type: string
          title: member_email
          description: "the fields are optionally populated, depending on the context\n may require RPC fields such as `include_owner` to be set to true"
          nullable: true
        memberName:
          type: string
          title: member_name
          nullable: true
        memberPictureUrl:
          type: string
          title: member_picture_url
          nullable: true
      title: MemberPreview
      additionalProperties: false
    textql.rpc.public.reports.TextBlock:
      type: object
      properties:
        heading:
          type: string
          title: heading
          nullable: true
        content:
          type: string
          title: content
          nullable: true
      title: TextBlock
      additionalProperties: false
    textql.rpc.public.reports.HeroBlock:
      type: object
      properties:
        imageUrl:
          type: string
          title: image_url
        imageAlt:
          type: string
          title: image_alt
          nullable: true
      title: HeroBlock
      additionalProperties: false
    connect-timeout-header:
      type: number
      title: Connect-Timeout-Ms
      description: Define the timeout, in ms
    textql.rpc.public.playbook.PlaybookStatus:
      type: string
      title: PlaybookStatus
      enum:
      - STATUS_UNKNOWN
      - STATUS_ACTIVE
      - STATUS_INACTIVE
      - STATUS_EMPTY
      - ALL_PLAYBOOKS
    textql.rpc.platform.ListPlaybooksRequest:
      type: object
      properties:
        memberOnly:
          type: boolean
          title: member_only
        limit:
          type: integer
          title: limit
          maximum: 100
          minimum: 0
          format: int32
        offset:
          type: integer
          title: offset
          minimum: 0
          format: int32
        searchTerm:
          type: string
          title: search_term
          nullable: true
        statusFilter:
          title: status_filter
          nullable: true
          $ref: '#/components/schemas/textql.rpc.public.playbook.PlaybookStatus'
        creatorMemberId:
          type: string
          title: creator_member_id
          nullable: true
        sortBy:
          title: sort_by
          $ref: '#/components/schemas/textql.rpc.public.playbook.PlaybookSortField'
        sortDirection:
          title: sort_direction
          $ref: '#/components/schemas/textql.rpc.public.common.SortDirection'
        subscribedFirst:
          type: boolean
          title: subscribed_first
          nullable: true
      title: ListPlaybooksRequest
      additionalProperties: false
    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
    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.platform.DeletePlaybookResponse:
      type: object
      properties:
        playbookId:
          type: string
          title: playbook_id
        deletedAt:
          title: deleted_at
          $ref: '#/components/schemas/google.protobuf.Timestamp'
      title: DeletePlaybookResponse
      additionalProperties: false
    textql.rpc.public.reports.CardBlock:
      type: object
      properties:
        blocks:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.reports.ReportBlock'
          title: blocks
      title: CardBlock
      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.platform.DeployPlaybookRequest:
      type: object
      properties:
        playbookId:
          type: string
          title: playbook_id
          minLength: 1
      title: DeployPlaybookRequest
      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.platform.UpdatePlaybookResponse:
      type: object
      properties:
        playbook:
          title: playbook
          $ref: '#/components/schemas/textql.rpc.public.playbook.Playbook'
        updatedFields:
          type: array
          items:
            type: string
          title: updated_fields
        updatedAt:
          title: updated_at
          $ref: '#/components/schemas/google.protobuf.Timestamp'
      title: UpdatePlaybookResponse
      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.playbook.Playbook:
      type: object
      properties:
        id:
          type: string
          title: id
          description: UUID
        orgId:
          type: string
          title: org_id
        memberId:
          type: string
          title: member_id
          nullable: true
        connectorId:
          type: integer
          title: connector_id
          format: int32
          description: 'Deprecated: use connector_ids instead'
          nullable: true
          deprecated: true
        name:
          type: string
          title: name
        prompt:
          type: string
          title: prompt
        createdAt:
          title: created_at
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        updatedAt:
          title: updated_at
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        status:
          title: status
          $ref: '#/components/schemas/textql.rpc.public.playbook.PlaybookStatus'
        triggerType:
          title: trigger_type
          $ref: '#/components/schemas/textql.rpc.public.playbook.PlaybookTriggerType'
        cronString:
          type: string
          title: cron_string
          nullable: true
        datasetIds:
          type: array
          items:
            type: string
          title: dataset_ids
          description: List of UUIDs
        referenceReportId:
          type: string
          title: reference_report_id
          nullable: true
        latestChatId:
          type: string
          title: latest_chat_id
          nullable: true
        emailAddresses:
          type: array
          items:
            type: string
          title: email_addresses
        slackChannelId:
          type: string
          title: slack_channel_id
          nullable: true
        taggedSlackUserIds:
          type: array
          items:
            type: string
          title: tagged_slack_user_ids
        llmModel:
          title: llm_model
          nullable: true
          $ref: '#/components/schemas/textql.rpc.public.chat.LlmModel'
        paradigmOptions:
          title: paradigm_options
          $ref: '#/components/schemas/textql.rpc.public.paradigm.ParadigmOptions'
  

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