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

# Create Knowledge Base Data Source

> ### Description
Creates a knowledge base data source

### Details
This API can be used to create a knowledge base data source. To use this API, review the request schema and pass in all fields that are required to create a knowledge base data source.



## OpenAPI

````yaml https://app.stainlessapi.com/api/spec/documented/sgp/openapi.yml post /v4/knowledge-base-data-sources
openapi: 3.1.0
info:
  title: EGP API V4
  description: >-
    This is the parent API for all EGP APIs. If you are looking for the EGP API,
    please go to https://api.egp.scale.com/docs.
  contact:
    name: Scale Generative AI Platform
    url: https://scale.com/genai-platform
  version: 0.1.0
servers:
  - url: https://api.egp.scale.com
security: []
tags:
  - name: Models
    description: Model API.
paths:
  /v4/knowledge-base-data-sources:
    post:
      tags:
        - Knowledge Base Data Sources
      summary: Create Knowledge Base Data Source
      description: >-
        ### Description

        Creates a knowledge base data source


        ### Details

        This API can be used to create a knowledge base data source. To use this
        API, review the request schema and pass in all fields that are required
        to create a knowledge base data source.
      operationId: POST-V4-/knowledge-base-data-sources
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KnowledgeBaseDataSourceRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KnowledgeBaseDataSourceResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-codeSamples:
        - lang: Python
          source: >-
            import os

            from scale_gp import SGPClient


            client = SGPClient(
                api_key=os.environ.get("SGP_API_KEY"),  # This is the default and can be omitted
            )

            knowledge_base_data_source =
            client.knowledge_base_data_sources.create(
                account_id="account_id",
                data_source_config={
                    "aws_account_id": "aws_account_id",
                    "aws_region": "aws_region",
                    "s3_bucket": "s3_bucket",
                    "source": "S3",
                },
                name="name",
            )

            print(knowledge_base_data_source.id)
        - lang: Go
          source: "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/stainless-sdks/sgp-go\"\n\t\"github.com/stainless-sdks/sgp-go/option\"\n)\n\nfunc main() {\n\tclient := sgp.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\tknowledgeBaseDataSource, err := client.KnowledgeBaseDataSources.New(context.TODO(), sgp.KnowledgeBaseDataSourceNewParams{\n\t\tAccountID: sgp.F(\"account_id\"),\n\t\tDataSourceConfig: sgp.F[sgp.KnowledgeBaseDataSourceNewParamsDataSourceConfigUnion](sgp.S3DataSourceConfigParam{\n\t\t\tAwsAccountID: sgp.F(\"aws_account_id\"),\n\t\t\tAwsRegion:    sgp.F(\"aws_region\"),\n\t\t\tS3Bucket:     sgp.F(\"s3_bucket\"),\n\t\t\tSource:       sgp.F(sgp.S3DataSourceConfigSourceS3),\n\t\t}),\n\t\tName: sgp.F(\"name\"),\n\t})\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", knowledgeBaseDataSource.ID)\n}\n"
components:
  schemas:
    KnowledgeBaseDataSourceRequest:
      properties:
        name:
          type: string
          title: Name
        description:
          title: Description
          type: string
        data_source_config:
          $ref: '#/components/schemas/RemoteDataSourceConfig'
          can_patch: false
        data_source_auth_config:
          $ref: '#/components/schemas/DataSourceAuthConfig'
        tagging_information:
          $ref: '#/components/schemas/TaggingInformationAll'
          can_patch: true
        account_id:
          type: string
          title: Account Id
          description: The ID of the account that owns the given entity.
          can_patch: false
      type: object
      required:
        - name
        - data_source_config
        - account_id
      title: KnowledgeBaseDataSourceRequest
    KnowledgeBaseDataSourceResponse:
      properties:
        name:
          type: string
          title: Name
        description:
          title: Description
          type: string
        data_source_config:
          $ref: '#/components/schemas/RemoteDataSourceConfig'
          can_patch: false
        tagging_information:
          $ref: '#/components/schemas/TaggingInformationAll'
          can_patch: true
        id:
          type: string
          title: Id
          description: The unique identifier of the entity.
        created_at:
          type: string
          format: date-time
          title: Created At
          description: The date and time when the entity was created in ISO format.
        updated_at:
          type: string
          format: date-time
          title: Updated At
          description: The date and time when the entity was last updated in ISO format.
        created_by_user_id:
          type: string
          title: Created By User Id
          description: The user who originally created the entity.
        created_by_identity_type:
          $ref: '#/components/schemas/IdentifierTypeEnum'
          description: The type of identity that created the entity.
        account_id:
          type: string
          title: Account Id
          description: The ID of the account that owns the given entity.
          can_patch: false
      type: object
      required:
        - name
        - data_source_config
        - id
        - created_at
        - updated_at
        - created_by_user_id
        - created_by_identity_type
        - account_id
      title: KnowledgeBaseDataSourceResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    RemoteDataSourceConfig:
      oneOf:
        - $ref: '#/components/schemas/S3DataSourceConfig'
        - $ref: '#/components/schemas/SharePointDataSourceConfig'
        - $ref: '#/components/schemas/SharePointPageDataSourceConfig'
        - $ref: '#/components/schemas/GoogleDriveDataSourceConfig'
        - $ref: '#/components/schemas/AzureBlobStorageDataSourceConfig'
        - $ref: '#/components/schemas/GoogleCloudStorageDataSourceConfig'
        - $ref: '#/components/schemas/ConfluenceDataSourceConfig'
        - $ref: '#/components/schemas/SlackDataSourceConfig'
        - $ref: '#/components/schemas/SnowflakeDataSourceConfig'
        - $ref: '#/components/schemas/DatabricksDataSourceConfig'
        - $ref: '#/components/schemas/SQLDatabaseDataSourceConfig'
        - $ref: '#/components/schemas/MongoDBDataSourceConfig'
        - $ref: '#/components/schemas/BigQueryDataSourceConfig'
      title: RemoteDataSourceConfig
      discriminator:
        propertyName: source
        mapping:
          AzureBlobStorage:
            $ref: '#/components/schemas/AzureBlobStorageDataSourceConfig'
          BigQuery:
            $ref: '#/components/schemas/BigQueryDataSourceConfig'
          Confluence:
            $ref: '#/components/schemas/ConfluenceDataSourceConfig'
          Databricks:
            $ref: '#/components/schemas/DatabricksDataSourceConfig'
          GoogleCloudStorage:
            $ref: '#/components/schemas/GoogleCloudStorageDataSourceConfig'
          GoogleDrive:
            $ref: '#/components/schemas/GoogleDriveDataSourceConfig'
          MongoDB:
            $ref: '#/components/schemas/MongoDBDataSourceConfig'
          S3:
            $ref: '#/components/schemas/S3DataSourceConfig'
          SQLDatabase:
            $ref: '#/components/schemas/SQLDatabaseDataSourceConfig'
          SharePoint:
            $ref: '#/components/schemas/SharePointDataSourceConfig'
          SharePointPage:
            $ref: '#/components/schemas/SharePointPageDataSourceConfig'
          Slack:
            $ref: '#/components/schemas/SlackDataSourceConfig'
          Snowflake:
            $ref: '#/components/schemas/SnowflakeDataSourceConfig'
    DataSourceAuthConfig:
      oneOf:
        - $ref: '#/components/schemas/SharePointDataSourceAuthConfig'
        - $ref: '#/components/schemas/SharePointPageDataSourceAuthConfig'
        - $ref: '#/components/schemas/AzureBlobStorageDataSourceAuthConfig'
        - $ref: '#/components/schemas/GoogleCloudStorageDataSourceAuthConfig'
        - $ref: '#/components/schemas/GoogleDriveDataSourceAuthConfig'
        - $ref: '#/components/schemas/S3DataSourceAuthConfig'
        - $ref: '#/components/schemas/ConfluenceDataSourceAuthConfig'
        - $ref: '#/components/schemas/SlackDataSourceAuthConfig'
        - $ref: '#/components/schemas/SnowflakeDataSourceAuthConfig'
        - $ref: '#/components/schemas/DatabricksDataSourceAuthConfig'
        - $ref: '#/components/schemas/SQLDatabaseDataSourceAuthConfig'
        - $ref: '#/components/schemas/MongoDBDataSourceAuthConfig'
        - $ref: '#/components/schemas/BigQueryDataSourceAuthConfig'
      title: DataSourceAuthConfig
      discriminator:
        propertyName: source
        mapping:
          AzureBlobStorage:
            $ref: '#/components/schemas/AzureBlobStorageDataSourceAuthConfig'
          BigQuery:
            $ref: '#/components/schemas/BigQueryDataSourceAuthConfig'
          Confluence:
            $ref: '#/components/schemas/ConfluenceDataSourceAuthConfig'
          Databricks:
            $ref: '#/components/schemas/DatabricksDataSourceAuthConfig'
          GoogleCloudStorage:
            $ref: '#/components/schemas/GoogleCloudStorageDataSourceAuthConfig'
          GoogleDrive:
            $ref: '#/components/schemas/GoogleDriveDataSourceAuthConfig'
          MongoDB:
            $ref: '#/components/schemas/MongoDBDataSourceAuthConfig'
          S3:
            $ref: '#/components/schemas/S3DataSourceAuthConfig'
          SQLDatabase:
            $ref: '#/components/schemas/SQLDatabaseDataSourceAuthConfig'
          SharePoint:
            $ref: '#/components/schemas/SharePointDataSourceAuthConfig'
          SharePointPage:
            $ref: '#/components/schemas/SharePointPageDataSourceAuthConfig'
          Slack:
            $ref: '#/components/schemas/SlackDataSourceAuthConfig'
          Snowflake:
            $ref: '#/components/schemas/SnowflakeDataSourceAuthConfig'
    TaggingInformationAll:
      properties:
        type:
          type: string
          const: all
          title: Type
          default: all
        tags_to_apply:
          title: Tags To Apply
          additionalProperties: true
          type: object
      type: object
      title: TaggingInformationAll
    IdentifierTypeEnum:
      type: string
      enum:
        - user
        - service_account
      title: IdentifierTypeEnum
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
          additionalProperties: true
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    S3DataSourceConfig:
      properties:
        source:
          type: string
          const: S3
          title: Source
        s3_bucket:
          type: string
          title: S3 Bucket
          description: Name of the S3 bucket where the data is stored.
        s3_prefix:
          type: string
          title: S3 Prefix
          description: >-
            Prefix of the S3 bucket where the data is stored. If not specified,
            the entire bucket will be used.
          default: ''
        aws_region:
          type: string
          title: Aws Region
          description: AWS region where the S3 bucket is located.
        aws_account_id:
          type: string
          pattern: ^\d{12}$
          title: Aws Account Id
          description: AWS account ID that owns the S3 bucket.
      type: object
      required:
        - source
        - s3_bucket
        - aws_region
        - aws_account_id
      title: S3 DataSource Config
    SharePointDataSourceConfig:
      properties:
        source:
          type: string
          const: SharePoint
          title: Source
        client_id:
          type: string
          title: Client Id
          description: Client ID associated with this SharePoint site
        tenant_id:
          type: string
          title: Tenant Id
          description: Tenant ID that the SharePoint site is within
        site_id:
          type: string
          title: Site Id
          description: >-
            Site ID for this SharePoint site, can be found at
            https://[hostname].sharepoint.com/sites/[site name]/_api/site/id
        folder_path:
          title: Folder Path
          description: >-
            Nested folder path to read files from the root of the site. Please
            omit the leading slash. Example: 'Documents/sub_directory'
          default: ''
          type: string
        recursive:
          title: Recursive
          description: Recurse through the folder contents, default is True.
          default: true
          type: boolean
      type: object
      required:
        - source
        - client_id
        - tenant_id
        - site_id
      title: SharePoint DataSource Config
    SharePointPageDataSourceConfig:
      properties:
        source:
          type: string
          const: SharePointPage
          title: Source
        client_id:
          type: string
          title: Client Id
          description: Client ID associated with this SharePoint site
        tenant_id:
          type: string
          title: Tenant Id
          description: Tenant ID that the SharePoint site is within
        site_id:
          type: string
          title: Site Id
          description: Site ID for this SharePoint site
      type: object
      required:
        - source
        - client_id
        - tenant_id
        - site_id
      title: SharePoint Page DataSource Config
    GoogleDriveDataSourceConfig:
      properties:
        source:
          type: string
          const: GoogleDrive
          title: Source
        drive_id:
          type: string
          title: Drive Id
          description: ID associated with the Google Drive to retrieve contents from
      type: object
      required:
        - source
        - drive_id
      title: Google Drive DataSource Config
    AzureBlobStorageDataSourceConfig:
      properties:
        source:
          type: string
          const: AzureBlobStorage
          title: Source
        container_url:
          type: string
          title: Container Url
          description: >-
            The full URL of the container such as
            'https://your-account-name.blob.core.windows.net/your-container-name'
      type: object
      required:
        - source
        - container_url
      title: Azure Blob Storage DataSource Config
    GoogleCloudStorageDataSourceConfig:
      properties:
        source:
          type: string
          const: GoogleCloudStorage
          title: Source
        bucket:
          type: string
          title: Bucket
          description: Name of the Google Cloud Storage bucket where the data is stored.
        prefix:
          title: Prefix
          description: >-
            Prefix path within the Google Cloud Storage bucket. If not
            specified, the entire bucket will be used.
          type: string
        project_id:
          title: Project Id
          description: >-
            GCP project ID that owns the Google Cloud Storage bucket. If not
            specified, uses the default project.
          type: string
      type: object
      required:
        - source
        - bucket
      title: Google Cloud Storage DataSource Config
    ConfluenceDataSourceConfig:
      properties:
        source:
          type: string
          const: Confluence
          title: Source
        space_key:
          type: string
          title: Space Key
          description: >-
            Confluence space key to retrieve contents from. See
            https://support.atlassian.com/confluence-cloud/docs/choose-a-space-key
      type: object
      required:
        - source
        - space_key
      title: Confluence DataSource Config
    SlackDataSourceConfig:
      properties:
        source:
          type: string
          const: Slack
          title: Source
        channel_id:
          type: string
          title: Channel Id
          description: >-
            Slack Channel or Conversation ID to retrieve history from. Open
            channel details and find the ID at bottom of 'About' section.
      type: object
      required:
        - source
        - channel_id
      title: Slack DataSource Config
    SnowflakeDataSourceConfig:
      properties:
        source:
          type: string
          const: Snowflake
          title: Source
        account:
          type: string
          title: Account
          description: Snowflake account identifier
        user:
          type: string
          title: User
          description: Snowflake user name
      type: object
      required:
        - source
        - account
        - user
      title: Snowflake DataSource Config
    DatabricksDataSourceConfig:
      properties:
        source:
          type: string
          const: Databricks
          title: Source
        server_hostname:
          type: string
          title: Server Hostname
          description: Databricks server hostname
        http_path:
          type: string
          title: Http Path
          description: HTTP path for the Databricks cluster or SQL warehouse
      type: object
      required:
        - source
        - server_hostname
        - http_path
      title: Databricks DataSource Config
    SQLDatabaseDataSourceConfig:
      properties:
        source:
          type: string
          const: SQLDatabase
          title: Source
        dialect:
          type: string
          enum:
            - postgresql
            - mssql
            - sqlite
            - snowflake
          title: Dialect
          description: SQL dialect to use for connection
        host:
          title: Host
          description: Database server hostname or IP address
          type: string
        port:
          title: Port
          description: Database server port
          type: integer
        database:
          type: string
          title: Database
          description: Name of the database to connect to.
        username:
          title: Username
          description: Username for authentication
          type: string
        driver:
          title: Driver
          description: >-
            ODBC driver name for MSSQL connections. Defaults to 'ODBC Driver 18
            for SQL Server' if not specified.
          type: string
        ssl_mode:
          title: Ssl Mode
          description: SSL mode for PostgreSQL connections (e.g., 'require', 'verify-full')
          type: string
        connect_timeout:
          title: Connect Timeout
          description: Connection timeout in seconds
          default: 30
          type: integer
        connection_options:
          title: Connection Options
          description: >-
            Additional connection parameters appended to the URL (e.g.,
            {'sslrootcert': '/path/to/ca.pem', 'application_name': 'myapp'})
          additionalProperties:
            type: string
          type: object
        account:
          title: Account
          description: >-
            Snowflake account identifier (e.g., 'xy12345' or
            'xy12345.us-east-2.azure'). Do NOT include the
            '.snowflakecomputing.com' suffix.
          type: string
        warehouse:
          title: Warehouse
          description: >-
            Snowflake warehouse name for query execution. Required for
            Snowflake.
          type: string
        schema_name:
          title: Schema Name
          description: Snowflake schema name. Defaults to 'PUBLIC' if not specified.
          type: string
        role:
          title: Role
          description: >-
            Snowflake role for authentication. Uses the default role for the
            user if not specified.
          type: string
      type: object
      required:
        - source
        - dialect
        - database
      title: SQL Database DataSource Config
    MongoDBDataSourceConfig:
      properties:
        source:
          type: string
          const: MongoDB
          title: Source
        database:
          type: string
          title: Database
          description: Database name to connect to
        connect_timeout:
          title: Connect Timeout
          description: Connection timeout in seconds
          default: 30
          type: integer
      type: object
      required:
        - source
        - database
      title: MongoDB DataSource Config
    BigQueryDataSourceConfig:
      properties:
        source:
          type: string
          const: BigQuery
          title: Source
        project_id:
          type: string
          title: Project Id
          description: GCP project ID containing the BigQuery dataset(s) to query.
        location:
          title: Location
          description: >-
            BigQuery dataset location (e.g. 'US', 'EU', 'us-central1'). When
            omitted the client uses the project's default location.
          type: string
        connect_timeout:
          title: Connect Timeout
          description: Connection timeout in seconds for BigQuery API calls.
          default: 30
          type: integer
      type: object
      required:
        - source
        - project_id
      title: BigQuery DataSource Config
    SharePointDataSourceAuthConfig:
      properties:
        encrypted:
          type: boolean
          title: Encrypted
          default: false
        source:
          type: string
          const: SharePoint
          title: Source
        client_secret:
          type: string
          title: Client Secret
          description: Secret for the app registration associated with this SharePoint site
      type: object
      required:
        - source
        - client_secret
      title: SharePoint DataSource Auth Config
    SharePointPageDataSourceAuthConfig:
      properties:
        encrypted:
          type: boolean
          title: Encrypted
          default: false
        source:
          type: string
          const: SharePointPage
          title: Source
        client_secret:
          type: string
          title: Client Secret
          description: Secret for the app registration associated with this SharePoint site
      type: object
      required:
        - source
        - client_secret
      title: SharePoint Page DataSource Auth Config
    AzureBlobStorageDataSourceAuthConfig:
      properties:
        encrypted:
          type: boolean
          title: Encrypted
          default: false
        source:
          type: string
          const: AzureBlobStorage
          title: Source
        blob_sas_token:
          type: string
          title: Blob Sas Token
          description: Shared Access Signature token for the Azure Blob Storage container
      type: object
      required:
        - source
        - blob_sas_token
      title: Azure DataSource Auth Config
    GoogleCloudStorageDataSourceAuthConfig:
      properties:
        encrypted:
          type: boolean
          title: Encrypted
          default: false
        source:
          type: string
          const: GoogleCloudStorage
          title: Source
        impersonated_service_account_email:
          title: Impersonated Service Account Email
          description: >-
            Service account email to impersonate for Google Cloud Storage
            authentication. Similar to AWS AssumeRole. If provided, Scale will
            impersonate this service account using default credentials. If not
            provided, uses default credentials directly.
          type: string
      type: object
      required:
        - source
      title: Google Cloud Storage DataSource Auth Config
    GoogleDriveDataSourceAuthConfig:
      properties:
        encrypted:
          type: boolean
          title: Encrypted
          default: false
        source:
          type: string
          const: GoogleDrive
          title: Source
        client_email:
          type: string
          title: Client Email
          description: >-
            Client email to use for google drive, set to override client email
            set in env vars
        private_key:
          type: string
          title: Private Key
          description: >-
            Private key to use for google drive, set to override private key set
            in env vars
        token_uri:
          type: string
          title: Token Uri
          description: >-
            Token uri to use for google drive, set to override token uri set in
            env vars
        client_id:
          type: string
          title: Client Id
          description: >-
            Client id to use for google drive, set to override client id set in
            env vars
      type: object
      required:
        - source
        - client_email
        - private_key
        - token_uri
        - client_id
      title: Google Drive DataSource Auth Config
    S3DataSourceAuthConfig:
      properties:
        encrypted:
          type: boolean
          title: Encrypted
          default: false
        source:
          type: string
          const: S3
          title: Source
        s3_role:
          title: S3 Role
          description: >-
            Name of the role that a client will be initialized via AssumeRole of
            AWS sts
          type: string
        external_id:
          title: External Id
          description: External ID defined by the customer for the IAM role
          type: string
      type: object
      required:
        - source
      title: S3 DataSource Auth Config
    ConfluenceDataSourceAuthConfig:
      properties:
        encrypted:
          type: boolean
          title: Encrypted
          default: false
        source:
          type: string
          const: Confluence
          title: Source
        client_email:
          type: string
          title: Client Email
          description: >-
            Client email to use for Confluence, set to override client email set
            in env vars.
        api_key:
          type: string
          title: Api Key
          description: >-
            API key to use for Confluence, set this to override api key
            configured in env vars.
        atlassian_domain:
          type: string
          title: Atlassian Domain
          description: >-
            Your Confluence API server's full domain, set to override domain
            configured in env vars. E.g. 'https://[your-company].atlassian.net'
      type: object
      required:
        - source
        - client_email
        - api_key
        - atlassian_domain
      title: Confluence DataSource Auth Config
    SlackDataSourceAuthConfig:
      properties:
        encrypted:
          type: boolean
          title: Encrypted
          default: false
        source:
          type: string
          const: Slack
          title: Source
        bot_token:
          type: string
          title: Bot Token
          description: >-
            Your Slack app's Bot OAuth token. See
            https://api.slack.com/quickstart
      type: object
      required:
        - source
        - bot_token
      title: Slack DataSource Auth Config
    SnowflakeDataSourceAuthConfig:
      properties:
        encrypted:
          type: boolean
          title: Encrypted
          default: false
        source:
          type: string
          const: Snowflake
          title: Source
        password:
          type: string
          title: Password
          description: Password for Snowflake authentication
      type: object
      required:
        - source
        - password
      title: Snowflake DataSource Auth Config
    DatabricksDataSourceAuthConfig:
      properties:
        encrypted:
          type: boolean
          title: Encrypted
          default: false
        source:
          type: string
          const: Databricks
          title: Source
        access_token:
          type: string
          title: Access Token
          description: Databricks access token for authentication
      type: object
      required:
        - source
        - access_token
      title: Databricks DataSource Auth Config
    SQLDatabaseDataSourceAuthConfig:
      properties:
        encrypted:
          type: boolean
          title: Encrypted
          default: false
        source:
          type: string
          const: SQLDatabase
          title: Source
        password:
          type: string
          title: Password
          description: Password for database authentication
      type: object
      required:
        - source
        - password
      title: SQL Database DataSource Auth Config
    MongoDBDataSourceAuthConfig:
      properties:
        encrypted:
          type: boolean
          title: Encrypted
          default: false
        source:
          type: string
          const: MongoDB
          title: Source
        connection_uri:
          type: string
          title: Connection Uri
          description: MongoDB connection URI
      type: object
      required:
        - source
        - connection_uri
      title: MongoDB DataSource Auth Config
    BigQueryDataSourceAuthConfig:
      properties:
        encrypted:
          type: boolean
          title: Encrypted
          default: false
        source:
          type: string
          const: BigQuery
          title: Source
        impersonated_service_account_email:
          type: string
          title: Impersonated Service Account Email
          description: >-
            Service account email to impersonate for BigQuery authentication.
            When provided, Scale will impersonate this service account using
            default credentials (no secret material crosses the boundary).
            Mutually exclusive with service_account_json. NOTE: the host service
            account that ADC resolves on the EGP service must have
            roles/iam.serviceAccountTokenCreator on this target service account,
            otherwise BigQuery calls will fail with a 403 at query time.
          default: ''
        service_account_json:
          type: string
          title: Service Account Json
          description: >-
            Service account JSON key blob (the full contents of the downloaded
            key file). Used in environments where impersonation is not
            available. Mutually exclusive with
            impersonated_service_account_email.
          default: ''
      type: object
      required:
        - source
      title: BigQuery DataSource Auth Config

````