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

# Create DataWarehouse

> Create a new data warehouse. This endpoint is used to configure access to
 your data warehouse, were all assignment, exposure and metric data will be
 stored and computed. The endpoint will verify that access to relevant
 resources are set up correctly.



## OpenAPI

````yaml /api/metrics/api/data-warehouse.openapi.json post /v1/dataWarehouses
openapi: 3.1.0
info:
  title: Confidence Data-warehouse API
  version: 1.0.0
  description: API documentation for data-warehouse
servers: []
security: []
paths:
  /v1/dataWarehouses:
    post:
      summary: Create DataWarehouse
      description: >-
        Create a new data warehouse. This endpoint is used to configure access
        to
         your data warehouse, were all assignment, exposure and metric data will be
         stored and computed. The endpoint will verify that access to relevant
         resources are set up correctly.
      operationId: DataWarehouse.create
      parameters:
        - name: dataWarehouseId
          in: query
          required: false
          description: >-
            The id to the give the created data warehouse. If a not set a random
            one will be generated.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: The name of the data warehouse.
                config:
                  type: object
                  properties:
                    bigQueryConfig:
                      type: object
                      properties:
                        gcpProjectId:
                          type: string
                          description: Project id.
                        bigQueryLocation:
                          type: string
                          description: >-
                            Location where the data will be stored, for example,
                            'EU' or 'US'.
                        dataset:
                          type: string
                          description: Dataset where tables will be created.
                        serviceAccount:
                          type: string
                          description: Service account that will be used.
                        processingProjectId:
                          type: string
                          description: >-
                            The project where the jobs will be calculated.
                            Defaults to gcp_project_id if not set
                        interactiveProjectId:
                          type: string
                          description: >-
                            The project where the interactive (non-scheduled)
                            jobs will be calculated. Defaults to
                            processing_project_id if not set
                        exportJobsServiceAccount:
                          type: string
                          description: >-
                            The service account used to export to Cloud Storage.
                            Defaults to service_account if not set
                      description: Configuration for BigQuery.
                    dataBricksConfig:
                      type: object
                      properties:
                        host:
                          type: string
                          description: Host for the databricks instance.
                        warehouseId:
                          type: string
                          description: Id of the warehouse used for running queries.
                        clientId:
                          type: string
                          description: Client ID
                        clientSecret:
                          type: string
                          description: Client secret access token.
                        exposureSchema:
                          type: string
                          description: Name of the Confidence exposure schema.
                        resultsSchema:
                          type: string
                          description: Name of the Confidence results schema.
                      description: Configuration for Databricks.
                    redshiftConfig:
                      type: object
                      properties:
                        exposureSchema:
                          type: string
                          description: The dataset/schema where data will be written.
                        region:
                          type: string
                          enum:
                            - AWS_REGION_UNSPECIFIED
                            - AP_SOUTH_2
                            - AP_SOUTH_1
                            - EU_SOUTH_1
                            - EU_SOUTH_2
                            - US_GOV_EAST_1
                            - ME_CENTRAL_1
                            - IL_CENTRAL_1
                            - CA_CENTRAL_1
                            - EU_CENTRAL_1
                            - US_ISO_WEST_1
                            - EU_CENTRAL_2
                            - US_WEST_1
                            - US_WEST_2
                            - AF_SOUTH_1
                            - EU_NORTH_1
                            - EU_WEST_3
                            - EU_WEST_2
                            - EU_WEST_1
                            - AP_NORTHEAST_3
                            - AP_NORTHEAST_2
                            - AP_NORTHEAST_1
                            - ME_SOUTH_1
                            - SA_EAST_1
                            - AP_EAST_1
                            - CN_NORTH_1
                            - US_GOV_WEST_1
                            - AP_SOUTHEAST_1
                            - AP_SOUTHEAST_2
                            - US_ISO_EAST_1
                            - AP_SOUTHEAST_3
                            - AP_SOUTHEAST_4
                            - US_EAST_1
                            - US_EAST_2
                            - CN_NORTHWEST_1
                          description: AWS region.
                        roleArn:
                          type: string
                          description: The role Confidence assumes on the AWS side.
                        cluster:
                          type: string
                          description: The redshift cluster.
                        database:
                          type: string
                          description: The redshift database.
                        dataApiEndpoint:
                          type: string
                          description: >-
                            Override the Data Api endpoint. If not set, the
                            default endpoint will be used.
                        credentialsSettings:
                          type: object
                          properties:
                            accessKeyId:
                              type: string
                              description: The access key id for the IAM user.
                            secretAccessKey:
                              type: string
                              description: The secret access key for the IAM user.
                          required:
                            - accessKeyId
                        webIdentitySettings:
                          type: object
                      required:
                        - region
                        - roleArn
                        - cluster
                        - database
                      description: Configuration for Redshift.
                    snowflakeConfig:
                      type: object
                      properties:
                        account:
                          type: string
                          description: The snowflake account name.
                        user:
                          type: string
                          description: The snowflake user.
                        authenticationKey:
                          type: string
                          description: The crypto key used to sign the JWT token
                        role:
                          type: string
                          description: The snowflake role.
                        warehouse:
                          type: string
                          description: The warehouse used to execute the queries.
                        exposureDatabase:
                          type: string
                          description: The database that contains the exposure schema.
                        exposureSchema:
                          type: string
                          description: The schema that will contain the exposure tables.
                      required:
                        - account
                        - user
                        - authenticationKey
                        - role
                        - warehouse
                        - exposureDatabase
                        - exposureSchema
                      description: Configuration for Snowflake.
                  description: The configuration for the data warehouse.
                limits:
                  type: object
                  properties:
                    maxConcurrentQueries:
                      type: integer
                      description: >-
                        Maximum number of concurrent queries that can be
                        submitted towards the data warehouse. If
                         set to 0 there is no limit.
                    maxConcurrentInteractiveQueries:
                      type: integer
                      description: >-
                        Maximum number of concurrent interactive (non-scheduled)
                        queries that can be submitted towards the data
                        warehouse. If
                         set to 0 throttling is done using max_concurrent_queries and ignoring the type of query.
                  description: >-
                    User-defined restrictions for how to access the data
                    warehouse.
                labels:
                  type: array
                  items:
                    type: object
                    additionalProperties:
                      type: string
                  description: General labels for this resource.
                owner:
                  type: string
                  description: >-
                    The owner of the resource. If not set will default to the
                    creator.
              required:
                - config
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/confidence.metrics.v1.DataWarehouse'
      security:
        - admin: []
      servers:
        - url: https://metrics.eu.confidence.dev
        - url: https://metrics.us.confidence.dev
        - url: https://metrics.confidence.dev
components:
  schemas:
    confidence.metrics.v1.DataWarehouse:
      title: DataWarehouse
      type: object
      description: |-
        Named configuration for a data warehouse. Sets up how to query and write
         data to the data warehouse.
      properties:
        name:
          type: string
          description: The name of the data warehouse.
        config:
          type: object
          properties:
            bigQueryConfig:
              type: object
              properties:
                gcpProjectId:
                  type: string
                  description: Project id.
                bigQueryLocation:
                  type: string
                  description: >-
                    Location where the data will be stored, for example, 'EU' or
                    'US'.
                dataset:
                  type: string
                  description: Dataset where tables will be created.
                serviceAccount:
                  type: string
                  description: Service account that will be used.
                processingProjectId:
                  type: string
                  description: >-
                    The project where the jobs will be calculated. Defaults to
                    gcp_project_id if not set
                interactiveProjectId:
                  type: string
                  description: >-
                    The project where the interactive (non-scheduled) jobs will
                    be calculated. Defaults to processing_project_id if not set
                exportJobsServiceAccount:
                  type: string
                  description: >-
                    The service account used to export to Cloud Storage.
                    Defaults to service_account if not set
              description: Configuration for BigQuery.
            dataBricksConfig:
              type: object
              properties:
                host:
                  type: string
                  description: Host for the databricks instance.
                warehouseId:
                  type: string
                  description: Id of the warehouse used for running queries.
                clientId:
                  type: string
                  description: Client ID
                clientSecret:
                  type: string
                  description: Client secret access token.
                exposureSchema:
                  type: string
                  description: Name of the Confidence exposure schema.
                resultsSchema:
                  type: string
                  description: Name of the Confidence results schema.
              description: Configuration for Databricks.
            redshiftConfig:
              type: object
              properties:
                exposureSchema:
                  type: string
                  description: The dataset/schema where data will be written.
                region:
                  type: string
                  enum:
                    - AWS_REGION_UNSPECIFIED
                    - AP_SOUTH_2
                    - AP_SOUTH_1
                    - EU_SOUTH_1
                    - EU_SOUTH_2
                    - US_GOV_EAST_1
                    - ME_CENTRAL_1
                    - IL_CENTRAL_1
                    - CA_CENTRAL_1
                    - EU_CENTRAL_1
                    - US_ISO_WEST_1
                    - EU_CENTRAL_2
                    - US_WEST_1
                    - US_WEST_2
                    - AF_SOUTH_1
                    - EU_NORTH_1
                    - EU_WEST_3
                    - EU_WEST_2
                    - EU_WEST_1
                    - AP_NORTHEAST_3
                    - AP_NORTHEAST_2
                    - AP_NORTHEAST_1
                    - ME_SOUTH_1
                    - SA_EAST_1
                    - AP_EAST_1
                    - CN_NORTH_1
                    - US_GOV_WEST_1
                    - AP_SOUTHEAST_1
                    - AP_SOUTHEAST_2
                    - US_ISO_EAST_1
                    - AP_SOUTHEAST_3
                    - AP_SOUTHEAST_4
                    - US_EAST_1
                    - US_EAST_2
                    - CN_NORTHWEST_1
                  description: AWS region.
                roleArn:
                  type: string
                  description: The role Confidence assumes on the AWS side.
                cluster:
                  type: string
                  description: The redshift cluster.
                database:
                  type: string
                  description: The redshift database.
                dataApiEndpoint:
                  type: string
                  description: >-
                    Override the Data Api endpoint. If not set, the default
                    endpoint will be used.
                credentialsSettings:
                  type: object
                  properties:
                    accessKeyId:
                      type: string
                      description: The access key id for the IAM user.
                    secretAccessKey:
                      type: string
                      description: The secret access key for the IAM user.
                  required:
                    - accessKeyId
                webIdentitySettings:
                  type: object
              required:
                - region
                - roleArn
                - cluster
                - database
              description: Configuration for Redshift.
            snowflakeConfig:
              type: object
              properties:
                account:
                  type: string
                  description: The snowflake account name.
                user:
                  type: string
                  description: The snowflake user.
                authenticationKey:
                  type: string
                  description: The crypto key used to sign the JWT token
                role:
                  type: string
                  description: The snowflake role.
                warehouse:
                  type: string
                  description: The warehouse used to execute the queries.
                exposureDatabase:
                  type: string
                  description: The database that contains the exposure schema.
                exposureSchema:
                  type: string
                  description: The schema that will contain the exposure tables.
              required:
                - account
                - user
                - authenticationKey
                - role
                - warehouse
                - exposureDatabase
                - exposureSchema
              description: Configuration for Snowflake.
          description: The configuration for the data warehouse.
        limits:
          type: object
          properties:
            maxConcurrentQueries:
              type: integer
              description: >-
                Maximum number of concurrent queries that can be submitted
                towards the data warehouse. If
                 set to 0 there is no limit.
            maxConcurrentInteractiveQueries:
              type: integer
              description: >-
                Maximum number of concurrent interactive (non-scheduled) queries
                that can be submitted towards the data warehouse. If
                 set to 0 throttling is done using max_concurrent_queries and ignoring the type of query.
          description: User-defined restrictions for how to access the data warehouse.
        createTime:
          type: object
          description: Time when the data warehouse was first created.
        updateTime:
          type: object
          description: Time when the data warehouse was last updated.
        labels:
          type: array
          items:
            type: object
            additionalProperties:
              type: string
          description: General labels for this resource.
        creator:
          type: string
          description: Reference to the identity that created this entity.
        updater:
          type: string
          description: Reference to the identity that last updated this entity.
        owner:
          type: string
          description: The owner of the resource. If not set will default to the creator.
      required:
        - config
        - createTime
        - updateTime
        - creator
        - updater
  securitySchemes:
    admin:
      type: http
      scheme: bearer

````