TextQL Settings Service API

The SettingsService API from TextQL — 7 operation(s) for settingsservice.

Operations 7

POST /textql.rpc.public.settings.SettingsService/CheckMemberStatus CheckMemberStatus #
POST /textql.rpc.public.settings.SettingsService/DeleteOrganizationMember DeleteOrganizationMember #
POST /textql.rpc.public.settings.SettingsService/GetOrganizationSettings GetOrganizationSettings #
POST /textql.rpc.public.settings.SettingsService/InviteOrganizationMember InviteOrganizationMember #
POST /textql.rpc.public.settings.SettingsService/ListOrganizationMembers ListOrganizationMembers #
POST /textql.rpc.public.settings.SettingsService/UpdateOrganizationModelSettings UpdateOrganizationModelSettings #
POST /textql.rpc.public.settings.SettingsService/UpdateOrganizationSettings UpdateOrganizationSettings #

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-settingsservice-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-settingsservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: TextQL Settings 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: SettingsService
paths:
  /textql.rpc.public.settings.SettingsService/CheckMemberStatus:
    post:
      tags:
      - SettingsService
      summary: CheckMemberStatus
      operationId: SettingsService_CheckMemberStatus
      x-speakeasy-group: settings
      x-speakeasy-name-override: checkMemberStatus
      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.settings.CheckMemberStatusRequest'
        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.settings.CheckMemberStatusResponse'
      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.settings.checkMemberStatus({\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.settings.check_member_status()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.settings.SettingsService/DeleteOrganizationMember:
    post:
      tags:
      - SettingsService
      summary: DeleteOrganizationMember
      operationId: SettingsService_DeleteOrganizationMember
      x-speakeasy-group: settings
      x-speakeasy-name-override: deleteMember
      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.settings.DeleteOrganizationMemberRequest'
        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.settings.DeleteOrganizationMemberResponse'
      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.settings.deleteMember({\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.settings.delete_member()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.settings.SettingsService/GetOrganizationSettings:
    post:
      tags:
      - SettingsService
      summary: GetOrganizationSettings
      operationId: SettingsService_GetOrganizationSettings
      x-speakeasy-group: settings
      x-speakeasy-name-override: get
      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.settings.GetOrganizationSettingsRequest'
        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.settings.GetOrganizationSettingsResponse'
      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.settings.get({\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.settings.get(body={})\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.settings.SettingsService/InviteOrganizationMember:
    post:
      tags:
      - SettingsService
      summary: InviteOrganizationMember
      operationId: SettingsService_InviteOrganizationMember
      x-speakeasy-group: settings
      x-speakeasy-name-override: inviteMember
      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.settings.InviteOrganizationMemberRequest'
        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.settings.InviteOrganizationMemberResponse'
      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.settings.inviteMember({\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.settings.invite_member()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.settings.SettingsService/ListOrganizationMembers:
    post:
      tags:
      - SettingsService
      summary: ListOrganizationMembers
      operationId: SettingsService_ListOrganizationMembers
      x-speakeasy-group: settings
      x-speakeasy-name-override: listMembers
      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.settings.ListOrganizationMembersRequest'
        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.settings.ListOrganizationMembersResponse'
      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.settings.listMembers({\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.settings.list_members()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.settings.SettingsService/UpdateOrganizationModelSettings:
    post:
      tags:
      - SettingsService
      summary: UpdateOrganizationModelSettings
      operationId: SettingsService_UpdateOrganizationModelSettings
      x-speakeasy-group: settings
      x-speakeasy-name-override: updateModels
      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.settings.UpdateOrganizationModelSettingsRequest'
        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.settings.UpdateOrganizationModelSettingsResponse'
      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.settings.updateModels({\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.settings.update_models()\n\n    # Handle response\n    print(res)"
  /textql.rpc.public.settings.SettingsService/UpdateOrganizationSettings:
    post:
      tags:
      - SettingsService
      summary: UpdateOrganizationSettings
      operationId: SettingsService_UpdateOrganizationSettings
      x-speakeasy-group: settings
      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.settings.UpdateOrganizationSettingsRequest'
        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.settings.UpdateOrganizationSettingsResponse'
      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.settings.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.settings.update()\n\n    # Handle response\n    print(res)"
components:
  schemas:
    textql.rpc.auth.Organization:
      type: object
      properties:
        orgId:
          type: string
          title: org_id
        slackTeamId:
          type: string
          title: slack_team_id
          nullable: true
        slackKey:
          type: string
          title: slack_key
          nullable: true
        defaultConnectorId:
          type: integer
          title: default_connector_id
          format: int32
          description: 'Deprecated: use default_connector_ids instead'
          nullable: true
          deprecated: true
        limitDataVisibility:
          type: boolean
          title: limit_data_visibility
        requireAttached:
          type: boolean
          title: require_attached
          nullable: true
        organizationName:
          type: string
          title: organization_name
        createdAt:
          title: created_at
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        updatedAt:
          title: updated_at
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        organizationLogoUrl:
          type: string
          title: organization_logo_url
          nullable: true
        emailAllowedDomains:
          type: array
          items:
            type: string
          title: email_allowed_domains
        allowedAuthMethods:
          type: array
          items:
            type: string
          title: allowed_auth_methods
        theme:
          title: theme
          nullable: true
          $ref: '#/components/schemas/textql.rpc.auth.Theme'
        orgMeta:
          type: string
          title: org_meta
          nullable: true
        injectWholeOntologyDisableSearch:
          type: boolean
          title: inject_whole_ontology_disable_search
          nullable: true
        warning:
          type: string
          title: warning
          nullable: true
        publicPreview:
          type: boolean
          title: public_preview
        chatV5Cutover:
          type: boolean
          title: chat_v5_cutover
        defaultParadigmMode:
          title: default_paradigm_mode
          nullable: true
          $ref: '#/components/schemas/textql.rpc.paradigm_params.ParadigmType'
        secretsEnabled:
          type: boolean
          title: secrets_enabled
        emailPollingEnabled:
          type: boolean
          title: email_polling_enabled
          nullable: true
        logoUrl:
          type: string
          title: logo_url
          nullable: true
        brandName:
          type: string
          title: brand_name
          nullable: true
        paradigmParams:
          title: paradigm_params
          $ref: '#/components/schemas/textql.rpc.paradigm_params.ParadigmParams'
        defaultLlmModel:
          type: integer
          title: default_llm_model
          format: int32
          nullable: true
        preferredProvider:
          type: string
          title: preferred_provider
          nullable: true
        systemDefaultModel:
          type: integer
          title: system_default_model
          format: int32
          description: Model MODEL_DEFAULT resolves to for this org; SYSTEM_DEFAULT_MODEL env var can override it.
          nullable: true
        toolRestrictions:
          title: tool_restrictions
          nullable: true
          $ref: '#/components/schemas/textql.rpc.paradigm_params.ParadigmParams'
        consoleAccess:
          type: boolean
          title: console_access
          nullable: true
        defaultConnectorIds:
          type: array
          items:
            type: integer
            format: int32
          title: default_connector_ids
        hideToolCells:
          type: boolean
          title: hide_tool_cells
          nullable: true
        disableEmojis:
          type: boolean
          title: disable_emojis
          nullable: true
        hideExampleConnectors:
          type: boolean
          title: hide_example_connectors
          nullable: true
        trainingMode:
          type: boolean
          title: training_mode
          nullable: true
        dashboardsEnabled:
          type: boolean
          title: dashboards_enabled
          nullable: true
        billingAdminId:
          type: string
          title: billing_admin_id
          nullable: true
        methodologyEnabled:
          type: boolean
          title: methodology_enabled
          nullable: true
        allowAllApiAccess:
          type: boolean
          title: allow_all_api_access
          nullable: true
        feedEnabled:
          type: boolean
          title: feed_enabled
          nullable: true
        contextV3Enabled:
          type: boolean
          title: context_v3_enabled
          nullable: true
        bashEnabled:
          type: boolean
          title: bash_enabled
          nullable: true
        defaultRoutingEnabled:
          type: boolean
          title: default_routing_enabled
          nullable: true
        enabledModelIds:
          type: array
          items:
            type: integer
            format: int32
          title: enabled_model_ids
        restrictedModelIds:
          type: array
          items:
            type: integer
            format: int32
          title: restricted_model_ids
        restrictedFamilies:
          type: array
          items:
            type: string
          title: restricted_families
        discoverable:
          type: boolean
          title: discoverable
          nullable: true
        observabilityEnabled:
          type: boolean
          title: observability_enabled
          nullable: true
        notificationsEnabled:
          type: boolean
          title: notifications_enabled
          nullable: true
        clientDbOverrideEnabled:
          type: boolean
          title: client_db_override_enabled
          nullable: true
        contextReviewRequired:
          type: boolean
          title: context_review_required
          nullable: true
        googleConnectorEnabled:
          type: boolean
          title: google_connector_enabled
          nullable: true
        hideApiConnectors:
          type: boolean
          title: hide_api_connectors
          nullable: true
        fastModeEnabled:
          type: boolean
          title: fast_mode_enabled
          nullable: true
        maxThinkingEnabled:
          type: boolean
          title: max_thinking_enabled
          nullable: true
        sandboxStateRetentionDays:
          type: integer
          title: sandbox_state_retention_days
          format: int32
          nullable: true
        sandboxLeaseConfigEnabled:
          type: boolean
          title: sandbox_lease_config_enabled
          nullable: true
        deleteInactiveThreadsEnabled:
          type: boolean
          title: delete_inactive_threads_enabled
          nullable: true
        threadRetentionDays:
          type: integer
          title: thread_retention_days
          format: int32
          nullable: true
        threadHardDeleteGraceDays:
          type: integer
          title: thread_hard_delete_grace_days
          format: int32
          nullable: true
        deleteInactiveAppsEnabled:
          type: boolean
          title: delete_inactive_apps_enabled
          nullable: true
        appRetentionDays:
          type: integer
          title: app_retention_days
          format: int32
          nullable: true
        appHardDeleteGraceDays:
          type: integer
          title: app_hard_delete_grace_days
          format: int32
          nullable: true
        assetUrlExpiry:
          title: asset_url_expiry
          $ref: '#/components/schemas/textql.rpc.auth.AssetUrlExpiry'
        emailOutputEnabled:
          type: boolean
          title: email_output_enabled
          nullable: true
        defaultPlaybookPrivate:
          type: boolean
          title: default_playbook_private
          description: "Mirror of the email_output_enabled feature flag (in feature_flags table,\n not on the organization row). Surfaces in settings UIs alongside the\n org-row toggles."
          nullable: true
        defaultDashboardOutput:
          type: boolean
          title: default_dashboard_output
          nullable: true
        defaultMethodology:
          type: integer
          title: default_methodology
          format: int32
          nullable: true
        scimNewGroupDefaultRoleType:
          type: string
          title: scim_new_group_default_role_type
          description: "Org-wide default response methodology for new chats, as a\n textql.rpc.public.chat.Methodology enum value (int to avoid an import cycle\n with the public package). 0 = UNKNOWN/unset -> ADAPTIVE. Overridable\n per-member (Member.default_methodology) and per-chat."
          nullable: true
        groupsFeatureEnabled:
          type: boolean
          title: groups_feature_enabled
          nullable: true
        availableProviders:
          type: array
          items:
            type: string
          title: available_providers
        showTextqlUsage:
          type: boolean
          title: show_textql_usage
          nullable: true
        tracesEnabled:
          type: boolean
          title: traces_enabled
          description: "When true, the ANA_INTERNAL (\"TextQL Usage\") connector includes @textql.com\n staff activity in its usage views; when false (default) they are filtered out."
          nullable: true
        allowLlmDataRetention:
          type: boolean
          title: allow_llm_data_retention
          nullable: true
        soxDbSessionMetadataEnabled:
          type: boolean
          title: sox_db_session_metadata_enabled
          nullable: true
        smsEnabled:
          type: boolean
          title: sms_enabled
          nullable: true
        scimAssignDefaultRole:
          type: boolean
          title: scim_assign_default_role
          nullable: true
        migrationBannerDismissed:
          type: boolean
          title: migration_banner_dismissed
          nullable: true
        configMigrationsEnabled:
          type: boolean
          title: config_migrations_enabled
          description: dismiss legacy-context migration banner org-wide
          nullable: true
          deprecated: true
        sandboxObservabilityEnabled:
          type: boolean
          title: sandbox_observability_enabled
          description: 'Deprecated: superseded by config_objects_enabled (field 80); no longer populated.'
          nullable: true
        dataAppsEnabled:
          type: boolean
          title: data_apps_enabled
          nullable: true
        issuesEnabled:
          type: boolean
          title: issues_enabled
          description: Internal gate for the data apps feature (apps resource + html generative dashboards).
          nullable: true
        configObjectsEnabled:
          type: boolean
          title: config_objects_enabled
          nullable: true
        configObjectsPlaybooksEnabled:
          type: boolean
          title: config_objects_playbooks_enabled
          description: "config_objects feature_flags row: the umbrella half of the config-management predicate\n (library.ConfigManagedOrg = this flag AND the org already having a Library — the flag\n alone does not make an org config-managed). One switch for every object type and every\n config-managed-object behavior — Ana's authoring tools, the export RPC + capabilities,\n reconcile takeover, the lazy row-to-config migration. Supersedes\n config_migrations_enabled (field 74)."
          nullable: true
          deprecated: true
        configObjectsDashboardsEnabled:
          type: boolean
          title: config_objects_dashboards_enabled
          description: "Deprecated: never populated. config_objects_enabled (field 80) is the umbrella for every\n object type — config management is one-way, so a per-type switch that cannot\n un-migrate an object is either inert or actively harmful (ADR-0040). Retained only\n because proto/api is additive-only."
          nullable: true
          deprecated: true
        configAutofixEnabled:
          type: boolean
          title: config_autofix_enabled
          nullable: true
          deprecated: true
        helmChartVersion:
          type: string
          title: helm_chart_version
          description: "Deprecated: never populated. The autofix sweep no longer has a per-org opt-in — it runs for\n every org with the config-object checks surface on. Retained only because proto/api is additive-only."
          nullable: true
        spendTransparencyEnabled:
          type: boolean
          title: spend_transparency_enabled
          description: "Org-level opt-in: show dollar costs alongside ACU figures across the product.\n Which figures a given viewer sees is enforced separately, per-RPC."
          nullable: true
        sharingDisabled:
          type: boolean
          title: sharing_disabled
          nullable: true
        appWritebackAutoApproveEnabled:
          type: boolean
          title: app_writeback_auto_approve_enabled
          nullable: true
        subagentsEnabled:
          type: boolean
          title: subagents_enabled
          description: Auto-merge Data App editor writeback config patches (recommended on); when off the writeback opens a reviewable patch instead.
          nullable: true
      title: Organization
      additionalProperties: false
    textql.rpc.public.settings.DeleteOrganizationMemberRequest:
      type: object
      properties:
        orgId:
          type: string
          title: org_id
        memberId:
          type: string
          title: member_id
        hardDelete:
          type: boolean
          title: hard_delete
      title: DeleteOrganizationMemberRequest
      additionalProperties: false
    textql.rpc.auth.AssetUrlExpiry:
      type: string
      title: AssetUrlExpiry
      enum:
      - EXPIRY_NONE
      - EXPIRY_ONE_DAY
      - EXPIRY_SEVEN_DAYS
      - EXPIRY_THIRTY_DAYS
      - EXPIRY_ONE_YEAR
      - EXPIRY_FIFTEEN_MINUTES
      - EXPIRY_ONE_HOUR
      - EXPIRY_SIX_HOURS
      - EXPIRY_TWELVE_HOURS
      description: Values are the organization.asset_url_expiry column values — do not renumber.
    textql.rpc.public.settings.GetOrganizationSettingsResponse:
      type: object
      properties:
        organization:
          title: organization
          $ref: '#/components/schemas/textql.rpc.auth.Organization'
      title: GetOrganizationSettingsResponse
      additionalProperties: false
    textql.rpc.public.settings.InviteOrganizationMemberRequest:
      type: object
      properties:
        orgId:
          type: string
          title: org_id
        email:
          type: string
          title: email
        role:
          type: string
          title: role
          nullable: true
      title: InviteOrganizationMemberRequest
      additionalProperties: false
    textql.rpc.public.settings.ListOrganizationMembersRequest:
      type: object
      properties:
        orgId:
          type: string
          title: org_id
      title: ListOrganizationMembersRequest
      additionalProperties: false
    google.protobuf.BoolValue:
      type: boolean
      description: "Wrapper message for `bool`.\n\n The JSON representation for `BoolValue` is JSON `true` and `false`.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed."
    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.settings.CheckMemberStatusRequest:
      type: object
      properties:
        forceRefresh:
          type: boolean
          title: force_refresh
      title: CheckMemberStatusRequest
      additionalProperties: false
    textql.rpc.public.settings.UpdateOrganizationModelSettingsResponse:
      type: object
      properties:
        organization:
          title: organization
          $ref: '#/components/schemas/textql.rpc.auth.Organization'
      title: UpdateOrganizationModelSettingsResponse
      additionalProperties: false
    textql.rpc.public.settings.ListOrganizationMembersResponse:
      type: object
      properties:
        members:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.auth.Member'
          title: members
      title: ListOrganizationMembersResponse
      additionalProperties: false
    textql.rpc.public.settings.DeleteOrganizationMemberResponse:
      type: object
      properties:
        success:
          type: boolean
          title: success
      title: DeleteOrganizationMemberResponse
      additionalProperties: false
    textql.rpc.paradigm_params.ParadigmParams:
      type: object
      properties:
        webSearchEnabled:
          type: boolean
          title: web_search_enabled
        sqlEnabled:
          type: boolean
          title: sql_enabled
        ontologyEnabled:
          type: boolean
          title: ontology_enabled
        pythonEnabled:
          type: boolean
          title: python_enabled
        powerbiEnabled:
          type: boolean
          title: powerbi_enabled
        googleDriveEnabled:
          type: boolean
          title: google_drive_enabled
        formEditorEnabled:
          type: boolean
          title: form_editor_enabled
        tableauEnabled:
          type: boolean
          title: tableau_enabled
        fileUploadEnabled:
          type: boolean
          title: file_upload_enabled
        multipleConnectorMode:
          type: boolean
          title: multiple_connector_mode
          deprecated: true
        playbookToolsEnabled:
          type: boolean
          title: playbook_tools_enabled
        microsoft365Enabled:
          type: boolean
          title: microsoft_365_enabled
        bashEnabled:
          type: boolean
          title: bash_enabled
        javascriptEnabled:
          type: boolean
          title: javascript_enabled
        modelSwitchingEnabled:
          type: boolean
          title: model_switching_enabled
        feedExplorerEnabled:


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