Domains API Reference Guide
Collections
The collections object represents a domain you've created that contains data sources and assigned permissions. Currently, the only collection type available is a domain, so collections and domains are referred to interchangeably throughout this page.
Object attributes
Attribute | Data type | Description |
---|---|---|
id | String | The unique identifier of the domain. |
name | String | The name of the domain. |
description | String | The description of the domain that will be displayed for users. |
collectionPermissions.id | String | The unique identifier of the permission. |
collectionPermissions.profileId | String | The unique identifier of the user profile in the IAM. |
collectionPermissions.collectionId | String | The unique identifier of the domain for which the user has the assigned permission. |
collectionPermissions.permission | String | The permission they are granted for that domain. Accepted value is |
collectionDataSources.dataSourceId | Integer | The unique identifier for the data source in Immuta. |
createdBy | Integer | The unique identifier of the user who created the domain. |
profileId | String | The name of the user who created the domain. |
createdAt | Timestamp | The date and time the domain was created. |
updatedAt | Timestamp | The date and time the domain was updated. |
type | String | The type of collection. Value is |
Endpoints and methods
POST /collection: Creates a new domain.
GET /collection: Retrieves all domains.
GET /collection/{collectionId}: Retrieves a specific domain.
PUT /collection/{collectionId}: Updates a domain name or description.
DELETE /collection/{collectionId}: Deletes a domain.
POST /collection/{collectionId}/datasources: Adds data sources to a domain.
GET /collection/{collectionId}/datasources: Retrieves the data sources in the domain.
DELETE /collection/{collectionId}/datasources/{dataSourceId}: Deletes a data source from a domain.
POST /collection/{collectionId}/permissions: Assigns a domain permission to a user.
GET /collection/{collectionId}/permissions: Retrieves user permissions assigned in the domain.
DELETE /collection/{collectionId}/permissions/{permissionId}: Removes a domain permission from a user.
Create a new domain
Create a new domain. Currently in preview, you cannot add data sources to the domain when creating the domain. You must have the global GOVERNANCE
permission to create a domain.
** accordion **
POST /collection
Body parameters
Parameter | Data type | Description | Required or Optional | Default values | Accepted values |
---|---|---|---|---|---|
id | String | The unique identifier of the domain. | Required | - | - |
name | String | The name of the domain. | Required | - | - |
description | String | The description of the domain that will be displayed for users. | Optional | - | - |
type | String | The type of collection. | Required |
|
|
Returns
Returns a collections object.
Response
Retrieve all domains
Retrieve domains created in Immuta. These results can be filtered by permission or by name.
GET /collection
Query parameters
The following table describes optional query parameters for retrieving domains.
Parameter | Data type | Description | Accepted values |
---|---|---|---|
type | String | The type of collection. |
|
offset | Integer | The number of items from the beginning of the response to exclude. You can combine the | Minimum value is |
size | Integer | The number of domains to return. | Minimum value is |
searchText | String | The text to search for in domain names. This will return domains with a name that contains this search text. | - |
withPermissions | String | Only returns domains that the querying user has been granted the permission in. |
|
Returns
Returns a data property that contains an array of up to size
domain objects. If no domains exist, the array will be empty.
Response
Retrieve a single domain
Retrieve a domain with the given collectionId
to view the data sources, description, and assigned permissions associated with the domain.
GET /collection/{collectionId}
Path parameter
Parameter | Data type | Description |
---|---|---|
collectionId | String | The unique identifier of the domain. |
Returns
Returns a collections object.
Response
Update a domain
Change the domain name or description. You must have the global GOVERNANCE
permission to update the domain.
PUT /collection/{collectionId}
Parameters
Path parameter
Parameter | Data type | Description |
---|---|---|
collectionId | String | The unique identifier of the domain. |
Body parameters
Parameter | Data type | Description | Required or Optional | Default values | Accepted values |
---|---|---|---|---|---|
name | String | The name of the domain. | Optional | - | - |
description | String | The description of the domain that will be displayed for users. | Optional | - | - |
Returns
Returns a collections object with the new name or description.
Response
Delete a domain
Delete a domain. The domain must have zero data sources for a user with the global GOVERNANCE
permission to delete the domain.
DELETE /collection/{collectionId}
Parameters
Path parameter
Parameter | Data type | Description |
---|---|---|
collectionId | String | The unique identifier of the domain. |
Query parameter
Parameter | Data type | Description |
---|---|---|
dryRun | Boolean | If |
Returns
Returns a 204 code when the domain is successfully deleted. Additional responses are provided below:
400: An invalid ID was provided.
404: The domain was not found.
Add domain data sources
Add existing data sources to a domain. You must have the GOVERNANCE
permission.
POST /collection/{collectionId}/datasources
Parameters
Path parameter
Parameter | Data type | Description |
---|---|---|
collectionId | String | The unique identifier of the domain. |
Body parameter
Parameter | Data type | Description | Required or Optional | Default values | Accepted values |
---|---|---|---|---|---|
dataSourceId | Integer | The unique identifier of the data source in Immuta. | Required | - | - |
Returns
Returns a unique identifier of the background job that adds the data sources to the domain.
Response
Retrieve domain data sources
GET /collection/{collectionId}/datasources
Retrieve the data sources within a domain.
Parameters
Path parameter
Parameter | Data type | Description |
---|---|---|
collectionId | String | The unique identifier of the domain. |
Query parameters
Parameter | Data type | Description | Accepted values |
---|---|---|---|
offset | Integer | The number of items from the beginning of the response to exclude. You can combine the | Minimum value is |
size | Integer | The number of data sources to return. | Minimum value is |
Returns
Returns a data property that contains an array of up to size
data sources. Each entry in the array is a separate data source. If there are no data sources in the domain, the array will be empty.
Response
Delete domain data sources
Remove data sources from a domain. To remove data sources from a domain, you must have the global CREATE_DATA_SOURCE
permission.
DELETE /collection/{collectionId}/datasources/{dataSourceId}
Path parameters
Parameter | Data type | Description |
---|---|---|
collectionId | String | The unique identifier of the domain from which to remove the data source. |
dataSourceId | Integer | The unique identifier of the data source to remove. |
Returns
Returns a 204 code when the data source is successfully removed from the domain. Additional responses are included below:
403: Requesting user does not have permission to remove the data source.
404: The specified collection or data source was not found.
Assign domain permissions
Assign domain permissions to a specific user. You must have the global USER_ADMIN
permission to assign domain permissions to users.
POST /collection/{collectionId}/permissions
Domains permissions object attributes
Attribute | Data type | Description |
---|---|---|
id | String | The unique identifier of the permissions object. |
profileId | Integer | The unique identifier of the user the permission is assigned to. |
collectionId | String | The unique identifier of the domain. |
permission | String | The permission assigned to the user. Accepted value is |
createdAt | Timestamp | The date and time the permission object was created. |
Parameters
Path parameter
Parameter | Data type | Description |
---|---|---|
collectionId | String | The unique identifier of the domain. |
Body parameters
Parameter | Data type | Description | Required or Optional | Default values | Accepted values |
---|---|---|---|---|---|
profileId | Integer | The unique identifier of the user in the identity manager. | Required | - | - |
permission | String | The domain permission assigned to the user. | Required | - |
|
Returns
Returns an array of domain permission objects that represent a permission in a domain assigned to a specific user.
Response
Retrieve domain user permissions
Retrieve a list of permissions associated with the domain.
GET /collection/{collectionId}/permissions
Parameters
Path parameter
Parameter | Data type | Description |
---|---|---|
collectionId | String | The unique identifier of the domain. |
Query parameters
Parameter | Data type | Description | Accepted values |
---|---|---|---|
type | String | The permission to return. |
|
offset | Integer | The number of items from the beginning of the response to exclude. You can combine the | Minimum value is |
size | Integer | The number of users to return. | Minimum value is |
Returns
Returns a data property that contains an array of users who have been assigned that permission in the domain.
Response
Delete domain permissions
Remove a domain permission from a specific user. You must have the global USER_ADMIN
permission to remove domain permissions from users.
DELETE /collection/{collectionId}/permissions/{permissionsId}
Path parameters
Parameter | Data type | Description |
---|---|---|
collectionId | String | The unique identifier of the domain. |
permissionsId | String | The unique identifier of the assigned permission. |
Returns
Returns a 204 code when the permission is successfully removed from the user. Additional responses are provided below:
400: Invalid permission.
404: Collection or permission not found.
Last updated