Create a Project

POST /api/v2/project

Required Immuta permission: CREATE_PROJECT

name: A Bare Bones Project
projectKey: simplest possible project
Projects with workspaces examples

Project with Databricks Spark workspace

name: Databricks Spark Project
projectKey: databricks spark project
datasources:
  - Crime Data
  - Databricks Credit Card Transactions
  - Databricks Hipaa Data
purposes:
  - Use Purposes
workspace:
  type: databricks
  config:
    database: native
    directory: native
    workspaceConfigurationName: S3

Project with Snowflake workspace

name: Snowflake Project
projectKey: snowflake project
datasources:
  - Snowflake Case
  - Snowflake Customer
  - Snowflake Web Sales
workspace:
  type: snowflake
  config:
    schema:
      SNOWFLAKE_NATIVE
    warehouses:
      - DEMO_WH
tags:
  - Discovered.Passport

Path parameters

Parameter
Description
Default value

dryRun boolean

If true, no updates will actually be made.

false

deleteDataSourcesOnWorkspaceDelete boolean

If true, will delete all data and the data sources associated with a project workspace when the workspace is deleted.

false

Body parameters

Attribute
Description
Required or optional
Default values
Accepted values

projectKey string

A key to uniquely identify this project for future API calls.

Required

-

-

name string

The name of the project.

Required

-

-

description string

A short description for the project.

Optional

-

-

documentation string

Markdown-supported documentation for this project.

Optional

-

-

allowedMaskedJoins boolean

If true, will allow joining on masked columns between data sources in this project. Only certain policies allow masked join.

Optional

false

  • true

  • false

purposes string[]

The list of purposes to add to this project.

Optional

-

-

datasources string[]

The list of data sources to add to this project.

Optional

-

-

The policy that determines which users can subscribe to the project.

Optional

Defaults to manual subscription if the object is omitted

-

workspace object

If this is a workspace project, this is the workspace configuration. The project will automatically be equalized.

Optional

-

-

equalization boolean

If true, will normalize all users to the same entitlements so that everyone sees the same data.

Optional

false

  • true

  • false

tags array[]

Tags to add to the project.

Optional

-

-

subscriptionPolicy object

The subscriptionPolicy object allows you to define the policy for how users can subscribe to the project.

Attribute
Description
Required or optional
Default values
Accepted values

type string

The type of subscription policy the project will have.

Required

-

  • anyone: Anyone can subscribe

  • approval: Anyone can request approval and will be subscribed when it is approved

  • entitlements: Users with the listed attributes or groups will be subscribed

  • manual: Users must be manually added to be subscribed

automaticSubscription boolean

If true, users will be automatically subscribed if they meet the policy requirements without any manual intervention.

Optional

false

  • true

  • false

description string

A description of the policy.

Optional

-

-

approvals array[object]

Details about the user that will approve subscription requests.

Required if type is approval

-

-

Details about the entitlements required for users to subscribe to the project.

Required if type is entitlements

-

-

approvals array

This array is required if the policy type is approval in the subscriptionPolicy object. It allows you to define the users who can approve subscription requests.

Attribute
Description
Required or optional
Default values
Accepted values

specificApproverRequired boolean

If true, the user to approve the request will be selected by the user requesting access. If false, any user with the required permission can approve the request.

Required if type is approval

-

  • true

  • false

requiredPermission string

The required permissions for the user approving the subscription request.

Required if type is approval

-

  • USER_ADMIN

  • GOVERNANCE

  • AUDIT

entitlements object

This object is required if the policy type is entitlements in the subscriptionPolicy object. It allows you to define the groups or attributes that users must have to subscribe to the project.

Attribute
Description
Required or optional
Default values
Accepted values

operator string

Specify whether all of the circumstances must be met for the user to be subscribed (AND), or just any of them (OR).

Required if type is entitlements

-

  • all

  • any

groups string

The name of the group the user must be a member of to subscribe to the project.

Requires either groups or attributes

-

-

attributes object

Details about attributes the user must have to subscribe to the project.

Requires either groups or attributes

-

-

attributes.name string

The name of the attribute the user must have to subscribe to the project. This is commonly referred to as a key.

Required if using attributes

-

-

attributes.value string

The value of the attribute the user must have to subscribe to the project.

Required if using attributes

-

-

workspace object

Attribute
Description
Required or optional
Default values
Accepted values

type string

The technology the workspace is in.

Required

-

  • snowflake

  • databricks

config object

Details about the workspace configuration.

Required

-

-

config.schema string

Your project workspace will exist within this schema in Snowflake under the database configured by the application admin.

Required when type is snowflake

-

config.warehouses array

These are the Snowflake warehouses that will be available to project members when they are working in the Snowflake workspace.

Required when type is snowflake

-

config.database string

The Databricks database the workspace will be in.

Required when type is databricks

-

config.directory string

The Databricks directory the workspace will be in.

Required when type is databricks

-

config.workspaceConfigurationName string

The Databricks workspace configuration name.

Required when type is databricks

-

Last updated