Manage a Host
Data API reference guide
This page details the /data
v1 API, which allows users to register a host to Immuta with a single set of credentials rather than configuring an integration and creating data sources separately. For a how-to on registering a host, see the Register a host reference guide.
Method | Endpoint | Description |
---|---|---|
GET | Search for a host using a connection key | |
GET | Search for a specific data object | |
POST | Search for the child objects of the data object defined in the objectPath or search all top-level data objects (hosts) if the objectPath is omitted | |
PUT | Update the connection information for the specified host | |
POST | Trigger an ad hoc crawl starting at the specified data object | |
PUT | Update the settings through overrides for the specified data object | |
DELETE | Delete the given data object and all its child objects |
GET
/data/connection/{connectionKey}
GET
/data/connection/{connectionKey}
Search for a host using a connection key.
Required Immuta permission: CREATE_DATA_SOURCE
, APPLICATION_ADMIN
, or Infrastructure Admin or Data Owner within the hierarchy
Path parameters
Attribute | Description | Required |
---|---|---|
connectionKey | The key to uniquely identify the host connection. This is the same as the display name of the host in the Immuta UI. | Yes |
Response schema
Attribute | Description |
---|---|
connectionKey | The key to uniquely identify the host connection. |
connection | Integration-specific connection information (i.e., hostname, authentication type, warehouse, etc.) |
createdAt | The time the host was registered in Immuta. |
createdBy | The ID of the user who registered the host. |
creator.id | The ID of the user who registered the host. |
creator.name | The name of the user who registered the host. |
creator.email | The email of the user who registered the host. |
updatedAt | The time the host was updated in Immuta. |
updatedBy | The ID of the user who updated the host. |
updater.id | The ID of the user who updated the host. |
updater.name | The name of the user who updated the host. |
updater.email | The email of the user who updated the host. |
nativeIntegrationId | The ID of the native integration backing the host. |
Example response
GET
/data/object/{objectPath}
GET
/data/object/{objectPath}
Search for a specific data object using the object path.
Required Immuta permission: CREATE_DATA_SOURCE
, APPLICATION_ADMIN
, or INFRASTRUCTURE_ADMIN
or DATA_OWNER
within the hierarchy
Path parameters
Attribute | Description | Required |
---|---|---|
objectPath | The list of names that uniquely identify the path to a data object in the remote platform's hierarchy. The first element should be the and all names should be separated by forward slashes ( | Yes |
Response schema
Attribute | Desciription |
---|---|
objectPath | The list of names that uniquely identify the path to a data object in the remote platform's hierarchy. The first element should be the |
technology | The technology that the object comes from: |
state | Whether the object is currently |
settings | Specifications of the host's settings, including active status, new children status, infrastructure admins, and data owners. |
overrides | Specifications of the data object's settings that differ from its parents' settings. |
dataSourceId | The ID of the data source if it is a table object that is active. |
createdAt | The time the data object was created in Immuta. |
lastCrawled | The time the data object was last crawled during object sync. |
remoteId | The ID of the remote data object. |
Example response
POST
/data/object/search/{objectPath}
POST
/data/object/search/{objectPath}
Search for the children of the object defined in the objectPath. Or search all top-level data objects (hosts) if the objectPath is omitted.
Required Immuta permission: CREATE_DATA_SOURCE
, APPLICATION_ADMIN
, or INFRASTRUCTURE_ADMIN
or DATA_OWNER
within the hierarchy
Path parameters
Attribute | Description | Required |
---|---|---|
objectPath | The list of names that uniquely identify the path to a data object in the remote platform's hierarchy. The first element should be the and all names should be separated by forward slashes ( | Yes |
Query parameters
Attribute | Description | Required |
---|---|---|
sortField | The field to sort the search results. | No |
sortOrder | Denotes whether to sort the results in ascending ( | No |
offset | Use in combination with | No |
limit | Limits the number of results displayed per page. | No |
searchText | A partial, case-insensitive search on name. | No |
Response schema
Attribute | Description |
---|---|
count | The number of results for your search. |
hits.objectPath | The list of names that uniquely identify the path to a data object in the remote platform's hierarchy. The first element should be the |
hits.technology | The technology that the object comes from (i.e., Snowflake, Databricks, etc.). |
hits.state | Whether the object is currently |
hits.settings | Specifications of the host's settings, including active status, new children status, infrastructure admins, and data owners. |
hits.overrides | Specifications of the data object's settings that differ from its parents' settings. |
hits.dataSourceId | The ID of the data source if it is a table object that is active. |
hits.createdAt | The time the data object was created in Immuta. |
hits.lastCrawled | The time the data object was last crawled during object sync. |
hits.remoteId | The ID of the remote data object. |
Example response
PUT
/data/connection/{connectionKey}
PUT
/data/connection/{connectionKey}
Update the connection information for the specified host. Partial updates are not supported.
Required Immuta permission: INFRASTRUCTURE_ADMIN
on the host
What can be updated?
Using this endpoint, you can only update connection information. To update other integration details, use the PUT/integrations/{id}
endpoint.
Path parameters
Attribute | Description | Required |
---|---|---|
connectionKey | The key to uniquely identify the host connection. This is the same as the display name of the host in the Immuta UI. | Yes |
Body parameters
The connection parameters differ based on your backing technology. See the Host registration payload reference guide for details about the payloads.
Response schema
Attribute | Description |
---|---|
objectPath | The list of names that uniquely identify the path to a data object in the remote platform's hierarchy. The first element should be the |
bulkId | A bulk ID that can be used to search for the status of background jobs triggered by this request. |
Example response
POST
/data/crawl/{objectPath}
POST
/data/crawl/{objectPath}
Trigger an ad hoc crawl starting at the specified object. Note: A crawl cannot happen at the table level.
Required Immuta permission: INFRASTRUCTURE_ADMIN
or DATA_OWNER
on the object
Path parameters
Attribute | Description | Required |
---|---|---|
objectPath | The list of names that uniquely identify the path to a data object in the remote platform's hierarchy. The first element should be the and all names should be separated by forward slashes ( | Yes |
Query parameters
Attribute | Description | Required |
---|---|---|
forceRecursive | If | No. |
Response schema
Attribute | Description |
---|---|
objectPath | The list of names that uniquely identify the path to a data object in the remote platform's hierarchy. The first element should be the |
bulkId | A bulk ID that can be used to search for the status of background jobs triggered by this request. |
Example response
PUT
/data/settings/{objectPath}
PUT
/data/settings/{objectPath}
Update the settings through overrides for the specified data object. All changes will trickle down to child objects as new overrides; however, existing overrides on child objects will still be respected. Data owners and infrastructure admins cannot be removed, only added. To remove data owners and infrastructure admins, edit the settings at the host level.
Required Immuta permission: INFRASTRUCTURE_ADMIN
on the object
Path parameters
Attribute | Description | Required |
---|---|---|
objectPath | The list of names that uniquely identify the path to a data object in the remote platform's hierarchy. The first element should be the and all names should be separated by forward slashes ( | Yes |
Body parameters
Attribute | Description | Required |
---|---|---|
overrides | A list of settings configured differently from the parent object's settings. | |
overrides.isActive | If | |
overrides.activateNewChildren | If | |
overrides.infrastructureAdmins | A list of the users and groups that are infrastructure admins on the host. These users can crawl the host, edit the connection, and delete data objects. | |
overrides.infrastructureAdmins.id | The ID of the user or group to make infrastructure admin. | |
overrides.infrastructureAdmins.type | The type to make infrastructure admin. Options are | |
overrides.dataOwners | A list of users and groups that are data owners on the host. These users will be data owners for all the data sources under the data object they are assigned to. | |
overrides.dataOwners.id | The ID of the user or group to make data owner. | |
overrides.dataOwners.type | The type to make data owner. Options are |
Response schema
Attribute | Description |
---|---|
objectPath | The list of names that uniquely identify the path to a data object in the remote platform's hierarchy. The first element should be the |
technology | The backing technology of the host. Options are |
state | Whether the object is currently |
settings | Specifications of the host's settings, including active status, new children status, infrastructure admins, and data owners. |
overrides | Specifications of the data object's settings that differ from its parents' settings. |
dataSourceId | The ID of the data source if it is a table object that is active. |
createdAt | The time the data object was created in Immuta. |
lastCrawled | The time the data object was last crawled during object sync. |
remoteId | The ID of the remote data object. |
bulkId | A bulk ID that can be used to search for the status of background jobs triggered by this request. |
Example response
DELETE
/data/object/{objectPath}
DELETE
/data/object/{objectPath}
Delete the given object and all its child objects. For example, if you delete a database, all its schemas and tables will also be deleted.
Required Immuta permission: INFRASTRUCTURE_ADMIN
or DATA_OWNER
on the object
See the Deregister a host guide to delete a host and all its data objects.
Path parameters
Attribute | Description | Required |
---|---|---|
objectPath | The list of names that uniquely identify the path to a data object in the remote platform's hierarchy. The first element should be the and all names should be separated by forward slashes ( | Yes |
Response schema
Attribute | Description |
---|---|
objectPath | The list of names that uniquely identify the path to a data object in the remote platform's hierarchy. The first element should be the |
childCount | The number of child objects of the data object that were deleted. |
Example response
Last updated