For the complete documentation index, see llms.txt. This page is also available as Markdown.

Create a Project

POST /api/v2/project

Required Immuta permission: CREATE_PROJECT

name: A Bare Bones Project
projectKey: simplest possible project

This project will be created with an Anyone subscription policy, where anyone can request and will automatically be granted access.

name: Anyone Project
projectKey: Anyone project
documentation: "# Anyone Can See This"
description: "Anyone can join this project"
allowMaskedJoins: false
subscriptionPolicy:
    type: anyone
    automaticSubscription: true
    description: "Auto-subscribe everyone"
tags:
  - Discovered.Person Name
purposes:
  - Use Purposes
  - Purpose Hierarchy.Child 2.Grandchild 2

This project will be created with an Anyone who asks (and is approved) subscription policy, where anyone can request access and they will get access when their request is approved.

name: Approval Project
projectKey: Approval project
description: "Need approval to join this project"
allowMaskedJoins: true
subscriptionPolicy:
    type: approval
    approvals:
      - requiredPermission: GOVERNANCE
        specificApproverRequired: true
      - requiredPermission: ADMIN
        specificApproverRequired: false

This project will be created with an Users with specific groups or attributes subscription policy, where users with a specific attribute or in a specific group will automatically be granted access.

Project with workspace example

Databricks Spark project 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

Path parameter

Parameter
Description
Default value

dryRun boolean

If true, no updates will actually be made.

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

-

-

subscriptionPolicy object

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

-

-

entitlements object

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

-

databricks

config object

Details about the workspace configuration.

Required

-

-

config.database string

The Databricks database the workspace will be in.

Required

-

config.directory string

The Databricks directory the workspace will be in.

Required

-

config.workspaceConfigurationName string

The Databricks workspace configuration name.

Required

-

Last updated

Was this helpful?