Manage Projects
This page details how to use the projects
API to query projects and the data sources associated with them in Immuta.
Projects workflow
Create a project
POST
/project
Create the project.
Payload parameters
id
integer
Project ID.
Yes
projectKey
string
Name of the project.
Yes
name
string
Name of the project.
Yes
status
string
(Accepted statuses are open
or closed
.)
Yes
description
string
Project description.
No
documentation
string
Project documentation.
No
tags
array
Project tags.
No
purposes
array
Project purposes.
No
stagedPurposes
array
Project purposes staged for approval.
No
deleted
boolean
If true
, the project will be deleted.
No
snowflake
array
This enables a Snowflake workspace for the project and details the schema
, hostname
, and warehouse
.
No
allowMaskedJoins
boolean
If true
, masked joins will be allowed.
No
subscriptionPolicy
array[object]
A policy object for the Subscription Policy on the project. Details include type
, exceptions
, conditions
, allowDiscovery
, and automaticSubscription
. If this is not set, it will be the default manual
.
No
subscriptionType
string
The type of subscription policy on the project. The type can be automatic
(which allows anyone to subscribe), approval
(which requires the subscriber to be manually approved), policy
(which only allows users with specific groups or attributes to subscribe), or manual
(which requires users to be manually added).
No
equalization
array
Details the policy conditions of the equalization, including the configured (or recommended) user groups and attributes.
No
workspace
array
Information on native workspaces in the project.
No
type
string
The type of Immuta project, either user created project (user
) or system generated project (schema
).
No
createdAt
timestamp
Date of the project creation.
No
updatedAt
timestamp
Date of the most recent update.
No
Response parameters
id
integer
Project ID.
projectKey
string
Name of the project.
name
string
Name of the project.
status
string
(Statuses are open
or closed
.)
description
string
Project description.
documentation
string
Project documentation.
tags
array
Project tags.
purposes
array
Project purposes.
stagedPurposes
array
Project purposes staged for approval.
deleted
boolean
If true
, the project has been deleted.
snowflake
array
If a Snowflake workspace has been enabled for the project, this attribute will detail the schema
, hostname
, and warehouse
.
allowMaskedJoins
boolean
If true
, masked joins are allowed.
subscriptionPolicy
array[object]
A policy object for the Subscription Policy on the project. Details include type
, exceptions
, conditions
, allowDiscovery
, and automaticSubscription
.
subscriptionType
string
The type of subscription policy on the project. The type can be automatic
(which allows anyone to subscribe), approval
(which requires the subscriber to be manually approved), policy
(which only allows users with specific groups or attributes to subscribe), or manual
(which requires users to be manually added).
equalization
array
Details the policy conditions of the equalization, including the configured (or recommended) user groups and attributes.
workspace
array
Information on native workspaces in the project.
type
string
The type of Immuta project, either user created project (user
) or system generated project (schema
).
createdAt
timestamp
Date of the project creation.
updatedAt
timestamp
Date of the most recent update.
workspaceWarnings
string
This message describes issues with the created workspace.
Example request
This example request with the payload below will create a new project.
Example request payload
This example payload will create a new project named API Project.
Example response
Search projects
GET
/project
GET
/project/{projectId}
Search all projects
GET
/project
Search for projects.
Query parameters
offset
integer
Used in combination with size
to fetch pages. The default is 0
.
No
size
integer
The number of results to return per page.
No
sortField
string
Used to sort results by field.
No
sortOrder
string
Sorts results by order, which must be asc
or desc
. The default is asc
.
No
subscription
array[string]
Filters projects by subscription types, which must be automatic
, approval
, or policy
.
No
status
array[string]
Filters projects based on their status: open
or closed
.
No
searchText
string
Searches text. By default this will filter projects by name
, description
, documentation
, category
, and organization
.
No
tag
array[string]
Filters projects by tags associated with the projects.
No
nameOnly
boolean
If true
, searchText
will only filter by project name, allowing you to retrieve specific projects. The default is false
.
No
isEqualized
boolean
If true
, only equalized projects will be included.
No
snowflake
boolean
If true
, only projects with a Snowflake workspace will be included.
No
dataSourceId
integer
Filters projects by whether they have the data source associated with the data source ID.
No
mode
integer
Specifies the query mode, which must be 0
(FULL
), 1
(COUNT
), 4
(TAG
), 5
(MIN_MAX
), or 6
(STATUS
).
No
Response parameters
count
integer
Number of projects found.
hits
array
Details about each project listed.
id
integer
The project ID.
projectKey
string
Name of the project.
name
string
Name of the project.
status
string
Statuses are open
or closed
.
description
string
Project description.
documentation
string
Project documentation.
tags
array
Project tags.
purposes
array
Project purposes.
stagedPurposes
array
Project purposes staged for approval.
deleted
boolean
If true
, the project has been deleted.
snowflake
array
If a Snowflake workspace has been enabled for the project, this attribute will detail the schema
, hostname
, and warehouse
.
allowMaskedJoins
boolean
If true
, masked joins are allowed.
subscriptionPolicy
array[object]
A policy object for the Subscription Policy on the project. Details include type
, exceptions
, conditions
, allowDiscovery
, and automaticSubscription
.
subscriptionType
string
The type of subscription policy on the project. The type can be automatic
(which allows anyone to subscribe), approval
(which requires the subscriber to be manually approved), policy
(which only allows users with specific groups or attributes to subscribe), or manual
(which requires users to be manually added).
equalization
array
Details the policy conditions of the equalization, including the configured (or recommended) user groups and attributes.
workspace
array
Information on native workspaces in the project.
type
string
The type of Immuta project, either user created project (user
) or system generated project (schema
).
createdAt
timestamp
Date of the project creation.
updatedAt
timestamp
Date of the most recent update.
acknowledgeRequired
boolean
When true
, the requesting user has not yet agreed to the project acknowledgement.
subscriptionId
integer
The project member's subscription ID.
subscribedAsUser
boolean
If true
, the user running the request is currently subscribed.
subscriptionStatus
string
Subscription status of the user running the request.
filterId
integer
Corresponds with the ID of the project.
facets
array
Facets (categories) relevant to the search.
Request example
This example request gets a list of all of the projects.
Response example
Search for projects by ID
GET
/project/{projectId}
Get the project with the given ID.
Query parameters
projectId
integer
The project ID.
Yes
checkForSqlAccount
boolean
Default is true
.
No
Response parameters
id
integer
Project ID.
projectKey
string
Name of the project.
name
string
Name of the project.
status
string
Statuses are open
or closed
.
description
string
Project description.
documentation
string
Project documentation.
tags
array
Project tags.
purposes
array
Project purposes.
stagedPurposes
array
Project purposes staged for approval.
deleted
boolean
If true
, the project has been deleted.
snowflake
array
If a Snowflake workspace has been enabled for the project, this attribute will detail the schema
, hostname
, and warehouse
.
allowMaskedJoins
boolean
If true
, masked joins are allowed.
subscriptionPolicy
array[object]
A policy object for the Subscription Policy on the project. Details include type
, exceptions
, conditions
, allowDiscovery
, and automaticSubscription
.
subscriptionType
string
The type of subscription policy on the project. The type can be automatic
(which allows anyone to subscribe), approval
(which requires the subscriber to be manually approved), policy
(which only allows users with specific groups or attributes to subscribe), or manual
(which requires users to be manually added).
equalization
array
Details the policy conditions of the equalization, including the configured (or recommended) user groups and attributes.
workspace
array
Information on native workspaces in the project.
type
string
The type of Immuta project, either user created project (user
) or system generated project (schema
).
createdAt
timestamp
Date of the project creation.
updatedAt
timestamp
Date of the most recent update.
acknowledgeRequired
boolean
When true
, the requesting user has not yet agreed to the project acknowledgement.
subscriptionId
integer
The project member's subscription ID.
subscribedAsUser
boolean
If true
, the user running the request is currently subscribed.
subscriptionStatus
string
Subscription status of the user running the request.
Example request
This example gets the project object for the project with the ID 2
.
Example response
Manage projects
PUT
/project/{projectId}
GET
/project/{projectId}/activity
GET
/project/{projectId}/checkEqualizationState
Update project by ID
PUT
/project/{projectId}
Update the project with the given ID.
Query parameters
projectId
integer
The project ID.
Yes
deleteDataSources
boolean
If true
, the data sources in the project will be deleted.
No
Payload parameters
type
string
The type of Immuta project, either user created project (user
) or system generated project (schema
).
No
name
string
The project's new name.
No
description
string
The project's new description.
No
documentation
string
The project's new documentation.
No
status
string
Accepted statuses are open
or closed
.
No
subscriptionType
string
The type of subscription policy on the project. The type can be automatic
(which allows anyone to subscribe), approval
(which requires the subscriber to be manually approved), policy
(which only allows users with specific groups or attributes to subscribe), or manual
(which requires users to be manually added).
No
tags
array
The project's new tags.
No
purposes
array
The project's new purposes.
No
stagedPurposes
array
The project's new purposes staged for approval.
No
deleted
boolean
If true
, the project will be deleted.
No
snowflake
array
This enables a Snowflake workspace for the project and details the schema
, hostname
, and warehouse
.
No
allowMaskedJoins
boolean
If true
, masked joins will be allowed.
No
subscriptionPolicy
array[object]
A policy object for the Subscription Policy on the project. Details include type
, exceptions
, conditions
, allowDiscovery
, and automaticSubscription
. If this is not set, it will be the default manual
.
No
equalization
array
Details the policy conditions of the equalization, including the configured (or recommended) user groups and attributes.
No
workspace
array
Information on native workspaces in the project.
No
Response parameters
id
integer
Project ID.
projectKey
string
Name of the project.
name
string
Name of the project.
status
string
Statuses are open
or closed
.
description
string
Project description.
documentation
string
Project documentation.
tags
array
Project tags.
purposes
array
Project purposes.
stagedPurposes
array
Project purposes staged for approval.
deleted
boolean
If true
, the project will be deleted.
snowflake
array
If a Snowflake workspace has been enabled for the project, this attribute will detail the schema
, hostname
, and warehouse
.
allowMaskedJoins
boolean
If true
, masked joins will be allowed.
subscriptionPolicy
array[object]
A policy object for the Subscription Policy on the project. Details include type
, exceptions
, conditions
, allowDiscovery
, and automaticSubscription
.
subscriptionType
string
The type of subscription policy on the project. The type can be automatic
(which allows anyone to subscribe), approval
(which requires the subscriber to be manually approved), policy
(which only allows users with specific groups or attributes to subscribe), or manual
(which requires users to be manually added).
equalization
array
Details the policy conditions of the equalization, including the configured (or recommended) user groups and attributes.
workspace
array
Information on native workspaces in the project.
type
string
The type of Immuta project, either user created project (user
) or system generated project (schema
).
createdAt
timestamp
Date of the project creation.
updatedAt
timestamp
Date of the most recent update.
workspaceWarnings
string
This message describes issues with the created workspace.
Example request
This example request with the payload below will update the project with the project ID 2
.
Example request payload
This example payload will update the project to be named Documentation Project.