> ## Documentation Index
> Fetch the complete documentation index at: https://lightdash-mintlify-9d6f9427.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Create project

> Create a new project in the organization



## OpenAPI

````yaml https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/projects
openapi: 3.0.0
info:
  title: Lightdash API
  version: 0.3249.0
  description: >
    Open API documentation for all public Lightdash API endpoints. #
    Authentication Before you get started, you might need to create a Personal
    Access Token to authenticate via the API. You can create a token by
    following this guide: https://docs.lightdash.com/references/personal_tokens
  license:
    name: MIT
  contact:
    name: Lightdash Support
    email: support@lightdash.com
    url: https://docs.lightdash.com/help-and-contact/contact/contact_info/
servers:
  - url: /
security: []
tags:
  - name: My Account
    description: These routes allow users to manage their own user account.
  - name: Organizations
    description: >-
      Each user is a member of a single organization. These routes allow users
      to manage their organization. Most actions are only available to admin
      users.
  - name: Projects
    description: >-
      Projects belong to a single organization. These routes allow users to
      manage their projects, browse content, and execute queries. Users inside
      an organization might have access to a project from an organization-level
      role or they might be granted access to a project directly.
  - name: Spaces
    description: >-
      Spaces allow you to organize charts and dashboards within a project. They
      also allow granular access to content by allowing you to create private
      spaces, which are only accessible to the creator and admins.
  - name: Roles & Permissions
    description: >-
      These routes allow users to manage roles and permissions for their
      organization.
    externalDocs:
      url: https://docs.lightdash.com/references/roles
  - name: Query
    description: >-
      These routes allow users to execute and manage queries against their data
      warehouse. This includes metric queries, SQL queries, and retrieving query
      results.
paths:
  /api/v1/org/projects:
    post:
      tags:
        - Organizations
      summary: Create project
      description: Create a new project in the organization
      operationId: CreateProject
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProjectOptionalCredentials'
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiSuccess_ApiCreateProjectResults_'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      security: []
components:
  schemas:
    CreateProjectOptionalCredentials:
      allOf:
        - $ref: '#/components/schemas/Omit_CreateProject.warehouseConnection_'
        - properties:
            warehouseConnection:
              $ref: '#/components/schemas/CreateWarehouseCredentials'
          type: object
    ApiSuccess_ApiCreateProjectResults_:
      properties:
        results:
          $ref: '#/components/schemas/ApiCreateProjectResults'
        status:
          type: string
          enum:
            - ok
          nullable: false
      required:
        - results
        - status
      type: object
    ApiErrorPayload:
      properties:
        error:
          properties:
            data:
              $ref: '#/components/schemas/AnyType'
              description: Optional data containing details of the error
            message:
              type: string
              description: A friendly message summarising the error
            name:
              type: string
              description: Unique name for the type of error
            statusCode:
              type: number
              format: integer
              description: HTTP status code
          required:
            - name
            - statusCode
          type: object
        status:
          type: string
          enum:
            - error
          nullable: false
      required:
        - error
        - status
      type: object
      description: |-
        The Error object is returned from the api any time there is an error.
        The message contains
    Omit_CreateProject.warehouseConnection_:
      $ref: >-
        #/components/schemas/Pick_CreateProject.Exclude_keyofCreateProject.warehouseConnection__
      description: Construct a type with the properties of T except for those in type K.
    CreateWarehouseCredentials:
      anyOf:
        - $ref: '#/components/schemas/CreateRedshiftCredentials'
        - $ref: '#/components/schemas/CreateBigqueryCredentials'
        - $ref: '#/components/schemas/CreatePostgresCredentials'
        - $ref: '#/components/schemas/CreateSnowflakeCredentials'
        - $ref: '#/components/schemas/CreateDatabricksCredentials'
        - $ref: '#/components/schemas/CreateTrinoCredentials'
        - $ref: '#/components/schemas/CreateClickhouseCredentials'
        - $ref: '#/components/schemas/CreateAthenaCredentials'
        - $ref: '#/components/schemas/CreateDuckdbCredentials'
    ApiCreateProjectResults:
      properties:
        contentCopyError:
          type: string
        hasContentCopy:
          type: boolean
        project:
          $ref: '#/components/schemas/Project'
      required:
        - hasContentCopy
        - project
      type: object
    AnyType:
      description: |-
        This AnyType is an alias for any
        The goal is to make it easier to identify any type in the codebase
        without having to eslint-disable all the time
        These are only used on legacy `any` types, don't use it for new types.
        This is added on a separate file to avoid circular dependencies.
    Pick_CreateProject.Exclude_keyofCreateProject.warehouseConnection__:
      properties:
        name:
          type: string
        type:
          $ref: '#/components/schemas/ProjectType'
        pinnedListUuid:
          type: string
        organizationWarehouseCredentialsUuid:
          type: string
        dbtConnection:
          $ref: '#/components/schemas/DbtProjectConfig'
        upstreamProjectUuid:
          type: string
        dbtVersion:
          $ref: '#/components/schemas/DbtVersionOption'
        projectDefaults:
          $ref: '#/components/schemas/ProjectDefaults'
        copyWarehouseConnectionFromUpstreamProject:
          type: boolean
        tableConfiguration:
          $ref: '#/components/schemas/CreateProjectTableConfiguration'
        copyContent:
          type: boolean
        expiresInHours:
          type: number
          format: double
      required:
        - name
        - type
        - dbtConnection
        - dbtVersion
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    CreateRedshiftCredentials:
      allOf:
        - $ref: '#/components/schemas/SshTunnelConfiguration'
        - properties:
            assumeRoleExternalId:
              type: string
            assumeRoleArn:
              type: string
            sessionToken:
              type: string
            secretAccessKey:
              type: string
            accessKeyId:
              type: string
            dbGroups:
              items:
                type: string
              type: array
            autoCreate:
              type: boolean
            workgroupName:
              type: string
            clusterIdentifier:
              type: string
            isServerless:
              type: boolean
            region:
              type: string
            authenticationType:
              $ref: '#/components/schemas/RedshiftAuthenticationType'
            timeoutSeconds:
              type: number
              format: double
            dataTimezone:
              type: string
            startOfWeek:
              allOf:
                - $ref: '#/components/schemas/WeekDay'
              nullable: true
            ra3Node:
              type: boolean
            sslmode:
              type: string
            keepalivesIdle:
              type: number
              format: double
            threads:
              type: number
              format: double
            schema:
              type: string
            dbname:
              type: string
            port:
              type: number
              format: double
            requireUserCredentials:
              type: boolean
            password:
              type: string
            user:
              type: string
            host:
              type: string
            type:
              $ref: '#/components/schemas/WarehouseTypes.REDSHIFT'
          required:
            - schema
            - dbname
            - port
            - user
            - host
            - type
          type: object
    CreateBigqueryCredentials:
      properties:
        accessUrl:
          type: string
        executionProject:
          type: string
        dataTimezone:
          type: string
        startOfWeek:
          allOf:
            - $ref: '#/components/schemas/WeekDay'
          nullable: true
        maximumBytesBilled:
          type: number
          format: double
        location:
          type: string
        retries:
          type: number
          format: double
        requireUserCredentials:
          type: boolean
        keyfileContents:
          $ref: '#/components/schemas/Record_string.string_'
        authenticationType:
          $ref: '#/components/schemas/BigqueryAuthenticationType'
        priority:
          type: string
          enum:
            - interactive
            - batch
        timeoutSeconds:
          type: number
          format: double
        threads:
          type: number
          format: double
        dataset:
          type: string
        project:
          type: string
        type:
          $ref: '#/components/schemas/WarehouseTypes.BIGQUERY'
      required:
        - keyfileContents
        - dataset
        - project
        - type
      type: object
    CreatePostgresCredentials:
      allOf:
        - $ref: '#/components/schemas/SshTunnelConfiguration'
        - $ref: '#/components/schemas/SslConfiguration'
        - properties:
            timeoutSeconds:
              type: number
              format: double
            dataTimezone:
              type: string
            startOfWeek:
              allOf:
                - $ref: '#/components/schemas/WeekDay'
              nullable: true
            role:
              type: string
            searchPath:
              type: string
            keepalivesIdle:
              type: number
              format: double
            threads:
              type: number
              format: double
            schema:
              type: string
            dbname:
              type: string
            port:
              type: number
              format: double
            requireUserCredentials:
              type: boolean
            password:
              type: string
            user:
              type: string
            host:
              type: string
            type:
              $ref: '#/components/schemas/WarehouseTypes.POSTGRES'
          required:
            - schema
            - dbname
            - port
            - password
            - user
            - host
            - type
          type: object
    CreateSnowflakeCredentials:
      properties:
        organizationWarehouseCredentialsUuid:
          type: string
        override:
          type: boolean
        timeoutSeconds:
          type: number
          format: double
        disableTimestampConversion:
          type: boolean
        quotedIdentifiersIgnoreCase:
          type: boolean
        dataTimezone:
          type: string
        startOfWeek:
          allOf:
            - $ref: '#/components/schemas/WeekDay'
          nullable: true
        accessUrl:
          type: string
        queryTag:
          type: string
        clientSessionKeepAlive:
          type: boolean
        threads:
          type: number
          format: double
        schema:
          type: string
        warehouse:
          type: string
        database:
          type: string
        role:
          type: string
        token:
          type: string
        refreshToken:
          type: string
        authenticationType:
          $ref: '#/components/schemas/SnowflakeAuthenticationType'
        privateKeyPass:
          type: string
        privateKey:
          type: string
        requireUserCredentials:
          type: boolean
        password:
          type: string
        user:
          type: string
        account:
          type: string
        type:
          $ref: '#/components/schemas/WarehouseTypes.SNOWFLAKE'
      required:
        - schema
        - warehouse
        - database
        - user
        - account
        - type
      type: object
    CreateDatabricksCredentials:
      properties:
        compute:
          items:
            properties:
              httpPath:
                type: string
              name:
                type: string
            required:
              - httpPath
              - name
            type: object
          type: array
        dataTimezone:
          type: string
        startOfWeek:
          allOf:
            - $ref: '#/components/schemas/WeekDay'
          nullable: true
        requireUserCredentials:
          type: boolean
        oauthClientSecret:
          type: string
        oauthClientId:
          type: string
        token:
          type: string
        refreshToken:
          type: string
        personalAccessToken:
          type: string
        authenticationType:
          $ref: '#/components/schemas/DatabricksAuthenticationType'
        httpPath:
          type: string
        serverHostName:
          type: string
        database:
          type: string
        catalog:
          type: string
        type:
          $ref: '#/components/schemas/WarehouseTypes.DATABRICKS'
      required:
        - httpPath
        - serverHostName
        - database
        - type
      type: object
    CreateTrinoCredentials:
      properties:
        dataTimezone:
          type: string
        startOfWeek:
          allOf:
            - $ref: '#/components/schemas/WeekDay'
          nullable: true
        source:
          type: string
        http_scheme:
          type: string
        schema:
          type: string
        dbname:
          type: string
        port:
          type: number
          format: double
        requireUserCredentials:
          type: boolean
        password:
          type: string
        user:
          type: string
        host:
          type: string
        type:
          $ref: '#/components/schemas/WarehouseTypes.TRINO'
      required:
        - http_scheme
        - schema
        - dbname
        - port
        - password
        - user
        - host
        - type
      type: object
    CreateClickhouseCredentials:
      properties:
        timeoutSeconds:
          type: number
          format: double
        dataTimezone:
          type: string
        startOfWeek:
          allOf:
            - $ref: '#/components/schemas/WeekDay'
          nullable: true
        secure:
          type: boolean
        schema:
          type: string
        port:
          type: number
          format: double
        requireUserCredentials:
          type: boolean
        password:
          type: string
        user:
          type: string
        host:
          type: string
        type:
          $ref: '#/components/schemas/WarehouseTypes.CLICKHOUSE'
      required:
        - schema
        - port
        - password
        - user
        - host
        - type
      type: object
    CreateAthenaCredentials:
      properties:
        dataTimezone:
          type: string
        startOfWeek:
          allOf:
            - $ref: '#/components/schemas/WeekDay'
          nullable: true
        requireUserCredentials:
          type: boolean
        numRetries:
          type: number
          format: double
        threads:
          type: number
          format: double
        workGroup:
          type: string
        assumeRoleExternalId:
          type: string
        assumeRoleArn:
          type: string
        secretAccessKey:
          type: string
        accessKeyId:
          type: string
        authenticationType:
          $ref: '#/components/schemas/AthenaAuthenticationType'
        s3DataDir:
          type: string
        s3StagingDir:
          type: string
        schema:
          type: string
        database:
          type: string
        region:
          type: string
        type:
          $ref: '#/components/schemas/WarehouseTypes.ATHENA'
      required:
        - s3StagingDir
        - schema
        - database
        - region
        - type
      type: object
    CreateDuckdbCredentials:
      anyOf:
        - $ref: '#/components/schemas/CreateDuckdbMotherduckCredentials'
        - $ref: '#/components/schemas/CreateDuckdbDucklakeCredentials'
    Project:
      properties:
        expiresAt:
          type: string
          format: date-time
          nullable: true
        colorPaletteUuid:
          type: string
          nullable: true
        projectDefaults:
          $ref: '#/components/schemas/ProjectDefaults'
        hasDefaultUserSpaces:
          type: boolean
        organizationWarehouseCredentialsUuid:
          type: string
        createdByUserUuid:
          type: string
          nullable: true
        schedulerFailureContactOverride:
          type: string
          nullable: true
        schedulerFailureIncludeContact:
          type: boolean
        schedulerFailureNotifyRecipients:
          type: boolean
        useProjectTimezoneInFilters:
          type: boolean
        queryTimezone:
          type: string
          nullable: true
        schedulerTimezone:
          type: string
        dbtVersion:
          $ref: '#/components/schemas/DbtVersionOption'
        upstreamProjectUuid:
          type: string
        pinnedListUuid:
          type: string
        warehouseConnection:
          $ref: '#/components/schemas/WarehouseCredentials'
        dbtConnection:
          $ref: '#/components/schemas/DbtProjectConfig'
        type:
          $ref: '#/components/schemas/ProjectType'
        name:
          type: string
        projectUuid:
          type: string
        organizationUuid:
          type: string
      required:
        - expiresAt
        - colorPaletteUuid
        - hasDefaultUserSpaces
        - createdByUserUuid
        - schedulerFailureContactOverride
        - schedulerFailureIncludeContact
        - schedulerFailureNotifyRecipients
        - useProjectTimezoneInFilters
        - queryTimezone
        - schedulerTimezone
        - dbtVersion
        - dbtConnection
        - type
        - name
        - projectUuid
        - organizationUuid
      type: object
    ProjectType:
      enum:
        - DEFAULT
        - PREVIEW
      type: string
    DbtProjectConfig:
      anyOf:
        - $ref: '#/components/schemas/DbtLocalProjectConfig'
        - $ref: '#/components/schemas/DbtCloudIDEProjectConfig'
        - $ref: '#/components/schemas/DbtGithubProjectConfig'
        - $ref: '#/components/schemas/DbtBitBucketProjectConfig'
        - $ref: '#/components/schemas/DbtGitlabProjectConfig'
        - $ref: '#/components/schemas/DbtAzureDevOpsProjectConfig'
        - $ref: '#/components/schemas/DbtNoneProjectConfig'
        - $ref: '#/components/schemas/DbtManifestProjectConfig'
    DbtVersionOption:
      anyOf:
        - $ref: '#/components/schemas/SupportedDbtVersions'
        - $ref: '#/components/schemas/DbtVersionOptionLatest'
    ProjectDefaults:
      properties:
        additional_time_intervals:
          properties:
            timestamp:
              items:
                anyOf:
                  - $ref: '#/components/schemas/TimeFrames'
                  - type: string
              type: array
            date:
              items:
                anyOf:
                  - $ref: '#/components/schemas/TimeFrames'
                  - type: string
              type: array
          type: object
          description: >-
            Extra time intervals appended to the built-in defaults for
            date/timestamp

            dimensions that do not declare their own `time_intervals`. Values
            may be

            standard granularities (e.g. `hour`) or `custom_granularities` keys.
        column_totals:
          type: boolean
          description: |-
            Default behavior for column totals in results tables.
            When false, the extra warehouse query that calculates column totals
            is not run by default for new queries. Charts that explicitly enable
            "Show column totals" still calculate them.
            Defaults to true if not specified.
        case_sensitive:
          type: boolean
          description: |-
            Default case sensitivity for string filters across the project.
            When false, all string filters will be case insensitive by default.
            Can be overridden at explore or field level.
            Defaults to true if not specified.
      type: object
      description: >-
        Project-wide default settings that can be overridden at explore or field
        level
    CreateProjectTableConfiguration:
      enum:
        - prod
        - all
      type: string
    SshTunnelConfiguration:
      properties:
        sshTunnelPrivateKey:
          type: string
        sshTunnelPublicKey:
          type: string
        sshTunnelUser:
          type: string
        sshTunnelPort:
          type: number
          format: double
        sshTunnelHost:
          type: string
        useSshTunnel:
          type: boolean
      type: object
    RedshiftAuthenticationType:
      enum:
        - password
        - iam
      type: string
    WeekDay:
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
      type: number
    WarehouseTypes.REDSHIFT:
      enum:
        - redshift
      type: string
    Record_string.string_:
      properties: {}
      additionalProperties:
        type: string
      type: object
      description: Construct a type with a set of properties K of type T
    BigqueryAuthenticationType:
      enum:
        - sso
        - private_key
        - adc
      type: string
    WarehouseTypes.BIGQUERY:
      enum:
        - bigquery
      type: string
    SslConfiguration:
      properties:
        sslrootcert:
          type: string
          nullable: true
        sslrootcertFileName:
          type: string
        sslkey:
          type: string
          nullable: true
        sslkeyFileName:
          type: string
        sslcert:
          type: string
          nullable: true
        sslcertFileName:
          type: string
        sslmode:
          type: string
      type: object
    WarehouseTypes.POSTGRES:
      enum:
        - postgres
      type: string
    SnowflakeAuthenticationType:
      enum:
        - password
        - private_key
        - sso
        - external_browser
        - none
      type: string
    WarehouseTypes.SNOWFLAKE:
      enum:
        - snowflake
      type: string
    DatabricksAuthenticationType:
      enum:
        - personal_access_token
        - oauth_m2m
        - oauth_u2m
      type: string
    WarehouseTypes.DATABRICKS:
      enum:
        - databricks
      type: string
    WarehouseTypes.TRINO:
      enum:
        - trino
      type: string
    WarehouseTypes.CLICKHOUSE:
      enum:
        - clickhouse
      type: string
    AthenaAuthenticationType:
      enum:
        - access_key
        - iam_role
      type: string
    WarehouseTypes.ATHENA:
      enum:
        - athena
      type: string
    CreateDuckdbMotherduckCredentials:
      properties:
        dataTimezone:
          type: string
        startOfWeek:
          allOf:
            - $ref: '#/components/schemas/WeekDay'
          nullable: true
        requireUserCredentials:
          type: boolean
        threads:
          type: number
          format: double
        token:
          type: string
        schema:
          type: string
        database:
          type: string
        connectionType:
          $ref: '#/components/schemas/DuckdbConnectionType.MOTHERDUCK'
        type:
          $ref: '#/components/schemas/WarehouseTypes.DUCKDB'
      required:
        - token
        - schema
        - database
        - connectionType
        - type
      type: object
    CreateDuckdbDucklakeCredentials:
      properties:
        dataTimezone:
          type: string
        startOfWeek:
          allOf:
            - $ref: '#/components/schemas/WeekDay'
          nullable: true
        requireUserCredentials:
          type: boolean
        threads:
          type: number
          format: double
        catalogAlias:
          type: string
        schema:
          type: string
        dataPath:
          $ref: '#/components/schemas/CreateDucklakeDataPath'
        catalog:
          $ref: '#/components/schemas/CreateDucklakeCatalog'
        connectionType:
          $ref: '#/components/schemas/DuckdbConnectionType.DUCKLAKE'
        type:
          $ref: '#/components/schemas/WarehouseTypes.DUCKDB'
      required:
        - schema
        - dataPath
        - catalog
        - connectionType
        - type
      type: object
    WarehouseCredentials:
      anyOf:
        - $ref: '#/components/schemas/SnowflakeCredentials'
        - $ref: '#/components/schemas/RedshiftCredentials'
        - $ref: '#/components/schemas/PostgresCredentials'
        - $ref: '#/components/schemas/BigqueryCredentials'
        - $ref: '#/components/schemas/DatabricksCredentials'
        - $ref: '#/components/schemas/TrinoCredentials'
        - $ref: '#/components/schemas/ClickhouseCredentials'
        - $ref: '#/components/schemas/AthenaCredentials'
        - $ref: '#/components/schemas/DuckdbCredentials'
    DbtLocalProjectConfig:
      properties:
        type:
          $ref: '#/components/schemas/DbtProjectType.DBT'
        target:
          type: string
        environment:
          items:
            $ref: '#/components/schemas/DbtProjectEnvironmentVariable'
          type: array
        selector:
          type: string
        profiles_dir:
          type: string
        project_dir:
          type: string
      required:
        - type
      type: object
      additionalProperties: true
    DbtCloudIDEProjectConfig:
      properties:
        type:
          $ref: '#/components/schemas/DbtProjectType.DBT_CLOUD_IDE'
        api_key:
          type: string
        environment_id:
          type: string
        discovery_api_endpoint:
          type: string
        tags:
          items:
            type: string
          type: array
        webhook_hmac_secret:
          type: string
      required:
        - type
        - api_key
        - environment_id
      type: object
      additionalProperties: true
    DbtGithubProjectConfig:
      properties:
        type:
          $ref: '#/components/schemas/DbtProjectType.GITHUB'
        target:
          type: string
        environment:
          items:
            $ref: '#/components/schemas/DbtProjectEnvironmentVariable'
          type: array
        selector:
          type: string
        authorization_method:
          type: string
          enum:
            - personal_access_token
            - installation_id
        personal_access_token:
          type: string
        installation_id:
          type: string
        repository:
          type: string
        branch:
          type: string
        project_sub_path:
          type: string
        host_domain:
          type: string
      required:
        - type
        - authorization_method
        - repository
        - branch
        - project_sub_path
      type: object
      additionalProperties: true
    DbtBitBucketProjectConfig:
      properties:
        type:
          $ref: '#/components/schemas/DbtProjectType.BITBUCKET'
        target:
          type: string
        environment:
          items:
            $ref: '#/components/schemas/DbtProjectEnvironmentVariable'
          type: array
        selector:
          type: string
        username:
          type: string
        personal_access_token:
          type: string
        repository:
          type: string
        branch:
          type: string
        project_sub_path:
          type: string
        host_domain:
          type: string
      required:
        - type
        - username
        - personal_access_token
        - repository
        - branch
        - project_sub_path
      type: object
      additionalProperties: true
    DbtGitlabProjectConfig:
      properties:
        type:
          $ref: '#/components/schemas/DbtProjectType.GITLAB'
        target:
          type: string
        environment:
          items:
            $ref: '#/components/schemas/DbtProjectEnvironmentVariable'
          type: array
        selector:
          type: string
        personal_access_token:
          type: string
        repository:
          type: string
        branch:
          type: string
        project_sub_path:
          type: string
        host_domain:
          type: string
      required:
        - type
        - personal_access_token
        - repository
        - branch
        - project_sub_path
      type: object
      additionalProperties: true
    DbtAzureDevOpsProjectConfig:
      properties:
        type:
          $ref: '#/components/schemas/DbtProjectType.AZURE_DEVOPS'
        target:
          type: string
        environment:
          items:
            $ref: '#/components/schemas/DbtProjectEnvironmentVariable'
          type: array
        selector:
          type: string
        personal_access_token:
          type: string
        organization:
          type: string
        project:
          type: string
        repository:
          type: string
        branch:
          type: string
        project_sub_path:
          type: string
      required:
        - type
        - personal_access_token
        - organization
        - project
        - repository
        - branch
        - project_sub_path
      type: object
      additionalProperties: true
    DbtNoneProjectConfig:
      properties:
        type:
          $ref: '#/components/schemas/DbtProjectType.NONE'
        target:
          type: string
        environment:
          items:
            $ref: '#/components/schemas/DbtProjectEnvironmentVariable'
          type: array
        selector:
          type: string
        hideRefreshButton:
          type: boolean
      required:
        - type
      type: object
      additionalProperties: true
    DbtManifestProjectConfig:
      properties:
        type:
          $ref: '#/components/schemas/DbtProjectType.MANIFEST'
        manifest:
          type: string
        hideRefreshButton:
          type: boolean
      required:
        - type
        - manifest
        - hideRefreshButton
      type: object
      additionalProperties: true
    SupportedDbtVersions:
      enum:
        - v1.4
        - v1.5
        - v1.6
        - v1.7
        - v1.8
        - v1.9
        - v1.10
        - v1.11
      type: string
    DbtVersionOptionLatest:
      enum:
        - latest
      type: string
    TimeFrames:
      enum:
        - RAW
        - YEAR
        - QUARTER
        - MONTH
        - WEEK
        - DAY
        - HOUR
        - MINUTE
        - SECOND
        - MILLISECOND
        - DAY_OF_WEEK_INDEX
        - DAY_OF_MONTH_NUM
        - DAY_OF_YEAR_NUM
        - WEEK_NUM
        - MONTH_NUM
        - QUARTER_NUM
        - YEAR_NUM
        - DAY_OF_WEEK_NAME
        - MONTH_NAME
        - QUARTER_NAME
        - HOUR_OF_DAY_NUM
        - MINUTE_OF_HOUR_NUM
      type: string
    DuckdbConnectionType.MOTHERDUCK:
      enum:
        - motherduck
      type: string
    WarehouseTypes.DUCKDB:
      enum:
        - duckdb
      type: string
    CreateDucklakeDataPath:
      anyOf:
        - $ref: '#/components/schemas/CreateDucklakeDataPathS3'
        - $ref: '#/components/schemas/CreateDucklakeDataPathGcs'
        - $ref: '#/components/schemas/CreateDucklakeDataPathAzure'
        - $ref: '#/components/schemas/CreateDucklakeDataPathLocal'
    CreateDucklakeCatalog:
      anyOf:
        - $ref: '#/components/schemas/CreateDucklakeCatalogPostgres'
        - $ref: '#/components/schemas/CreateDucklakeCatalogSqlite'
        - $ref: '#/components/schemas/CreateDucklakeCatalogDuckdb'
    DuckdbConnectionType.DUCKLAKE:
      enum:
        - ducklake
      type: string
    SnowflakeCredentials:
      $ref: >-
        #/components/schemas/Omit_CreateSnowflakeCredentials.SensitiveCredentialsFieldNames_
    RedshiftCredentials:
      $ref: >-
        #/components/schemas/Omit_CreateRedshiftCredentials.SensitiveCredentialsFieldNames_
    PostgresCredentials:
      $ref: >-
        #/components/schemas/Omit_CreatePostgresCredentials.SensitiveCredentialsFieldNames_
    BigqueryCredentials:
      $ref: >-
        #/components/schemas/Omit_CreateBigqueryCredentials.SensitiveCredentialsFieldNames_
    DatabricksCredentials:
      $ref: >-
        #/components/schemas/Omit_CreateDatabricksCredentials.SensitiveCredentialsFieldNames_
    TrinoCredentials:
      $ref: >-
        #/components/schemas/Omit_CreateTrinoCredentials.SensitiveCredentialsFieldNames_
    ClickhouseCredentials:
      $ref: >-
        #/components/schemas/Omit_CreateClickhouseCredentials.SensitiveCredentialsFieldNames_
    AthenaCredentials:
      $ref: >-
        #/components/schemas/Omit_CreateAthenaCredentials.SensitiveCredentialsFieldNames_
    DuckdbCredentials:
      anyOf:
        - $ref: '#/components/schemas/DuckdbMotherduckCredentials'
        - $ref: '#/components/schemas/DuckdbDucklakeCredentials'
    DbtProjectType.DBT:
      enum:
        - dbt
      type: string
    DbtProjectEnvironmentVariable:
      properties:
        value:
          type: string
        key:
          type: string
      required:
        - value
        - key
      type: object
    DbtProjectType.DBT_CLOUD_IDE:
      enum:
        - dbt_cloud_ide
      type: string
    DbtProjectType.GITHUB:
      enum:
        - github
      type: string
    DbtProjectType.BITBUCKET:
      enum:
        - bitbucket
      type: string
    DbtProjectType.GITLAB:
      enum:
        - gitlab
      type: string
    DbtProjectType.AZURE_DEVOPS:
      enum:
        - azure_devops
      type: string
    DbtProjectType.NONE:
      enum:
        - none
      type: string
    DbtProjectType.MANIFEST:
      enum:
        - manifest
      type: string
    CreateDucklakeDataPathS3:
      properties:
        useSsl:
          type: boolean
        forcePathStyle:
          type: boolean
        secretAccessKey:
          type: string
        accessKeyId:
          type: string
        region:
          type: string
        endpoint:
          type: string
        url:
          type: string
        type:
          $ref: '#/components/schemas/DucklakeDataPathType.S3'
      required:
        - url
        - type
      type: object
    CreateDucklakeDataPathGcs:
      properties:
        hmacSecret:
          type: string
        hmacKeyId:
          type: string
        url:
          type: string
        type:
          $ref: '#/components/schemas/DucklakeDataPathType.GCS'
      required:
        - url
        - type
      type: object
    CreateDucklakeDataPathAzure:
      properties:
        accountKey:
          type: string
        accountName:
          type: string
        connectionString:
          type: string
        url:
          type: string
        type:
          $ref: '#/components/schemas/DucklakeDataPathType.AZURE'
      required:
        - url
        - type
      type: object
    CreateDucklakeDataPathLocal:
      properties:
        path:
          type: string
        type:
          $ref: '#/components/schemas/DucklakeDataPathType.LOCAL'
      required:
        - path
        - type
      type: object
    CreateDucklakeCatalogPostgres:
      properties:
        password:
          type: string
        user:
          type: string
        database:
          type: string
        port:
          type: number
          format: double
        host:
          type: string
        type:
          $ref: '#/components/schemas/DucklakeCatalogType.POSTGRES'
      required:
        - password
        - user
        - database
        - port
        - host
        - type
      type: object
    CreateDucklakeCatalogSqlite:
      properties:
        path:
          type: string
        type:
          $ref: '#/components/schemas/DucklakeCatalogType.SQLITE'
      required:
        - path
        - type
      type: object
    CreateDucklakeCatalogDuckdb:
      properties:
        path:
          type: string
        type:
          $ref: '#/components/schemas/DucklakeCatalogType.DUCKDB'
      required:
        - path
        - type
      type: object
    Omit_CreateSnowflakeCredentials.SensitiveCredentialsFieldNames_:
      $ref: >-
        #/components/schemas/Pick_CreateSnowflakeCredentials.Exclude_keyofCreateSnowflakeCredentials.SensitiveCredentialsFieldNames__
      description: Construct a type with the properties of T except for those in type K.
    Omit_CreateRedshiftCredentials.SensitiveCredentialsFieldNames_:
      $ref: >-
        #/components/schemas/Pick_CreateRedshiftCredentials.Exclude_keyofCreateRedshiftCredentials.SensitiveCredentialsFieldNames__
      description: Construct a type with the properties of T except for those in type K.
    Omit_CreatePostgresCredentials.SensitiveCredentialsFieldNames_:
      $ref: >-
        #/components/schemas/Pick_CreatePostgresCredentials.Exclude_keyofCreatePostgresCredentials.SensitiveCredentialsFieldNames__
      description: Construct a type with the properties of T except for those in type K.
    Omit_CreateBigqueryCredentials.SensitiveCredentialsFieldNames_:
      $ref: >-
        #/components/schemas/Pick_CreateBigqueryCredentials.Exclude_keyofCreateBigqueryCredentials.SensitiveCredentialsFieldNames__
      description: Construct a type with the properties of T except for those in type K.
    Omit_CreateDatabricksCredentials.SensitiveCredentialsFieldNames_:
      $ref: >-
        #/components/schemas/Pick_CreateDatabricksCredentials.Exclude_keyofCreateDatabricksCredentials.SensitiveCredentialsFieldNames__
      description: Construct a type with the properties of T except for those in type K.
    Omit_CreateTrinoCredentials.SensitiveCredentialsFieldNames_:
      $ref: >-
        #/components/schemas/Pick_CreateTrinoCredentials.Exclude_keyofCreateTrinoCredentials.SensitiveCredentialsFieldNames__
      description: Construct a type with the properties of T except for those in type K.
    Omit_CreateClickhouseCredentials.SensitiveCredentialsFieldNames_:
      $ref: >-
        #/components/schemas/Pick_CreateClickhouseCredentials.Exclude_keyofCreateClickhouseCredentials.SensitiveCredentialsFieldNames__
      description: Construct a type with the properties of T except for those in type K.
    Omit_CreateAthenaCredentials.SensitiveCredentialsFieldNames_:
      $ref: >-
        #/components/schemas/Pick_CreateAthenaCredentials.Exclude_keyofCreateAthenaCredentials.SensitiveCredentialsFieldNames__
      description: Construct a type with the properties of T except for those in type K.
    DuckdbMotherduckCredentials:
      $ref: >-
        #/components/schemas/Omit_CreateDuckdbMotherduckCredentials.SensitiveCredentialsFieldNames_
    DuckdbDucklakeCredentials:
      allOf:
        - $ref: >-
            #/components/schemas/Omit_CreateDuckdbDucklakeCredentials.catalog-or-dataPath_
        - properties:
            dataPath:
              $ref: '#/components/schemas/DucklakeDataPath'
            catalog:
              $ref: '#/components/schemas/DucklakeCatalog'
          required:
            - dataPath
            - catalog
          type: object
    DucklakeDataPathType.S3:
      enum:
        - s3
      type: string
    DucklakeDataPathType.GCS:
      enum:
        - gcs
      type: string
    DucklakeDataPathType.AZURE:
      enum:
        - azure
      type: string
    DucklakeDataPathType.LOCAL:
      enum:
        - local
      type: string
    DucklakeCatalogType.POSTGRES:
      enum:
        - postgres
      type: string
    DucklakeCatalogType.SQLITE:
      enum:
        - sqlite
      type: string
    DucklakeCatalogType.DUCKDB:
      enum:
        - duckdb
      type: string
    Pick_CreateSnowflakeCredentials.Exclude_keyofCreateSnowflakeCredentials.SensitiveCredentialsFieldNames__:
      properties:
        type:
          $ref: '#/components/schemas/WarehouseTypes.SNOWFLAKE'
        account:
          type: string
        requireUserCredentials:
          type: boolean
        authenticationType:
          $ref: '#/components/schemas/SnowflakeAuthenticationType'
        role:
          type: string
        database:
          type: string
        warehouse:
          type: string
        schema:
          type: string
        threads:
          type: number
          format: double
        clientSessionKeepAlive:
          type: boolean
        queryTag:
          type: string
        accessUrl:
          type: string
        startOfWeek:
          allOf:
            - $ref: '#/components/schemas/WeekDay'
          nullable: true
        dataTimezone:
          type: string
        quotedIdentifiersIgnoreCase:
          type: boolean
        disableTimestampConversion:
          type: boolean
        timeoutSeconds:
          type: number
          format: double
        override:
          type: boolean
        organizationWarehouseCredentialsUuid:
          type: string
      required:
        - type
        - account
        - database
        - warehouse
        - schema
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    Pick_CreateRedshiftCredentials.Exclude_keyofCreateRedshiftCredentials.SensitiveCredentialsFieldNames__:
      properties:
        type:
          $ref: '#/components/schemas/WarehouseTypes.REDSHIFT'
        requireUserCredentials:
          type: boolean
        authenticationType:
          $ref: '#/components/schemas/RedshiftAuthenticationType'
        schema:
          type: string
        threads:
          type: number
          format: double
        startOfWeek:
          allOf:
            - $ref: '#/components/schemas/WeekDay'
          nullable: true
        dataTimezone:
          type: string
        timeoutSeconds:
          type: number
          format: double
        useSshTunnel:
          type: boolean
        sshTunnelHost:
          type: string
        sshTunnelPort:
          type: number
          format: double
        sshTunnelUser:
          type: string
        sshTunnelPublicKey:
          type: string
        host:
          type: string
        port:
          type: number
          format: double
        dbname:
          type: string
        keepalivesIdle:
          type: number
          format: double
        sslmode:
          type: string
        ra3Node:
          type: boolean
        region:
          type: string
        isServerless:
          type: boolean
        clusterIdentifier:
          type: string
        workgroupName:
          type: string
        autoCreate:
          type: boolean
        dbGroups:
          items:
            type: string
          type: array
        assumeRoleArn:
          type: string
        assumeRoleExternalId:
          type: string
      required:
        - type
        - schema
        - host
        - port
        - dbname
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    Pick_CreatePostgresCredentials.Exclude_keyofCreatePostgresCredentials.SensitiveCredentialsFieldNames__:
      properties:
        type:
          $ref: '#/components/schemas/WarehouseTypes.POSTGRES'
        requireUserCredentials:
          type: boolean
        role:
          type: string
        schema:
          type: string
        threads:
          type: number
          format: double
        startOfWeek:
          allOf:
            - $ref: '#/components/schemas/WeekDay'
          nullable: true
        dataTimezone:
          type: string
        timeoutSeconds:
          type: number
          format: double
        useSshTunnel:
          type: boolean
        sshTunnelHost:
          type: string
        sshTunnelPort:
          type: number
          format: double
        sshTunnelUser:
          type: string
        sshTunnelPublicKey:
          type: string
        host:
          type: string
        port:
          type: number
          format: double
        dbname:
          type: string
        keepalivesIdle:
          type: number
          format: double
        sslmode:
          type: string
        sslcertFileName:
          type: string
        sslkeyFileName:
          type: string
        sslrootcertFileName:
          type: string
        searchPath:
          type: string
      required:
        - type
        - schema
        - host
        - port
        - dbname
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    Pick_CreateBigqueryCredentials.Exclude_keyofCreateBigqueryCredentials.SensitiveCredentialsFieldNames__:
      properties:
        type:
          $ref: '#/components/schemas/WarehouseTypes.BIGQUERY'
        requireUserCredentials:
          type: boolean
        authenticationType:
          $ref: '#/components/schemas/BigqueryAuthenticationType'
        threads:
          type: number
          format: double
        accessUrl:
          type: string
        startOfWeek:
          allOf:
            - $ref: '#/components/schemas/WeekDay'
          nullable: true
        dataTimezone:
          type: string
        timeoutSeconds:
          type: number
          format: double
        project:
          type: string
        dataset:
          type: string
        priority:
          type: string
          enum:
            - interactive
            - batch
        retries:
          type: number
          format: double
        location:
          type: string
        maximumBytesBilled:
          type: number
          format: double
        executionProject:
          type: string
      required:
        - type
        - project
        - dataset
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    Pick_CreateDatabricksCredentials.Exclude_keyofCreateDatabricksCredentials.SensitiveCredentialsFieldNames__:
      properties:
        type:
          $ref: '#/components/schemas/WarehouseTypes.DATABRICKS'
        catalog:
          type: string
        requireUserCredentials:
          type: boolean
        authenticationType:
          $ref: '#/components/schemas/DatabricksAuthenticationType'
        database:
          type: string
        startOfWeek:
          allOf:
            - $ref: '#/components/schemas/WeekDay'
          nullable: true
        dataTimezone:
          type: string
        serverHostName:
          type: string
        httpPath:
          type: string
        compute:
          items:
            properties:
              httpPath:
                type: string
              name:
                type: string
            required:
              - httpPath
              - name
            type: object
          type: array
      required:
        - type
        - database
        - serverHostName
        - httpPath
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    Pick_CreateTrinoCredentials.Exclude_keyofCreateTrinoCredentials.SensitiveCredentialsFieldNames__:
      properties:
        type:
          $ref: '#/components/schemas/WarehouseTypes.TRINO'
        requireUserCredentials:
          type: boolean
        schema:
          type: string
        startOfWeek:
          allOf:
            - $ref: '#/components/schemas/WeekDay'
          nullable: true
        dataTimezone:
          type: string
        host:
          type: string
        port:
          type: number
          format: double
        dbname:
          type: string
        http_scheme:
          type: string
        source:
          type: string
      required:
        - type
        - schema
        - host
        - port
        - dbname
        - http_scheme
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    Pick_CreateClickhouseCredentials.Exclude_keyofCreateClickhouseCredentials.SensitiveCredentialsFieldNames__:
      properties:
        type:
          $ref: '#/components/schemas/WarehouseTypes.CLICKHOUSE'
        requireUserCredentials:
          type: boolean
        schema:
          type: string
        startOfWeek:
          allOf:
            - $ref: '#/components/schemas/WeekDay'
          nullable: true
        dataTimezone:
          type: string
        timeoutSeconds:
          type: number
          format: double
        host:
          type: string
        port:
          type: number
          format: double
        secure:
          type: boolean
      required:
        - type
        - schema
        - host
        - port
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    Pick_CreateAthenaCredentials.Exclude_keyofCreateAthenaCredentials.SensitiveCredentialsFieldNames__:
      properties:
        type:
          $ref: '#/components/schemas/WarehouseTypes.ATHENA'
        requireUserCredentials:
          type: boolean
        authenticationType:
          $ref: '#/components/schemas/AthenaAuthenticationType'
        database:
          type: string
        schema:
          type: string
        threads:
          type: number
          format: double
        startOfWeek:
          allOf:
            - $ref: '#/components/schemas/WeekDay'
          nullable: true
        dataTimezone:
          type: string
        region:
          type: string
        assumeRoleArn:
          type: string
        assumeRoleExternalId:
          type: string
        s3StagingDir:
          type: string
        s3DataDir:
          type: string
        workGroup:
          type: string
        numRetries:
          type: number
          format: double
      required:
        - type
        - database
        - schema
        - region
        - s3StagingDir
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    Omit_CreateDuckdbMotherduckCredentials.SensitiveCredentialsFieldNames_:
      $ref: >-
        #/components/schemas/Pick_CreateDuckdbMotherduckCredentials.Exclude_keyofCreateDuckdbMotherduckCredentials.SensitiveCredentialsFieldNames__
      description: Construct a type with the properties of T except for those in type K.
    Omit_CreateDuckdbDucklakeCredentials.catalog-or-dataPath_:
      $ref: >-
        #/components/schemas/Pick_CreateDuckdbDucklakeCredentials.Exclude_keyofCreateDuckdbDucklakeCredentials.catalog-or-dataPath__
      description: Construct a type with the properties of T except for those in type K.
    DucklakeDataPath:
      anyOf:
        - $ref: '#/components/schemas/DucklakeDataPathS3'
        - $ref: '#/components/schemas/DucklakeDataPathGcs'
        - $ref: '#/components/schemas/DucklakeDataPathAzure'
        - $ref: '#/components/schemas/DucklakeDataPathLocal'
    DucklakeCatalog:
      anyOf:
        - $ref: '#/components/schemas/DucklakeCatalogPostgres'
        - $ref: '#/components/schemas/DucklakeCatalogSqlite'
        - $ref: '#/components/schemas/DucklakeCatalogDuckdb'
    Pick_CreateDuckdbMotherduckCredentials.Exclude_keyofCreateDuckdbMotherduckCredentials.SensitiveCredentialsFieldNames__:
      properties:
        type:
          $ref: '#/components/schemas/WarehouseTypes.DUCKDB'
        requireUserCredentials:
          type: boolean
        database:
          type: string
        schema:
          type: string
        threads:
          type: number
          format: double
        startOfWeek:
          allOf:
            - $ref: '#/components/schemas/WeekDay'
          nullable: true
        dataTimezone:
          type: string
        connectionType:
          $ref: '#/components/schemas/DuckdbConnectionType.MOTHERDUCK'
      required:
        - type
        - database
        - schema
        - connectionType
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    Pick_CreateDuckdbDucklakeCredentials.Exclude_keyofCreateDuckdbDucklakeCredentials.catalog-or-dataPath__:
      properties:
        type:
          $ref: '#/components/schemas/WarehouseTypes.DUCKDB'
        requireUserCredentials:
          type: boolean
        schema:
          type: string
        threads:
          type: number
          format: double
        startOfWeek:
          allOf:
            - $ref: '#/components/schemas/WeekDay'
          nullable: true
        dataTimezone:
          type: string
        connectionType:
          $ref: '#/components/schemas/DuckdbConnectionType.DUCKLAKE'
        catalogAlias:
          type: string
      required:
        - type
        - schema
        - connectionType
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    DucklakeDataPathS3:
      $ref: >-
        #/components/schemas/Omit_CreateDucklakeDataPathS3.accessKeyId-or-secretAccessKey_
    DucklakeDataPathGcs:
      $ref: >-
        #/components/schemas/Omit_CreateDucklakeDataPathGcs.hmacKeyId-or-hmacSecret_
    DucklakeDataPathAzure:
      $ref: >-
        #/components/schemas/Omit_CreateDucklakeDataPathAzure.connectionString-or-accountKey_
    DucklakeDataPathLocal:
      $ref: '#/components/schemas/CreateDucklakeDataPathLocal'
    DucklakeCatalogPostgres:
      $ref: >-
        #/components/schemas/Omit_CreateDucklakeCatalogPostgres.user-or-password_
    DucklakeCatalogSqlite:
      $ref: '#/components/schemas/CreateDucklakeCatalogSqlite'
    DucklakeCatalogDuckdb:
      $ref: '#/components/schemas/CreateDucklakeCatalogDuckdb'
    Omit_CreateDucklakeDataPathS3.accessKeyId-or-secretAccessKey_:
      $ref: >-
        #/components/schemas/Pick_CreateDucklakeDataPathS3.Exclude_keyofCreateDucklakeDataPathS3.accessKeyId-or-secretAccessKey__
      description: Construct a type with the properties of T except for those in type K.
    Omit_CreateDucklakeDataPathGcs.hmacKeyId-or-hmacSecret_:
      $ref: >-
        #/components/schemas/Pick_CreateDucklakeDataPathGcs.Exclude_keyofCreateDucklakeDataPathGcs.hmacKeyId-or-hmacSecret__
      description: Construct a type with the properties of T except for those in type K.
    Omit_CreateDucklakeDataPathAzure.connectionString-or-accountKey_:
      $ref: >-
        #/components/schemas/Pick_CreateDucklakeDataPathAzure.Exclude_keyofCreateDucklakeDataPathAzure.connectionString-or-accountKey__
      description: Construct a type with the properties of T except for those in type K.
    Omit_CreateDucklakeCatalogPostgres.user-or-password_:
      $ref: >-
        #/components/schemas/Pick_CreateDucklakeCatalogPostgres.Exclude_keyofCreateDucklakeCatalogPostgres.user-or-password__
      description: Construct a type with the properties of T except for those in type K.
    Pick_CreateDucklakeDataPathS3.Exclude_keyofCreateDucklakeDataPathS3.accessKeyId-or-secretAccessKey__:
      properties:
        type:
          $ref: '#/components/schemas/DucklakeDataPathType.S3'
        url:
          type: string
        region:
          type: string
        endpoint:
          type: string
        forcePathStyle:
          type: boolean
        useSsl:
          type: boolean
      required:
        - type
        - url
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    Pick_CreateDucklakeDataPathGcs.Exclude_keyofCreateDucklakeDataPathGcs.hmacKeyId-or-hmacSecret__:
      properties:
        type:
          $ref: '#/components/schemas/DucklakeDataPathType.GCS'
        url:
          type: string
      required:
        - type
        - url
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    Pick_CreateDucklakeDataPathAzure.Exclude_keyofCreateDucklakeDataPathAzure.connectionString-or-accountKey__:
      properties:
        type:
          $ref: '#/components/schemas/DucklakeDataPathType.AZURE'
        url:
          type: string
        accountName:
          type: string
      required:
        - type
        - url
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    Pick_CreateDucklakeCatalogPostgres.Exclude_keyofCreateDucklakeCatalogPostgres.user-or-password__:
      properties:
        type:
          $ref: '#/components/schemas/DucklakeCatalogType.POSTGRES'
        database:
          type: string
        host:
          type: string
        port:
          type: number
          format: double
      required:
        - type
        - database
        - host
        - port
      type: object
      description: From T, pick a set of properties whose keys are in the union K

````