The integrations resource allows you to create, configure, and manage your integration. How Immuta manages and administers policies in your data platform varies by integration.
To configure or manage an integration, users must have the APPLICATION_ADMIN Immuta permission.
Endpoints
Method
Endpoint
Description
GET
Gets all integration configurations
POST
Creates an integration
DELETE
Deletes a configured integration
GET
Gets an integration configuration
PUT
Updates a configured integration
POST
Regenerates an Immuta API key for the configured integration
GET
Gets the status of the specified integration
POST
Creates a script to remove Immuta-managed resources from your platform for integrations that were not successfully created
POST
Creates a script to set up Immuta-managed resources in your platform
POST
Creates a script to remove Immuta-managed resources from your platform for integrations that were successfully configured
POST
Creates a script to edit existing Immuta-managed resources in your platform
POST
Creates the first script to set up Immuta-managed resources in your Azure Synapse Analytics or Redshift platform
POST
Creates the second script to remove Immuta-managed resources from your Azure Synapse Analytics integration if it was not successfully created
Creates an integration configuration that allows Immuta to manage access policies on data registered in Immuta.
Amazon S3 example
When you connect Immuta to your AWS account, the awsLocationPath is the base S3 location prefix that Immuta will use for this connection when registering S3 data sources.
This request configures the integration using the AWS access key authentication method.
When you connect Immuta to your Azure Synapse Analytics account, the schema you specify is where all the policy-enforced views will be created and managed by Immuta.
This request creates a Databricks Unity Catalog integration configuration that allows Immuta to administer Unity Catalog policies on data registered in Immuta.
When you connect Immuta to your Google BigQuery account, the dataset you specify is where all the policy-enforced views will be created and managed by Immuta.
When you connect Immuta to your Redshift account, the Immuta system user will use the database you specify to manage and store metadata. The initial database (REDSHIFT_SAMPLE_DATA, in the request below) is an existing Redshift database that Immuta connects to in order to create the Immuta-managed database (immuta, in the request below).
This request specifies userPassword as the authentication type for the Immuta system user. The username and password provided are credentials for a system account that can manage the database.
When you connect Immuta to your Snowflake account, the warehouse you specify is the default pool of compute resources the Immuta system user will use to run queries and perform other Snowflake operations.
When you configure the Starburst (Trino) integration, Immuta generates an API key and configuration snippet on the Immuta app settings page that you will use to configure your Starburst cluster.
The unique identifier of the integration configuration.
Required
Query parameter
Parameter
Description
Required or optional
dryRunboolean
When true, the integration configuration will not actually be deleted, and the response returns the validation tests statuses.
Optional
forceDisableboolean
When true, the integration will be deleted in Immuta. Users must manually remove all Immuta objects in the remote data platform.
Optional
Body parameters
For Amazon S3 integrations, Databricks Unity Catalog integrations, Google BigQuery integrations, Starburst (Trino) integrations, or integration configurations with autoBootstrap set to false, no payload is required to delete the integration.
For the integrations below, the request accepts a JSON or YAML payload when autoBootstrap is set to true. See the payload description for your integration for parameters and details:
The unique identifier of the integration configuration.
Required
Response
{"id":123456789,"status":"enabled"}
POST /integrations/scripts/cleanup
Creates a script to remove Immuta-managed resources from your platform. This endpoint is for Azure Synapse Analytics, Redshift, and Snowflake integrations that were not successfully created and, therefore, do not have an integration ID.
The request accepts a JSON or YAML payload with the parameters outlined below.
Parameter
Description
Required or optional
Default values
Accepted values
typestring
The type of integration to clean up.
Required
-
Azure Synapse Analytics
Redshift
Snowflake
autoBootstrapboolean
Required
-
false
configobject
Required
-
-
Response
The response returns the script that you will run in your Azure Synapse Analytics, Redshift, or Snowflake environment.
Once you have run the script,
use the DELETE /integrations/{id} endpoint to delete your Redshift or Snowflake integration in Immuta:
POST /integrations/scripts/create
Creates a script for you to run manually to set up objects and resources for Immuta to manage and enforce access controls on your data. This endpoint is available for Azure Synapse Analytics, Databricks Unity Catalog, Redshift, and Snowflake integrations.
The request accepts a JSON or YAML payload with the parameters outlined below.
Parameter
Description
Required or optional
Default values
Accepted values
typestring
The type of integration to configure.
Required
-
Azure Synapse Analytics
Databricks
Redshift
Snowflake
autoBootstrapboolean
Required
-
false
configobject
Required
-
-
Response
The response returns the script that you will run in your Azure Synapse Analytics, Databricks Unity Catalog, Redshift, or Snowflake environment.
POST /integrations/{id}/scripts/delete
Creates a script to remove Immuta-managed resources from your platform. This endpoint is for Azure Synapse Analytics, Redshift, and Snowflake integrations that were successfully created.
The response returns the script that you will run in your Azure Synapse Analytics, Redshift, or Snowflake environment.
Once you have run the script, use the DELETE /integrations/{id} endpoint to delete your integration in Immuta:
POST /integrations/{id}/scripts/edit
Creates a script for you to run manually to edit objects and resources managed by Immuta in your platform. This endpoint is available for Azure Synapse Analytics, Redshift, and Snowflake integrations.
The request accepts a JSON or YAML payload with the parameters outlined below.
Parameter
Description
Required or optional
Default values
Accepted values
typestring
The type of integration to configure.
Required
-
Azure Synapse Analytics
Databricks
Redshift
Snowflake
autoBootstrapboolean
Required
-
false
configobject
Required
-
-
Response
The response returns the script that you will run in your Azure Synapse Analytics, Databricks Unity Catalog, Redshift, or Snowflake environment. Once you have run the script, use the PUT /integrations/{id} endpoint to finish editing your integration:
POST /integrations/scripts/initial-create
Creates the first script for you to run manually to set up objects and resources for Immuta to manage and enforce access controls on your data in Azure Synapse Analytics or Redshift integrations.
The request accepts a JSON or YAML payload with the parameters outlined below.
Parameter
Description
Required or optional
Default values
Accepted values
typestring
The type of integration to configure.
Required
-
Azure Synapse Analytics
Redshift
autoBootstrapboolean
Required
-
false
configobject
Required
-
-
Response
The response returns the script that you will run in your Azure Synapse Analytics or Redshift environment.
POST /integrations/scripts/post-cleanup
Creates a second script to remove the final Immuta-managed resources from your Azure Synapse Analytics platform. This endpoint is for Azure Synapse Analytics integrations that were not successfully created and, therefore, do not have an integration ID.
The response returns the configuration for all integrations. See the for details about the response schema. An unsuccessful request returns the status code and an error message. See the for a list of statuses, error messages, and troubleshooting guidance.
This request specifies userPassword authentication type. The username and password provided are credentials of a Snowflake account attached to a role with . These credentials are not stored; they are used by Immuta to configure the integration.
When true, Immuta will automatically configure the integration in your Azure Synapse Analytics, Databricks Unity Catalog, Redshift, or Snowflake environment for you. When false, you must set up your environment manually before configuring the integration with the API. This parameter must be set to false in the Amazon S3 and Google BigQuery configurations. See the specific how-to guide for configuring your integration for details: , , , .
This object specifies the integration settings. See the config object description for your integration for details: , , , , , or .
The response returns the status of the integration configuration connection. See the for details about the response schema.
An unsuccessful request returns the status code and an error message. See the for a list of statuses, error messages, and troubleshooting guidance.
The response returns the status of the integration configuration that has been deleted. See the for details about the response schema. An unsuccessful request returns the status code and an error message. See the for a list of statuses, error messages, and troubleshooting guidance.
The response returns an integration configuration. See the for details about the response schema. An unsuccessful request returns the status code and an error message. See the for a list of statuses, error messages, and troubleshooting guidance.
When true, Immuta will automatically configure the integration in your Azure Synapse Analytics, Databricks Unity Catalog, Redshift, or Snowflake environment for you. When false, you must set up your environment manually before configuring the integration with the API. This parameter must be set to false in the Google BigQuery configuration. See the specific how-to guide for configuring other integrations: , , , .
This object specifies the integration settings. See the config object description for your integration for details: , , , , or .
The response returns the status of the integration configuration connection. See the for details about the response schema.
An unsuccessful request returns the status code and an error message. See the for a list of statuses, error messages, and troubleshooting guidance.
This request regenerates an Immuta API key for the configured Starburst (Trino) integration. Once you make this request, your old Immuta API key will be deleted and will no longer be valid. See the for instructions on updating your Starburst (Trino) integration to use the new API key.
The response returns the new Immuta API key. An unsuccessful request returns the status code and an error message. See the for a list of statuses, error messages, and troubleshooting guidance.
The response returns the of the specified integration. An unsuccessful request returns the HTTP status code and an error message. See the for a list of statuses, error messages, and troubleshooting guidance.
For Azure Synapse Analytics integrations, you must also make a request to the to create another script that will finish removing Immuta-managed resources from the platform.
Set to false to specify that you will run the script in your environment yourself to clean up the integration resources. See the , , or manual setup section for details.
This object specifies the integration settings. See the config object description for your integration for details: , , or .
use the to create another script that will finish removing Immuta-managed resources from your Azure Synapse Analytics platform.
Set to false to specify that you will run the script in your environment yourself to configure the integration. You must run the Immuta script before creating the integration. See the , , , or manual setup guides for details.
This object specifies the integration settings. See the config object description for your integration for details: , , , or .
Set to false to specify that you will run the script in your environment yourself to configure the integration. You must run the Immuta script before creating the integration. See the , , or manual setup guides for details.
This object specifies the integration settings. Some settings cannot be changed once an integration is configured. See the config object description for your integration for details: , , or .
Set to false to specify that you will run the script in your environment yourself to configure the integration. You must run the Immuta script before creating the integration. See the or manual setup guides for details.
This object specifies the integration settings. See the config object description of the or integration configuration for details.
Once you have run this script, use the to generate a script to finish creating the Immuta-managed resources in your platform.
Before making a request like the one below, you must make a request to the to create the first script that will remove the initial Immuta-managed resources from the platform.
Set to false to specify that you will run the script in your environment yourself to clean up the integration resources. See the manual setup section for details.
This object specifies the integration settings. See the config object description of for details.
Once you have run the script, use the DELETE /integrations/{id} endpoint to delete your integration in Immuta by following the instructions.