Manage Data Sources
Understand the parameters and response schema for the dataSource endpoints that manage data sources
Additional fields may be included in some responses you receive; however, these attributes are for internal purposes and are therefore undocumented.
Endpoints and methods
POST
Sync the data policies and grants for data sources in the remote data platform.
PUT
Trigger the schema monitoring job for the specified detection group, or all groups if no ID is given.
GET
Refresh tags from an external catalog on a data source. The external catalog must be linked to the data source.
DELETE
Delete a data source. This will perform a soft delete on the first call and a hard delete the second time.
PUT /dataSource/{dataSourceId}
The /dataSource/{dataSourceId} endpoint cannot be used for connection-backed data sources when updating deleted or name. To complete these actions on any connection-backed data sources, use the /data endpoint.
Update a data source.
Required: The global GOVERNANCE permission or be the data source owner
curl \
--request PUT \
--header "Content-Type: application/json" \
--header "Authorization: Bearer dea464c07bd07300095caa8" \
--data @example-payload.json \
https://your-immuta-url.com/dataSource/22Payload example
Path parameters
dataSourceId
integer The data source ID.
Yes
Payload parameters
blobHandler
object Blob handler configuration for the data source (for example, url, optional ca, and manualDictionary).
No
blobHandlerType
string Describes the type of underlying blob handler that will be used with this data source (e.g., MS SQL).
No
recordFormat
string The data format of blobs in the data source, such as json, xml, html, or jpeg.
No
type
string The type of data source: queryable (metadata is dynamically queried).
No
name
string The name of the data source. It must be unique within the Immuta tenant.
No
sqlTableName
string A string that represents this data source's table in Immuta.
No
organization
string The organization that owns the data source.
No
category
string The category of the data source.
No
description
string The description of the data source.
No
hasExamples
boolean When true, the data source contains examples.
No
Response
Returns a data source object for the updated data source.
private
boolean When false, the data source will be publicly available in the Immuta UI.
blobHandler
object Blob handler configuration for the data source (for example, url, optional ca, and manualDictionary).
blobHandlerType
string Describes the type of underlying blob handler that will be used with this data source (e.g., MS SQL).
recordFormat
string The data format of blobs in the data source, such as json, xml, html, or jpeg.
type
string The type of data source: queryable (metadata is dynamically queried).
name
string The name of the data source. It must be unique within the Immuta tenant.
sqlTableName
string A string that represents this data source's table in Immuta.
organization
string The organization that owns the data source.
description
string The description of the data source.
policyHandler
object The policy handler details and policies enforced on the data source.
subscriptionPolicy
object Details about the subscription policy enforced on the data source, including policy type and approvals/exceptions.
PUT /dataSource/bulk/{type}
The dataSource/bulk/{type} endpoint cannot be used with connection-backed data sources when bulk updating delete, restore or disable. To complete these actions on any connection-backed data sources, use the /data endpoint.
Update data sources.
Required: The global GOVERNANCE permission or be the data source owner for all data sources included in the payload
Payload example
Path parameters
type
string The action to perform on the data sources: add-users, disable, restore, delete, or tags.
Yes
Payload parameters
ids
array[integer] The IDs of the data sources to update.
Yes
update
array[object] Only required for add-users (includes metadata about the users' profiles: id and state) and tags (includes metadata about the tags: name and source) types.
No
Response
Returns an ID to track the jobs created to update the data sources.
bulkId
string The ID of the bulk data source update.
jobsCreated
integer The number of jobs created.
POST /dataSource/bulkRefreshViews
Sync the data policies and grants for data sources in the remote data platform.
Required: The global GOVERNANCE permission or be the data source owner for all data sources included in the payload
Payload example
Payload parameters
dataSourceIds
array[integer] The IDs of the data sources to sync the policies.
Yes
PUT /dataSource/detectRemoteChanges
The /dataSource/detectRemoteChanges endpoint cannot be used with connection-backed data sources. For any connection-backed data sources, use the /data/crawl/{objectPath} endpoint.
Trigger the schema monitoring job for the specified detection group, or all groups if no payload parameters are given.
Required: The global GOVERNANCE permission or be the data source owner for all data sources included in the payload
Payload example
The tabs below illustrate payloads for triggering schema monitoring on a host, database, or table. The request will run schema monitoring for all databases registered under the hostname provided in the payload.
The request will run schema monitoring for all databases registered under the hostname provided in the payload.
The request will run schema monitoring on the database provided in the payload. If data sources were initially registered via the V2 API, this request will locate new schemas that contain tables Immuta has the ability to access, and Immuta will create a new schema project associated with these newly discovered schemas and create data sources for each table located. If data sources were initially registered via the V1 API, this request will only update the columns and tables of registered schema and tables of the specified database; it will not register any new schemas.
The request will run column detection and update the columns on the table specified in the payload.
Payload parameters
dataSourceIds
array[integer] The data source IDs to run the column detection job on. Leave empty to run this job globally on all data sources. This parameter cannot be included in the payload if schemaEvolutionId or any combination of hostname, database, port, or table is included.
No
hostname
string The hostname of the data sources. This parameter cannot be included in the payload if dataSourceIds or schemaEvolutionId is included.
No
port
integer The port used to connect the data sources to Immuta. This parameter cannot be included in the payload if dataSourceIds or schemaEvolutionId is included.
No
database
string The database name. This runs schema monitoring on the database provided. If data sources were initially registered via the V2 API, including this parameter will locate new schemas that contain tables Immuta has the ability to access, and Immuta will create a new schema project associated with these newly discovered schemas and create data sources for each table located. If data sources were initially registered via the V1 API, including this parameter will only update the columns and tables of registered schema and tables of the specified database; it will not register any new schemas. This parameter cannot be included in the payload if dataSourceIds or schemaEvolutionId is included.
No
table
string The table name. This will run column detection to just update the columns in this table. This parameter cannot be included in the payload if dataSourceIds or schemaEvolutionId is included.
No
schemaEvolutionId
integer The ID of the schema to run the schema monitoring job on. This will run on all tables associated with the specified ID. The schema ID can be found in the response body of /dataSource/{dataSourceId}. This parameter cannot be included in the payload if dataSourceIds or any combination of hostname, database, port, or table is included.
No
skipColumnDetection
boolean When true, Immuta will only pull new tables from the source server. This parameter can only be paired with schemaEvolutionId.
No
overrides.httpPath
string If Databricks ephemeral overrides are configured, provide the alternative HTTP path to trigger schema monitoring on that ephemeral cluster.
No
Response
Returns details about the schema monitoring and column detection jobs created.
schemaDetection
object Includes details about the resulting schema detection jobs.
columnDetection
object Includes details about the resulting column detection jobs.
bulkId
string The unique identifier of the jobs running schema monitoring and column detection.
Responses may include bulkId, schemaDetection, or columnDetection objects, depending on the payload.
The tabs below illustrate the example response for each example payload provided above.
GET /dataSource/{dataSourceId}/test
Refreshes the data source health checks and refreshes tags from an external catalog on a data source. The external catalog must be linked to the data source.
Required: The global GOVERNANCE permission or be the data source owner
Path parameters
dataSourceId
integer The data source ID.
Yes
Response
Returns health check details for the specified data source.
blob
object Indicates whether or not the blob was successfully crawled.
columnEvolution
object Indicates whether or not the job run to check for columns added or removed from the data source passed and when it was last run.
externalCatalog
object Indicates whether or not the external catalog was successfully linked to the data source.
fingerprint
object Indicates whether or not the fingerprint job was successful (passed) and when it was last run. The fingerprint captures summary statistics of a Snowflake data source.
framework
object Indicates whether or not the classification was successfully run on the data source to determine its sensitivity.
globalPolicy
object Indicates whether or not global policies were successfully applied to the data source.
highCardinality
object Indicates whether or not the job run to calculate the data source's high cardinality column passed and when it was last run.
schemaEvolution
object Indicates whether or not the job run to check if a new table had been added in the remote database passed and when it was last run. If a new table was added, Immuta automatically creates a new data source. Correspondingly, if a remote table is removed, that data source will be disabled in the console.
sdd
object Indicates whether or not identification was successfully run on the data source.
sql
object Indicates whether or not the SQL query run to check the data source's health passed and when it was last run.
stats
object Indicates whether or not the job run to calculate the number of rows in the data source passed and when it was last run.
GET /dataSource/blobHandlerTypes
Retrieve all blob handlers the current user is allowed to create.
Response
Returns blob handler types the current user can create.
name
string The name of the blob handler.
baseUrl
string The base URL for the data source.
config
array Includes information about the connection configuration.
port
integer The port number.
driver
string The name of the driver.
DELETE /dataSource/{dataSourceId}
The /dataSource/{dataSourceId} endpoint cannot be used with connection-backed data sources. For any connection-backed data sources, use the /data/object/{objectPath} endpoint.
Delete a data source. This will perform a soft delete on the first call and a hard delete the second time.
Required: The global GOVERNANCE permission or be the data source owner
Path parameters
dataSourceId
integer The data source ID.
Yes
Response
Returns delete status details for the specified data source.
success
boolean If true, the request to disable or delete the data source was successful.
id
integer The data source ID.
schemaEvolutionId
integer The schema evolution ID.
name
string The data source name.
disabled
boolean If true, the data source is disabled.
handlerDeleteErrorMessage
string The delete error message.
Last updated
Was this helpful?

