> ## Documentation Index
> Fetch the complete documentation index at: https://docs.textql.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Connector



## OpenAPI

````yaml api-reference/speakeasy/textql-api-with-code-samples.yaml POST /textql.rpc.public.connector.ConnectorService/GetConnector
openapi: 3.1.0
info:
  title: TextQL 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
security:
  - apiKey: []
tags:
  - name: DashboardService
  - name: AppService
    description: |-
      AppService manages data apps: the generative app execution primitive.
       An app is agent-authored single-file HTML/JS/CSS executing in a CSP sandbox,
       fed a snapshot of its declared data sources. First-class resource, not a dashboard.
  - name: ConnectorService
  - name: PowerBIService
  - name: TableauService
  - name: DatasetService
  - name: OntologyManagementService
  - name: ChatService
  - name: AgentService
  - name: AuditLogService
  - name: MCPService
  - name: MetricsExportService
  - name: ObservabilityService
  - name: PlaybookService
  - name: RBACService
    description: RBAC service for managing roles, permissions, and access control
  - name: SandboxAdminService
  - name: SandboxQueryService
  - name: SandboxCapabilityService
  - name: ScimService
  - name: SecretService
  - name: SlackService
  - name: TeamsService
paths:
  /textql.rpc.public.connector.ConnectorService/GetConnector:
    post:
      tags:
        - ConnectorService
      summary: GetConnector
      operationId: ConnectorService_GetConnector
      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.connector.GetConnectorRequest
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/textql.rpc.public.connector.GetConnectorResponse
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-codeSamples:
        - lang: python
          label: Python (SDK)
          source: |-
            import os
            from textql_sdk import Textql


            with Textql(
                api_key=os.getenv("TEXTQL_API_KEY", ""),
            ) as textql:

                res = textql.connectors.get()

                # Handle response
                print(res)
        - lang: typescript
          label: TypeScript (SDK)
          source: |-
            import { Textql } from "@textql/sdk";

            const textql = new Textql({
              apiKey: process.env["TEXTQL_API_KEY"] ?? "",
            });

            async function run() {
              const result = await textql.connectors.get({
                body: {},
              });

              console.log(result);
            }

            run();
components:
  schemas:
    connect-protocol-version:
      type: number
      title: Connect-Protocol-Version
      enum:
        - 1
      description: Define the version of the Connect protocol
      const: 1
      default: 1
    connect-timeout-header:
      type: number
      title: Connect-Timeout-Ms
      description: Define the timeout, in ms
    textql.rpc.public.connector.GetConnectorRequest:
      type: object
      properties:
        connectorId:
          type: integer
          title: connector_id
          format: int32
      title: GetConnectorRequest
      additionalProperties: false
    textql.rpc.public.connector.GetConnectorResponse:
      type: object
      properties:
        connector:
          $ref: '#/components/schemas/textql.rpc.public.connector.Connector'
          title: connector
      title: GetConnectorResponse
      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.public.connector.Connector:
      type: object
      allOf:
        - type: object
          properties:
            id:
              type: integer
              title: id
              format: int32
            name:
              type: string
              title: name
            connectorType:
              $ref: '#/components/schemas/textql.rpc.public.connector.ConnectorType'
              title: connector_type
            memberId:
              type: string
              title: member_id
            createdAt:
              $ref: '#/components/schemas/google.protobuf.Timestamp'
              title: created_at
            isExample:
              type: boolean
              title: is_example
            allowSqlWriteOperations:
              type: boolean
              title: allow_sql_write_operations
            authStrategy:
              type: string
              title: auth_strategy
            authenticatedByMemberId:
              type: string
              title: authenticated_by_member_id
            memberAuthenticated:
              type: boolean
              title: member_authenticated
              description: >-
                Per-member auth status for the requesting user (only set for
                per_member_oauth connectors)
              nullable: true
            memberAuthUsername:
              type: string
              title: member_auth_username
              nullable: true
            includeDbSessionMetadata:
              type: boolean
              title: include_db_session_metadata
            isPublic:
              type: boolean
              title: is_public
              description: >-
                Org-visible (db.ConnectorIsPublic): a public access row, or no
                access rows.
        - oneOf:
            - type: object
              properties:
                athenaMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.AthenaMetadata
                  title: athena_metadata
              title: athena_metadata
              required:
                - athenaMetadata
            - type: object
              properties:
                auroraMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.AuroraMetadata
                  title: aurora_metadata
              title: aurora_metadata
              required:
                - auroraMetadata
            - type: object
              properties:
                azureSynapseMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.AzureSynapseMetadata
                  title: azure_synapse_metadata
              title: azure_synapse_metadata
              required:
                - azureSynapseMetadata
            - type: object
              properties:
                bigqueryMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.BigQueryMetadata
                  title: bigquery_metadata
              title: bigquery_metadata
              required:
                - bigqueryMetadata
            - type: object
              properties:
                clickhouseMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.ClickHouseMetadata
                  title: clickhouse_metadata
              title: clickhouse_metadata
              required:
                - clickhouseMetadata
            - type: object
              properties:
                databricksMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.DatabricksMetadata
                  title: databricks_metadata
              title: databricks_metadata
              required:
                - databricksMetadata
            - type: object
              properties:
                dremioMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.DremioMetadata
                  title: dremio_metadata
              title: dremio_metadata
              required:
                - dremioMetadata
            - type: object
              properties:
                exasolMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.ExasolMetadata
                  title: exasol_metadata
              title: exasol_metadata
              required:
                - exasolMetadata
            - type: object
              properties:
                fireboltMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.FireboltMetadata
                  title: firebolt_metadata
              title: firebolt_metadata
              required:
                - fireboltMetadata
            - type: object
              properties:
                gmailMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.GmailMetadata
                  title: gmail_metadata
              title: gmail_metadata
              required:
                - gmailMetadata
            - type: object
              properties:
                googleCalendarMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.GoogleCalendarMetadata
                  title: google_calendar_metadata
              title: google_calendar_metadata
              required:
                - googleCalendarMetadata
            - type: object
              properties:
                googleDriveMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.GoogleDriveMetadata
                  title: google_drive_metadata
              title: google_drive_metadata
              required:
                - googleDriveMetadata
            - type: object
              properties:
                googleMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.GoogleMetadata
                  title: google_metadata
              title: google_metadata
              required:
                - googleMetadata
            - type: object
              properties:
                kdbMetadata:
                  $ref: '#/components/schemas/textql.rpc.public.connector.KdbMetadata'
                  title: kdb_metadata
              title: kdb_metadata
              required:
                - kdbMetadata
            - type: object
              properties:
                microsoft365Metadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.Microsoft365Metadata
                  title: microsoft_365_metadata
              title: microsoft_365_metadata
              required:
                - microsoft365Metadata
            - type: object
              properties:
                mongodbMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.MongoDBMetadata
                  title: mongodb_metadata
              title: mongodb_metadata
              required:
                - mongodbMetadata
            - type: object
              properties:
                motherduckMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.MotherduckMetadata
                  title: motherduck_metadata
              title: motherduck_metadata
              required:
                - motherduckMetadata
            - type: object
              properties:
                mysqlMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.MYSQLMetadata
                  title: mysql_metadata
              title: mysql_metadata
              required:
                - mysqlMetadata
            - type: object
              properties:
                oracleMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.OracleMetadata
                  title: oracle_metadata
              title: oracle_metadata
              required:
                - oracleMetadata
            - type: object
              properties:
                postgresMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.PostgresMetadata
                  title: postgres_metadata
              title: postgres_metadata
              required:
                - postgresMetadata
            - type: object
              properties:
                powerbiMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.PowerBIMetadata
                  title: powerbi_metadata
              title: powerbi_metadata
              required:
                - powerbiMetadata
            - type: object
              properties:
                redshiftMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.RedshiftMetadata
                  title: redshift_metadata
              title: redshift_metadata
              required:
                - redshiftMetadata
            - type: object
              properties:
                sapHanaMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.SAPHanaMetadata
                  title: sap_hana_metadata
              title: sap_hana_metadata
              required:
                - sapHanaMetadata
            - type: object
              properties:
                snowflakeMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.SnowflakeMetadata
                  title: snowflake_metadata
              title: snowflake_metadata
              required:
                - snowflakeMetadata
            - type: object
              properties:
                sqlServerMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.SQLServerMetadata
                  title: sql_server_metadata
              title: sql_server_metadata
              required:
                - sqlServerMetadata
            - type: object
              properties:
                supabaseMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.SupabaseMetadata
                  title: supabase_metadata
              title: supabase_metadata
              required:
                - supabaseMetadata
            - type: object
              properties:
                tableauMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.TableauMetadata
                  title: tableau_metadata
              title: tableau_metadata
              required:
                - tableauMetadata
            - type: object
              properties:
                trinoMetadata:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.connector.TrinoMetadata
                  title: trino_metadata
              title: trino_metadata
              required:
                - trinoMetadata
      title: Connector
      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.connector.ConnectorType:
      type: string
      title: ConnectorType
      enum:
        - CONNECTOR_TYPE_UNSPECIFIED
        - REDSHIFT
        - SNOWFLAKE
        - BIGQUERY
        - AZURE_SYNAPSE
        - AURORA
        - TABLEAU
        - DATABRICKS
        - SUPABASE
        - POSTGRES
        - MOTHERDUCK
        - CLICKHOUSE
        - MYSQL
        - ATHENA
        - GOOGLE_DRIVE
        - POWERBI
        - SQL_SERVER
        - MICROSOFT_365
        - SAP_HANA
        - ORACLE
        - GMAIL
        - ANA_INTERNAL
        - TRINO
        - GOOGLE_CALENDAR
        - GOOGLE
        - DREMIO
        - EXASOL
        - FIREBOLT
        - KDB
        - MONGODB
    google.protobuf.Timestamp:
      type: string
      examples:
        - '2023-01-15T01:30:15.01Z'
        - '2024-12-25T12:00:00Z'
      format: date-time
      description: >-
        A Timestamp represents a point in time independent of any time zone or
        local
         calendar, encoded as a count of seconds and fractions of seconds at
         nanosecond resolution. The count is relative to an epoch at UTC midnight on
         January 1, 1970, in the proleptic Gregorian calendar which extends the
         Gregorian calendar backwards to year one.

         All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
         second table is needed for interpretation, using a [24-hour linear
         smear](https://developers.google.com/time/smear).

         The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
         restricting to that range, we ensure that we can convert to and from [RFC
         3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.

         # Examples

         Example 1: Compute Timestamp from POSIX `time()`.

             Timestamp timestamp;
             timestamp.set_seconds(time(NULL));
             timestamp.set_nanos(0);

         Example 2: Compute Timestamp from POSIX `gettimeofday()`.

             struct timeval tv;
             gettimeofday(&tv, NULL);

             Timestamp timestamp;
             timestamp.set_seconds(tv.tv_sec);
             timestamp.set_nanos(tv.tv_usec * 1000);

         Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.

             FILETIME ft;
             GetSystemTimeAsFileTime(&ft);
             UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;

             // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
             // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
             Timestamp timestamp;
             timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
             timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));

         Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.

             long millis = System.currentTimeMillis();

             Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
                 .setNanos((int) ((millis % 1000) * 1000000)).build();

         Example 5: Compute Timestamp from Java `Instant.now()`.

             Instant now = Instant.now();

             Timestamp timestamp =
                 Timestamp.newBuilder().setSeconds(now.getEpochSecond())
                     .setNanos(now.getNano()).build();

         Example 6: Compute Timestamp from current time in Python.

             timestamp = Timestamp()
             timestamp.GetCurrentTime()

         # JSON Mapping

         In JSON format, the Timestamp type is encoded as a string in the
         [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
         format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
         where {year} is always expressed using four digits while {month}, {day},
         {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
         seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
         are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
         is required. A proto3 JSON serializer should always use UTC (as indicated by
         "Z") when printing the Timestamp type and a proto3 JSON parser should be
         able to accept both UTC and other timezones (as indicated by an offset).

         For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
         01:30 UTC on January 15, 2017.

         In JavaScript, one can convert a Date object to this format using the
         standard
         [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
         method. In Python, a standard `datetime.datetime` object can be converted
         to this format using
         [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
         the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
         the Joda Time's [`ISODateTimeFormat.dateTime()`](
         http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
         ) to obtain a formatter capable of generating timestamps in this format.
    textql.rpc.public.connector.AthenaMetadata:
      type: object
      properties:
        region:
          type: string
          title: region
        database:
          type: string
          title: database
        workgroup:
          type: string
          title: workgroup
        s3OutputLocation:
          type: string
          title: s3_output_location
        athenaAuth:
          $ref: >-
            #/components/schemas/textql.rpc.public.connector.AthenaMetadata.AthenaAuth
          title: athena_auth
        catalog:
          type: string
          title: catalog
      title: AthenaMetadata
      additionalProperties: false
    textql.rpc.public.connector.AuroraMetadata:
      type: object
      properties:
        host:
          type: string
          title: host
        port:
          type: integer
          title: port
          format: int32
        user:
          type: string
          title: user
        password:
          type: string
          title: password
        database:
          type: string
          title: database
        schema:
          type: string
          title: schema
        dialect:
          type: string
          title: dialect
        sslMode:
          type: boolean
          title: ssl_mode
        auroraAuth:
          $ref: >-
            #/components/schemas/textql.rpc.public.connector.AuroraMetadata.AuroraAuth
          title: aurora_auth
      title: AuroraMetadata
      additionalProperties: false
    textql.rpc.public.connector.AzureSynapseMetadata:
      type: object
      properties:
        host:
          type: string
          title: host
        port:
          type: integer
          title: port
          format: int32
        user:
          type: string
          title: user
        password:
          type: string
          title: password
        database:
          type: string
          title: database
        schema:
          type: string
          title: schema
        authType:
          type: string
          title: auth_type
        clientId:
          type: string
          title: client_id
        clientSecret:
          type: string
          title: client_secret
        tenantId:
          type: string
          title: tenant_id
      title: AzureSynapseMetadata
      additionalProperties: false
    textql.rpc.public.connector.BigQueryMetadata:
      type: object
      properties:
        projectId:
          type: string
          title: project_id
        datasetId:
          type: string
          title: dataset_id
        serviceAccountKey:
          type: string
          title: service_account_key
        regionQualifier:
          type: string
          title: region_qualifier
      title: BigQueryMetadata
      additionalProperties: false
    textql.rpc.public.connector.ClickHouseMetadata:
      type: object
      properties:
        host:
          type: string
          title: host
        port:
          type: integer
          title: port
          format: int32
        user:
          type: string
          title: user
        password:
          type: string
          title: password
        database:
          type: string
          title: database
        useSsl:
          type: boolean
          title: use_ssl
        protocol:
          type: string
          title: protocol
          description: '"http" or "native"'
      title: ClickHouseMetadata
      additionalProperties: false
    textql.rpc.public.connector.DatabricksMetadata:
      type: object
      properties:
        host:
          type: string
          title: host
        httpPath:
          type: string
          title: http_path
        port:
          type: integer
          title: port
          format: int32
        databricksAuth:
          $ref: >-
            #/components/schemas/textql.rpc.public.connector.DatabricksMetadata.DatabricksAuth
          title: databricks_auth
        catalog:
          type: string
          title: catalog
        schema:
          type: string
          title: schema
        enableTokenExchange:
          type: boolean
          title: enable_token_exchange
      title: DatabricksMetadata
      additionalProperties: false
    textql.rpc.public.connector.DremioMetadata:
      type: object
      properties:
        host:
          type: string
          title: host
        port:
          type: integer
          title: port
          format: int32
        user:
          type: string
          title: user
        password:
          type: string
          title: password
        token:
          type: string
          title: token
        projectId:
          type: string
          title: project_id
        spaces:
          type: array
          items:
            type: string
          title: spaces
        sslMode:
          type: boolean
          title: ssl_mode
      title: DremioMetadata
      additionalProperties: false
    textql.rpc.public.connector.ExasolMetadata:
      type: object
      properties:
        host:
          type: string
          title: host
        port:
          type: integer
          title: port
          format: int32
        user:
          type: string
          title: user
        password:
          type: string
          title: password
        database:
          type: string
          title: database
        schemas:
          type: array
          items:
            type: string
          title: schemas
        sslMode:
          type: boolean
          title: ssl_mode
        accessToken:
          type: string
          title: access_token
      title: ExasolMetadata
      additionalProperties: false
    textql.rpc.public.connector.FireboltMetadata:
      type: object
      properties:
        accountName:
          type: string
          title: account_name
        database:
          type: string
          title: database
        engineName:
          type: string
          title: engine_name
        clientId:
          type: string
          title: client_id
        clientSecret:
          type: string
          title: client_secret
        schemas:
          type: array
          items:
            type: string
          title: schemas
      title: FireboltMetadata
      additionalProperties: false
    textql.rpc.public.connector.GmailMetadata:
      type: object
      properties:
        accessToken:
          type: string
          title: access_token
        refreshToken:
          type: string
          title: refresh_token
        memberId:
          type: string
          title: member_id
        metadataOnly:
          type: boolean
          title: metadata_only
      title: GmailMetadata
      additionalProperties: false
    textql.rpc.public.connector.GoogleCalendarMetadata:
      type: object
      properties:
        accessToken:
          type: string
          title: access_token
        refreshToken:
          type: string
          title: refresh_token
        memberId:
          type: string
          title: member_id
        metadataOnly:
          type: boolean
          title: metadata_only
      title: GoogleCalendarMetadata
      additionalProperties: false
    textql.rpc.public.connector.GoogleDriveMetadata:
      type: object
      properties:
        accessToken:
          type: string
          title: access_token
        refreshToken:
          type: string
          title: refresh_token
        memberId:
          type: string
          title: member_id
      title: GoogleDriveMetadata
      additionalProperties: false
    textql.rpc.public.connector.GoogleMetadata:
      type: object
      properties:
        accessToken:
          type: string
          title: access_token
        refreshToken:
          type: string
          title: refresh_token
        memberId:
          type: string
          title: member_id
        gmailEnabled:
          type: boolean
          title: gmail_enabled
        calendarEnabled:
          type: boolean
          title: calendar_enabled
        metadataOnly:
          type: boolean
          title: metadata_only
        driveEnabled:
          type: boolean
          title: drive_enabled
        tokenExpiry:
          type: string
          title: token_expiry
      title: GoogleMetadata
      additionalProperties: false
    textql.rpc.public.connector.KdbMetadata:
      type: object
      properties:
        host:
          type: string
          title: host
        port:
          type: integer
          title: port
          format: int32
        user:
          type: string
          title: user
        password:
          type: string
          title: password
        tls:
          type: boolean
          title: tls
        sshTunnelEnabled:
          type: boolean
          title: ssh_tunnel_enabled
          description: SSH tunnel / bastion host fields
        sshHost:
          type: string
          title: ssh_host
        sshPort:
          type: integer
          title: ssh_port
          format: int32
        sshUser:
          type: string
          title: ssh_user
        sshPrivateKey:
          type: string
          title: ssh_private_key
        sshHostPublicKey:
          type: string
          title: ssh_host_public_key
      title: KdbMetadata
      additionalProperties: false
      description: >-
        KdbMetadata configures a kdb+ (kx/q) connector. kdb+ speaks its own
        binary IPC
         protocol (not SQL), so queries are qSQL strings; see pkg/connectors/kdbipc.
    textql.rpc.public.connector.Microsoft365Metadata:
      type: object
      properties:
        tenantId:
          type: string
          title: tenant_id
        clientId:
          type: string
          title: client_id
        clientSecret:
          type: string
          title: client_secret
        accessToken:
          type: string
          title: access_token
        refreshToken:
          type: string
          title: refresh_token
        memberId:
          type: string
          title: member_id
        tokenExpiry:
          type: string
          title: token_expiry
          description: ISO 8601 timestamp
        metadataOnly:
          type: boolean
          title: metadata_only
          description: When true, only email metadata is accessible (no body content)
        scopes:
          type: array
          items:
            type: string
          title: scopes
      title: Microsoft365Metadata
      additionalProperties: false
    textql.rpc.public.connector.MongoDBMetadata:
      type: object
      properties:
        host:
          type: string
          title: host
        port:
          type: integer
          title: port
          format: int32
        user:
          type: string
          title: user
        password:
          type: string
          title: password
        database:
          type: string
          title: database
          description: default database to query
        authSource:
          type: string
          title: auth_source
          description: authSource (e.g. "admin"); defaults to database when empty
        tls:
          type: boolean
          title: tls
        srv:
          type: boolean
          title: srv
          description: mongodb+srv connection (Atlas) — host is the cluster DNS name
      title: MongoDBMetadata
      additionalProperties: false
    textql.rpc.public.connector.MotherduckMetadata:
      type: object
      properties:
        token:
          type: string
          title: token
      title: MotherduckMetadata
      additionalProperties: false
    textql.rpc.public.connector.MYSQLMetadata:
      type: object
      properties:
        host:
          type: string
          title: host
        port:
          type: integer
          title: port
          format: int32
        user:
          type: string
          title: user
        password:
          type: string
          title: password
        database:
          type: string
          title: database
        schema:
          type: string
          title: schema
        sslMode:
          type: boolean
          title: ssl_mode
      title: MYSQLMetadata
      additionalProperties: false
    textql.rpc.public.connector.OracleMetadata:
      type: object
      properties:
        host:
          type: string
          title: host
        port:
          type: integer
          title: port
          format: int32
        user:
          type: string
          title: user
        password:
          type: string
          title: password
        serviceName:
          type: string
          title: service_name
        dialect:
          type: string
          title: dialect
        sslMode:
          type: boolean
          title: ssl_mode
        connectionType:
          type: string
          title: connection_type
        sid:
          type: string
          title: sid
        connectString:
          type: string
          title: connect_string
        walletZip:
          type: string
          title: wallet_zip
          description: Oracle Wallet fields
        walletPassword:
          type: string
          title: wallet_password
        tnsAlias:
          type: string
          title: tns_alias
          description: Optional - auto-detected from tnsnames.ora if not provided
      title: OracleMetadata
      additionalProperties: false
    textql.rpc.public.connector.PostgresMetadata:
      type: object
      properties:
        host:
          type: string
          title: host
        port:
          type: integer
          title: port
          format: int32
        user:
          type: string
          title: user
        password:
          type: string
          title: password
        database:
          type: string
          title: database
        schemas:
          type: array
          items:
            type: string
          title: schemas
        dialect:
          type: string
          title: dialect
        sslMode:
          type: boolean
          title: ssl_mode
        sshTunnelEnabled:
          type: boolean
          title: ssh_tunnel_enabled
          description: SSH tunnel / bastion host fields
        sshHost:
          type: string
          title: ssh_host
        sshPort:
          type: integer
          title: ssh_port
          format: int32
        sshUser:
          type: string
          title: ssh_user
        sshPrivateKey:
          type: string
          title: ssh_private_key
        sshHostPublicKey:
          type: string
          title: ssh_host_public_key
        secretsManagerSecretArn:
          type: string
          title: secrets_manager_secret_arn
        secretsManagerRoleArn:
          type: string
          title: secrets_manager_role_arn
        secretsManagerExternalId:
          type: string
          title: secrets_manager_external_id
      title: PostgresMetadata
      additionalProperties: false
    textql.rpc.public.connector.PowerBIMetadata:
      type: object
      properties:
        tenantId:
          type: string
          title: tenant_id
        clientId:
          type: string
          title: client_id
        clientSecret:
          type: string
          title: client_secret
        objectId:
          type: string
          title: object_id
          nullable: true
        roles:
          type: string
          title: roles
          nullable: true
      title: PowerBIMetadata
      additionalProperties: false
    textql.rpc.public.connector.RedshiftMetadata:
      type: object
      properties:
        host:
          type: string
          title: host
        port:
          type: integer
          title: port
          format: int32
        user:
          type: string
          title: user
        password:
          type: string
          title: password
        database:
          type: string
          title: database
        schemas:
          type: array
          items:
            type: string
          title: schemas
        dialect:
          type: string
          title: dialect
        sslMode:
          type: boolean
          title: ssl_mode
        authType:
          type: string
          title: auth_type
          description: PASSWORD, IAM_ROLE
        roleArn:
          type: string
          title: role_arn
        region:
          type: string
          title: region
        clusterId:
          type: string
          title: cluster_id
        groupFederation:
          type: boolean
          title: group_federation
        awsAccessKeyId:
          type: string
          title: aws_access_key_id
        awsSecretAccessKey:
          type: string
          title: aws_secret_access_key
      title: RedshiftMetadata
      additionalProperties: false
    textql.rpc.public.connector.SAPHanaMetadata:
      type: object
      properties:
        host:
          type: string
          title: host
        port:
          type: integer
          title: port
          format: int32
        user:
          type: string
          title: user
        password:
          type: string
          title: password
        database:
          type: string
          title: database
        schemas:
          type: array
          items:
            type: string
          title: schemas
        dialect:
          type: string
          title: dialect
        sslMode:
          type: boolean
          title: ssl_mode
        sapHanaCloud:
          type: boolean
          title: sap_hana_cloud
      title: SAPHanaMetadata
      additionalProperties: false
    textql.rpc.public.connector.SnowflakeMetadata:
      type: object
      properties:
        username:
          type: string
          title: username
        password:
          type: string
          title: password
        privateKey:
          type: string
          title: private_key
        privateKeyPassphrase:
          type: string
          title: private_key_passphrase
        role:
          type: string
          title: role
        schema:
          type: string
          title: schema
        locator:
          type: string
          title: locator
        database:
          type: string
          title: database
        warehouse:
          type: string
          title: warehouse
        oauthAccessToken:
          type: string
          title: oauth_access_token
          description: OAuth fields (used when auth_type = OAUTH)
        oauthRefreshToken:
          type: string
          title: oauth_refresh_token
        oauthClientId:
          type: string
          title: oauth_client_id
        oauthClientSecret:
          type: string
          title: oauth_client_secret
        enableSsoAuth:
          type: boolean
          title: enable_sso_auth
          description: >-
            SSO per-member auth (used when auth_strategy = PER_MEMBER_OAUTH)
            pass IdP token directly to Snowflake External OAuth
        tokenExchangeEndpoint:
          type: string
          title: token_exchange_endpoint
          description: IdP token exchange URL (RFC 8693)
        tokenExchangeAudience:
          type: string
          title: token_exchange_audience
          description: target audience for exchanged token
        tokenExchangeScope:
          type: string
          title: token_exchange_scope
          description: scope for exchanged token
      title: SnowflakeMetadata
      additionalProperties: false
    textql.rpc.public.connector.SQLServerMetadata:
      type: object
      properties:
        host:
          type: string
          title: host
        port:
          type: integer
          title: port
          format: int32
        user:
          type: string
          title: user
        password:
          type: string
          title: password
        database:
          type: string
          title: database
        schema:
          type: string
          title: schema
        sslMode:
          type: boolean
          title: ssl_mode
        authType:
          type: string
          title: auth_type
        krb5Realm:
          type: string
          title: krb5_realm
        krb5Config:
          type: string
          title: krb5_config
        krb5Keytab:
          type: string
          title: krb5_keytab
        krb5Spn:
          type: string
          title: krb5_spn
        clientCert:
          type: string
          title: client_cert
        clientKey:
          type: string
          title: client_key
        tenantId:
          type: string
          title: tenant_id
        clientId:
          type: string
          title: client_id
        clientSecret:
          type: string
          title: client_secret
      title: SQLServerMetadata
      additionalProperties: false
    textql.rpc.public.connector.SupabaseMetadata:
      type: object
      properties:
        host:
          type: string
          title: host
        port:
          type: integer
          title: port
          format: int32
        user:
          type: string
          title: user
        password:
          type: string
          title: password
        database:
          type: string
          title: database
        schemas:
          type: array
          items:
            type: string
          title: schemas
        dialect:
          type: string
          title: dialect
        sslMode:
          type: boolean
          title: ssl_mode
      title: SupabaseMetadata
      additionalProperties: false
    textql.rpc.public.connector.TableauMetadata:
      type: object
      properties:
        serverUrl:
          type: string
          title: server_url
        siteName:
          type: string
          title: site_name
        patName:
          type: string
          title: pat_name
        patSecret:
          type: string
          title: pat_secret
        connectedAppClientId:
          type: string
          title: connected_app_client_id
          description: >-
            Connected App credentials for view embedding. Optional, generated by
            system.
          nullable: true
        connectedAppSecretId:
          type: string
          title: connected_app_secret_id
          nullable: true
        connectedAppSecretValue:
          type: string
          title: connected_app_secret_value
          nullable: true
      title: TableauMetadata
      additionalProperties: false
    textql.rpc.public.connector.TrinoMetadata:
      type: object
      properties:
        host:
          type: string
          title: host
        port:
          type: integer
          title: port
          format: int32
        user:
          type: string
          title: user
        password:
          type: string
          title: password
        catalog:
          type: string
          title: catalog
        schema:
          type: string
          title: schema
        sslMode:
          type: boolean
          title: ssl_mode
        accessToken:
          type: string
          title: access_token
        skipTlsVerify:
          type: boolean
          title: skip_tls_verify
      title: TrinoMetadata
      additionalProperties: false
    textql.rpc.public.connector.AthenaMetadata.AthenaAuth:
      type: object
      oneOf:
        - type: object
          properties:
            accessKey:
              $ref: >-
                #/components/schemas/textql.rpc.public.connector.AthenaMetadata.AthenaAuth.AccessKeyCredentials
              title: access_key
          title: access_key
          required:
            - accessKey
        - type: object
          properties:
            iamRole:
              $ref: >-
                #/components/schemas/textql.rpc.public.connector.AthenaMetadata.AthenaAuth.IAMRoleCredentials
              title: iam_role
          title: iam_role
          required:
            - iamRole
      title: AthenaAuth
      additionalProperties: false
    textql.rpc.public.connector.AuroraMetadata.AuroraAuth:
      type: object
      properties:
        iamAuth:
          type: boolean
          title: iam_auth
        clusterId:
          type: string
          title: cluster_id
        region:
          type: string
          title: region
      title: AuroraAuth
      additionalProperties: false
    textql.rpc.public.connector.DatabricksMetadata.DatabricksAuth:
      type: object
      oneOf:
        - type: object
          properties:
            clientCredentials:
              $ref: >-
                #/components/schemas/textql.rpc.public.connector.DatabricksMetadata.DatabricksAuth.ClientCredentials
              title: client_credentials
          title: client_credentials
          required:
            - clientCredentials
        - type: object
          properties:
            oauthU2m:
              $ref: >-
                #/components/schemas/textql.rpc.public.connector.DatabricksMetadata.DatabricksAuth.OAuthU2M
              title: oauth_u2m
          title: oauth_u2m
          required:
            - oauthU2m
        - type: object
          properties:
            pat:
              $ref: >-
                #/components/schemas/textql.rpc.public.connector.DatabricksMetadata.DatabricksAuth.PersonalAccessToken
              title: pat
          title: pat
          required:
            - pat
      title: DatabricksAuth
      additionalProperties: false
    textql.rpc.public.connector.AthenaMetadata.AthenaAuth.AccessKeyCredentials:
      type: object
      properties:
        accessKeyId:
          type: string
          title: access_key_id
        secretAccessKey:
          type: string
          title: secret_access_key
      title: AccessKeyCredentials
      additionalProperties: false
    textql.rpc.public.connector.AthenaMetadata.AthenaAuth.IAMRoleCredentials:
      type: object
      properties:
        roleArn:
          type: string
          title: role_arn
        sessionName:
          type: string
          title: session_name
      title: IAMRoleCredentials
      additionalProperties: false
    textql.rpc.public.connector.DatabricksMetadata.DatabricksAuth.ClientCredentials:
      type: object
      properties:
        clientId:
          type: string
          title: client_id
        clientSecret:
          type: string
          title: client_secret
      title: ClientCredentials
      additionalProperties: false
    textql.rpc.public.connector.DatabricksMetadata.DatabricksAuth.OAuthU2M:
      type: object
      properties:
        clientId:
          type: string
          title: client_id
        clientSecret:
          type: string
          title: client_secret
      title: OAuthU2M
      additionalProperties: false
    textql.rpc.public.connector.DatabricksMetadata.DatabricksAuth.PersonalAccessToken:
      type: object
      properties:
        token:
          type: string
          title: token
      title: PersonalAccessToken
      additionalProperties: false
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: tql_api_key

````