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.
Domain object attributes
Attribute
Description
Endpoints and methods
Method
Endpoint
Description
POST/collection
Create a new domain. You must have the global GOVERNANCE permission to create a domain. You can add data sources to the domain after creating the domain.
curl -X 'POST' \
'https://your.immuta.url.com/collection' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 09a0ffd7512f4aeeb66c09f3111c436c' \
-d '{
"id": "c7458ee9-03e5-4b6f-8395-ad4e49235428",
"name": "Research",
"description": "This domain is for research team data.",
"type": "domain"
}'
{"id":"c7458ee9-03e5-4b6f-8395-ad4e49235428","type":"domain","name":"Research","description":"This domain is for research team data.","createdAt":"2023-05-10T14:55:29.289Z","updatedAt":"2023-05-10T14:55:29.289Z","createdBy":2,"profile": {"name":"Example User" }}
GET/collection
Retrieve domains created in Immuta. These results can be filtered by permission or by name.
{"id":"c7458ee9-03e5-4b6f-8395-ad4e49235428","type":"domain","name":"Research","description":"This domain is for research team data.","createdAt":"2023-05-10T14:55:29.289Z","updatedAt":"2023-05-10T14:55:29.289Z","createdBy":2,"profile": {"name":"Example User" }}
GET/collection/{collectionType}/{collectionName}
Retrieve a domain with the given collectionName to view the data sources, description, and assigned permissions associated with the domain.
{"id":"c7458ee9-03e5-4b6f-8395-ad4e49235428","type":"domain","name":"Research","description":"This domain is for research team data.","createdAt":"2023-05-10T14:55:29.289Z","updatedAt":"2023-05-10T14:55:29.289Z","createdBy":2,"profile": {"name":"Example User" }}
PUT/collection/{collectionId}
Change the domain name or description. You must have the global GOVERNANCE permission to update the domain.
curl -X 'PUT' \
'https://your.immuta.url.com/collection/c7458ee9-03e5-4b6f-8395-ad4e49235428' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 71bd4a7088554159a7ad1ade9242568f' \
-d '{
"name": "HR Research",
"description": "This domain is specifically for human resources data and research."
}'
Parameters
Path parameter
Body parameters
Response
Returns a domains object with the new name or description.
{"id":"c7458ee9-03e5-4b6f-8395-ad4e49235428","type":"domain","name":"HR Research","description":"This domain is specifically for human resources data and research.","createdAt":"2023-05-11T14:50:40.855Z","updatedAt":"2023-05-11T14:53:21.235Z","createdBy":2,"profile": {"name":"Example User" }}
DELETE/collection/{collectionId}
Delete a domain. The domain must have zero data sources for a user with the global GOVERNANCE permission to delete the domain.
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.
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.
Remove a domain permission from a specific user or group. You must have the global USER_ADMIN permission to remove domain permissions from users and groups.
Remove a domain permission based on the permission type. You must have the global USER_ADMIN permission to remove domain permissions from users and groups.