Manage a Connection
Data API reference guide
This page details the /data
v1 API, which allows users to register a connection 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 connection, see the Register a connection reference guide.
GET
Search for a connection 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 (connections) if the objectPath is omitted
PUT
Update the connection information for the specified connection
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 connection using a connection key.
Required Immuta permission: CREATE_DATA_SOURCE
, APPLICATION_ADMIN
, or Infrastructure Admin or Data Owner within the hierarchy
Path parameters
connectionKey string
The key to uniquely identify the connection. This is the same as the display name of the connection in the Immuta UI.
Yes
Response schema
connectionKey string
The key to uniquely identify the connection.
connection object
Integration-specific connection information (i.e., hostname, authentication type, warehouse, etc.)
createdAt timestamp
The time the connection was registered in Immuta.
createdBy integer
The ID of the user who registered the connection.
creator.id integer
The ID of the user who registered the connection.
creator.name string
The name of the user who registered the connection.
creator.email string
The email of the user who registered the connection.
updatedAt timestamp
The time the connection was updated in Immuta.
updatedBy integer
The ID of the user who updated the connection.
updater.id integer
The ID of the user who updated the connection.
updater.name string
The name of the user who updated the connection.
updater.email string
The email of the user who updated the connection.
nativeIntegrationId integer
The ID of the native integration backing the connection.
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
objectPath string
Yes
Response schema
objectPath string
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 connectionKey
and all names are separated by forward slashes.
technology string
The technology that the object comes from: Snowflake
or Databricks
.
state string
Whether the object is currently active
or inactive
.
settings array
Specifications of the connection's settings, including active status, new children status, infrastructure admins, and data owners.
overrides array
Specifications of the data object's settings that differ from its parents' settings.
dataSourceId integer
The ID of the data source if it is a table object that is active.
createdAt timestamp
The time the data object was created in Immuta.
lastCrawled timestamp
The time the data object was last crawled during object sync.
remoteId string
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 if the objectPath is omitted.
Required Immuta permission: CREATE_DATA_SOURCE
, APPLICATION_ADMIN
, or INFRASTRUCTURE_ADMIN
or DATA_OWNER
within the hierarchy
Path parameters
objectPath string
Yes
Query parameters
sortField string
The field to sort the search results.
No
sortOrder string
Denotes whether to sort the results in ascending (asc
) or descending (desc
) order. Default is asc
.
No
offset integer
Use in combination with limit
to fetch pages.
No
limit integer
Limits the number of results displayed per page.
No
searchText string
A partial, case-insensitive search on name.
No
Response schema
count integer
The number of results for your search.
hits.objectPath string
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 connectionKey
and all names are separated by forward slashes.
hits.technology string
The technology that the object comes from (i.e., Snowflake, Databricks, etc.).
hits.state string
Whether the object is currently active
or inactive
.
hits.settings array
Specifications of the connection's settings, including active status, new children status, infrastructure admins, and data owners.
hits.overrides array
Specifications of the data object's settings that differ from its parents' settings.
hits.dataSourceId integer
The ID of the data source if it is a table object that is active.
hits.createdAt timestamp
The time the data object was created in Immuta.
hits.lastCrawled timestamp
The time the data object was last crawled during object sync.
hits.remoteId string
The ID of the remote data object.
Example response
PUT
/data/connection/{connectionKey}
PUT
/data/connection/{connectionKey}
Update the connection information for the specified connection. Partial updates are not supported.
Required Immuta permission: INFRASTRUCTURE_ADMIN
on the connection
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
connectionKey string
The key to uniquely identify the connection. This is the same as the display name of the connection in the Immuta UI.
Yes
Body parameters
The connection parameters differ based on your backing technology. See the Connection registration payload reference guide for details about the payloads.
Response schema
objectPath string
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 connectionKey
and all names are separated by forward slashes.
bulkId string
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
objectPath string
Yes
Query parameters
forceRecursive boolean
If false
, only active objects will be crawled. If true
, both active and inactive data objects will be crawled; any child objects from inactive objects will be set as inactive. Defaults to false
.
No.
Response schema
objectPath string
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 connectionKey
and all names are separated by forward slashes.
bulkId string
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 connection level.
Required Immuta permission: INFRASTRUCTURE_ADMIN
on the object
Path parameters
objectPath string
Yes
Body parameters
overrides array
A list of settings configured differently from the parent object's settings.
overrides.isActive boolean
If true
, the object and all its child objects are active.
overrides.activateNewChildren boolean
If true
, all new children found during object sync will be registered as active.
overrides.infrastructureAdmins array
A list of the users and groups that are infrastructure admins on the connection. These users can crawl the connection, edit the connection, and delete data objects.
overrides.infrastructureAdmins.id integer
The ID of the user or group to make infrastructure admin.
overrides.infrastructureAdmins.type string
The type to make infrastructure admin. Options are user
or group
.
overrides.dataOwners array
A list of users and groups that are data owners on the connection. These users will be data owners for all the data sources under the data object they are assigned to.
overrides.dataOwners.id integer
The ID of the user or group to make data owner.
overrides.dataOwners.type string
The type to make data owner. Options are user
or group
.
Response schema
objectPath string
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 connectionKey
and all names should be separated by forward slashes.
technology string
The backing technology of the connection. Options are Databricks
or Snowflake
.
state string
Whether the object is currently active
or inactive
.
settings array
Specifications of the connection's settings, including active status, new children status, infrastructure admins, and data owners.
overrides array
Specifications of the data object's settings that differ from its parents' settings.
dataSourceId integer
The ID of the data source if it is a table object that is active.
createdAt timestamp
The time the data object was created in Immuta.
lastCrawled timestamp
The time the data object was last crawled during object sync.
remoteId string
The ID of the remote data object.
bulkId string
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 connection guide to delete a connection and all its data objects.
Path parameters
objectPath string
Yes
Response schema
objectPath string
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 connectionKey
and all names are separated by forward slashes.
childCount integer
The number of child objects of the data object that were deleted.
Example response
Last updated