Use Domains
Domains API reference guide
The domains API allows users to create domains and organize data sources into them.
Endpoints and methods
DELETE
Removes a domain permission from a user by the permission ID
DELETE
Removes a domain permission from a user by the user ID and permission type
GET
Retrieves a list of permissions for the specified user or group across all domains they are a member of
POST /domain
POST /domainCreate a new domain. You can also add data sources, update user permissions, and change the data source assignment after creating the domain.
Required Immuta permission: GOVERNANCE
Body parameters
id string
The unique identifier of the domain.
Optional
-
-
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 domain.
Required
-
domain
domainPermissions array
The users or groups to grant domain-specific permissions to.
Optional
[]
-
domainPermissions**.profileId** integer
The profile ID of a single user to grant domain-specific permissions to.
Optional
-
-
domainPermissions**.groupId** integer
The group ID of a group to grant domain-specific permissions to.
Optional
-
-
domainPermissions**.permission** string
The domain-specific permission to grant to the user or group.
Required if including domainPermissions.profileId or domainPermissions.groupId
-
Manage PoliciesAudit ActivityManage Identifiers
domainDataSources array
The data sources to add to the domain.
Optional
[]
-
domainDataSources.dataSourceId integer
The data source ID of the data source to add to the domain.
Optional
-
-
Response
Returns a domains object.
GET /domain
GET /domainRetrieve domains created in Immuta. These results can be filtered by permission or by name.
Query parameters
offset integer
The number of items from the beginning of the response to exclude. You can combine the offset and size parameters to return a specific set of domains. For example, to return the second and third domain in the response, you would set offset=1 and size=2.
Optional
Minimum value is 0. Maximum value is the total number of domains minus size.
size integer
The number of domains to return.
Optional
Minimum value is 1. Maximum value is the total number of domains.
searchText string
The text to search for in domain names. This will return domains with a name that contains this search text.
Optional
-
withPermissions string
Only returns domains that the querying user has been granted the permission in.
Optional
Manage PoliciesAudit ActivityManage Identifiers
isExactMatch boolean
If true, will only return domains with the exact name.
Optional
true or false
isDomainPolicySearch boolean
If true, will only return domains that the user can modify policies on.
Optional
true or false
Response
Returns a data property that contains an array of up to size domain objects. If no domains exist, the array will be empty.
GET /domain/{domainId}
GET /domain/{domainId}Retrieve a domain with the given domainId to view the data sources, description, and assigned permissions associated with the domain.
Path parameter
domainId string
The unique identifier of the domain.
Response
Returns a domains object.
GET /domain/{domainId}/allPermissions
GET /domain/{domainId}/allPermissionsRetrieve all permissions assigned to the specified domain.
Path parameter
domainId string
The unique identifier of the domain.
Query parameters
type string
The type of permission to return.
Manage PoliciesAudit ActivityManage Identifiers
offset integer
The number of items from the beginning of the response to exclude. You can combine the offset and size parameters to return a specific set of permissions. For example, to return the second and third permissions in the response, you would set offset=1 and size=2.
Minimum value is 0. Maximum value is the total number of permissions minus size.
size integer
The number of permissions to return.
Minimum value is 1. Maximum value is the total number of permissions.
Response
Returns an array of domain permission objects that represent a permission in a domain assigned to a specific user.
GET /domain/name/{domainName}
GET /domain/name/{domainName}Retrieve a domain with the given domainName to view the data sources, description, and assigned permissions associated with the domain.
Path parameter
domainName string
The name of the domain.
Response
Returns a domains object.
PUT /domain/{domainId}
PUT /domain/{domainId}Change the domain name or description.
Required Immuta permission: GOVERNANCE
Path parameter
domainId string
The unique identifier of the domain.
Body parameters
name string
The name of the domain.
Optional
-
-
description string
The description of the domain that will be displayed for users.
Optional
-
-
Response
Returns a domains object with the new name or description.
POST /domain/{domainId}/assignment
POST /domain/{domainId}/assignmentChange the data source assignment of the domain.
Required Immuta permission: GOVERNANCE
Path parameter
domainId string
The unique identifier of the domain.
Body parameters
assignmentType string
The way data sources will be added to the domain. If manual, data sources must be added by a user. If dynamic, include a tag and all data sources with that tag will always be in the domain.
Required
-
dynamicmanual
tags string
Details about the tag to use for dynamic assignment.
Required if assignmentType is set to dynamic
-
-
tags.name string
The name of the tag to use for dynamic assignment.
Required if assignmentType is set to dynamic
-
-
Response
Returns the number of data sources added and removed based on the domain assignment update and the new assignment type.
PUT /domain/{domainId}/settings
PUT /domain/{domainId}/settingsChange the domain's autoscanning setting.
Required Immuta permission: GOVERNANCE
Path parameter
domainId string
The unique identifier of the domain.
Body parameter
autoscanning boolean
If true, autoscanning is enabled and will run identification automatically for all data sources added to the domain.
Optional
false
true or false
Response
Returns the new autoscanning setting.
DELETE /domain/{domainId}
DELETE /domain/{domainId}Delete a domain. The domain must have zero data sources, policies, and identifiers to be deleted.
Required Immuta permission: GOVERNANCE
Path parameter
domainId string
The unique identifier of the domain.
Query parameter
dryRun boolean
If true, the domain will not be deleted.
Response
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.
POST /domain/{domainId}/datasources
POST /domain/{domainId}/datasourcesAdd existing data sources to a domain. Data sources can only be added to domains with manual data source assignment.
The request will fail if any data source IDs that have already been assigned to a domain are included in the payload or if data source assignment is set to dynamic.
Required Immuta permission: GOVERNANCE
Path parameter
domainId string
The unique identifier of the domain.
Body parameter
dataSourceId integer
The unique identifier of the data source in Immuta.
Required
-
-
Response
Returns a unique identifier of the background job that adds the data sources to the domain.
GET /domain/{domainId}/datasources
GET /domain/{domainId}/datasourcesRetrieve the data sources within a domain.
Path parameter
domainId string
The unique identifier of the domain.
Query parameters
offset integer
The number of items from the beginning of the response to exclude. You can combine the offset and size parameters to return a specific set of data sources. For example, to return the second and third data source in the response, you would set offset=1 and size=2.
Minimum value is 0. Maximum value is the total number of data sources minus size.
size integer
The number of data sources to return.
Minimum value is 1. Maximum value is the total number of data sources.
searchText string
The text to search for in data source names. This will return data sources with a name that contains this search text.
-
dataSourceIds integer
Filters search results by data source ID.
-
Response
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.
DELETE /domain/{domainId}/datasources/{dataSourceId}
DELETE /domain/{domainId}/datasources/{dataSourceId}Remove data sources from a domain. Data sources can only be removed from domains with manual data source assignment.
The request will fail if the data source assignment is set to dynamic.
Required Immuta permission: CREATE_DATA_SOURCE
Path parameters
domainId 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.
Response
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 domain or data source was not found.
POST /domain/{domainId}/permissions
POST /domain/{domainId}/permissionsAssign domain permissions to a specific user.
Required Immuta permission: USER_ADMIN
Path parameter
domainId string
The unique identifier of the domain.
Body parameters
groupId integer
The unique identifier of the group.
Optional
[]
-
profileId integer
The unique identifier of the user in the identity manager.
Optional
[]
-
permission string
The domain permission to assign to the user or group.
Required
-
Manage PoliciesAudit ActivityManage Identifiers
Response
Returns an array of domain permission objects that represent a permission in a domain assigned to a specific user. If the permission had already been assigned to the user for that domain, the response will include an error for the permissions that were not assigned to that user because the permission already existed.
POST /domain/{domainId}/permissions/bulk-delete
POST /domain/{domainId}/permissions/bulk-deleteRemove permissions from multiple users or groups in a domain.
Required Immuta permission: USER_ADMIN
Path parameter
domainId string
The unique identifier of the domain.
Body parameters
domainPermissions.groupId integer
The unique identifier of the group the permission is assigned to.
Required if profileId is not provided
-
-
domainPermissions.profileId integer
The unique identifier of the user the permission is assigned to.
Required if groupId is not provided
-
-
domainPermissions.permission string
The domain permission assigned to the user or group.
Required
-
Manage PoliciesAudit ActivityManage Identifiers
Response
Returns an array of domain permission objects that represent a permission in a domain deleted from that specific user or group. Response includes permissions that failed to delete.
GET /domain/{domainId}/permissions/{memberType}
GET /domain/{domainId}/permissions/{memberType}Retrieve a list of permissions associated with the domain.
Path parameters
domainId string
The unique identifier of the domain.
memberType string
The type of member to get a list of permissions for. Possible values include user or group.
Query parameters
type string
The permission to return.
Manage PoliciesAudit ActivityManage Identifiers
offset integer
The number of items from the beginning of the response to exclude. You can combine the offset and size parameters to return a specific set of domain users. For example, to return the second and third domain users in the response, you would set offset=1 and size=2.
Minimum value is 0. Maximum value is the total number of domain users minus size.
size integer
The number of users to return.
Minimum value is 1. Maximum value is the total number of domain users.
searchText string
A string used to filter the results returned by the name.
-
sortField string
Specifies the field to sort the results by.
domainIdnameprofileId
sortOrder string
Specifies how to sort the results of the request.
ascdesc
Response
Returns a data property that contains an array of users or groups who have been assigned that permission in the domain.
GET /domain/permissions/{memberType}/{memberId}
GET /domain/permissions/{memberType}/{memberId}Retrieve a list of permissions for the specified user or group across all domains they are a member of.
Path parameters
memberType string
The type of member to get a list of permissions for. Possible values include user or group.
memberId string
The unique identifier of the user or group.
Query parameters
type string
The permission to return.
Manage PoliciesAudit ActivityManage Identifiers
offset integer
The number of items from the beginning of the response to exclude. You can combine the offset and size parameters to return a specific set of domain permissions. For example, to return the second and third permission in the response, you would set offset=1 and size=2.
Minimum value is 0. Maximum value is the total number of domain permissions that user or group has minus size.
size integer
The number of permissions to return.
Minimum value is 1. Maximum value is the total number of domain permissions that user or group has.
searchText string
A string used to filter the results returned by the name.
-
sortField string
Specifies the field to sort the results by.
domainIdnameprofileId
sortOrder string
Specifies how to sort the results of the request.
ascdesc
Response
Returns a data property that contains an array of permissions that have been assigned to the user or group in all the domains they are a member of.
DELETE /domain/{domainId}/permissions/{permissionId}
DELETE /domain/{domainId}/permissions/{permissionId}Remove a domain permission from a specific user or group.
Required Immuta permission: USER_ADMIN
Path parameters
domainId string
The unique identifier of the domain.
permissionId string
The unique identifier of the assigned permission.
Response
Returns a 204 code when the permission is successfully removed from the user. Additional responses are provided below:
400: Invalid permission
404: Domain or permission not found
DELETE /domain/{domainId}/permissions/{memberType}/{memberId}/{permissionType}
DELETE /domain/{domainId}/permissions/{memberType}/{memberId}/{permissionType}Remove a domain permission based on the permission type.
Required Immuta permission: USER_ADMIN
Path parameters
domainId string
The unique identifier of the domain.
-
memberType string
The type of member to remove the permission from.
usergroup
memberId integer
The unique identifier of the user or group.
-
permissionType string
The type of permission to delete.
Manage PoliciesAudit ActivityManage Identifiers
Response
Returns a 204 code when the permission is successfully removed. Additional responses are provided below:
400: Invalid permission
404: Domain or permission not found
POST /policy/global
POST /policy/globalCreate a domain-scoped policy.
Required Immuta permission: GOVERNANCE or Manage Policies domain permission
Body parameters
The body parameters for authoring a domain policy are the same as the parameters listed for authoring a policy on the Manage data and subscription policies page.
To scope a policy to a domain, circumstances.type must be domains and the payload must include circumstances.domains.id and circumstances.domains.name.
Response
When successful, the response returns the policy that was created.
PUT /policy/global/{policyId}
PUT /policy/global/{policyId}Update a domain-scoped policy.
Required Immuta permission: GOVERNANCE or Manage Policies domain permission
Body parameters
The body parameters for updating a domain policy are the same as the parameters listed for updating a global policy on the Manage data and subscription policies page.
To scope a policy to a domain, circumstances.type must be domains and the payload must include circumstances.domains.id and circumstances.domains.name.
Response
When successful, the response returns the policy that was updated.
Domain object attributes
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.
settings object
The domain settings.
settings.autoscanning boolean
If true, identification autoscanning is on.
tags array
The tag used to dynamically assign data sources to the domain.
tags.name string
The name of the tag used to dynamically assign data sources to the domain.
tags.displayName string
The display name of the tag used to dynamically assign data sources to the domain.
tags.id integer
The ID of the tag used to dynamically assign data sources to the domain.
assignmentType string
The way data sources are assigned to the domain. Options are dynamic or manual.
createdBy integer
The unique identifier of the user who created the domain.
profile.name 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.
Domains permissions object attributes
id string
The unique identifier of the permissions object.
profileId integer
The unique identifier of the user the permission is assigned to.
groupId integer
The unique identifier of the group the permission is assigned to.
domainId string
The unique identifier of the domain.
permission string
The permission assigned to the user.
createdAt timestamp
The date and time the permission object was created.
source string
Indicates whether the permission was assigned as a user permission or a group permission.
Last updated
Was this helpful?

