# Connections API

## Get an existing connection

> Get an existing connection with all credentials redacted.

```json
{"openapi":"3.1.0","info":{"title":"Connections API","version":"1.0.0"},"servers":[{"url":"<Immuta Base URL>","description":"Immuta API Base URL"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"GetConnectionResponseSchemaV1Output":{"description":"The connection resource. Sensitive strings will be returned with a value of '[REDACTED]'.","title":"Get Connection Response.","anyOf":[{"description":"The Databricks connection details.","title":"Databricks Connection","type":"object","properties":{"technology":{"type":"string","const":"Databricks"},"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The credential configuration for the OAuthWithCertificate authentication type.","title":"OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint."},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","clientId","authorityUrl","scope","publicCertificateThumbprint","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithSecret authentication type.","title":"OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application."}},"required":["authenticationType","clientId","authorityUrl","scope","clientSecret"],"additionalProperties":false},{"description":"The credential configuration for the Token authentication type.","title":"Token Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"Token"},"token":{"description":"The personal access token for the service principal created for Immuta to authenticate with the data platform."}},"required":["authenticationType","token"],"additionalProperties":false}],"type":"object"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"host":{"description":"Your Databricks host."},"port":{"description":"The port for your Databricks account connection.","default":443,"type":"number"},"path":{"description":"The HTTP path of your Databricks cluster or SQL warehouse.","type":"string","minLength":1},"metastoreId":{"description":"The ID of the Databricks metastore.","type":"string","minLength":1},"username":{"description":"The username (SCIM `userName`) of the principal whose credentials Immuta uses to connect to this workspace.","type":"string","minLength":1},"immutaSystemCatalog":{"description":"The name of the Databricks catalog Immuta will create to store internal entitlements and other user data specific to Immuta. This catalog will only be readable for the Immuta service principal and should not be granted to other users. The catalog name may only contain letters, numbers, and underscores and cannot start with a number.","type":"string","minLength":1},"proxy":{"description":"The proxy details for the connector.","title":"Proxy Settings","type":"object","properties":{"host":{"type":"string","format":"uri"},"port":{"type":"number"},"credential":{"description":"The credential configuration for the UsernamePassword authentication type.","title":"UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection."}},"required":["authenticationType","username","password"],"additionalProperties":false}},"required":["host","port","credential"],"additionalProperties":false}},"required":["credential","host","port","path","metastoreId","immutaSystemCatalog"],"additionalProperties":false},"state":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"activeTasks":{"description":"All pending or running tasks.","type":"array","items":{"description":"The task summary schema.","title":"Task Summary","oneOf":[{"description":"DATA_OBJECT_SYNC task summary schema.","title":"DATA_OBJECT_SYNC Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DATA_OBJECT_DELETE task summary schema.","title":"DATA_OBJECT_DELETE Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_DELETE"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DELETE_CONNECTION task summary schema.","title":"DELETE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DELETE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"ACTIVATE_CONNECTION task summary schema.","title":"ACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"ACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DEACTIVATE_CONNECTION task summary schema.","title":"DEACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DEACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"UPDATE_CONNECTION task summary schema.","title":"UPDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"UPDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"VALIDATE_CONNECTION task summary schema.","title":"VALIDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"VALIDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false}],"type":"object"}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"},"dataObjectDefaults":{"description":"The default configuration for data objects in the connection.","title":"Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","default":false,"type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"dataObjectSync":{"description":"The automated data object sync configuration for the connection.","title":"Automated Data Object Sync Configuration","type":"object","properties":{"enabled":{"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"required":["enabled","schedule","startTime","syncAllDataObjects"],"additionalProperties":false},"policyConfiguration":{"default":{"enabled":true,"excludeGroupPattern":"immuta_exemption_group"},"description":"Policy configuration for the Databricks connector.","title":"Databricks Policy Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean","const":true},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"excludeGroupPattern":{"description":"Excludes the listed group from having data policies applied in the Databricks Unity Catalog integration. By default, the group \"immuta_exemption_group\" is excluded. Once the excludeGroupPattern is set it cannot be changed.","default":"immuta_exemption_group","type":"string","minLength":1}},"required":["enabled","excludeGroupPattern"],"additionalProperties":false},"auditConfiguration":{"default":{"enabled":true},"description":"Audit configuration for the Databricks connection.","title":"Databricks Audit Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"workspaceIds":{"description":"The optional list of workspaces to filter audit. If omitted, Immuta will audit queries from all users and tables in all workspaces.","type":"array","items":{"type":"string"}}},"required":["enabled"],"additionalProperties":false}},"required":["technology","clientConfiguration","state","connectionKey","createdBy","createdAt","updatedBy","updatedAt","dataObjectDefaults","dataObjectSync","policyConfiguration","auditConfiguration"],"additionalProperties":false},{"description":"The Snowflake connection details.","title":"Snowflake Connection","type":"object","properties":{"technology":{"type":"string","const":"Snowflake"},"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The credential configuration for the UsernamePassword authentication type.","title":"UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection."}},"required":["authenticationType","username","password"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithSecret authentication type.","title":"OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application."}},"required":["authenticationType","clientId","authorityUrl","scope","clientSecret"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithCertificate authentication type.","title":"OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint."},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","clientId","authorityUrl","scope","publicCertificateThumbprint","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the UnencryptedKeyPair authentication type.","title":"UnencryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UnencryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","username","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the EncryptedKeyPair authentication type.","title":"EncryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"EncryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false},"password":{"description":"The password for the private key."}},"required":["authenticationType","username","privateKey","password"],"additionalProperties":false}],"type":"object"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"host":{"description":"Your Snowflake host."},"port":{"description":"The port for your Snowflake account connection.","default":443,"type":"number"},"warehouse":{"description":"The default pool of compute resources the Immuta system user will use to run queries and perform other Snowflake operations.","type":"string","minLength":1},"role":{"description":"The privileged Snowflake role used by the Immuta system account when configuring the Snowflake connection. It must be able to see the data that Immuta will govern.","type":"string","minLength":1},"accountId":{"description":"Your Snowflake organization account identifier.","type":"string","minLength":1},"immutaSystemDatabase":{"description":"The name of the Snowflake database Immuta will create to store internal entitlements and other user data specific to Immuta. This database will only be readable for the Immuta service principal and should not be granted to other users. The database name may only contain letters, numbers, and underscores and cannot start with a number. Normalized to uppercase on write to match Snowflake.","type":"string","minLength":1}},"required":["credential","host","warehouse","role","accountId","immutaSystemDatabase"],"additionalProperties":false},"state":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"activeTasks":{"description":"All pending or running tasks.","type":"array","items":{"description":"The task summary schema.","title":"Task Summary","oneOf":[{"description":"DATA_OBJECT_SYNC task summary schema.","title":"DATA_OBJECT_SYNC Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DATA_OBJECT_DELETE task summary schema.","title":"DATA_OBJECT_DELETE Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_DELETE"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DELETE_CONNECTION task summary schema.","title":"DELETE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DELETE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"ACTIVATE_CONNECTION task summary schema.","title":"ACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"ACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DEACTIVATE_CONNECTION task summary schema.","title":"DEACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DEACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"UPDATE_CONNECTION task summary schema.","title":"UPDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"UPDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"VALIDATE_CONNECTION task summary schema.","title":"VALIDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"VALIDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false}],"type":"object"}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"},"dataObjectDefaults":{"description":"The default configuration for data objects in the connection.","title":"Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","default":false,"type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"dataObjectSync":{"description":"The automated data object sync configuration for the connection.","title":"Automated Data Object Sync Configuration","type":"object","properties":{"enabled":{"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"required":["enabled","schedule","startTime","syncAllDataObjects"],"additionalProperties":false},"policyConfiguration":{"default":{"enabled":true,"impersonation":{"enabled":false},"workspaces":{"enabled":false},"excludeUserGroupPattern":[]},"description":"Policy configuration for the Snowflake connector.","title":"Snowflake Policy Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean","const":true},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"impersonation":{"description":"Enables the use of the Snowflake impersonation feature. This feature allows Immuta users to act on behalf of other users when accessing Snowflake data. Once enabled, it cannot be disabled unless the Snowflake Data Impersonation Only feature is enabled.","default":{"enabled":false},"anyOf":[{"description":"The impersonation schema for the Snowflake connector.","title":"Snowflake Use Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":true},"impersonationRole":{"description":"The name of the user impersonation role.","type":"string","minLength":1}},"required":["enabled","impersonationRole"],"additionalProperties":false},{"description":"The no impersonation schema for the Snowflake connector.","title":"Snowflake No Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"workspaces":{"description":"Enables the use of Snowflake workspaces. If you use Snowflake secure data sharing with Immuta, set this property to true as project workspaces are required. If you use Snowflake table grants, set this property to false. Project workspaces cannot be used when Snowflake table grants are enabled. Workspaces cannot be disabled once enabled.","default":{"enabled":false},"anyOf":[{"description":"The use workspaces schema for the Snowflake connector.","title":"Snowflake Use Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":true},"warehouses":{"description":"The list of warehouses workspace users have usage privileges on.","type":"array","items":{"type":"string","minLength":1}}},"required":["enabled"],"additionalProperties":false},{"description":"The no workspaces schema for the Snowflake connector.","title":"Snowflake No Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"excludeUserGroupPattern":{"description":"An array list of roles and users (both case-sensitive) to exclude from authorization checks. Wildcards are unsupported.","default":[],"type":"array","items":{"type":"string","minLength":1}}},"required":["enabled","impersonation","workspaces","excludeUserGroupPattern"],"additionalProperties":false},"auditConfiguration":{"default":{"enabled":true},"description":"Audit configuration for the Snowflake connection.","title":"Snowflake Audit Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false}},"required":["enabled"],"additionalProperties":false}},"required":["technology","clientConfiguration","state","connectionKey","createdBy","createdAt","updatedBy","updatedAt","dataObjectDefaults","dataObjectSync","policyConfiguration","auditConfiguration"],"additionalProperties":false}]},"ErrorResponseSchemaV1":{"description":"Represents a list of errors that require action to resolve","title":"Error Response","type":"object","properties":{"errors":{"description":"The list of errors that require action to resolve","minItems":1,"type":"array","items":{"anyOf":[{"description":"Represents a system generated error","title":"Error","type":"object","properties":{"code":{"type":"string","enum":["CONN001","CONN002","CONN003","CONN004","CONN005"]},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error that requires action to resolve","title":"Required Action Error","type":"object","properties":{"code":{"type":"string","const":"CONN002"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"requiredActions":{"description":"The actions that the user must take to resolve the error","type":"array","items":{"description":"An action that the user must take to resolve the error","title":"Required Action","type":"object","properties":{"action":{"description":"Auto-generated action to be executed by the user on the platform.","type":"string"},"description":{"description":"A description of what the action that needs to be taken.","type":"string"}},"required":["action","description"],"additionalProperties":false}}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error caused by an invalid connection state","title":"Invalid State Error","type":"object","properties":{"code":{"type":"string","const":"CONN003"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The reason why the connection is in the invalid state","type":"string"},"invalidState":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]}},"required":["code","message","invalidState"],"additionalProperties":false}]}}},"required":["errors"],"additionalProperties":false}}},"paths":{"/api/connections/{connectionKey}":{"get":{"description":"Get an existing connection with all credentials redacted.","summary":"Get an existing connection","parameters":[{"in":"path","name":"connectionKey","schema":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"required":true,"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade."}],"responses":{"200":{"description":"Connection object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetConnectionResponseSchemaV1Output"}}}},"400":{"description":"Invalid request payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}},"404":{"description":"Connection not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}}}}}}}
```

## Delete a connection and all its data objects

> Delete a connection and all its data objects. Returns a task ID for tracking the asynchronous deletion process.

```json
{"openapi":"3.1.0","info":{"title":"Connections API","version":"1.0.0"},"servers":[{"url":"<Immuta Base URL>","description":"Immuta API Base URL"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ErrorResponseSchemaV1":{"description":"Represents a list of errors that require action to resolve","title":"Error Response","type":"object","properties":{"errors":{"description":"The list of errors that require action to resolve","minItems":1,"type":"array","items":{"anyOf":[{"description":"Represents a system generated error","title":"Error","type":"object","properties":{"code":{"type":"string","enum":["CONN001","CONN002","CONN003","CONN004","CONN005"]},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error that requires action to resolve","title":"Required Action Error","type":"object","properties":{"code":{"type":"string","const":"CONN002"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"requiredActions":{"description":"The actions that the user must take to resolve the error","type":"array","items":{"description":"An action that the user must take to resolve the error","title":"Required Action","type":"object","properties":{"action":{"description":"Auto-generated action to be executed by the user on the platform.","type":"string"},"description":{"description":"A description of what the action that needs to be taken.","type":"string"}},"required":["action","description"],"additionalProperties":false}}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error caused by an invalid connection state","title":"Invalid State Error","type":"object","properties":{"code":{"type":"string","const":"CONN003"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The reason why the connection is in the invalid state","type":"string"},"invalidState":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]}},"required":["code","message","invalidState"],"additionalProperties":false}]}}},"required":["errors"],"additionalProperties":false}}},"paths":{"/api/connections/{connectionKey}":{"delete":{"description":"Delete a connection and all its data objects. Returns a task ID for tracking the asynchronous deletion process.","summary":"Delete a connection and all its data objects","parameters":[{"in":"path","name":"connectionKey","schema":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"required":true,"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade."}],"responses":{"202":{"description":"Deletion task created and accepted for processing","content":{"application/json":{"schema":{"description":"The response schema for deleting a connection. Returns a task ID for tracking the asynchronous deletion process.","title":"Delete Connection Response","type":"object","properties":{"taskId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"}},"required":["taskId"],"additionalProperties":false}}}},"404":{"description":"Connection not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}},"409":{"description":"Unable to delete connection. Connection state must be INACTIVE to be deleted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}}}}}}}
```

## Partially update the connection

> Partially update the connection for the specified connection key.

```json
{"openapi":"3.1.0","info":{"title":"Connections API","version":"1.0.0"},"servers":[{"url":"<Immuta Base URL>","description":"Immuta API Base URL"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"PatchConnectionRequestSchemaV1":{"description":"The update connection request payload schema.","title":"Patch Connection Request Payload","anyOf":[{"description":"The partial Databricks connection for update operations.","title":"Databricks Connection Update","type":"object","properties":{"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The partial credential configuration for the OAuthWithCertificate authentication type. At least one credential field besides authenticationType must be provided.","title":"Partial OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint.","type":"string","minLength":1},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added.","type":"string","minLength":1}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType"],"additionalProperties":false},{"description":"The partial credential configuration for the OAuthWithSecret authentication type. At least one credential field besides authenticationType must be provided.","title":"Partial OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application.","type":"string","minLength":1}},"required":["authenticationType"],"additionalProperties":false},{"description":"The partial credential configuration for the Token authentication type. At least one credential field besides authenticationType must be provided.","title":"Partial Token Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"Token"},"token":{"description":"The personal access token for the service principal created for Immuta to authenticate with the data platform.","type":"string","minLength":1}},"required":["authenticationType"],"additionalProperties":false}],"type":"object"},"host":{"description":"Your Databricks host.","type":"string","minLength":1},"port":{"description":"The port for your Databricks account connection.","default":443,"type":"number"},"path":{"description":"The HTTP path of your Databricks cluster or SQL warehouse.","type":"string","minLength":1},"immutaSystemCatalog":{"description":"The name of the Databricks catalog Immuta will create to store internal entitlements and other user data specific to Immuta. This catalog will only be readable for the Immuta service principal and should not be granted to other users. The catalog name may only contain letters, numbers, and underscores and cannot start with a number.","type":"string","minLength":1},"proxy":{"anyOf":[{"description":"The partial proxy details for the connector.","title":"Partial Proxy Settings","type":"object","properties":{"host":{"type":"string","format":"uri"},"port":{"type":"number"},"credential":{"description":"The partial credential configuration for the UsernamePassword authentication type. At least one credential field besides authenticationType must be provided.","title":"Partial UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection.","type":"string","minLength":1}},"required":["authenticationType"],"additionalProperties":false}},"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false},"dataObjectDefaults":{"description":"Partial default configuration for data objects in the connection. Omitted keys are unchanged.","title":"Partial Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"additionalProperties":false},"dataObjectSync":{"type":"object","properties":{"enabled":{"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"additionalProperties":false},"auditConfiguration":{"description":"The partial audit configuration for the Databricks connection.","title":"Partial Databricks Audit Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"workspaceIds":{"description":"The optional list of workspaces to filter audit. If omitted, Immuta will audit queries from all users and tables in all workspaces.","type":"array","items":{"type":"string"}}},"additionalProperties":false}},"additionalProperties":false},{"description":"The partial Snowflake connection for update operations.","title":"Snowflake Connection Update","type":"object","properties":{"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The partial credential configuration for the UsernamePassword authentication type. At least one credential field besides authenticationType must be provided.","title":"Partial UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection.","type":"string","minLength":1}},"required":["authenticationType"],"additionalProperties":false},{"description":"The partial credential configuration for the OAuthWithSecret authentication type. At least one credential field besides authenticationType must be provided.","title":"Partial OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application.","type":"string","minLength":1}},"required":["authenticationType"],"additionalProperties":false},{"description":"The partial credential configuration for the OAuthWithCertificate authentication type. At least one credential field besides authenticationType must be provided.","title":"Partial OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint.","type":"string","minLength":1},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added.","type":"string","minLength":1}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType"],"additionalProperties":false},{"description":"The partial credential configuration for the UnencryptedKeyPair authentication type. At least one credential field besides authenticationType must be provided.","title":"Partial UnencryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UnencryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added.","type":"string","minLength":1}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType"],"additionalProperties":false},{"description":"The partial credential configuration for the EncryptedKeyPair authentication type. At least one credential field besides authenticationType must be provided.","title":"Partial EncryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"EncryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added.","type":"string","minLength":1}},"required":["filename","content"],"additionalProperties":false},"password":{"description":"The password for the private key.","type":"string","minLength":1}},"required":["authenticationType"],"additionalProperties":false}],"type":"object"},"host":{"description":"Your Snowflake host.","type":"string","minLength":1},"port":{"description":"The port for your Snowflake account connection.","default":443,"type":"number"},"warehouse":{"description":"The default pool of compute resources the Immuta system user will use to run queries and perform other Snowflake operations.","type":"string","minLength":1},"role":{"description":"The privileged Snowflake role used by the Immuta system account when configuring the Snowflake connection. It must be able to see the data that Immuta will govern.","type":"string","minLength":1},"accountId":{"description":"Your Snowflake organization account identifier.","type":"string","minLength":1}},"additionalProperties":false},"dataObjectDefaults":{"description":"Partial default configuration for data objects in the connection. Omitted keys are unchanged.","title":"Partial Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"additionalProperties":false},"dataObjectSync":{"type":"object","properties":{"enabled":{"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"additionalProperties":false},"policyConfiguration":{"description":"The partial policy configuration for the Snowflake connector.","title":"Partial Snowflake Policy Configuration","type":"object","properties":{"impersonation":{"description":"Enables the use of the Snowflake impersonation feature. This feature allows Immuta users to act on behalf of users when accessing Snowflake data. Once enabled, it cannot be disabled unless the Snowflake Data Impersonation Only feature is enabled.","anyOf":[{"description":"The impersonation schema for the Snowflake connector.","title":"Snowflake Use Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":true},"impersonationRole":{"description":"The name of the user impersonation role.","type":"string","minLength":1}},"required":["enabled","impersonationRole"],"additionalProperties":false},{"description":"The no impersonation schema for the Snowflake connector.","title":"Snowflake No Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"workspaces":{"description":"Enables the use of Snowflake workspaces. If you use Snowflake secure data sharing with Immuta, set this property to true as project workspaces are required. If you use Snowflake table grants, set this property to false. Project workspaces cannot be used when Snowflake table grants are enabled. Workspaces cannot be disabled once enabled.","anyOf":[{"description":"The use workspaces schema for the Snowflake connector.","title":"Snowflake Use Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":true},"warehouses":{"description":"The list of warehouses workspace users have usage privileges on.","type":"array","items":{"type":"string","minLength":1}}},"required":["enabled"],"additionalProperties":false},{"description":"The no workspaces schema for the Snowflake connector.","title":"Snowflake No Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"excludeUserGroupPattern":{"description":"An array list of roles and users (both case-sensitive) to exclude from authorization checks. Wildcards are unsupported.","type":"array","items":{"type":"string","minLength":1}}},"additionalProperties":false},"auditConfiguration":{"description":"The partial audit configuration for the Snowflake connection.","title":"Partial Snowflake Audit Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean"}},"additionalProperties":false}},"additionalProperties":false}]},"PatchConnectionResponseSchemaV1":{"description":"The update connection response schema.","title":"Patch Connection Response","oneOf":[{"description":"The Databricks connection details.","title":"Databricks Connection","type":"object","properties":{"technology":{"type":"string","const":"Databricks"},"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The credential configuration for the OAuthWithCertificate authentication type.","title":"OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint."},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","clientId","authorityUrl","scope","publicCertificateThumbprint","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithSecret authentication type.","title":"OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application."}},"required":["authenticationType","clientId","authorityUrl","scope","clientSecret"],"additionalProperties":false},{"description":"The credential configuration for the Token authentication type.","title":"Token Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"Token"},"token":{"description":"The personal access token for the service principal created for Immuta to authenticate with the data platform."}},"required":["authenticationType","token"],"additionalProperties":false}],"type":"object"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"host":{"description":"Your Databricks host."},"port":{"description":"The port for your Databricks account connection.","default":443,"type":"number"},"path":{"description":"The HTTP path of your Databricks cluster or SQL warehouse.","type":"string","minLength":1},"metastoreId":{"description":"The ID of the Databricks metastore.","type":"string","minLength":1},"username":{"description":"The username (SCIM `userName`) of the principal whose credentials Immuta uses to connect to this workspace.","type":"string","minLength":1},"immutaSystemCatalog":{"description":"The name of the Databricks catalog Immuta will create to store internal entitlements and other user data specific to Immuta. This catalog will only be readable for the Immuta service principal and should not be granted to other users. The catalog name may only contain letters, numbers, and underscores and cannot start with a number.","type":"string","minLength":1},"proxy":{"description":"The proxy details for the connector.","title":"Proxy Settings","type":"object","properties":{"host":{"type":"string","format":"uri"},"port":{"type":"number"},"credential":{"description":"The credential configuration for the UsernamePassword authentication type.","title":"UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection."}},"required":["authenticationType","username","password"],"additionalProperties":false}},"required":["host","port","credential"],"additionalProperties":false}},"required":["credential","host","port","path","metastoreId","immutaSystemCatalog"],"additionalProperties":false},"state":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"activeTasks":{"description":"All pending or running tasks.","type":"array","items":{"description":"The task summary schema.","title":"Task Summary","oneOf":[{"description":"DATA_OBJECT_SYNC task summary schema.","title":"DATA_OBJECT_SYNC Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DATA_OBJECT_DELETE task summary schema.","title":"DATA_OBJECT_DELETE Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_DELETE"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DELETE_CONNECTION task summary schema.","title":"DELETE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DELETE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"ACTIVATE_CONNECTION task summary schema.","title":"ACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"ACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DEACTIVATE_CONNECTION task summary schema.","title":"DEACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DEACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"UPDATE_CONNECTION task summary schema.","title":"UPDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"UPDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"VALIDATE_CONNECTION task summary schema.","title":"VALIDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"VALIDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false}],"type":"object"}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"},"dataObjectDefaults":{"description":"The default configuration for data objects in the connection.","title":"Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","default":false,"type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"dataObjectSync":{"description":"The automated data object sync configuration for the connection.","title":"Automated Data Object Sync Configuration","type":"object","properties":{"enabled":{"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"required":["enabled","schedule","startTime","syncAllDataObjects"],"additionalProperties":false},"policyConfiguration":{"default":{"enabled":true,"excludeGroupPattern":"immuta_exemption_group"},"description":"Policy configuration for the Databricks connector.","title":"Databricks Policy Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean","const":true},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"excludeGroupPattern":{"description":"Excludes the listed group from having data policies applied in the Databricks Unity Catalog integration. By default, the group \"immuta_exemption_group\" is excluded. Once the excludeGroupPattern is set it cannot be changed.","default":"immuta_exemption_group","type":"string","minLength":1}},"required":["enabled","excludeGroupPattern"],"additionalProperties":false},"auditConfiguration":{"default":{"enabled":true},"description":"Audit configuration for the Databricks connection.","title":"Databricks Audit Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"workspaceIds":{"description":"The optional list of workspaces to filter audit. If omitted, Immuta will audit queries from all users and tables in all workspaces.","type":"array","items":{"type":"string"}}},"required":["enabled"],"additionalProperties":false}},"required":["technology","clientConfiguration","state","connectionKey","createdBy","createdAt","updatedBy","updatedAt","dataObjectDefaults","dataObjectSync","policyConfiguration","auditConfiguration"],"additionalProperties":false},{"description":"The Snowflake connection details.","title":"Snowflake Connection","type":"object","properties":{"technology":{"type":"string","const":"Snowflake"},"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The credential configuration for the UsernamePassword authentication type.","title":"UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection."}},"required":["authenticationType","username","password"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithSecret authentication type.","title":"OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application."}},"required":["authenticationType","clientId","authorityUrl","scope","clientSecret"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithCertificate authentication type.","title":"OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint."},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","clientId","authorityUrl","scope","publicCertificateThumbprint","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the UnencryptedKeyPair authentication type.","title":"UnencryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UnencryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","username","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the EncryptedKeyPair authentication type.","title":"EncryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"EncryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false},"password":{"description":"The password for the private key."}},"required":["authenticationType","username","privateKey","password"],"additionalProperties":false}],"type":"object"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"host":{"description":"Your Snowflake host."},"port":{"description":"The port for your Snowflake account connection.","default":443,"type":"number"},"warehouse":{"description":"The default pool of compute resources the Immuta system user will use to run queries and perform other Snowflake operations.","type":"string","minLength":1},"role":{"description":"The privileged Snowflake role used by the Immuta system account when configuring the Snowflake connection. It must be able to see the data that Immuta will govern.","type":"string","minLength":1},"accountId":{"description":"Your Snowflake organization account identifier.","type":"string","minLength":1},"immutaSystemDatabase":{"description":"The name of the Snowflake database Immuta will create to store internal entitlements and other user data specific to Immuta. This database will only be readable for the Immuta service principal and should not be granted to other users. The database name may only contain letters, numbers, and underscores and cannot start with a number. Normalized to uppercase on write to match Snowflake.","type":"string","minLength":1}},"required":["credential","host","warehouse","role","accountId","immutaSystemDatabase"],"additionalProperties":false},"state":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"activeTasks":{"description":"All pending or running tasks.","type":"array","items":{"description":"The task summary schema.","title":"Task Summary","oneOf":[{"description":"DATA_OBJECT_SYNC task summary schema.","title":"DATA_OBJECT_SYNC Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DATA_OBJECT_DELETE task summary schema.","title":"DATA_OBJECT_DELETE Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_DELETE"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DELETE_CONNECTION task summary schema.","title":"DELETE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DELETE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"ACTIVATE_CONNECTION task summary schema.","title":"ACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"ACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DEACTIVATE_CONNECTION task summary schema.","title":"DEACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DEACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"UPDATE_CONNECTION task summary schema.","title":"UPDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"UPDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"VALIDATE_CONNECTION task summary schema.","title":"VALIDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"VALIDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false}],"type":"object"}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"},"dataObjectDefaults":{"description":"The default configuration for data objects in the connection.","title":"Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","default":false,"type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"dataObjectSync":{"description":"The automated data object sync configuration for the connection.","title":"Automated Data Object Sync Configuration","type":"object","properties":{"enabled":{"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"required":["enabled","schedule","startTime","syncAllDataObjects"],"additionalProperties":false},"policyConfiguration":{"default":{"enabled":true,"impersonation":{"enabled":false},"workspaces":{"enabled":false},"excludeUserGroupPattern":[]},"description":"Policy configuration for the Snowflake connector.","title":"Snowflake Policy Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean","const":true},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"impersonation":{"description":"Enables the use of the Snowflake impersonation feature. This feature allows Immuta users to act on behalf of other users when accessing Snowflake data. Once enabled, it cannot be disabled unless the Snowflake Data Impersonation Only feature is enabled.","default":{"enabled":false},"anyOf":[{"description":"The impersonation schema for the Snowflake connector.","title":"Snowflake Use Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":true},"impersonationRole":{"description":"The name of the user impersonation role.","type":"string","minLength":1}},"required":["enabled","impersonationRole"],"additionalProperties":false},{"description":"The no impersonation schema for the Snowflake connector.","title":"Snowflake No Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"workspaces":{"description":"Enables the use of Snowflake workspaces. If you use Snowflake secure data sharing with Immuta, set this property to true as project workspaces are required. If you use Snowflake table grants, set this property to false. Project workspaces cannot be used when Snowflake table grants are enabled. Workspaces cannot be disabled once enabled.","default":{"enabled":false},"anyOf":[{"description":"The use workspaces schema for the Snowflake connector.","title":"Snowflake Use Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":true},"warehouses":{"description":"The list of warehouses workspace users have usage privileges on.","type":"array","items":{"type":"string","minLength":1}}},"required":["enabled"],"additionalProperties":false},{"description":"The no workspaces schema for the Snowflake connector.","title":"Snowflake No Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"excludeUserGroupPattern":{"description":"An array list of roles and users (both case-sensitive) to exclude from authorization checks. Wildcards are unsupported.","default":[],"type":"array","items":{"type":"string","minLength":1}}},"required":["enabled","impersonation","workspaces","excludeUserGroupPattern"],"additionalProperties":false},"auditConfiguration":{"default":{"enabled":true},"description":"Audit configuration for the Snowflake connection.","title":"Snowflake Audit Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false}},"required":["enabled"],"additionalProperties":false}},"required":["technology","clientConfiguration","state","connectionKey","createdBy","createdAt","updatedBy","updatedAt","dataObjectDefaults","dataObjectSync","policyConfiguration","auditConfiguration"],"additionalProperties":false}],"type":"object"},"ErrorResponseSchemaV1":{"description":"Represents a list of errors that require action to resolve","title":"Error Response","type":"object","properties":{"errors":{"description":"The list of errors that require action to resolve","minItems":1,"type":"array","items":{"anyOf":[{"description":"Represents a system generated error","title":"Error","type":"object","properties":{"code":{"type":"string","enum":["CONN001","CONN002","CONN003","CONN004","CONN005"]},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error that requires action to resolve","title":"Required Action Error","type":"object","properties":{"code":{"type":"string","const":"CONN002"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"requiredActions":{"description":"The actions that the user must take to resolve the error","type":"array","items":{"description":"An action that the user must take to resolve the error","title":"Required Action","type":"object","properties":{"action":{"description":"Auto-generated action to be executed by the user on the platform.","type":"string"},"description":{"description":"A description of what the action that needs to be taken.","type":"string"}},"required":["action","description"],"additionalProperties":false}}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error caused by an invalid connection state","title":"Invalid State Error","type":"object","properties":{"code":{"type":"string","const":"CONN003"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The reason why the connection is in the invalid state","type":"string"},"invalidState":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]}},"required":["code","message","invalidState"],"additionalProperties":false}]}}},"required":["errors"],"additionalProperties":false}}},"paths":{"/api/connections/{connectionKey}":{"patch":{"description":"Partially update the connection for the specified connection key.","summary":"Partially update the connection","parameters":[{"in":"path","name":"connectionKey","schema":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"required":true,"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade."},{"in":"query","name":"dryRun","schema":{"description":"Whether to perform a dry run of the patch operation without making actual changes.","title":"Dry Run Flag","type":"string"},"description":"Whether to perform a dry run of the patch operation without making actual changes."}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchConnectionRequestSchemaV1"}}}},"responses":{"200":{"description":"Connection object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchConnectionResponseSchemaV1"}}}},"400":{"description":"Invalid request payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}},"404":{"description":"Connection not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}},"409":{"description":"Unable to update connection. Connection state must be ACTIVE or UNHEALTHY to be updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}}}}}}}
```

## Activate the connection

> Activate the connection for the specified connection key.

```json
{"openapi":"3.1.0","info":{"title":"Connections API","version":"1.0.0"},"servers":[{"url":"<Immuta Base URL>","description":"Immuta API Base URL"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ActivateConnectionResponseSchemaV1":{"description":"The activate connection response schema.","title":"Activate Connection Response","oneOf":[{"description":"The Databricks connection details.","title":"Databricks Connection","type":"object","properties":{"technology":{"type":"string","const":"Databricks"},"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The credential configuration for the OAuthWithCertificate authentication type.","title":"OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint."},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","clientId","authorityUrl","scope","publicCertificateThumbprint","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithSecret authentication type.","title":"OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application."}},"required":["authenticationType","clientId","authorityUrl","scope","clientSecret"],"additionalProperties":false},{"description":"The credential configuration for the Token authentication type.","title":"Token Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"Token"},"token":{"description":"The personal access token for the service principal created for Immuta to authenticate with the data platform."}},"required":["authenticationType","token"],"additionalProperties":false}],"type":"object"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"host":{"description":"Your Databricks host."},"port":{"description":"The port for your Databricks account connection.","default":443,"type":"number"},"path":{"description":"The HTTP path of your Databricks cluster or SQL warehouse.","type":"string","minLength":1},"metastoreId":{"description":"The ID of the Databricks metastore.","type":"string","minLength":1},"username":{"description":"The username (SCIM `userName`) of the principal whose credentials Immuta uses to connect to this workspace.","type":"string","minLength":1},"immutaSystemCatalog":{"description":"The name of the Databricks catalog Immuta will create to store internal entitlements and other user data specific to Immuta. This catalog will only be readable for the Immuta service principal and should not be granted to other users. The catalog name may only contain letters, numbers, and underscores and cannot start with a number.","type":"string","minLength":1},"proxy":{"description":"The proxy details for the connector.","title":"Proxy Settings","type":"object","properties":{"host":{"type":"string","format":"uri"},"port":{"type":"number"},"credential":{"description":"The credential configuration for the UsernamePassword authentication type.","title":"UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection."}},"required":["authenticationType","username","password"],"additionalProperties":false}},"required":["host","port","credential"],"additionalProperties":false}},"required":["credential","host","port","path","metastoreId","immutaSystemCatalog"],"additionalProperties":false},"state":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"activeTasks":{"description":"All pending or running tasks.","type":"array","items":{"description":"The task summary schema.","title":"Task Summary","oneOf":[{"description":"DATA_OBJECT_SYNC task summary schema.","title":"DATA_OBJECT_SYNC Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DATA_OBJECT_DELETE task summary schema.","title":"DATA_OBJECT_DELETE Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_DELETE"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DELETE_CONNECTION task summary schema.","title":"DELETE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DELETE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"ACTIVATE_CONNECTION task summary schema.","title":"ACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"ACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DEACTIVATE_CONNECTION task summary schema.","title":"DEACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DEACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"UPDATE_CONNECTION task summary schema.","title":"UPDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"UPDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"VALIDATE_CONNECTION task summary schema.","title":"VALIDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"VALIDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false}],"type":"object"}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"},"dataObjectDefaults":{"description":"The default configuration for data objects in the connection.","title":"Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","default":false,"type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"dataObjectSync":{"description":"The automated data object sync configuration for the connection.","title":"Automated Data Object Sync Configuration","type":"object","properties":{"enabled":{"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"required":["enabled","schedule","startTime","syncAllDataObjects"],"additionalProperties":false},"policyConfiguration":{"default":{"enabled":true,"excludeGroupPattern":"immuta_exemption_group"},"description":"Policy configuration for the Databricks connector.","title":"Databricks Policy Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean","const":true},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"excludeGroupPattern":{"description":"Excludes the listed group from having data policies applied in the Databricks Unity Catalog integration. By default, the group \"immuta_exemption_group\" is excluded. Once the excludeGroupPattern is set it cannot be changed.","default":"immuta_exemption_group","type":"string","minLength":1}},"required":["enabled","excludeGroupPattern"],"additionalProperties":false},"auditConfiguration":{"default":{"enabled":true},"description":"Audit configuration for the Databricks connection.","title":"Databricks Audit Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"workspaceIds":{"description":"The optional list of workspaces to filter audit. If omitted, Immuta will audit queries from all users and tables in all workspaces.","type":"array","items":{"type":"string"}}},"required":["enabled"],"additionalProperties":false}},"required":["technology","clientConfiguration","state","connectionKey","createdBy","createdAt","updatedBy","updatedAt","dataObjectDefaults","dataObjectSync","policyConfiguration","auditConfiguration"],"additionalProperties":false},{"description":"The Snowflake connection details.","title":"Snowflake Connection","type":"object","properties":{"technology":{"type":"string","const":"Snowflake"},"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The credential configuration for the UsernamePassword authentication type.","title":"UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection."}},"required":["authenticationType","username","password"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithSecret authentication type.","title":"OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application."}},"required":["authenticationType","clientId","authorityUrl","scope","clientSecret"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithCertificate authentication type.","title":"OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint."},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","clientId","authorityUrl","scope","publicCertificateThumbprint","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the UnencryptedKeyPair authentication type.","title":"UnencryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UnencryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","username","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the EncryptedKeyPair authentication type.","title":"EncryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"EncryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false},"password":{"description":"The password for the private key."}},"required":["authenticationType","username","privateKey","password"],"additionalProperties":false}],"type":"object"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"host":{"description":"Your Snowflake host."},"port":{"description":"The port for your Snowflake account connection.","default":443,"type":"number"},"warehouse":{"description":"The default pool of compute resources the Immuta system user will use to run queries and perform other Snowflake operations.","type":"string","minLength":1},"role":{"description":"The privileged Snowflake role used by the Immuta system account when configuring the Snowflake connection. It must be able to see the data that Immuta will govern.","type":"string","minLength":1},"accountId":{"description":"Your Snowflake organization account identifier.","type":"string","minLength":1},"immutaSystemDatabase":{"description":"The name of the Snowflake database Immuta will create to store internal entitlements and other user data specific to Immuta. This database will only be readable for the Immuta service principal and should not be granted to other users. The database name may only contain letters, numbers, and underscores and cannot start with a number. Normalized to uppercase on write to match Snowflake.","type":"string","minLength":1}},"required":["credential","host","warehouse","role","accountId","immutaSystemDatabase"],"additionalProperties":false},"state":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"activeTasks":{"description":"All pending or running tasks.","type":"array","items":{"description":"The task summary schema.","title":"Task Summary","oneOf":[{"description":"DATA_OBJECT_SYNC task summary schema.","title":"DATA_OBJECT_SYNC Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DATA_OBJECT_DELETE task summary schema.","title":"DATA_OBJECT_DELETE Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_DELETE"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DELETE_CONNECTION task summary schema.","title":"DELETE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DELETE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"ACTIVATE_CONNECTION task summary schema.","title":"ACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"ACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DEACTIVATE_CONNECTION task summary schema.","title":"DEACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DEACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"UPDATE_CONNECTION task summary schema.","title":"UPDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"UPDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"VALIDATE_CONNECTION task summary schema.","title":"VALIDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"VALIDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false}],"type":"object"}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"},"dataObjectDefaults":{"description":"The default configuration for data objects in the connection.","title":"Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","default":false,"type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"dataObjectSync":{"description":"The automated data object sync configuration for the connection.","title":"Automated Data Object Sync Configuration","type":"object","properties":{"enabled":{"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"required":["enabled","schedule","startTime","syncAllDataObjects"],"additionalProperties":false},"policyConfiguration":{"default":{"enabled":true,"impersonation":{"enabled":false},"workspaces":{"enabled":false},"excludeUserGroupPattern":[]},"description":"Policy configuration for the Snowflake connector.","title":"Snowflake Policy Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean","const":true},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"impersonation":{"description":"Enables the use of the Snowflake impersonation feature. This feature allows Immuta users to act on behalf of other users when accessing Snowflake data. Once enabled, it cannot be disabled unless the Snowflake Data Impersonation Only feature is enabled.","default":{"enabled":false},"anyOf":[{"description":"The impersonation schema for the Snowflake connector.","title":"Snowflake Use Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":true},"impersonationRole":{"description":"The name of the user impersonation role.","type":"string","minLength":1}},"required":["enabled","impersonationRole"],"additionalProperties":false},{"description":"The no impersonation schema for the Snowflake connector.","title":"Snowflake No Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"workspaces":{"description":"Enables the use of Snowflake workspaces. If you use Snowflake secure data sharing with Immuta, set this property to true as project workspaces are required. If you use Snowflake table grants, set this property to false. Project workspaces cannot be used when Snowflake table grants are enabled. Workspaces cannot be disabled once enabled.","default":{"enabled":false},"anyOf":[{"description":"The use workspaces schema for the Snowflake connector.","title":"Snowflake Use Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":true},"warehouses":{"description":"The list of warehouses workspace users have usage privileges on.","type":"array","items":{"type":"string","minLength":1}}},"required":["enabled"],"additionalProperties":false},{"description":"The no workspaces schema for the Snowflake connector.","title":"Snowflake No Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"excludeUserGroupPattern":{"description":"An array list of roles and users (both case-sensitive) to exclude from authorization checks. Wildcards are unsupported.","default":[],"type":"array","items":{"type":"string","minLength":1}}},"required":["enabled","impersonation","workspaces","excludeUserGroupPattern"],"additionalProperties":false},"auditConfiguration":{"default":{"enabled":true},"description":"Audit configuration for the Snowflake connection.","title":"Snowflake Audit Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false}},"required":["enabled"],"additionalProperties":false}},"required":["technology","clientConfiguration","state","connectionKey","createdBy","createdAt","updatedBy","updatedAt","dataObjectDefaults","dataObjectSync","policyConfiguration","auditConfiguration"],"additionalProperties":false}],"type":"object"},"ErrorResponseSchemaV1":{"description":"Represents a list of errors that require action to resolve","title":"Error Response","type":"object","properties":{"errors":{"description":"The list of errors that require action to resolve","minItems":1,"type":"array","items":{"anyOf":[{"description":"Represents a system generated error","title":"Error","type":"object","properties":{"code":{"type":"string","enum":["CONN001","CONN002","CONN003","CONN004","CONN005"]},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error that requires action to resolve","title":"Required Action Error","type":"object","properties":{"code":{"type":"string","const":"CONN002"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"requiredActions":{"description":"The actions that the user must take to resolve the error","type":"array","items":{"description":"An action that the user must take to resolve the error","title":"Required Action","type":"object","properties":{"action":{"description":"Auto-generated action to be executed by the user on the platform.","type":"string"},"description":{"description":"A description of what the action that needs to be taken.","type":"string"}},"required":["action","description"],"additionalProperties":false}}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error caused by an invalid connection state","title":"Invalid State Error","type":"object","properties":{"code":{"type":"string","const":"CONN003"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The reason why the connection is in the invalid state","type":"string"},"invalidState":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]}},"required":["code","message","invalidState"],"additionalProperties":false}]}}},"required":["errors"],"additionalProperties":false}}},"paths":{"/api/connections/{connectionKey}/_activate":{"post":{"description":"Activate the connection for the specified connection key.","summary":"Activate the connection","parameters":[{"in":"path","name":"connectionKey","schema":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"required":true,"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade."}],"responses":{"200":{"description":"Successfully activated connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivateConnectionResponseSchemaV1"}}}},"404":{"description":"Connection not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}},"409":{"description":"Unable to activate connection. Connection state must be INACTIVE to be activated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}}}}}}}
```

## Deactivate the connection

> Deactivate the connection for the specified connection key.

```json
{"openapi":"3.1.0","info":{"title":"Connections API","version":"1.0.0"},"servers":[{"url":"<Immuta Base URL>","description":"Immuta API Base URL"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"DeactivateConnectionResponseSchemaV1":{"description":"The deactivate connection response schema.","title":"Deactivate Connection Response","oneOf":[{"description":"The Databricks connection details.","title":"Databricks Connection","type":"object","properties":{"technology":{"type":"string","const":"Databricks"},"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The credential configuration for the OAuthWithCertificate authentication type.","title":"OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint."},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","clientId","authorityUrl","scope","publicCertificateThumbprint","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithSecret authentication type.","title":"OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application."}},"required":["authenticationType","clientId","authorityUrl","scope","clientSecret"],"additionalProperties":false},{"description":"The credential configuration for the Token authentication type.","title":"Token Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"Token"},"token":{"description":"The personal access token for the service principal created for Immuta to authenticate with the data platform."}},"required":["authenticationType","token"],"additionalProperties":false}],"type":"object"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"host":{"description":"Your Databricks host."},"port":{"description":"The port for your Databricks account connection.","default":443,"type":"number"},"path":{"description":"The HTTP path of your Databricks cluster or SQL warehouse.","type":"string","minLength":1},"metastoreId":{"description":"The ID of the Databricks metastore.","type":"string","minLength":1},"username":{"description":"The username (SCIM `userName`) of the principal whose credentials Immuta uses to connect to this workspace.","type":"string","minLength":1},"immutaSystemCatalog":{"description":"The name of the Databricks catalog Immuta will create to store internal entitlements and other user data specific to Immuta. This catalog will only be readable for the Immuta service principal and should not be granted to other users. The catalog name may only contain letters, numbers, and underscores and cannot start with a number.","type":"string","minLength":1},"proxy":{"description":"The proxy details for the connector.","title":"Proxy Settings","type":"object","properties":{"host":{"type":"string","format":"uri"},"port":{"type":"number"},"credential":{"description":"The credential configuration for the UsernamePassword authentication type.","title":"UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection."}},"required":["authenticationType","username","password"],"additionalProperties":false}},"required":["host","port","credential"],"additionalProperties":false}},"required":["credential","host","port","path","metastoreId","immutaSystemCatalog"],"additionalProperties":false},"state":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"activeTasks":{"description":"All pending or running tasks.","type":"array","items":{"description":"The task summary schema.","title":"Task Summary","oneOf":[{"description":"DATA_OBJECT_SYNC task summary schema.","title":"DATA_OBJECT_SYNC Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DATA_OBJECT_DELETE task summary schema.","title":"DATA_OBJECT_DELETE Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_DELETE"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DELETE_CONNECTION task summary schema.","title":"DELETE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DELETE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"ACTIVATE_CONNECTION task summary schema.","title":"ACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"ACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DEACTIVATE_CONNECTION task summary schema.","title":"DEACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DEACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"UPDATE_CONNECTION task summary schema.","title":"UPDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"UPDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"VALIDATE_CONNECTION task summary schema.","title":"VALIDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"VALIDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false}],"type":"object"}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"},"dataObjectDefaults":{"description":"The default configuration for data objects in the connection.","title":"Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","default":false,"type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"dataObjectSync":{"description":"The automated data object sync configuration for the connection.","title":"Automated Data Object Sync Configuration","type":"object","properties":{"enabled":{"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"required":["enabled","schedule","startTime","syncAllDataObjects"],"additionalProperties":false},"policyConfiguration":{"default":{"enabled":true,"excludeGroupPattern":"immuta_exemption_group"},"description":"Policy configuration for the Databricks connector.","title":"Databricks Policy Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean","const":true},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"excludeGroupPattern":{"description":"Excludes the listed group from having data policies applied in the Databricks Unity Catalog integration. By default, the group \"immuta_exemption_group\" is excluded. Once the excludeGroupPattern is set it cannot be changed.","default":"immuta_exemption_group","type":"string","minLength":1}},"required":["enabled","excludeGroupPattern"],"additionalProperties":false},"auditConfiguration":{"default":{"enabled":true},"description":"Audit configuration for the Databricks connection.","title":"Databricks Audit Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"workspaceIds":{"description":"The optional list of workspaces to filter audit. If omitted, Immuta will audit queries from all users and tables in all workspaces.","type":"array","items":{"type":"string"}}},"required":["enabled"],"additionalProperties":false}},"required":["technology","clientConfiguration","state","connectionKey","createdBy","createdAt","updatedBy","updatedAt","dataObjectDefaults","dataObjectSync","policyConfiguration","auditConfiguration"],"additionalProperties":false},{"description":"The Snowflake connection details.","title":"Snowflake Connection","type":"object","properties":{"technology":{"type":"string","const":"Snowflake"},"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The credential configuration for the UsernamePassword authentication type.","title":"UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection."}},"required":["authenticationType","username","password"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithSecret authentication type.","title":"OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application."}},"required":["authenticationType","clientId","authorityUrl","scope","clientSecret"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithCertificate authentication type.","title":"OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint."},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","clientId","authorityUrl","scope","publicCertificateThumbprint","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the UnencryptedKeyPair authentication type.","title":"UnencryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UnencryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","username","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the EncryptedKeyPair authentication type.","title":"EncryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"EncryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false},"password":{"description":"The password for the private key."}},"required":["authenticationType","username","privateKey","password"],"additionalProperties":false}],"type":"object"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"host":{"description":"Your Snowflake host."},"port":{"description":"The port for your Snowflake account connection.","default":443,"type":"number"},"warehouse":{"description":"The default pool of compute resources the Immuta system user will use to run queries and perform other Snowflake operations.","type":"string","minLength":1},"role":{"description":"The privileged Snowflake role used by the Immuta system account when configuring the Snowflake connection. It must be able to see the data that Immuta will govern.","type":"string","minLength":1},"accountId":{"description":"Your Snowflake organization account identifier.","type":"string","minLength":1},"immutaSystemDatabase":{"description":"The name of the Snowflake database Immuta will create to store internal entitlements and other user data specific to Immuta. This database will only be readable for the Immuta service principal and should not be granted to other users. The database name may only contain letters, numbers, and underscores and cannot start with a number. Normalized to uppercase on write to match Snowflake.","type":"string","minLength":1}},"required":["credential","host","warehouse","role","accountId","immutaSystemDatabase"],"additionalProperties":false},"state":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"activeTasks":{"description":"All pending or running tasks.","type":"array","items":{"description":"The task summary schema.","title":"Task Summary","oneOf":[{"description":"DATA_OBJECT_SYNC task summary schema.","title":"DATA_OBJECT_SYNC Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DATA_OBJECT_DELETE task summary schema.","title":"DATA_OBJECT_DELETE Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_DELETE"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DELETE_CONNECTION task summary schema.","title":"DELETE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DELETE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"ACTIVATE_CONNECTION task summary schema.","title":"ACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"ACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DEACTIVATE_CONNECTION task summary schema.","title":"DEACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DEACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"UPDATE_CONNECTION task summary schema.","title":"UPDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"UPDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"VALIDATE_CONNECTION task summary schema.","title":"VALIDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"VALIDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false}],"type":"object"}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"},"dataObjectDefaults":{"description":"The default configuration for data objects in the connection.","title":"Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","default":false,"type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"dataObjectSync":{"description":"The automated data object sync configuration for the connection.","title":"Automated Data Object Sync Configuration","type":"object","properties":{"enabled":{"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"required":["enabled","schedule","startTime","syncAllDataObjects"],"additionalProperties":false},"policyConfiguration":{"default":{"enabled":true,"impersonation":{"enabled":false},"workspaces":{"enabled":false},"excludeUserGroupPattern":[]},"description":"Policy configuration for the Snowflake connector.","title":"Snowflake Policy Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean","const":true},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"impersonation":{"description":"Enables the use of the Snowflake impersonation feature. This feature allows Immuta users to act on behalf of other users when accessing Snowflake data. Once enabled, it cannot be disabled unless the Snowflake Data Impersonation Only feature is enabled.","default":{"enabled":false},"anyOf":[{"description":"The impersonation schema for the Snowflake connector.","title":"Snowflake Use Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":true},"impersonationRole":{"description":"The name of the user impersonation role.","type":"string","minLength":1}},"required":["enabled","impersonationRole"],"additionalProperties":false},{"description":"The no impersonation schema for the Snowflake connector.","title":"Snowflake No Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"workspaces":{"description":"Enables the use of Snowflake workspaces. If you use Snowflake secure data sharing with Immuta, set this property to true as project workspaces are required. If you use Snowflake table grants, set this property to false. Project workspaces cannot be used when Snowflake table grants are enabled. Workspaces cannot be disabled once enabled.","default":{"enabled":false},"anyOf":[{"description":"The use workspaces schema for the Snowflake connector.","title":"Snowflake Use Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":true},"warehouses":{"description":"The list of warehouses workspace users have usage privileges on.","type":"array","items":{"type":"string","minLength":1}}},"required":["enabled"],"additionalProperties":false},{"description":"The no workspaces schema for the Snowflake connector.","title":"Snowflake No Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"excludeUserGroupPattern":{"description":"An array list of roles and users (both case-sensitive) to exclude from authorization checks. Wildcards are unsupported.","default":[],"type":"array","items":{"type":"string","minLength":1}}},"required":["enabled","impersonation","workspaces","excludeUserGroupPattern"],"additionalProperties":false},"auditConfiguration":{"default":{"enabled":true},"description":"Audit configuration for the Snowflake connection.","title":"Snowflake Audit Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false}},"required":["enabled"],"additionalProperties":false}},"required":["technology","clientConfiguration","state","connectionKey","createdBy","createdAt","updatedBy","updatedAt","dataObjectDefaults","dataObjectSync","policyConfiguration","auditConfiguration"],"additionalProperties":false}],"type":"object"},"ErrorResponseSchemaV1":{"description":"Represents a list of errors that require action to resolve","title":"Error Response","type":"object","properties":{"errors":{"description":"The list of errors that require action to resolve","minItems":1,"type":"array","items":{"anyOf":[{"description":"Represents a system generated error","title":"Error","type":"object","properties":{"code":{"type":"string","enum":["CONN001","CONN002","CONN003","CONN004","CONN005"]},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error that requires action to resolve","title":"Required Action Error","type":"object","properties":{"code":{"type":"string","const":"CONN002"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"requiredActions":{"description":"The actions that the user must take to resolve the error","type":"array","items":{"description":"An action that the user must take to resolve the error","title":"Required Action","type":"object","properties":{"action":{"description":"Auto-generated action to be executed by the user on the platform.","type":"string"},"description":{"description":"A description of what the action that needs to be taken.","type":"string"}},"required":["action","description"],"additionalProperties":false}}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error caused by an invalid connection state","title":"Invalid State Error","type":"object","properties":{"code":{"type":"string","const":"CONN003"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The reason why the connection is in the invalid state","type":"string"},"invalidState":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]}},"required":["code","message","invalidState"],"additionalProperties":false}]}}},"required":["errors"],"additionalProperties":false}}},"paths":{"/api/connections/{connectionKey}/_deactivate":{"post":{"description":"Deactivate the connection for the specified connection key.","summary":"Deactivate the connection","parameters":[{"in":"path","name":"connectionKey","schema":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"required":true,"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade."}],"responses":{"200":{"description":"Successfully deactivated connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeactivateConnectionResponseSchemaV1"}}}},"404":{"description":"Connection not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}},"409":{"description":"Unable to deactivate connection. Connection state must be ACTIVE to be deactivated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}}}}}}}
```

## Validate the connection

> Validate the connection for the specified connection key. Runs validation against each enabled component of the connection (client, policy, and audit) and updates the persisted health state for each based on the result.

```json
{"openapi":"3.1.0","info":{"title":"Connections API","version":"1.0.0"},"servers":[{"url":"<Immuta Base URL>","description":"Immuta API Base URL"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ValidateConnectionResponseSchemaV1":{"description":"The response schema for validating a connection. Returns a task ID for tracking the asynchronous validation process.","title":"Validate Connection Response","type":"object","properties":{"taskId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"}},"required":["taskId"],"additionalProperties":false},"ErrorResponseSchemaV1":{"description":"Represents a list of errors that require action to resolve","title":"Error Response","type":"object","properties":{"errors":{"description":"The list of errors that require action to resolve","minItems":1,"type":"array","items":{"anyOf":[{"description":"Represents a system generated error","title":"Error","type":"object","properties":{"code":{"type":"string","enum":["CONN001","CONN002","CONN003","CONN004","CONN005"]},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error that requires action to resolve","title":"Required Action Error","type":"object","properties":{"code":{"type":"string","const":"CONN002"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"requiredActions":{"description":"The actions that the user must take to resolve the error","type":"array","items":{"description":"An action that the user must take to resolve the error","title":"Required Action","type":"object","properties":{"action":{"description":"Auto-generated action to be executed by the user on the platform.","type":"string"},"description":{"description":"A description of what the action that needs to be taken.","type":"string"}},"required":["action","description"],"additionalProperties":false}}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error caused by an invalid connection state","title":"Invalid State Error","type":"object","properties":{"code":{"type":"string","const":"CONN003"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The reason why the connection is in the invalid state","type":"string"},"invalidState":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]}},"required":["code","message","invalidState"],"additionalProperties":false}]}}},"required":["errors"],"additionalProperties":false}}},"paths":{"/api/connections/{connectionKey}/_validate":{"post":{"description":"Validate the connection for the specified connection key. Runs validation against each enabled component of the connection (client, policy, and audit) and updates the persisted health state for each based on the result.","summary":"Validate the connection","parameters":[{"in":"path","name":"connectionKey","schema":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"required":true,"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade."}],"responses":{"202":{"description":"Validation task created and accepted for processing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateConnectionResponseSchemaV1"}}}},"404":{"description":"Connection not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}},"409":{"description":"Unable to validate connection. Connection state must be ACTIVE or UNHEALTHY to be validated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}}}}}}}
```

## Get a list of connections

> Get a list of connections.

```json
{"openapi":"3.1.0","info":{"title":"Connections API","version":"1.0.0"},"servers":[{"url":"<Immuta Base URL>","description":"Immuta API Base URL"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ListConnectionsResponseSchemaV1":{"description":"Response schema for listing connections with pagination.","title":"List Connections Response","type":"object","properties":{"data":{"type":"array","items":{"anyOf":[{"description":"The Databricks connection details.","title":"Databricks Connection","type":"object","properties":{"technology":{"type":"string","const":"Databricks"},"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The credential configuration for the OAuthWithCertificate authentication type.","title":"OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint."},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","clientId","authorityUrl","scope","publicCertificateThumbprint","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithSecret authentication type.","title":"OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application."}},"required":["authenticationType","clientId","authorityUrl","scope","clientSecret"],"additionalProperties":false},{"description":"The credential configuration for the Token authentication type.","title":"Token Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"Token"},"token":{"description":"The personal access token for the service principal created for Immuta to authenticate with the data platform."}},"required":["authenticationType","token"],"additionalProperties":false}],"type":"object"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"host":{"description":"Your Databricks host."},"port":{"description":"The port for your Databricks account connection.","default":443,"type":"number"},"path":{"description":"The HTTP path of your Databricks cluster or SQL warehouse.","type":"string","minLength":1},"metastoreId":{"description":"The ID of the Databricks metastore.","type":"string","minLength":1},"username":{"description":"The username (SCIM `userName`) of the principal whose credentials Immuta uses to connect to this workspace.","type":"string","minLength":1},"immutaSystemCatalog":{"description":"The name of the Databricks catalog Immuta will create to store internal entitlements and other user data specific to Immuta. This catalog will only be readable for the Immuta service principal and should not be granted to other users. The catalog name may only contain letters, numbers, and underscores and cannot start with a number.","type":"string","minLength":1},"proxy":{"description":"The proxy details for the connector.","title":"Proxy Settings","type":"object","properties":{"host":{"type":"string","format":"uri"},"port":{"type":"number"},"credential":{"description":"The credential configuration for the UsernamePassword authentication type.","title":"UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection."}},"required":["authenticationType","username","password"],"additionalProperties":false}},"required":["host","port","credential"],"additionalProperties":false}},"required":["credential","host","port","path","metastoreId","immutaSystemCatalog"],"additionalProperties":false},"state":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"activeTasks":{"description":"All pending or running tasks.","type":"array","items":{"description":"The task summary schema.","title":"Task Summary","oneOf":[{"description":"DATA_OBJECT_SYNC task summary schema.","title":"DATA_OBJECT_SYNC Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DATA_OBJECT_DELETE task summary schema.","title":"DATA_OBJECT_DELETE Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_DELETE"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DELETE_CONNECTION task summary schema.","title":"DELETE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DELETE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"ACTIVATE_CONNECTION task summary schema.","title":"ACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"ACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DEACTIVATE_CONNECTION task summary schema.","title":"DEACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DEACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"UPDATE_CONNECTION task summary schema.","title":"UPDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"UPDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"VALIDATE_CONNECTION task summary schema.","title":"VALIDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"VALIDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false}],"type":"object"}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"},"dataObjectDefaults":{"description":"The default configuration for data objects in the connection.","title":"Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","default":false,"type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"dataObjectSync":{"description":"The automated data object sync configuration for the connection.","title":"Automated Data Object Sync Configuration","type":"object","properties":{"enabled":{"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"required":["enabled","schedule","startTime","syncAllDataObjects"],"additionalProperties":false},"policyConfiguration":{"default":{"enabled":true,"excludeGroupPattern":"immuta_exemption_group"},"description":"Policy configuration for the Databricks connector.","title":"Databricks Policy Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean","const":true},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"excludeGroupPattern":{"description":"Excludes the listed group from having data policies applied in the Databricks Unity Catalog integration. By default, the group \"immuta_exemption_group\" is excluded. Once the excludeGroupPattern is set it cannot be changed.","default":"immuta_exemption_group","type":"string","minLength":1}},"required":["enabled","excludeGroupPattern"],"additionalProperties":false},"auditConfiguration":{"default":{"enabled":true},"description":"Audit configuration for the Databricks connection.","title":"Databricks Audit Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"workspaceIds":{"description":"The optional list of workspaces to filter audit. If omitted, Immuta will audit queries from all users and tables in all workspaces.","type":"array","items":{"type":"string"}}},"required":["enabled"],"additionalProperties":false}},"required":["technology","clientConfiguration","state","connectionKey","createdBy","createdAt","updatedBy","updatedAt","dataObjectDefaults","dataObjectSync","policyConfiguration","auditConfiguration"],"additionalProperties":false},{"description":"The Snowflake connection details.","title":"Snowflake Connection","type":"object","properties":{"technology":{"type":"string","const":"Snowflake"},"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The credential configuration for the UsernamePassword authentication type.","title":"UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection."}},"required":["authenticationType","username","password"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithSecret authentication type.","title":"OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application."}},"required":["authenticationType","clientId","authorityUrl","scope","clientSecret"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithCertificate authentication type.","title":"OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint."},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","clientId","authorityUrl","scope","publicCertificateThumbprint","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the UnencryptedKeyPair authentication type.","title":"UnencryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UnencryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","username","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the EncryptedKeyPair authentication type.","title":"EncryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"EncryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false},"password":{"description":"The password for the private key."}},"required":["authenticationType","username","privateKey","password"],"additionalProperties":false}],"type":"object"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"host":{"description":"Your Snowflake host."},"port":{"description":"The port for your Snowflake account connection.","default":443,"type":"number"},"warehouse":{"description":"The default pool of compute resources the Immuta system user will use to run queries and perform other Snowflake operations.","type":"string","minLength":1},"role":{"description":"The privileged Snowflake role used by the Immuta system account when configuring the Snowflake connection. It must be able to see the data that Immuta will govern.","type":"string","minLength":1},"accountId":{"description":"Your Snowflake organization account identifier.","type":"string","minLength":1},"immutaSystemDatabase":{"description":"The name of the Snowflake database Immuta will create to store internal entitlements and other user data specific to Immuta. This database will only be readable for the Immuta service principal and should not be granted to other users. The database name may only contain letters, numbers, and underscores and cannot start with a number. Normalized to uppercase on write to match Snowflake.","type":"string","minLength":1}},"required":["credential","host","warehouse","role","accountId","immutaSystemDatabase"],"additionalProperties":false},"state":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"activeTasks":{"description":"All pending or running tasks.","type":"array","items":{"description":"The task summary schema.","title":"Task Summary","oneOf":[{"description":"DATA_OBJECT_SYNC task summary schema.","title":"DATA_OBJECT_SYNC Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DATA_OBJECT_DELETE task summary schema.","title":"DATA_OBJECT_DELETE Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_DELETE"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DELETE_CONNECTION task summary schema.","title":"DELETE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DELETE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"ACTIVATE_CONNECTION task summary schema.","title":"ACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"ACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DEACTIVATE_CONNECTION task summary schema.","title":"DEACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DEACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"UPDATE_CONNECTION task summary schema.","title":"UPDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"UPDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"VALIDATE_CONNECTION task summary schema.","title":"VALIDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"VALIDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false}],"type":"object"}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"},"dataObjectDefaults":{"description":"The default configuration for data objects in the connection.","title":"Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","default":false,"type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"dataObjectSync":{"description":"The automated data object sync configuration for the connection.","title":"Automated Data Object Sync Configuration","type":"object","properties":{"enabled":{"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"required":["enabled","schedule","startTime","syncAllDataObjects"],"additionalProperties":false},"policyConfiguration":{"default":{"enabled":true,"impersonation":{"enabled":false},"workspaces":{"enabled":false},"excludeUserGroupPattern":[]},"description":"Policy configuration for the Snowflake connector.","title":"Snowflake Policy Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean","const":true},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"impersonation":{"description":"Enables the use of the Snowflake impersonation feature. This feature allows Immuta users to act on behalf of other users when accessing Snowflake data. Once enabled, it cannot be disabled unless the Snowflake Data Impersonation Only feature is enabled.","default":{"enabled":false},"anyOf":[{"description":"The impersonation schema for the Snowflake connector.","title":"Snowflake Use Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":true},"impersonationRole":{"description":"The name of the user impersonation role.","type":"string","minLength":1}},"required":["enabled","impersonationRole"],"additionalProperties":false},{"description":"The no impersonation schema for the Snowflake connector.","title":"Snowflake No Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"workspaces":{"description":"Enables the use of Snowflake workspaces. If you use Snowflake secure data sharing with Immuta, set this property to true as project workspaces are required. If you use Snowflake table grants, set this property to false. Project workspaces cannot be used when Snowflake table grants are enabled. Workspaces cannot be disabled once enabled.","default":{"enabled":false},"anyOf":[{"description":"The use workspaces schema for the Snowflake connector.","title":"Snowflake Use Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":true},"warehouses":{"description":"The list of warehouses workspace users have usage privileges on.","type":"array","items":{"type":"string","minLength":1}}},"required":["enabled"],"additionalProperties":false},{"description":"The no workspaces schema for the Snowflake connector.","title":"Snowflake No Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"excludeUserGroupPattern":{"description":"An array list of roles and users (both case-sensitive) to exclude from authorization checks. Wildcards are unsupported.","default":[],"type":"array","items":{"type":"string","minLength":1}}},"required":["enabled","impersonation","workspaces","excludeUserGroupPattern"],"additionalProperties":false},"auditConfiguration":{"default":{"enabled":true},"description":"Audit configuration for the Snowflake connection.","title":"Snowflake Audit Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false}},"required":["enabled"],"additionalProperties":false}},"required":["technology","clientConfiguration","state","connectionKey","createdBy","createdAt","updatedBy","updatedAt","dataObjectDefaults","dataObjectSync","policyConfiguration","auditConfiguration"],"additionalProperties":false}]}},"meta":{"description":"List connections metadata.","title":"List Connections Metadata","type":"object","properties":{"sort":{"default":[{"field":"createdAt","order":"desc"}],"minItems":1,"maxItems":3,"type":"array","items":{"description":"A single sort item with field restrictions.","title":"Sort Item","type":"object","properties":{"field":{"description":"The field to sort by.","title":"Sort Field","type":"string","enum":["connectionKey","technology","state","createdAt","updatedAt"]},"order":{"description":"The order to sort by.","title":"Sort Order","type":"string","enum":["asc","desc"]}},"required":["field","order"],"additionalProperties":false}},"page":{"description":"Pagination information.","title":"Pagination","type":"object","properties":{"limit":{"description":"Maximum number of items to return.","title":"Page Limit","default":20,"type":"integer","minimum":1,"maximum":100},"cursor":{"description":"The cursor to start from.","title":"Page Cursor","type":"string"}},"required":["limit"],"additionalProperties":false}},"required":["sort","page"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}},"paths":{"/api/connections":{"get":{"description":"Get a list of connections.","summary":"Get a list of connections","parameters":[{"in":"query","name":"sort","schema":{"description":"Sort query parameter as an array of \"field:order\" strings.","title":"Sort Query","default":["createdAt:desc"],"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["connectionKey:asc","connectionKey:desc","technology:asc","technology:desc","state:asc","state:desc","createdAt:asc","createdAt:desc","updatedAt:asc","updatedAt:desc"]}},"description":"Sort query parameter as an array of \"field:order\" strings."},{"in":"query","name":"page[limit]","schema":{"description":"Maximum number of items to return.","title":"Page Limit","default":20,"type":"integer","minimum":1,"maximum":100},"description":"Maximum number of items to return."},{"in":"query","name":"page[cursor]","schema":{"description":"The cursor to start from.","title":"Page Cursor","type":"string"},"description":"The cursor to start from."}],"responses":{"200":{"description":"Connections list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectionsResponseSchemaV1"}}}}}}}}}
```

## Create a new connection

> Create a new connection.

```json
{"openapi":"3.1.0","info":{"title":"Connections API","version":"1.0.0"},"servers":[{"url":"<Immuta Base URL>","description":"Immuta API Base URL"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"CreateConnectionRequestSchemaV1":{"description":"The create connection request payload schema.","title":"Create Connection Request Payload","oneOf":[{"description":"The Databricks connection.","title":"Databricks Connection","type":"object","properties":{"technology":{"type":"string","const":"Databricks"},"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The credential configuration for the OAuthWithCertificate authentication type.","title":"OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint.","type":"string","minLength":1},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added.","type":"string","minLength":1}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","clientId","authorityUrl","scope","publicCertificateThumbprint","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithSecret authentication type.","title":"OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application.","type":"string","minLength":1}},"required":["authenticationType","clientId","authorityUrl","scope","clientSecret"],"additionalProperties":false},{"description":"The credential configuration for the Token authentication type.","title":"Token Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"Token"},"token":{"description":"The personal access token for the service principal created for Immuta to authenticate with the data platform.","type":"string","minLength":1}},"required":["authenticationType","token"],"additionalProperties":false}],"type":"object"},"host":{"description":"Your Databricks host.","type":"string","minLength":1},"port":{"description":"The port for your Databricks account connection.","default":443,"type":"number"},"path":{"description":"The HTTP path of your Databricks cluster or SQL warehouse.","type":"string","minLength":1},"immutaSystemCatalog":{"description":"The name of the Databricks catalog Immuta will create to store internal entitlements and other user data specific to Immuta. This catalog will only be readable for the Immuta service principal and should not be granted to other users. The catalog name may only contain letters, numbers, and underscores and cannot start with a number.","type":"string","minLength":1},"proxy":{"description":"The proxy details for the connector.","title":"Proxy Settings","type":"object","properties":{"host":{"type":"string","format":"uri"},"port":{"type":"number"},"credential":{"description":"The credential configuration for the UsernamePassword authentication type.","title":"UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection.","type":"string","minLength":1}},"required":["authenticationType","username","password"],"additionalProperties":false}},"required":["host","port","credential"],"additionalProperties":false}},"required":["credential","host","path","immutaSystemCatalog"],"additionalProperties":false},"connectionKey":{"description":"A unique, immutable name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","pattern":"^[a-zA-Z0-9_-]+$","type":"string","minLength":1},"dataObjectDefaults":{"description":"The default configuration for data objects in the connection.","title":"Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","default":false,"type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"required":["owners"],"additionalProperties":false},"dataObjectSync":{"description":"The automated data object sync configuration for the connection.","title":"Automated Data Object Sync Configuration","type":"object","properties":{"enabled":{"default":true,"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"default":"EVERY_24_HOURS","description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"default":0,"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"default":true,"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"additionalProperties":false},"policyConfiguration":{"default":{"excludeGroupPattern":"immuta_exemption_group"},"description":"Policy configuration request for the Databricks connector.","title":"Databricks Policy Configuration Request","type":"object","properties":{"excludeGroupPattern":{"description":"Excludes the listed group from having data policies applied in the Databricks Unity Catalog integration. By default, the group \"immuta_exemption_group\" is excluded. Once the excludeGroupPattern is set it cannot be changed.","default":"immuta_exemption_group","type":"string","minLength":1}},"additionalProperties":false},"auditConfiguration":{"default":{"enabled":true},"description":"Audit configuration request for the Databricks connection.","title":"Databricks Audit Configuration Request","type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"workspaceIds":{"description":"The optional list of workspaces to filter audit. If omitted, Immuta will audit queries from all users and tables in all workspaces.","type":"array","items":{"type":"string"}}},"additionalProperties":false},"syncOnCreate":{"description":"Whether to sync data objects immediately upon connection creation.","title":"Sync On Create","default":true,"type":"boolean"}},"required":["technology","clientConfiguration","connectionKey","dataObjectDefaults","dataObjectSync"],"additionalProperties":false},{"description":"The Snowflake connection.","title":"Snowflake Connection","type":"object","properties":{"technology":{"type":"string","const":"Snowflake"},"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The credential configuration for the UsernamePassword authentication type.","title":"UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection.","type":"string","minLength":1}},"required":["authenticationType","username","password"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithSecret authentication type.","title":"OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application.","type":"string","minLength":1}},"required":["authenticationType","clientId","authorityUrl","scope","clientSecret"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithCertificate authentication type.","title":"OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint.","type":"string","minLength":1},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added.","type":"string","minLength":1}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","clientId","authorityUrl","scope","publicCertificateThumbprint","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the UnencryptedKeyPair authentication type.","title":"UnencryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UnencryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added.","type":"string","minLength":1}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","username","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the EncryptedKeyPair authentication type.","title":"EncryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"EncryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added.","type":"string","minLength":1}},"required":["filename","content"],"additionalProperties":false},"password":{"description":"The password for the private key.","type":"string","minLength":1}},"required":["authenticationType","username","privateKey","password"],"additionalProperties":false}],"type":"object"},"host":{"description":"Your Snowflake host.","type":"string","minLength":1},"port":{"description":"The port for your Snowflake account connection.","default":443,"type":"number"},"warehouse":{"description":"The default pool of compute resources the Immuta system user will use to run queries and perform other Snowflake operations.","type":"string","minLength":1},"role":{"description":"The privileged Snowflake role used by the Immuta system account when configuring the Snowflake connection. It must be able to see the data that Immuta will govern.","type":"string","minLength":1},"accountId":{"description":"Your Snowflake organization account identifier.","type":"string","minLength":1},"immutaSystemDatabase":{"description":"The name of the Snowflake database Immuta will create to store internal entitlements and other user data specific to Immuta. This database will only be readable for the Immuta service principal and should not be granted to other users. The database name may only contain letters, numbers, and underscores and cannot start with a number. Normalized to uppercase on write to match Snowflake.","type":"string","minLength":1}},"required":["credential","host","warehouse","role","accountId","immutaSystemDatabase"],"additionalProperties":false},"connectionKey":{"description":"A unique, immutable name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","pattern":"^[a-zA-Z0-9_-]+$","type":"string","minLength":1},"dataObjectDefaults":{"description":"The default configuration for data objects in the connection.","title":"Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","default":false,"type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"required":["owners"],"additionalProperties":false},"dataObjectSync":{"description":"The automated data object sync configuration for the connection.","title":"Automated Data Object Sync Configuration","type":"object","properties":{"enabled":{"default":true,"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"default":"EVERY_24_HOURS","description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"default":0,"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"default":true,"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"additionalProperties":false},"policyConfiguration":{"default":{"impersonation":{"enabled":false},"workspaces":{"enabled":false},"excludeUserGroupPattern":[]},"description":"Policy configuration request for the Snowflake connector.","title":"Snowflake Policy Configuration Request","type":"object","properties":{"impersonation":{"description":"Enables the use of the Snowflake impersonation feature. This feature allows Immuta users to act on behalf of other users when accessing Snowflake data. Once enabled, it cannot be disabled unless the Snowflake Data Impersonation Only feature is enabled.","default":{"enabled":false},"anyOf":[{"description":"The impersonation schema for the Snowflake connector.","title":"Snowflake Use Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":true},"impersonationRole":{"description":"The name of the user impersonation role.","type":"string","minLength":1}},"required":["enabled","impersonationRole"],"additionalProperties":false},{"description":"The no impersonation schema for the Snowflake connector.","title":"Snowflake No Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"workspaces":{"description":"Enables the use of Snowflake workspaces. If you use Snowflake secure data sharing with Immuta, set this property to true as project workspaces are required. If you use Snowflake table grants, set this property to false. Project workspaces cannot be used when Snowflake table grants are enabled. Workspaces cannot be disabled once enabled.","default":{"enabled":false},"anyOf":[{"description":"The use workspaces schema for the Snowflake connector.","title":"Snowflake Use Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":true},"warehouses":{"description":"The list of warehouses workspace users have usage privileges on.","type":"array","items":{"type":"string","minLength":1}}},"required":["enabled"],"additionalProperties":false},{"description":"The no workspaces schema for the Snowflake connector.","title":"Snowflake No Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"excludeUserGroupPattern":{"description":"An array list of roles and users (both case-sensitive) to exclude from authorization checks. Wildcards are unsupported.","default":[],"type":"array","items":{"type":"string","minLength":1}}},"additionalProperties":false},"auditConfiguration":{"default":{"enabled":true},"description":"Audit configuration request for the Snowflake connection.","title":"Snowflake Audit Configuration Request","type":"object","properties":{"enabled":{"default":true,"type":"boolean"}},"additionalProperties":false},"syncOnCreate":{"description":"Whether to sync data objects immediately upon connection creation.","title":"Sync On Create","default":true,"type":"boolean"}},"required":["technology","clientConfiguration","connectionKey","dataObjectDefaults","dataObjectSync"],"additionalProperties":false}],"type":"object"},"CreateConnectionResponseSchemaV1":{"description":"The create connection response schema.","title":"Create Connection Response","oneOf":[{"description":"The Databricks connection details.","title":"Databricks Connection","type":"object","properties":{"technology":{"type":"string","const":"Databricks"},"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The credential configuration for the OAuthWithCertificate authentication type.","title":"OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint."},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","clientId","authorityUrl","scope","publicCertificateThumbprint","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithSecret authentication type.","title":"OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application."}},"required":["authenticationType","clientId","authorityUrl","scope","clientSecret"],"additionalProperties":false},{"description":"The credential configuration for the Token authentication type.","title":"Token Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"Token"},"token":{"description":"The personal access token for the service principal created for Immuta to authenticate with the data platform."}},"required":["authenticationType","token"],"additionalProperties":false}],"type":"object"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"host":{"description":"Your Databricks host."},"port":{"description":"The port for your Databricks account connection.","default":443,"type":"number"},"path":{"description":"The HTTP path of your Databricks cluster or SQL warehouse.","type":"string","minLength":1},"metastoreId":{"description":"The ID of the Databricks metastore.","type":"string","minLength":1},"username":{"description":"The username (SCIM `userName`) of the principal whose credentials Immuta uses to connect to this workspace.","type":"string","minLength":1},"immutaSystemCatalog":{"description":"The name of the Databricks catalog Immuta will create to store internal entitlements and other user data specific to Immuta. This catalog will only be readable for the Immuta service principal and should not be granted to other users. The catalog name may only contain letters, numbers, and underscores and cannot start with a number.","type":"string","minLength":1},"proxy":{"description":"The proxy details for the connector.","title":"Proxy Settings","type":"object","properties":{"host":{"type":"string","format":"uri"},"port":{"type":"number"},"credential":{"description":"The credential configuration for the UsernamePassword authentication type.","title":"UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection."}},"required":["authenticationType","username","password"],"additionalProperties":false}},"required":["host","port","credential"],"additionalProperties":false}},"required":["credential","host","port","path","metastoreId","immutaSystemCatalog"],"additionalProperties":false},"state":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"activeTasks":{"description":"All pending or running tasks.","type":"array","items":{"description":"The task summary schema.","title":"Task Summary","oneOf":[{"description":"DATA_OBJECT_SYNC task summary schema.","title":"DATA_OBJECT_SYNC Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DATA_OBJECT_DELETE task summary schema.","title":"DATA_OBJECT_DELETE Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_DELETE"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DELETE_CONNECTION task summary schema.","title":"DELETE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DELETE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"ACTIVATE_CONNECTION task summary schema.","title":"ACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"ACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DEACTIVATE_CONNECTION task summary schema.","title":"DEACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DEACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"UPDATE_CONNECTION task summary schema.","title":"UPDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"UPDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"VALIDATE_CONNECTION task summary schema.","title":"VALIDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"VALIDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false}],"type":"object"}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"},"dataObjectDefaults":{"description":"The default configuration for data objects in the connection.","title":"Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","default":false,"type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"dataObjectSync":{"description":"The automated data object sync configuration for the connection.","title":"Automated Data Object Sync Configuration","type":"object","properties":{"enabled":{"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"required":["enabled","schedule","startTime","syncAllDataObjects"],"additionalProperties":false},"policyConfiguration":{"default":{"enabled":true,"excludeGroupPattern":"immuta_exemption_group"},"description":"Policy configuration for the Databricks connector.","title":"Databricks Policy Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean","const":true},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"excludeGroupPattern":{"description":"Excludes the listed group from having data policies applied in the Databricks Unity Catalog integration. By default, the group \"immuta_exemption_group\" is excluded. Once the excludeGroupPattern is set it cannot be changed.","default":"immuta_exemption_group","type":"string","minLength":1}},"required":["enabled","excludeGroupPattern"],"additionalProperties":false},"auditConfiguration":{"default":{"enabled":true},"description":"Audit configuration for the Databricks connection.","title":"Databricks Audit Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"workspaceIds":{"description":"The optional list of workspaces to filter audit. If omitted, Immuta will audit queries from all users and tables in all workspaces.","type":"array","items":{"type":"string"}}},"required":["enabled"],"additionalProperties":false},"setup":{"description":"The setup script for the connection.","title":"Setup Script","type":"array","items":{"description":"An action that the user should take to resolve the issue","title":"Actions Required","type":"object","properties":{"configuration":{"description":"The generated configuration content.","type":"string"},"description":{"description":"A description of what the configuration does.","type":"string"}},"required":["configuration","description"],"additionalProperties":false}}},"required":["technology","clientConfiguration","state","connectionKey","createdBy","createdAt","updatedBy","updatedAt","dataObjectDefaults","dataObjectSync","policyConfiguration","auditConfiguration"],"additionalProperties":false},{"description":"The Snowflake connection details.","title":"Snowflake Connection","type":"object","properties":{"technology":{"type":"string","const":"Snowflake"},"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The credential configuration for the UsernamePassword authentication type.","title":"UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection."}},"required":["authenticationType","username","password"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithSecret authentication type.","title":"OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application."}},"required":["authenticationType","clientId","authorityUrl","scope","clientSecret"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithCertificate authentication type.","title":"OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint."},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","clientId","authorityUrl","scope","publicCertificateThumbprint","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the UnencryptedKeyPair authentication type.","title":"UnencryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UnencryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","username","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the EncryptedKeyPair authentication type.","title":"EncryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"EncryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false},"password":{"description":"The password for the private key."}},"required":["authenticationType","username","privateKey","password"],"additionalProperties":false}],"type":"object"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"host":{"description":"Your Snowflake host."},"port":{"description":"The port for your Snowflake account connection.","default":443,"type":"number"},"warehouse":{"description":"The default pool of compute resources the Immuta system user will use to run queries and perform other Snowflake operations.","type":"string","minLength":1},"role":{"description":"The privileged Snowflake role used by the Immuta system account when configuring the Snowflake connection. It must be able to see the data that Immuta will govern.","type":"string","minLength":1},"accountId":{"description":"Your Snowflake organization account identifier.","type":"string","minLength":1},"immutaSystemDatabase":{"description":"The name of the Snowflake database Immuta will create to store internal entitlements and other user data specific to Immuta. This database will only be readable for the Immuta service principal and should not be granted to other users. The database name may only contain letters, numbers, and underscores and cannot start with a number. Normalized to uppercase on write to match Snowflake.","type":"string","minLength":1}},"required":["credential","host","warehouse","role","accountId","immutaSystemDatabase"],"additionalProperties":false},"state":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"activeTasks":{"description":"All pending or running tasks.","type":"array","items":{"description":"The task summary schema.","title":"Task Summary","oneOf":[{"description":"DATA_OBJECT_SYNC task summary schema.","title":"DATA_OBJECT_SYNC Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DATA_OBJECT_DELETE task summary schema.","title":"DATA_OBJECT_DELETE Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_DELETE"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DELETE_CONNECTION task summary schema.","title":"DELETE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DELETE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"ACTIVATE_CONNECTION task summary schema.","title":"ACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"ACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DEACTIVATE_CONNECTION task summary schema.","title":"DEACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DEACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"UPDATE_CONNECTION task summary schema.","title":"UPDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"UPDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"VALIDATE_CONNECTION task summary schema.","title":"VALIDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"VALIDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false}],"type":"object"}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"},"dataObjectDefaults":{"description":"The default configuration for data objects in the connection.","title":"Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","default":false,"type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"dataObjectSync":{"description":"The automated data object sync configuration for the connection.","title":"Automated Data Object Sync Configuration","type":"object","properties":{"enabled":{"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"required":["enabled","schedule","startTime","syncAllDataObjects"],"additionalProperties":false},"policyConfiguration":{"default":{"enabled":true,"impersonation":{"enabled":false},"workspaces":{"enabled":false},"excludeUserGroupPattern":[]},"description":"Policy configuration for the Snowflake connector.","title":"Snowflake Policy Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean","const":true},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"impersonation":{"description":"Enables the use of the Snowflake impersonation feature. This feature allows Immuta users to act on behalf of other users when accessing Snowflake data. Once enabled, it cannot be disabled unless the Snowflake Data Impersonation Only feature is enabled.","default":{"enabled":false},"anyOf":[{"description":"The impersonation schema for the Snowflake connector.","title":"Snowflake Use Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":true},"impersonationRole":{"description":"The name of the user impersonation role.","type":"string","minLength":1}},"required":["enabled","impersonationRole"],"additionalProperties":false},{"description":"The no impersonation schema for the Snowflake connector.","title":"Snowflake No Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"workspaces":{"description":"Enables the use of Snowflake workspaces. If you use Snowflake secure data sharing with Immuta, set this property to true as project workspaces are required. If you use Snowflake table grants, set this property to false. Project workspaces cannot be used when Snowflake table grants are enabled. Workspaces cannot be disabled once enabled.","default":{"enabled":false},"anyOf":[{"description":"The use workspaces schema for the Snowflake connector.","title":"Snowflake Use Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":true},"warehouses":{"description":"The list of warehouses workspace users have usage privileges on.","type":"array","items":{"type":"string","minLength":1}}},"required":["enabled"],"additionalProperties":false},{"description":"The no workspaces schema for the Snowflake connector.","title":"Snowflake No Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"excludeUserGroupPattern":{"description":"An array list of roles and users (both case-sensitive) to exclude from authorization checks. Wildcards are unsupported.","default":[],"type":"array","items":{"type":"string","minLength":1}}},"required":["enabled","impersonation","workspaces","excludeUserGroupPattern"],"additionalProperties":false},"auditConfiguration":{"default":{"enabled":true},"description":"Audit configuration for the Snowflake connection.","title":"Snowflake Audit Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false}},"required":["enabled"],"additionalProperties":false},"setup":{"description":"The setup script for the connection.","title":"Setup Script","type":"array","items":{"description":"An action that the user should take to resolve the issue","title":"Actions Required","type":"object","properties":{"configuration":{"description":"The generated configuration content.","type":"string"},"description":{"description":"A description of what the configuration does.","type":"string"}},"required":["configuration","description"],"additionalProperties":false}}},"required":["technology","clientConfiguration","state","connectionKey","createdBy","createdAt","updatedBy","updatedAt","dataObjectDefaults","dataObjectSync","policyConfiguration","auditConfiguration"],"additionalProperties":false}],"type":"object"},"ErrorResponseSchemaV1":{"description":"Represents a list of errors that require action to resolve","title":"Error Response","type":"object","properties":{"errors":{"description":"The list of errors that require action to resolve","minItems":1,"type":"array","items":{"anyOf":[{"description":"Represents a system generated error","title":"Error","type":"object","properties":{"code":{"type":"string","enum":["CONN001","CONN002","CONN003","CONN004","CONN005"]},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error that requires action to resolve","title":"Required Action Error","type":"object","properties":{"code":{"type":"string","const":"CONN002"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"requiredActions":{"description":"The actions that the user must take to resolve the error","type":"array","items":{"description":"An action that the user must take to resolve the error","title":"Required Action","type":"object","properties":{"action":{"description":"Auto-generated action to be executed by the user on the platform.","type":"string"},"description":{"description":"A description of what the action that needs to be taken.","type":"string"}},"required":["action","description"],"additionalProperties":false}}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error caused by an invalid connection state","title":"Invalid State Error","type":"object","properties":{"code":{"type":"string","const":"CONN003"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The reason why the connection is in the invalid state","type":"string"},"invalidState":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]}},"required":["code","message","invalidState"],"additionalProperties":false}]}}},"required":["errors"],"additionalProperties":false}}},"paths":{"/api/connections":{"post":{"description":"Create a new connection.","summary":"Create a new connection","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectionRequestSchemaV1"}}}},"responses":{"201":{"description":"Connection object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectionResponseSchemaV1"}}}},"400":{"description":"Invalid request payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}},"409":{"description":"Unable to create connection. Connection key already exists.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}}}}}}}
```

## Search for data objects by connection and attributes

> Search for data objects by connection and attributes.

```json
{"openapi":"3.1.0","info":{"title":"Connections API","version":"1.0.0"},"servers":[{"url":"<Immuta Base URL>","description":"Immuta API Base URL"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"SearchDataObjectsRequestSchemaV1":{"description":"Request schema for searching data objects by connection and attributes with pagination.","title":"Search Data Objects Request","type":"object","properties":{"filter":{"description":"Search filter.","title":"Search Filter","type":"object","properties":{"connection":{"anyOf":[{"description":"Filter by the unique connection key.","title":"Connection Key Filter","type":"object","properties":{"connectionKey":{"description":"Filter by the unique connection key.","title":"Connection Key Filter","type":"string","minLength":1}},"required":["connectionKey"],"additionalProperties":false},{"description":"Filter by host name.","title":"Host Filter","type":"object","properties":{"host":{"description":"Filter by host name.","title":"Host Filter","type":"string","minLength":1},"port":{"description":"Filter by port number (1-65535).","title":"Port Filter","type":"integer","minimum":1,"maximum":65535},"technology":{"description":"Filter by technology of the connection.","title":"Technology Filter","anyOf":[{"type":"string","const":"PostgreSQL"},{"type":"string","const":"Oracle"},{"type":"string","const":"MySQL"},{"type":"string","const":"MariaDB"},{"type":"string","const":"Glue"},{"type":"string","const":"Databricks"},{"type":"string","const":"Snowflake"},{"type":"string","const":"SQLServer"},{"type":"string","const":"Teradata"},{"type":"string","const":"Trino"},{"type":"string","const":"Redshift"}]}},"required":["host","port","technology"],"additionalProperties":false}]},"dataObject":{"anyOf":[{"description":"Filter by data object name.","title":"Name Filter","type":"object","properties":{"name":{"description":"Filter by data object name.","title":"Name Filter","type":"string","minLength":1}},"required":["name"],"additionalProperties":false},{"description":"Filter by object type (e.g., table, view, schema).","title":"Object Type Filter","type":"object","properties":{"objectType":{"description":"Filter by object type (e.g., table, view, schema).","title":"Object Type Filter","type":"string","minLength":1}},"required":["objectType"],"additionalProperties":false},{"description":"Filter by remote identifier for the data object.","title":"Remote ID Filter","type":"object","properties":{"remoteId":{"description":"Filter by remote identifier for the data object.","title":"Remote ID Filter","type":"string","minLength":1}},"required":["remoteId"],"additionalProperties":false},{"description":"Filter by simple object path (e.g., [\"catalog\", \"schema\", \"table\"]). This field is deprecated and will be removed in the future in favor of the objectPath field.","title":"Simple Object Path Filter","deprecated":true,"type":"object","properties":{"simpleObjectPath":{"description":"Filter by simple object path (e.g., [\"catalog\", \"schema\", \"table\"]). This field is deprecated and will be removed in the future in favor of the objectPath field.","title":"Simple Object Path Filter","deprecated":true,"type":"array","items":{"type":"string","minLength":1}}},"required":["simpleObjectPath"],"additionalProperties":false},{"description":"Filter by object path (e.g., JSON tree structure).","title":"Object Path Filter","type":"object","properties":{"objectPath":{"description":"Filter by object path (e.g., JSON tree structure).","title":"Object Path Filter","$ref":"#/components/schemas/__schema0"}},"required":["objectPath"],"additionalProperties":false},{"description":"Filter by parent object path to find direct children. Returns objects that are immediate children of the specified path. Must specify either a valid object path or an empty object {} for objects with no parent (top-level objects).","title":"Parent Object Path Filter","type":"object","properties":{"parentObjectPath":{"description":"Filter by parent object path to find direct children. Returns objects that are immediate children of the specified path. Use an empty object {} to find objects with no parent (top-level objects).","title":"Parent Object Path Filter","anyOf":[{"$ref":"#/components/schemas/__schema0"},{"description":"Empty object path for objects with no parent.","title":"Empty Object Path","type":"object","properties":{},"additionalProperties":false}]}},"required":["parentObjectPath"],"additionalProperties":false},{"description":"Filter by data object name and object type.","title":"Name and Object Type Filter","type":"object","properties":{"name":{"description":"Filter by data object name.","title":"Name Filter","type":"string","minLength":1},"objectType":{"description":"Filter by object type (e.g., table, view, schema).","title":"Object Type Filter","type":"string","minLength":1}},"required":["name","objectType"],"additionalProperties":false},{"description":"Filter by data object type and parent object path. Returns objects of the specified type that are direct children of the specified parent path.","title":"Type and Parent Object Path Filter","type":"object","properties":{"parentObjectPath":{"description":"Filter by parent object path to find direct children. Returns objects that are immediate children of the specified path. Use an empty object {} to find objects with no parent (top-level objects).","title":"Parent Object Path Filter","anyOf":[{"$ref":"#/components/schemas/__schema0"},{"description":"Empty object path for objects with no parent.","title":"Empty Object Path","type":"object","properties":{},"additionalProperties":false}]},"objectType":{"description":"Filter by object type (e.g., table, view, schema).","title":"Object Type Filter","type":"string","minLength":1}},"required":["parentObjectPath","objectType"],"additionalProperties":false},{"description":"Filter by simple object path and object type.","title":"Simple Object Path and Object Type Filter","deprecated":true,"type":"object","properties":{"simpleObjectPath":{"description":"Filter by simple object path (e.g., [\"catalog\", \"schema\", \"table\"]). This field is deprecated and will be removed in the future in favor of the objectPath field.","title":"Simple Object Path Filter","deprecated":true,"type":"array","items":{"type":"string","minLength":1}},"objectType":{"description":"Filter by object type (e.g., table, view, schema).","title":"Object Type Filter","type":"string","minLength":1}},"required":["simpleObjectPath","objectType"],"additionalProperties":false},{"description":"Filter by data object name and parent object path. Returns named objects that are direct children of the specified parent path.","title":"Name and Parent Object Path Filter","type":"object","properties":{"name":{"description":"Filter by data object name.","title":"Name Filter","type":"string","minLength":1},"parentObjectPath":{"description":"Filter by parent object path to find direct children. Returns objects that are immediate children of the specified path. Use an empty object {} to find objects with no parent (top-level objects).","title":"Parent Object Path Filter","anyOf":[{"$ref":"#/components/schemas/__schema0"},{"description":"Empty object path for objects with no parent.","title":"Empty Object Path","type":"object","properties":{},"additionalProperties":false}]}},"required":["name","parentObjectPath"],"additionalProperties":false},{"description":"Filter by data object type, name and parent object path. Returns objects of the specified type and name that are direct children of the specified parent path.","title":"Type, Name, and Parent Object Path Filter","type":"object","properties":{"objectType":{"description":"Filter by object type (e.g., table, view, schema).","title":"Object Type Filter","type":"string","minLength":1},"name":{"description":"Filter by data object name.","title":"Name Filter","type":"string","minLength":1},"parentObjectPath":{"description":"Filter by parent object path to find direct children. Returns objects that are immediate children of the specified path. Use an empty object {} to find objects with no parent (top-level objects).","title":"Parent Object Path Filter","anyOf":[{"$ref":"#/components/schemas/__schema0"},{"description":"Empty object path for objects with no parent.","title":"Empty Object Path","type":"object","properties":{},"additionalProperties":false}]}},"required":["objectType","name","parentObjectPath"],"additionalProperties":false}]}},"required":["dataObject"],"additionalProperties":false},"tags":{"description":"Optional filters by tag ids (include and/or exclude).","title":"Tag Filters","type":"object","properties":{"include":{"description":"Data objects must include all of these tag ids.","title":"Include Tag Ids","type":"array","items":{"description":"Non-negative integer tag id.","title":"Tag Id","type":"integer","minimum":0,"maximum":9007199254740991}},"exclude":{"description":"Data objects must not have any of these tag ids.","title":"Exclude Tag Ids","type":"array","items":{"description":"Non-negative integer tag id.","title":"Tag Id","type":"integer","minimum":0,"maximum":9007199254740991}}},"additionalProperties":false},"meta":{"default":{"sort":[{"field":"createdAt","order":"desc"}],"page":{"limit":20}},"description":"Sort and page metadata.","title":"Metadata","type":"object","properties":{"sort":{"default":[{"field":"createdAt","order":"desc"}],"minItems":1,"maxItems":3,"type":"array","items":{"description":"A single sort item with field restrictions.","title":"Sort Item","type":"object","properties":{"field":{"description":"The field to sort by.","title":"Sort Field","type":"string","enum":["name","type","objectPath","lastSyncedAt","createdAt","updatedAt"]},"order":{"description":"The order to sort by.","title":"Sort Order","type":"string","enum":["asc","desc"]}},"required":["field","order"],"additionalProperties":false}},"page":{"description":"Pagination information.","title":"Pagination","type":"object","properties":{"limit":{"description":"Maximum number of items to return.","title":"Page Limit","default":20,"type":"integer","minimum":1,"maximum":100},"cursor":{"description":"The cursor to start from.","title":"Page Cursor","type":"string"}},"additionalProperties":false}},"required":["page"],"additionalProperties":false}},"required":["filter"],"additionalProperties":false},"__schema0":{"description":"A recursive object path structure representing hierarchical data objects (e.g., catalog/schema/table). Used for input.","title":"Object Path","type":"object","properties":{"name":{"description":"The name of the object path segment.","title":"Object Path Name","type":"string"},"type":{"description":"The type of the object path segment (e.g., CATALOG, SCHEMA, TABLE).","title":"Object Path Type","type":"string"},"child":{"description":"The child of the object path segment.","title":"Object Path Segment","$ref":"#/components/schemas/__schema0"}},"required":["name","type"],"additionalProperties":false},"SearchDataObjectsResponseSchemaV1":{"description":"Response schema for searching data objects with pagination.","title":"Search Data Objects Response","type":"object","properties":{"data":{"type":"array","items":{"description":"The base data object schema.","title":"Base Data Object","type":"object","properties":{"id":{"description":"The unique, Immuta-generated identifier (UUID) for the data object.","title":"Data Object ID","type":"string"},"name":{"description":"The name of the data object.","type":"string","minLength":1},"type":{"description":"The type of the data object.","type":"string","minLength":1},"normalizedType":{"description":"The normalized type of the data object.","type":"string","minLength":1},"technology":{"description":"The technology of the data platform.","type":"string","minLength":1},"remoteId":{"description":"The remote identifier for the data object.","type":"string","minLength":1},"remoteType":{"description":"The type of the data object as returned by the remote platform.","type":"string"},"remoteFormat":{"description":"The format of the data object as returned by the remote platform.","type":"string"},"remoteKind":{"description":"The kind of the data object as returned by the remote platform.","type":"string"},"remoteCreatedAt":{"description":"The timestamp of the creation of the data object as returned by the remote platform.","type":"string","format":"date-time"},"remoteUpdatedAt":{"description":"The timestamp of the last update of the data object as returned by the remote platform.","type":"string","format":"date-time"},"objectPath":{"description":"The fully qualified object path of the data object.","title":"Fully Qualified Object Path","$ref":"#/components/schemas/__schema2"},"lastSyncedAt":{"description":"The timestamp of the last sync of this data object.","type":"string","format":"date-time"},"settings":{"description":"The data object configuration settings.","title":"Data Object Settings","type":"object","properties":{"syncPolicy":{"description":"Configuration to sync policies to the data object.","title":"Sync Policy","type":"object","properties":{"value":{"type":"boolean"},"inheritedFrom":{"description":"The source of the attribute. When present, this attribute's value is inherited from the specified connection or data object. When omitted, the value is set directly on this data object.","title":"Source","type":"object","properties":{"id":{"description":"The ID of the object. Connection key for CONNECTION type. Data object ID for DATA_OBJECT type.","type":"string"},"type":{"description":"The type of the source.","type":"string","enum":["CONNECTION","DATA_OBJECT"]}},"required":["id","type"],"additionalProperties":false}},"required":["value"],"additionalProperties":false},"owners":{"description":"Configuration for the data object owners.","title":"Owners","type":"array","items":{"type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]},"inheritedFrom":{"description":"The source of the attribute. When present, this attribute's value is inherited from the specified connection or data object. When omitted, the value is set directly on this data object.","title":"Source","type":"object","properties":{"id":{"description":"The ID of the object. Connection key for CONNECTION type. Data object ID for DATA_OBJECT type.","type":"string"},"type":{"description":"The type of the source.","type":"string","enum":["CONNECTION","DATA_OBJECT"]}},"required":["id","type"],"additionalProperties":false}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"tags":{"description":"Tag assignments on this data object.","title":"Data Object Tags","type":"array","items":{"description":"A tag assignment on a connection data object.","title":"Data Object Tag","type":"object","properties":{"id":{"description":"Non-negative integer tag id.","title":"Tag Id","type":"integer","minimum":0,"maximum":9007199254740991},"name":{"description":"The tag name.","title":"Name","type":"string"},"displayName":{"description":"The tag display name.","title":"Display Name","type":"string"},"inheritedFrom":{"description":"The source of the attribute. When present, this attribute's value is inherited from the specified connection or data object. When omitted, the value is set directly on this data object.","title":"Source","type":"object","properties":{"id":{"description":"The ID of the object. Connection key for CONNECTION type. Data object ID for DATA_OBJECT type.","type":"string"},"type":{"description":"The type of the source.","type":"string","enum":["CONNECTION","DATA_OBJECT"]}},"required":["id","type"],"additionalProperties":false}},"required":["id","name","displayName"],"additionalProperties":false}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"}},"required":["id","name","type","normalizedType","technology","remoteId","objectPath","lastSyncedAt","settings","connectionKey","createdBy","createdAt","updatedBy","updatedAt"],"additionalProperties":false}},"meta":{"description":"Search metadata.","title":"Search Metadata","type":"object","properties":{"sort":{"default":[{"field":"createdAt","order":"desc"}],"minItems":1,"maxItems":3,"type":"array","items":{"description":"A single sort item with field restrictions.","title":"Sort Item","type":"object","properties":{"field":{"description":"The field to sort by.","title":"Sort Field","type":"string","enum":["name","type","objectPath","lastSyncedAt","createdAt","updatedAt"]},"order":{"description":"The order to sort by.","title":"Sort Order","type":"string","enum":["asc","desc"]}},"required":["field","order"],"additionalProperties":false}},"page":{"description":"Pagination information.","title":"Pagination","type":"object","properties":{"limit":{"description":"Maximum number of items to return.","title":"Page Limit","default":20,"type":"integer","minimum":1,"maximum":100},"cursor":{"description":"The cursor to start from.","title":"Page Cursor","type":"string"}},"required":["limit"],"additionalProperties":false},"totalCount":{"description":"The total number of data objects found.","title":"Total Count","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["sort","page","totalCount"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false},"__schema2":{"description":"A recursive object path structure representing hierarchical data objects (e.g., catalog/schema/table). Used for API responses with IDs.","title":"Fully Qualified Object Path","type":"object","properties":{"name":{"description":"The name of the object path segment.","title":"Object Path Name","type":"string"},"type":{"description":"The type of the object path segment (e.g., CATALOG, SCHEMA, TABLE).","title":"Object Path Type","type":"string"},"id":{"description":"The unique identifier of the object path segment.","title":"Object Path ID","type":"string"},"child":{"description":"The child of the object path segment.","title":"Object Path Segment","$ref":"#/components/schemas/__schema2"}},"required":["name","type","id"],"additionalProperties":false},"SearchInvalidFilterErrorResponseSchemaV1":{"description":"Invalid search filter error response","title":"Invalid Search Filter Error Response","type":"object","properties":{"errors":{"minItems":1,"type":"array","items":{"description":"Invalid search filter error","title":"Invalid Search Filter Error","type":"object","properties":{"code":{"type":"string","const":"CONN004"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["errors"],"additionalProperties":false}}},"paths":{"/api/connections/dataObjects/_search":{"post":{"description":"Search for data objects by connection and attributes.","summary":"Search for data objects by connection and attributes","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchDataObjectsRequestSchemaV1"}}}},"responses":{"200":{"description":"Data objects search result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchDataObjectsResponseSchemaV1"}}}},"400":{"description":"Invalid search filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchInvalidFilterErrorResponseSchemaV1"}}}}}}}}}
```

## Get a data object by connection and ID without children

> Get a data object by connection and ID without children.

```json
{"openapi":"3.1.0","info":{"title":"Connections API","version":"1.0.0"},"servers":[{"url":"<Immuta Base URL>","description":"Immuta API Base URL"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"GetDataObjectResponseSchemaV1":{"description":"The response schema for getting a data object.","title":"Get Data Object Response","type":"object","properties":{"id":{"description":"The unique, Immuta-generated identifier (UUID) for the data object.","title":"Data Object ID","type":"string"},"name":{"description":"The name of the data object.","type":"string","minLength":1},"type":{"description":"The type of the data object.","type":"string","minLength":1},"normalizedType":{"description":"The normalized type of the data object.","type":"string","minLength":1},"technology":{"description":"The technology of the data platform.","type":"string","minLength":1},"remoteId":{"description":"The remote identifier for the data object.","type":"string","minLength":1},"remoteType":{"description":"The type of the data object as returned by the remote platform.","type":"string"},"remoteFormat":{"description":"The format of the data object as returned by the remote platform.","type":"string"},"remoteKind":{"description":"The kind of the data object as returned by the remote platform.","type":"string"},"remoteCreatedAt":{"description":"The timestamp of the creation of the data object as returned by the remote platform.","type":"string","format":"date-time"},"remoteUpdatedAt":{"description":"The timestamp of the last update of the data object as returned by the remote platform.","type":"string","format":"date-time"},"objectPath":{"description":"The fully qualified object path of the data object.","title":"Fully Qualified Object Path","$ref":"#/components/schemas/__schema2"},"lastSyncedAt":{"description":"The timestamp of the last sync of this data object.","type":"string","format":"date-time"},"settings":{"description":"The data object configuration settings.","title":"Data Object Settings","type":"object","properties":{"syncPolicy":{"description":"Configuration to sync policies to the data object.","title":"Sync Policy","type":"object","properties":{"value":{"type":"boolean"},"inheritedFrom":{"description":"The source of the attribute. When present, this attribute's value is inherited from the specified connection or data object. When omitted, the value is set directly on this data object.","title":"Source","type":"object","properties":{"id":{"description":"The ID of the object. Connection key for CONNECTION type. Data object ID for DATA_OBJECT type.","type":"string"},"type":{"description":"The type of the source.","type":"string","enum":["CONNECTION","DATA_OBJECT"]}},"required":["id","type"],"additionalProperties":false}},"required":["value"],"additionalProperties":false},"owners":{"description":"Configuration for the data object owners.","title":"Owners","type":"array","items":{"type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]},"inheritedFrom":{"description":"The source of the attribute. When present, this attribute's value is inherited from the specified connection or data object. When omitted, the value is set directly on this data object.","title":"Source","type":"object","properties":{"id":{"description":"The ID of the object. Connection key for CONNECTION type. Data object ID for DATA_OBJECT type.","type":"string"},"type":{"description":"The type of the source.","type":"string","enum":["CONNECTION","DATA_OBJECT"]}},"required":["id","type"],"additionalProperties":false}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"tags":{"description":"Tag assignments on this data object.","title":"Data Object Tags","type":"array","items":{"description":"A tag assignment on a connection data object.","title":"Data Object Tag","type":"object","properties":{"id":{"description":"Non-negative integer tag id.","title":"Tag Id","type":"integer","minimum":0,"maximum":9007199254740991},"name":{"description":"The tag name.","title":"Name","type":"string"},"displayName":{"description":"The tag display name.","title":"Display Name","type":"string"},"inheritedFrom":{"description":"The source of the attribute. When present, this attribute's value is inherited from the specified connection or data object. When omitted, the value is set directly on this data object.","title":"Source","type":"object","properties":{"id":{"description":"The ID of the object. Connection key for CONNECTION type. Data object ID for DATA_OBJECT type.","type":"string"},"type":{"description":"The type of the source.","type":"string","enum":["CONNECTION","DATA_OBJECT"]}},"required":["id","type"],"additionalProperties":false}},"required":["id","name","displayName"],"additionalProperties":false}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"}},"required":["id","name","type","normalizedType","technology","remoteId","objectPath","lastSyncedAt","settings","connectionKey","createdBy","createdAt","updatedBy","updatedAt"],"additionalProperties":false},"__schema2":{"description":"A recursive object path structure representing hierarchical data objects (e.g., catalog/schema/table). Used for API responses with IDs.","title":"Fully Qualified Object Path","type":"object","properties":{"name":{"description":"The name of the object path segment.","title":"Object Path Name","type":"string"},"type":{"description":"The type of the object path segment (e.g., CATALOG, SCHEMA, TABLE).","title":"Object Path Type","type":"string"},"id":{"description":"The unique identifier of the object path segment.","title":"Object Path ID","type":"string"},"child":{"description":"The child of the object path segment.","title":"Object Path Segment","$ref":"#/components/schemas/__schema2"}},"required":["name","type","id"],"additionalProperties":false},"ErrorResponseSchemaV1":{"description":"Represents a list of errors that require action to resolve","title":"Error Response","type":"object","properties":{"errors":{"description":"The list of errors that require action to resolve","minItems":1,"type":"array","items":{"anyOf":[{"description":"Represents a system generated error","title":"Error","type":"object","properties":{"code":{"type":"string","enum":["CONN001","CONN002","CONN003","CONN004","CONN005"]},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error that requires action to resolve","title":"Required Action Error","type":"object","properties":{"code":{"type":"string","const":"CONN002"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"requiredActions":{"description":"The actions that the user must take to resolve the error","type":"array","items":{"description":"An action that the user must take to resolve the error","title":"Required Action","type":"object","properties":{"action":{"description":"Auto-generated action to be executed by the user on the platform.","type":"string"},"description":{"description":"A description of what the action that needs to be taken.","type":"string"}},"required":["action","description"],"additionalProperties":false}}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error caused by an invalid connection state","title":"Invalid State Error","type":"object","properties":{"code":{"type":"string","const":"CONN003"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The reason why the connection is in the invalid state","type":"string"},"invalidState":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]}},"required":["code","message","invalidState"],"additionalProperties":false}]}}},"required":["errors"],"additionalProperties":false}}},"paths":{"/api/connections/{connectionKey}/dataObjects/{id}":{"get":{"description":"Get a data object by connection and ID without children.","summary":"Get a data object by connection and ID without children","parameters":[{"in":"path","name":"connectionKey","schema":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"required":true,"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade."},{"in":"path","name":"id","schema":{"description":"The unique, Immuta-generated identifier (UUID) for the data object.","title":"Data Object ID","type":"string"},"required":true,"description":"The unique, Immuta-generated identifier (UUID) for the data object."}],"responses":{"200":{"description":"Data object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetDataObjectResponseSchemaV1"}}}},"404":{"description":"Connection or data object not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}}}}}}}
```

## Delete a data object and all its descendants

> Delete a data object and all its descendants. Returns a task ID for tracking the asynchronous deletion process.

```json
{"openapi":"3.1.0","info":{"title":"Connections API","version":"1.0.0"},"servers":[{"url":"<Immuta Base URL>","description":"Immuta API Base URL"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"DeleteDataObjectResponseSchemaV1":{"description":"The response schema for deleting a data object. Returns a task ID for tracking the asynchronous deletion process.","title":"Delete Data Object Response","type":"object","properties":{"taskId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"}},"required":["taskId"],"additionalProperties":false},"ErrorResponseSchemaV1":{"description":"Represents a list of errors that require action to resolve","title":"Error Response","type":"object","properties":{"errors":{"description":"The list of errors that require action to resolve","minItems":1,"type":"array","items":{"anyOf":[{"description":"Represents a system generated error","title":"Error","type":"object","properties":{"code":{"type":"string","enum":["CONN001","CONN002","CONN003","CONN004","CONN005"]},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error that requires action to resolve","title":"Required Action Error","type":"object","properties":{"code":{"type":"string","const":"CONN002"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"requiredActions":{"description":"The actions that the user must take to resolve the error","type":"array","items":{"description":"An action that the user must take to resolve the error","title":"Required Action","type":"object","properties":{"action":{"description":"Auto-generated action to be executed by the user on the platform.","type":"string"},"description":{"description":"A description of what the action that needs to be taken.","type":"string"}},"required":["action","description"],"additionalProperties":false}}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error caused by an invalid connection state","title":"Invalid State Error","type":"object","properties":{"code":{"type":"string","const":"CONN003"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The reason why the connection is in the invalid state","type":"string"},"invalidState":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]}},"required":["code","message","invalidState"],"additionalProperties":false}]}}},"required":["errors"],"additionalProperties":false}}},"paths":{"/api/connections/{connectionKey}/dataObjects/{id}":{"delete":{"description":"Delete a data object and all its descendants. Returns a task ID for tracking the asynchronous deletion process.","summary":"Delete a data object and all its descendants","parameters":[{"in":"path","name":"connectionKey","schema":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"required":true,"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade."},{"in":"path","name":"id","schema":{"description":"The unique, Immuta-generated identifier (UUID) for the data object.","title":"Data Object ID","type":"string"},"required":true,"description":"The unique, Immuta-generated identifier (UUID) for the data object."}],"responses":{"202":{"description":"Deletion task created and accepted for processing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteDataObjectResponseSchemaV1"}}}},"404":{"description":"Connection or data object not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}}}}}}}
```

## Update a data object by connection and ID

> Update a data object by connection and ID.

```json
{"openapi":"3.1.0","info":{"title":"Connections API","version":"1.0.0"},"servers":[{"url":"<Immuta Base URL>","description":"Immuta API Base URL"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"UpdateDataObjectRequestSchemaV1":{"description":"The request body for updating a data object.","title":"Update Data Object Request","type":"object","properties":{"settings":{"description":"Partial data object settings. All fields optional and nullable for partial updates.","title":"Partial Data Object Settings","type":"object","properties":{"syncPolicy":{"description":"Configuration to sync policies to the data object. Omit to leave unchanged. Set to \"null\" to clear.","anyOf":[{"type":"boolean"},{"type":"null"}]},"owners":{"description":"Data object owners. These are the direct owners of the data object. Omit to leave unchanged. set to \"null\" to clear.","anyOf":[{"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}},{"type":"null"}]}},"additionalProperties":false},"tags":{"description":"Add and/or remove tag assignments on the data object.","title":"Partial Data Object Tags Patch","type":"object","properties":{"add":{"type":"array","items":{"description":"Tag id to add or remove.","title":"Data Object Tags Patch Entry","type":"object","properties":{"id":{"description":"Non-negative integer tag id.","title":"Tag Id","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id"],"additionalProperties":false}},"remove":{"type":"array","items":{"description":"Tag id to add or remove.","title":"Data Object Tags Patch Entry","type":"object","properties":{"id":{"description":"Non-negative integer tag id.","title":"Tag Id","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id"],"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false},"UpdateDataObjectResponseSchemaV1":{"description":"The response schema for updating a data object. Returns the full data object.","title":"Update Data Object Response","type":"object","properties":{"id":{"description":"The unique, Immuta-generated identifier (UUID) for the data object.","title":"Data Object ID","type":"string"},"name":{"description":"The name of the data object.","type":"string","minLength":1},"type":{"description":"The type of the data object.","type":"string","minLength":1},"normalizedType":{"description":"The normalized type of the data object.","type":"string","minLength":1},"technology":{"description":"The technology of the data platform.","type":"string","minLength":1},"remoteId":{"description":"The remote identifier for the data object.","type":"string","minLength":1},"remoteType":{"description":"The type of the data object as returned by the remote platform.","type":"string"},"remoteFormat":{"description":"The format of the data object as returned by the remote platform.","type":"string"},"remoteKind":{"description":"The kind of the data object as returned by the remote platform.","type":"string"},"remoteCreatedAt":{"description":"The timestamp of the creation of the data object as returned by the remote platform.","type":"string","format":"date-time"},"remoteUpdatedAt":{"description":"The timestamp of the last update of the data object as returned by the remote platform.","type":"string","format":"date-time"},"objectPath":{"description":"The fully qualified object path of the data object.","title":"Fully Qualified Object Path","$ref":"#/components/schemas/__schema2"},"lastSyncedAt":{"description":"The timestamp of the last sync of this data object.","type":"string","format":"date-time"},"settings":{"description":"The data object configuration settings.","title":"Data Object Settings","type":"object","properties":{"syncPolicy":{"description":"Configuration to sync policies to the data object.","title":"Sync Policy","type":"object","properties":{"value":{"type":"boolean"},"inheritedFrom":{"description":"The source of the attribute. When present, this attribute's value is inherited from the specified connection or data object. When omitted, the value is set directly on this data object.","title":"Source","type":"object","properties":{"id":{"description":"The ID of the object. Connection key for CONNECTION type. Data object ID for DATA_OBJECT type.","type":"string"},"type":{"description":"The type of the source.","type":"string","enum":["CONNECTION","DATA_OBJECT"]}},"required":["id","type"],"additionalProperties":false}},"required":["value"],"additionalProperties":false},"owners":{"description":"Configuration for the data object owners.","title":"Owners","type":"array","items":{"type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]},"inheritedFrom":{"description":"The source of the attribute. When present, this attribute's value is inherited from the specified connection or data object. When omitted, the value is set directly on this data object.","title":"Source","type":"object","properties":{"id":{"description":"The ID of the object. Connection key for CONNECTION type. Data object ID for DATA_OBJECT type.","type":"string"},"type":{"description":"The type of the source.","type":"string","enum":["CONNECTION","DATA_OBJECT"]}},"required":["id","type"],"additionalProperties":false}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"tags":{"description":"Tag assignments on this data object.","title":"Data Object Tags","type":"array","items":{"description":"A tag assignment on a connection data object.","title":"Data Object Tag","type":"object","properties":{"id":{"description":"Non-negative integer tag id.","title":"Tag Id","type":"integer","minimum":0,"maximum":9007199254740991},"name":{"description":"The tag name.","title":"Name","type":"string"},"displayName":{"description":"The tag display name.","title":"Display Name","type":"string"},"inheritedFrom":{"description":"The source of the attribute. When present, this attribute's value is inherited from the specified connection or data object. When omitted, the value is set directly on this data object.","title":"Source","type":"object","properties":{"id":{"description":"The ID of the object. Connection key for CONNECTION type. Data object ID for DATA_OBJECT type.","type":"string"},"type":{"description":"The type of the source.","type":"string","enum":["CONNECTION","DATA_OBJECT"]}},"required":["id","type"],"additionalProperties":false}},"required":["id","name","displayName"],"additionalProperties":false}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"}},"required":["id","name","type","normalizedType","technology","remoteId","objectPath","lastSyncedAt","settings","connectionKey","createdBy","createdAt","updatedBy","updatedAt"],"additionalProperties":false},"__schema2":{"description":"A recursive object path structure representing hierarchical data objects (e.g., catalog/schema/table). Used for API responses with IDs.","title":"Fully Qualified Object Path","type":"object","properties":{"name":{"description":"The name of the object path segment.","title":"Object Path Name","type":"string"},"type":{"description":"The type of the object path segment (e.g., CATALOG, SCHEMA, TABLE).","title":"Object Path Type","type":"string"},"id":{"description":"The unique identifier of the object path segment.","title":"Object Path ID","type":"string"},"child":{"description":"The child of the object path segment.","title":"Object Path Segment","$ref":"#/components/schemas/__schema2"}},"required":["name","type","id"],"additionalProperties":false},"ErrorResponseSchemaV1":{"description":"Represents a list of errors that require action to resolve","title":"Error Response","type":"object","properties":{"errors":{"description":"The list of errors that require action to resolve","minItems":1,"type":"array","items":{"anyOf":[{"description":"Represents a system generated error","title":"Error","type":"object","properties":{"code":{"type":"string","enum":["CONN001","CONN002","CONN003","CONN004","CONN005"]},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error that requires action to resolve","title":"Required Action Error","type":"object","properties":{"code":{"type":"string","const":"CONN002"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"requiredActions":{"description":"The actions that the user must take to resolve the error","type":"array","items":{"description":"An action that the user must take to resolve the error","title":"Required Action","type":"object","properties":{"action":{"description":"Auto-generated action to be executed by the user on the platform.","type":"string"},"description":{"description":"A description of what the action that needs to be taken.","type":"string"}},"required":["action","description"],"additionalProperties":false}}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error caused by an invalid connection state","title":"Invalid State Error","type":"object","properties":{"code":{"type":"string","const":"CONN003"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The reason why the connection is in the invalid state","type":"string"},"invalidState":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]}},"required":["code","message","invalidState"],"additionalProperties":false}]}}},"required":["errors"],"additionalProperties":false}}},"paths":{"/api/connections/{connectionKey}/dataObjects/{id}":{"patch":{"description":"Update a data object by connection and ID.","summary":"Update a data object by connection and ID","parameters":[{"in":"path","name":"connectionKey","schema":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"required":true,"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade."},{"in":"path","name":"id","schema":{"description":"The unique, Immuta-generated identifier (UUID) for the data object.","title":"Data Object ID","type":"string"},"required":true,"description":"The unique, Immuta-generated identifier (UUID) for the data object."}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataObjectRequestSchemaV1"}}}},"responses":{"200":{"description":"Data object updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataObjectResponseSchemaV1"}}}},"400":{"description":"Invalid request payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}},"404":{"description":"Connection or data object not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}}}}}}}
```

## Get the children of a data object by connection and ID

> Get the children of a data object by connection and ID.

```json
{"openapi":"3.1.0","info":{"title":"Connections API","version":"1.0.0"},"servers":[{"url":"<Immuta Base URL>","description":"Immuta API Base URL"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"GetDataObjectChildrenResponseSchemaV1":{"description":"The response schema for getting the children of a data object.","title":"Get Children of Data Object Response","type":"object","properties":{"data":{"type":"array","items":{"description":"The base data object schema.","title":"Base Data Object","type":"object","properties":{"id":{"description":"The unique, Immuta-generated identifier (UUID) for the data object.","title":"Data Object ID","type":"string"},"name":{"description":"The name of the data object.","type":"string","minLength":1},"type":{"description":"The type of the data object.","type":"string","minLength":1},"normalizedType":{"description":"The normalized type of the data object.","type":"string","minLength":1},"technology":{"description":"The technology of the data platform.","type":"string","minLength":1},"remoteId":{"description":"The remote identifier for the data object.","type":"string","minLength":1},"remoteType":{"description":"The type of the data object as returned by the remote platform.","type":"string"},"remoteFormat":{"description":"The format of the data object as returned by the remote platform.","type":"string"},"remoteKind":{"description":"The kind of the data object as returned by the remote platform.","type":"string"},"remoteCreatedAt":{"description":"The timestamp of the creation of the data object as returned by the remote platform.","type":"string","format":"date-time"},"remoteUpdatedAt":{"description":"The timestamp of the last update of the data object as returned by the remote platform.","type":"string","format":"date-time"},"objectPath":{"description":"The fully qualified object path of the data object.","title":"Fully Qualified Object Path","$ref":"#/components/schemas/__schema2"},"lastSyncedAt":{"description":"The timestamp of the last sync of this data object.","type":"string","format":"date-time"},"settings":{"description":"The data object configuration settings.","title":"Data Object Settings","type":"object","properties":{"syncPolicy":{"description":"Configuration to sync policies to the data object.","title":"Sync Policy","type":"object","properties":{"value":{"type":"boolean"},"inheritedFrom":{"description":"The source of the attribute. When present, this attribute's value is inherited from the specified connection or data object. When omitted, the value is set directly on this data object.","title":"Source","type":"object","properties":{"id":{"description":"The ID of the object. Connection key for CONNECTION type. Data object ID for DATA_OBJECT type.","type":"string"},"type":{"description":"The type of the source.","type":"string","enum":["CONNECTION","DATA_OBJECT"]}},"required":["id","type"],"additionalProperties":false}},"required":["value"],"additionalProperties":false},"owners":{"description":"Configuration for the data object owners.","title":"Owners","type":"array","items":{"type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]},"inheritedFrom":{"description":"The source of the attribute. When present, this attribute's value is inherited from the specified connection or data object. When omitted, the value is set directly on this data object.","title":"Source","type":"object","properties":{"id":{"description":"The ID of the object. Connection key for CONNECTION type. Data object ID for DATA_OBJECT type.","type":"string"},"type":{"description":"The type of the source.","type":"string","enum":["CONNECTION","DATA_OBJECT"]}},"required":["id","type"],"additionalProperties":false}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"tags":{"description":"Tag assignments on this data object.","title":"Data Object Tags","type":"array","items":{"description":"A tag assignment on a connection data object.","title":"Data Object Tag","type":"object","properties":{"id":{"description":"Non-negative integer tag id.","title":"Tag Id","type":"integer","minimum":0,"maximum":9007199254740991},"name":{"description":"The tag name.","title":"Name","type":"string"},"displayName":{"description":"The tag display name.","title":"Display Name","type":"string"},"inheritedFrom":{"description":"The source of the attribute. When present, this attribute's value is inherited from the specified connection or data object. When omitted, the value is set directly on this data object.","title":"Source","type":"object","properties":{"id":{"description":"The ID of the object. Connection key for CONNECTION type. Data object ID for DATA_OBJECT type.","type":"string"},"type":{"description":"The type of the source.","type":"string","enum":["CONNECTION","DATA_OBJECT"]}},"required":["id","type"],"additionalProperties":false}},"required":["id","name","displayName"],"additionalProperties":false}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"}},"required":["id","name","type","normalizedType","technology","remoteId","objectPath","lastSyncedAt","settings","connectionKey","createdBy","createdAt","updatedBy","updatedAt"],"additionalProperties":false}},"meta":{"description":"Pagination and sort metadata for children (cursor pagination only).","title":"Get Data Object Children Metadata","type":"object","properties":{"sort":{"default":[{"field":"createdAt","order":"desc"}],"minItems":1,"maxItems":3,"type":"array","items":{"description":"A single sort item with field restrictions.","title":"Sort Item","type":"object","properties":{"field":{"description":"The field to sort by.","title":"Sort Field","type":"string","enum":["name","type","objectPath","lastSyncedAt","createdAt","updatedAt"]},"order":{"description":"The order to sort by.","title":"Sort Order","type":"string","enum":["asc","desc"]}},"required":["field","order"],"additionalProperties":false}},"page":{"description":"Pagination information.","title":"Pagination","type":"object","properties":{"limit":{"description":"Maximum number of items to return.","title":"Page Limit","default":20,"type":"integer","minimum":1,"maximum":100},"cursor":{"description":"The cursor to start from.","title":"Page Cursor","type":"string"}},"required":["limit"],"additionalProperties":false},"totalCount":{"description":"The total number of data object children.","title":"Total Count","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["sort","page","totalCount"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false},"__schema2":{"description":"A recursive object path structure representing hierarchical data objects (e.g., catalog/schema/table). Used for API responses with IDs.","title":"Fully Qualified Object Path","type":"object","properties":{"name":{"description":"The name of the object path segment.","title":"Object Path Name","type":"string"},"type":{"description":"The type of the object path segment (e.g., CATALOG, SCHEMA, TABLE).","title":"Object Path Type","type":"string"},"id":{"description":"The unique identifier of the object path segment.","title":"Object Path ID","type":"string"},"child":{"description":"The child of the object path segment.","title":"Object Path Segment","$ref":"#/components/schemas/__schema2"}},"required":["name","type","id"],"additionalProperties":false},"ErrorResponseSchemaV1":{"description":"Represents a list of errors that require action to resolve","title":"Error Response","type":"object","properties":{"errors":{"description":"The list of errors that require action to resolve","minItems":1,"type":"array","items":{"anyOf":[{"description":"Represents a system generated error","title":"Error","type":"object","properties":{"code":{"type":"string","enum":["CONN001","CONN002","CONN003","CONN004","CONN005"]},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error that requires action to resolve","title":"Required Action Error","type":"object","properties":{"code":{"type":"string","const":"CONN002"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"requiredActions":{"description":"The actions that the user must take to resolve the error","type":"array","items":{"description":"An action that the user must take to resolve the error","title":"Required Action","type":"object","properties":{"action":{"description":"Auto-generated action to be executed by the user on the platform.","type":"string"},"description":{"description":"A description of what the action that needs to be taken.","type":"string"}},"required":["action","description"],"additionalProperties":false}}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error caused by an invalid connection state","title":"Invalid State Error","type":"object","properties":{"code":{"type":"string","const":"CONN003"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The reason why the connection is in the invalid state","type":"string"},"invalidState":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]}},"required":["code","message","invalidState"],"additionalProperties":false}]}}},"required":["errors"],"additionalProperties":false}}},"paths":{"/api/connections/{connectionKey}/dataObjects/{id}/children":{"get":{"description":"Get the children of a data object by connection and ID.","summary":"Get the children of a data object by connection and ID","parameters":[{"in":"path","name":"connectionKey","schema":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"required":true,"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade."},{"in":"path","name":"id","schema":{"description":"The unique, Immuta-generated identifier (UUID) for the data object.","title":"Data Object ID","type":"string"},"required":true,"description":"The unique, Immuta-generated identifier (UUID) for the data object."},{"in":"query","name":"sort","schema":{"description":"Sort query parameter as an array of \"field:order\" strings.","title":"Sort Query","default":["createdAt:desc"],"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["name:asc","name:desc","type:asc","type:desc","objectPath:asc","objectPath:desc","lastSyncedAt:asc","lastSyncedAt:desc","createdAt:asc","createdAt:desc","updatedAt:asc","updatedAt:desc"]}},"description":"Sort query parameter as an array of \"field:order\" strings."},{"in":"query","name":"page[limit]","schema":{"description":"Maximum number of items to return.","title":"Page Limit","default":20,"type":"integer","minimum":1,"maximum":100},"description":"Maximum number of items to return."},{"in":"query","name":"page[cursor]","schema":{"description":"The cursor to start from.","title":"Page Cursor","type":"string"},"description":"The cursor to start from."}],"responses":{"200":{"description":"Data object children","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetDataObjectChildrenResponseSchemaV1"}}}},"404":{"description":"Connection or data object not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}}}}}}}
```

## Get a task run by ID

> Get a task run by ID.

```json
{"openapi":"3.1.0","info":{"title":"Connections API","version":"1.0.0"},"servers":[{"url":"<Immuta Base URL>","description":"Immuta API Base URL"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"GetTaskRunResponseSchemaV1":{"description":"The get task run response schema.","title":"Get Task Run Response","type":"object","properties":{"runId":{"description":"The run ID.","title":"Run ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"status":{"description":"The task run status.","title":"Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"createdAt":{"description":"When the task run was created.","title":"Created At","type":"string","format":"date-time"},"updatedAt":{"description":"When the task run was last updated.","title":"Updated At","type":"string","format":"date-time"},"startedAt":{"description":"When the task run was started.","title":"Started At","type":"string","format":"date-time"},"completedAt":{"description":"When the task run was completed.","title":"Completed At","type":"string","format":"date-time"},"canceledBy":{"description":"The user or system account ID that canceled the task run.","title":"Canceled By","type":"string","minLength":1},"result":{"description":"The result of the task run.","title":"Result","type":"object","properties":{"message":{"description":"A short summary of the task run result.","title":"Message","type":"string","minLength":1},"details":{"description":"Additional details about the result. This field may contain any structure of data.","title":"Details"}},"required":["message"],"additionalProperties":false},"error":{"description":"The error that occurred during the task run.","title":"Error","type":"object","properties":{"code":{"type":"string","enum":["CONN001","CONN002","CONN003","CONN004","CONN005"]},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}},"required":["runId","status","createdAt","updatedAt"],"additionalProperties":false},"ErrorResponseSchemaV1":{"description":"Represents a list of errors that require action to resolve","title":"Error Response","type":"object","properties":{"errors":{"description":"The list of errors that require action to resolve","minItems":1,"type":"array","items":{"anyOf":[{"description":"Represents a system generated error","title":"Error","type":"object","properties":{"code":{"type":"string","enum":["CONN001","CONN002","CONN003","CONN004","CONN005"]},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error that requires action to resolve","title":"Required Action Error","type":"object","properties":{"code":{"type":"string","const":"CONN002"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"requiredActions":{"description":"The actions that the user must take to resolve the error","type":"array","items":{"description":"An action that the user must take to resolve the error","title":"Required Action","type":"object","properties":{"action":{"description":"Auto-generated action to be executed by the user on the platform.","type":"string"},"description":{"description":"A description of what the action that needs to be taken.","type":"string"}},"required":["action","description"],"additionalProperties":false}}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error caused by an invalid connection state","title":"Invalid State Error","type":"object","properties":{"code":{"type":"string","const":"CONN003"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The reason why the connection is in the invalid state","type":"string"},"invalidState":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]}},"required":["code","message","invalidState"],"additionalProperties":false}]}}},"required":["errors"],"additionalProperties":false}}},"paths":{"/api/connections/{connectionKey}/tasks/{taskId}/runs/{runId}":{"get":{"description":"Get a task run by ID.","summary":"Get a task run by ID","parameters":[{"in":"path","name":"connectionKey","schema":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"required":true,"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade."},{"in":"path","name":"taskId","schema":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"required":true,"description":"The task ID."},{"in":"path","name":"runId","schema":{"description":"The run ID.","title":"Run ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"required":true,"description":"The run ID."}],"responses":{"200":{"description":"Task run details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTaskRunResponseSchemaV1"}}}},"400":{"description":"Invalid request payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}},"404":{"description":"Connection, task, or run ID not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}}}}}}}
```

## Request to cancel a task run by ID

> Request to cancel a task run by ID. This will not immediately cancel the task run, but will request the task run to be cancelled. To check the status of the task run, use the GET endpoint.

```json
{"openapi":"3.1.0","info":{"title":"Connections API","version":"1.0.0"},"servers":[{"url":"<Immuta Base URL>","description":"Immuta API Base URL"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"CancelTaskRunResponseSchemaV1":{"description":"The cancel task run response schema.","title":"Cancel Task Run Response","type":"object","properties":{"runId":{"description":"The run ID.","title":"Run ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"message":{"description":"The cancel task run response message.","title":"Cancel Task Run Response Message","type":"string"}},"required":["runId","message"],"additionalProperties":false},"ErrorResponseSchemaV1":{"description":"Represents a list of errors that require action to resolve","title":"Error Response","type":"object","properties":{"errors":{"description":"The list of errors that require action to resolve","minItems":1,"type":"array","items":{"anyOf":[{"description":"Represents a system generated error","title":"Error","type":"object","properties":{"code":{"type":"string","enum":["CONN001","CONN002","CONN003","CONN004","CONN005"]},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error that requires action to resolve","title":"Required Action Error","type":"object","properties":{"code":{"type":"string","const":"CONN002"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"requiredActions":{"description":"The actions that the user must take to resolve the error","type":"array","items":{"description":"An action that the user must take to resolve the error","title":"Required Action","type":"object","properties":{"action":{"description":"Auto-generated action to be executed by the user on the platform.","type":"string"},"description":{"description":"A description of what the action that needs to be taken.","type":"string"}},"required":["action","description"],"additionalProperties":false}}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error caused by an invalid connection state","title":"Invalid State Error","type":"object","properties":{"code":{"type":"string","const":"CONN003"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The reason why the connection is in the invalid state","type":"string"},"invalidState":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]}},"required":["code","message","invalidState"],"additionalProperties":false}]}}},"required":["errors"],"additionalProperties":false}}},"paths":{"/api/connections/{connectionKey}/tasks/{taskId}/runs/{runId}/_cancel":{"post":{"description":"Request to cancel a task run by ID. This will not immediately cancel the task run, but will request the task run to be cancelled. To check the status of the task run, use the GET endpoint.","summary":"Request to cancel a task run by ID","parameters":[{"in":"path","name":"connectionKey","schema":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"required":true,"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade."},{"in":"path","name":"taskId","schema":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"required":true,"description":"The task ID."},{"in":"path","name":"runId","schema":{"description":"The run ID.","title":"Run ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"required":true,"description":"The run ID."}],"responses":{"200":{"description":"Task run cancelled response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelTaskRunResponseSchemaV1"}}}},"404":{"description":"Connection, task, or run ID not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}}}}}}}
```

## Get a list of tasks

> Get a list of tasks for a connection.

```json
{"openapi":"3.1.0","info":{"title":"Connections API","version":"1.0.0"},"servers":[{"url":"<Immuta Base URL>","description":"Immuta API Base URL"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"GetTasksResponseSchemaV1":{"description":"The get tasks response schema.","title":"Get Tasks Response","type":"object","properties":{"tasks":{"type":"array","items":{"$ref":"#/components/schemas/GetTaskResponseSchemaV1Output"}},"meta":{"description":"List tasks metadata.","title":"List Tasks Metadata","type":"object","properties":{"sort":{"default":[{"field":"createdAt","order":"desc"}],"minItems":1,"maxItems":3,"type":"array","items":{"description":"A single sort item with field restrictions.","title":"Sort Item","type":"object","properties":{"field":{"description":"The field to sort by.","title":"Sort Field","type":"string","enum":["type","status","createdBy","createdAt"]},"order":{"description":"The order to sort by.","title":"Sort Order","type":"string","enum":["asc","desc"]}},"required":["field","order"],"additionalProperties":false}},"page":{"description":"Pagination information.","title":"Pagination","type":"object","properties":{"limit":{"description":"Maximum number of items to return.","title":"Page Limit","default":20,"type":"integer","minimum":1,"maximum":100},"cursor":{"description":"The cursor to start from.","title":"Page Cursor","type":"string"}},"required":["limit"],"additionalProperties":false}},"required":["sort","page"],"additionalProperties":false}},"required":["tasks","meta"],"additionalProperties":false},"GetTaskResponseSchemaV1Output":{"oneOf":[{"description":"DATA_OBJECT_SYNC task detail schema.","title":"DATA_OBJECT_SYNC Task Detail","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"},"parentId":{"description":"The parent task ID for hierarchical tasks.","title":"Parent ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"input":{"description":"DATA_OBJECT_SYNC task input.","title":"DATA_OBJECT_SYNC Task Input","type":"object","properties":{"objectPath":{"$ref":"#/components/schemas/__schema3"},"syncAllDataObjects":{"default":false,"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"required":["syncAllDataObjects"],"additionalProperties":false}},"required":["taskId","type","status","trigger","createdBy","createdAt","input"],"additionalProperties":false},{"description":"DATA_OBJECT_DELETE task detail schema.","title":"DATA_OBJECT_DELETE Task Detail","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_DELETE"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"},"parentId":{"description":"The parent task ID for hierarchical tasks.","title":"Parent ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"input":{"description":"DATA_OBJECT_DELETE task input.","title":"DATA_OBJECT_DELETE Task Input","type":"object","properties":{"dataObjectId":{"description":"The UUID of the data object to delete (including all descendants).","title":"Data Object ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"pathKey":{"description":"Slash-separated hierarchy path key of the root row to delete (that row and all descendants).","title":"Data Object Path Key","type":"string"}},"required":["dataObjectId","pathKey"],"additionalProperties":false}},"required":["taskId","type","status","trigger","createdBy","createdAt","input"],"additionalProperties":false},{"description":"DELETE_CONNECTION task detail schema.","title":"DELETE_CONNECTION Task Detail","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DELETE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"},"parentId":{"description":"The parent task ID for hierarchical tasks.","title":"Parent ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"ACTIVATE_CONNECTION task detail schema.","title":"ACTIVATE_CONNECTION Task Detail","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"ACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"},"parentId":{"description":"The parent task ID for hierarchical tasks.","title":"Parent ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"input":{"description":"ACTIVATE_CONNECTION task input.","title":"ACTIVATE_CONNECTION Task Input","type":"object","properties":{"syncOnCreate":{"description":"Whether to sync data objects immediately upon connection creation.","title":"Sync On Create","default":true,"type":"boolean"}},"required":["syncOnCreate"],"additionalProperties":false}},"required":["taskId","type","status","trigger","createdBy","createdAt","input"],"additionalProperties":false},{"description":"DEACTIVATE_CONNECTION task detail schema.","title":"DEACTIVATE_CONNECTION Task Detail","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DEACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"},"parentId":{"description":"The parent task ID for hierarchical tasks.","title":"Parent ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"UPDATE_CONNECTION task detail schema.","title":"UPDATE_CONNECTION Task Detail","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"UPDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"},"parentId":{"description":"The parent task ID for hierarchical tasks.","title":"Parent ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"input":{"description":"UPDATE_CONNECTION task input.","title":"UPDATE_CONNECTION Task Input","type":"object","properties":{"connection":{"description":"Full connection record with the patch updates.","title":"Connection","$ref":"#/components/schemas/GetConnectionResponseSchemaV1Output"},"changes":{"description":"Top-level connection resource fields that changed and should drive validation / update workflows (GET /connections/:key response shape).","title":"Connection field changes","default":[],"type":"array","items":{"type":"string","enum":["clientConfiguration","policyConfiguration","auditConfiguration","dataObjectDefaults","state"]}}},"required":["connection","changes"],"additionalProperties":false}},"required":["taskId","type","status","trigger","createdBy","createdAt","input"],"additionalProperties":false},{"description":"VALIDATE_CONNECTION task detail schema.","title":"VALIDATE_CONNECTION Task Detail","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"VALIDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"},"parentId":{"description":"The parent task ID for hierarchical tasks.","title":"Parent ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"input":{"description":"VALIDATE_CONNECTION task input.","title":"VALIDATE_CONNECTION Task Input","type":"object","properties":{"connection":{"description":"Full connection record to validate.","title":"Connection","$ref":"#/components/schemas/GetConnectionResponseSchemaV1Output"},"changes":{"description":"Top-level connection resource fields that changed and should drive validation / update workflows (GET /connections/:key response shape).","title":"Connection field changes","default":[],"type":"array","items":{"type":"string","enum":["clientConfiguration","policyConfiguration","auditConfiguration","dataObjectDefaults","state"]}},"validateOnly":{"description":"When true, validation runs against each enabled component of the connection (client, policy, and audit) but the connection's stored health state is not updated. When false, each enabled component's health is updated to ACTIVE on success or UNHEALTHY on failure.","title":"Validate Only","default":false,"type":"boolean"}},"required":["connection","changes","validateOnly"],"additionalProperties":false}},"required":["taskId","type","status","trigger","createdBy","createdAt","input"],"additionalProperties":false}],"type":"object"},"__schema3":{"description":"A recursive object path structure representing hierarchical data objects (e.g., catalog/schema/table). Used for input.","title":"Object Path","type":"object","properties":{"name":{"description":"The name of the object path segment.","title":"Object Path Name","type":"string"},"type":{"description":"The type of the object path segment (e.g., CATALOG, SCHEMA, TABLE).","title":"Object Path Type","type":"string"},"child":{"description":"The child of the object path segment.","title":"Object Path Segment","$ref":"#/components/schemas/__schema3"}},"required":["name","type"],"additionalProperties":false},"GetConnectionResponseSchemaV1Output":{"description":"The connection resource. Sensitive strings will be returned with a value of '[REDACTED]'.","title":"Get Connection Response.","anyOf":[{"description":"The Databricks connection details.","title":"Databricks Connection","type":"object","properties":{"technology":{"type":"string","const":"Databricks"},"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The credential configuration for the OAuthWithCertificate authentication type.","title":"OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint."},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","clientId","authorityUrl","scope","publicCertificateThumbprint","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithSecret authentication type.","title":"OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application."}},"required":["authenticationType","clientId","authorityUrl","scope","clientSecret"],"additionalProperties":false},{"description":"The credential configuration for the Token authentication type.","title":"Token Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"Token"},"token":{"description":"The personal access token for the service principal created for Immuta to authenticate with the data platform."}},"required":["authenticationType","token"],"additionalProperties":false}],"type":"object"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"host":{"description":"Your Databricks host."},"port":{"description":"The port for your Databricks account connection.","default":443,"type":"number"},"path":{"description":"The HTTP path of your Databricks cluster or SQL warehouse.","type":"string","minLength":1},"metastoreId":{"description":"The ID of the Databricks metastore.","type":"string","minLength":1},"username":{"description":"The username (SCIM `userName`) of the principal whose credentials Immuta uses to connect to this workspace.","type":"string","minLength":1},"immutaSystemCatalog":{"description":"The name of the Databricks catalog Immuta will create to store internal entitlements and other user data specific to Immuta. This catalog will only be readable for the Immuta service principal and should not be granted to other users. The catalog name may only contain letters, numbers, and underscores and cannot start with a number.","type":"string","minLength":1},"proxy":{"description":"The proxy details for the connector.","title":"Proxy Settings","type":"object","properties":{"host":{"type":"string","format":"uri"},"port":{"type":"number"},"credential":{"description":"The credential configuration for the UsernamePassword authentication type.","title":"UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection."}},"required":["authenticationType","username","password"],"additionalProperties":false}},"required":["host","port","credential"],"additionalProperties":false}},"required":["credential","host","port","path","metastoreId","immutaSystemCatalog"],"additionalProperties":false},"state":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"activeTasks":{"description":"All pending or running tasks.","type":"array","items":{"description":"The task summary schema.","title":"Task Summary","oneOf":[{"description":"DATA_OBJECT_SYNC task summary schema.","title":"DATA_OBJECT_SYNC Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DATA_OBJECT_DELETE task summary schema.","title":"DATA_OBJECT_DELETE Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_DELETE"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DELETE_CONNECTION task summary schema.","title":"DELETE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DELETE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"ACTIVATE_CONNECTION task summary schema.","title":"ACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"ACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DEACTIVATE_CONNECTION task summary schema.","title":"DEACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DEACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"UPDATE_CONNECTION task summary schema.","title":"UPDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"UPDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"VALIDATE_CONNECTION task summary schema.","title":"VALIDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"VALIDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false}],"type":"object"}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"},"dataObjectDefaults":{"description":"The default configuration for data objects in the connection.","title":"Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","default":false,"type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"dataObjectSync":{"description":"The automated data object sync configuration for the connection.","title":"Automated Data Object Sync Configuration","type":"object","properties":{"enabled":{"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"required":["enabled","schedule","startTime","syncAllDataObjects"],"additionalProperties":false},"policyConfiguration":{"default":{"enabled":true,"excludeGroupPattern":"immuta_exemption_group"},"description":"Policy configuration for the Databricks connector.","title":"Databricks Policy Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean","const":true},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"excludeGroupPattern":{"description":"Excludes the listed group from having data policies applied in the Databricks Unity Catalog integration. By default, the group \"immuta_exemption_group\" is excluded. Once the excludeGroupPattern is set it cannot be changed.","default":"immuta_exemption_group","type":"string","minLength":1}},"required":["enabled","excludeGroupPattern"],"additionalProperties":false},"auditConfiguration":{"default":{"enabled":true},"description":"Audit configuration for the Databricks connection.","title":"Databricks Audit Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"workspaceIds":{"description":"The optional list of workspaces to filter audit. If omitted, Immuta will audit queries from all users and tables in all workspaces.","type":"array","items":{"type":"string"}}},"required":["enabled"],"additionalProperties":false}},"required":["technology","clientConfiguration","state","connectionKey","createdBy","createdAt","updatedBy","updatedAt","dataObjectDefaults","dataObjectSync","policyConfiguration","auditConfiguration"],"additionalProperties":false},{"description":"The Snowflake connection details.","title":"Snowflake Connection","type":"object","properties":{"technology":{"type":"string","const":"Snowflake"},"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The credential configuration for the UsernamePassword authentication type.","title":"UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection."}},"required":["authenticationType","username","password"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithSecret authentication type.","title":"OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application."}},"required":["authenticationType","clientId","authorityUrl","scope","clientSecret"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithCertificate authentication type.","title":"OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint."},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","clientId","authorityUrl","scope","publicCertificateThumbprint","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the UnencryptedKeyPair authentication type.","title":"UnencryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UnencryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","username","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the EncryptedKeyPair authentication type.","title":"EncryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"EncryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false},"password":{"description":"The password for the private key."}},"required":["authenticationType","username","privateKey","password"],"additionalProperties":false}],"type":"object"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"host":{"description":"Your Snowflake host."},"port":{"description":"The port for your Snowflake account connection.","default":443,"type":"number"},"warehouse":{"description":"The default pool of compute resources the Immuta system user will use to run queries and perform other Snowflake operations.","type":"string","minLength":1},"role":{"description":"The privileged Snowflake role used by the Immuta system account when configuring the Snowflake connection. It must be able to see the data that Immuta will govern.","type":"string","minLength":1},"accountId":{"description":"Your Snowflake organization account identifier.","type":"string","minLength":1},"immutaSystemDatabase":{"description":"The name of the Snowflake database Immuta will create to store internal entitlements and other user data specific to Immuta. This database will only be readable for the Immuta service principal and should not be granted to other users. The database name may only contain letters, numbers, and underscores and cannot start with a number. Normalized to uppercase on write to match Snowflake.","type":"string","minLength":1}},"required":["credential","host","warehouse","role","accountId","immutaSystemDatabase"],"additionalProperties":false},"state":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"activeTasks":{"description":"All pending or running tasks.","type":"array","items":{"description":"The task summary schema.","title":"Task Summary","oneOf":[{"description":"DATA_OBJECT_SYNC task summary schema.","title":"DATA_OBJECT_SYNC Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DATA_OBJECT_DELETE task summary schema.","title":"DATA_OBJECT_DELETE Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_DELETE"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DELETE_CONNECTION task summary schema.","title":"DELETE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DELETE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"ACTIVATE_CONNECTION task summary schema.","title":"ACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"ACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DEACTIVATE_CONNECTION task summary schema.","title":"DEACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DEACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"UPDATE_CONNECTION task summary schema.","title":"UPDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"UPDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"VALIDATE_CONNECTION task summary schema.","title":"VALIDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"VALIDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false}],"type":"object"}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"},"dataObjectDefaults":{"description":"The default configuration for data objects in the connection.","title":"Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","default":false,"type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"dataObjectSync":{"description":"The automated data object sync configuration for the connection.","title":"Automated Data Object Sync Configuration","type":"object","properties":{"enabled":{"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"required":["enabled","schedule","startTime","syncAllDataObjects"],"additionalProperties":false},"policyConfiguration":{"default":{"enabled":true,"impersonation":{"enabled":false},"workspaces":{"enabled":false},"excludeUserGroupPattern":[]},"description":"Policy configuration for the Snowflake connector.","title":"Snowflake Policy Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean","const":true},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"impersonation":{"description":"Enables the use of the Snowflake impersonation feature. This feature allows Immuta users to act on behalf of other users when accessing Snowflake data. Once enabled, it cannot be disabled unless the Snowflake Data Impersonation Only feature is enabled.","default":{"enabled":false},"anyOf":[{"description":"The impersonation schema for the Snowflake connector.","title":"Snowflake Use Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":true},"impersonationRole":{"description":"The name of the user impersonation role.","type":"string","minLength":1}},"required":["enabled","impersonationRole"],"additionalProperties":false},{"description":"The no impersonation schema for the Snowflake connector.","title":"Snowflake No Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"workspaces":{"description":"Enables the use of Snowflake workspaces. If you use Snowflake secure data sharing with Immuta, set this property to true as project workspaces are required. If you use Snowflake table grants, set this property to false. Project workspaces cannot be used when Snowflake table grants are enabled. Workspaces cannot be disabled once enabled.","default":{"enabled":false},"anyOf":[{"description":"The use workspaces schema for the Snowflake connector.","title":"Snowflake Use Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":true},"warehouses":{"description":"The list of warehouses workspace users have usage privileges on.","type":"array","items":{"type":"string","minLength":1}}},"required":["enabled"],"additionalProperties":false},{"description":"The no workspaces schema for the Snowflake connector.","title":"Snowflake No Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"excludeUserGroupPattern":{"description":"An array list of roles and users (both case-sensitive) to exclude from authorization checks. Wildcards are unsupported.","default":[],"type":"array","items":{"type":"string","minLength":1}}},"required":["enabled","impersonation","workspaces","excludeUserGroupPattern"],"additionalProperties":false},"auditConfiguration":{"default":{"enabled":true},"description":"Audit configuration for the Snowflake connection.","title":"Snowflake Audit Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false}},"required":["enabled"],"additionalProperties":false}},"required":["technology","clientConfiguration","state","connectionKey","createdBy","createdAt","updatedBy","updatedAt","dataObjectDefaults","dataObjectSync","policyConfiguration","auditConfiguration"],"additionalProperties":false}]},"ErrorResponseSchemaV1":{"description":"Represents a list of errors that require action to resolve","title":"Error Response","type":"object","properties":{"errors":{"description":"The list of errors that require action to resolve","minItems":1,"type":"array","items":{"anyOf":[{"description":"Represents a system generated error","title":"Error","type":"object","properties":{"code":{"type":"string","enum":["CONN001","CONN002","CONN003","CONN004","CONN005"]},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error that requires action to resolve","title":"Required Action Error","type":"object","properties":{"code":{"type":"string","const":"CONN002"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"requiredActions":{"description":"The actions that the user must take to resolve the error","type":"array","items":{"description":"An action that the user must take to resolve the error","title":"Required Action","type":"object","properties":{"action":{"description":"Auto-generated action to be executed by the user on the platform.","type":"string"},"description":{"description":"A description of what the action that needs to be taken.","type":"string"}},"required":["action","description"],"additionalProperties":false}}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error caused by an invalid connection state","title":"Invalid State Error","type":"object","properties":{"code":{"type":"string","const":"CONN003"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The reason why the connection is in the invalid state","type":"string"},"invalidState":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]}},"required":["code","message","invalidState"],"additionalProperties":false}]}}},"required":["errors"],"additionalProperties":false}}},"paths":{"/api/connections/{connectionKey}/tasks":{"get":{"description":"Get a list of tasks for a connection.","summary":"Get a list of tasks","parameters":[{"in":"path","name":"connectionKey","schema":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"required":true,"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade."},{"in":"query","name":"sort","schema":{"description":"Sort query parameter as an array of \"field:order\" strings.","title":"Sort Query","default":["createdAt:desc"],"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["type:asc","type:desc","status:asc","status:desc","createdBy:asc","createdBy:desc","createdAt:asc","createdAt:desc"]}},"description":"Sort query parameter as an array of \"field:order\" strings."},{"in":"query","name":"page[limit]","schema":{"description":"Maximum number of items to return.","title":"Page Limit","default":20,"type":"integer","minimum":1,"maximum":100},"description":"Maximum number of items to return."},{"in":"query","name":"page[cursor]","schema":{"description":"The cursor to start from.","title":"Page Cursor","type":"string"},"description":"The cursor to start from."},{"in":"query","name":"filter[type]","schema":{"description":"Filter by task type.","title":"Task Type Filter","type":"string","enum":["DATA_OBJECT_SYNC","DATA_OBJECT_DELETE","DELETE_CONNECTION","ACTIVATE_CONNECTION","DEACTIVATE_CONNECTION","UPDATE_CONNECTION","VALIDATE_CONNECTION"]},"description":"Filter by task type."},{"in":"query","name":"filter[status]","schema":{"description":"Filter by task status.","title":"Task Status Filter","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"description":"Filter by task status."},{"in":"query","name":"filter[trigger]","schema":{"description":"Filter by trigger type.","title":"Trigger Type Filter","type":"string","enum":["MANUAL","SCHEDULED"]},"description":"Filter by trigger type."},{"in":"query","name":"filter[createdBy]","schema":{"description":"Filter by the creator of the task using user or system account ID.","title":"Created By Filter","type":"string"},"description":"Filter by the creator of the task using user or system account ID."},{"in":"query","name":"filter[parentId]","schema":{"description":"Filter by parent task ID.","title":"Parent ID Filter","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"description":"Filter by parent task ID."}],"responses":{"200":{"description":"Tasks list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTasksResponseSchemaV1"}}}},"400":{"description":"Invalid request payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}},"404":{"description":"Connection not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}}}}}}}
```

## Create a new task

> Create a new task.

```json
{"openapi":"3.1.0","info":{"title":"Connections API","version":"1.0.0"},"servers":[{"url":"<Immuta Base URL>","description":"Immuta API Base URL"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"CreateTaskRequestSchemaV1":{"description":"The create task request schema.","title":"Create Task Request","type":"object","properties":{"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"input":{"description":"DATA_OBJECT_SYNC task input.","title":"DATA_OBJECT_SYNC Task Input","type":"object","properties":{"objectPath":{"$ref":"#/components/schemas/__schema0"},"syncAllDataObjects":{"default":false,"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"additionalProperties":false}},"required":["type","input"],"additionalProperties":false},"__schema0":{"description":"A recursive object path structure representing hierarchical data objects (e.g., catalog/schema/table). Used for input.","title":"Object Path","type":"object","properties":{"name":{"description":"The name of the object path segment.","title":"Object Path Name","type":"string"},"type":{"description":"The type of the object path segment (e.g., CATALOG, SCHEMA, TABLE).","title":"Object Path Type","type":"string"},"child":{"description":"The child of the object path segment.","title":"Object Path Segment","$ref":"#/components/schemas/__schema0"}},"required":["name","type"],"additionalProperties":false},"CreateTaskResponseSchemaV1":{"description":"The create task response schema.","title":"Create Task Response","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"},"parentId":{"description":"The parent task ID for hierarchical tasks.","title":"Parent ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"input":{"description":"DATA_OBJECT_SYNC task input.","title":"DATA_OBJECT_SYNC Task Input","type":"object","properties":{"objectPath":{"$ref":"#/components/schemas/__schema3"},"syncAllDataObjects":{"default":false,"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"required":["syncAllDataObjects"],"additionalProperties":false}},"required":["taskId","type","status","trigger","createdBy","createdAt","input"],"additionalProperties":false},"__schema3":{"description":"A recursive object path structure representing hierarchical data objects (e.g., catalog/schema/table). Used for input.","title":"Object Path","type":"object","properties":{"name":{"description":"The name of the object path segment.","title":"Object Path Name","type":"string"},"type":{"description":"The type of the object path segment (e.g., CATALOG, SCHEMA, TABLE).","title":"Object Path Type","type":"string"},"child":{"description":"The child of the object path segment.","title":"Object Path Segment","$ref":"#/components/schemas/__schema3"}},"required":["name","type"],"additionalProperties":false},"ErrorResponseSchemaV1":{"description":"Represents a list of errors that require action to resolve","title":"Error Response","type":"object","properties":{"errors":{"description":"The list of errors that require action to resolve","minItems":1,"type":"array","items":{"anyOf":[{"description":"Represents a system generated error","title":"Error","type":"object","properties":{"code":{"type":"string","enum":["CONN001","CONN002","CONN003","CONN004","CONN005"]},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error that requires action to resolve","title":"Required Action Error","type":"object","properties":{"code":{"type":"string","const":"CONN002"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"requiredActions":{"description":"The actions that the user must take to resolve the error","type":"array","items":{"description":"An action that the user must take to resolve the error","title":"Required Action","type":"object","properties":{"action":{"description":"Auto-generated action to be executed by the user on the platform.","type":"string"},"description":{"description":"A description of what the action that needs to be taken.","type":"string"}},"required":["action","description"],"additionalProperties":false}}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error caused by an invalid connection state","title":"Invalid State Error","type":"object","properties":{"code":{"type":"string","const":"CONN003"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The reason why the connection is in the invalid state","type":"string"},"invalidState":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]}},"required":["code","message","invalidState"],"additionalProperties":false}]}}},"required":["errors"],"additionalProperties":false},"TaskConflictResponseSchemaV1":{"description":"Returned when a duplicate task creation is rejected (HTTP 409).","title":"Task Conflict Response","type":"object","properties":{"message":{"description":"Human-readable explanation of why the task was not created.","type":"string"},"taskId":{"description":"Identifier of the in-flight task (status `PENDING` or `RUNNING`) that already exists for this connection. Tasks in a terminal status (`SUCCEEDED`, `FAILED`, `CANCELED`) do not produce this conflict.","title":"Existing Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"taskType":{"description":"Type of action of the in-flight task.","title":"Existing Task Type","type":"string","enum":["DATA_OBJECT_SYNC","DATA_OBJECT_DELETE","DELETE_CONNECTION","ACTIVATE_CONNECTION","DEACTIVATE_CONNECTION","UPDATE_CONNECTION","VALIDATE_CONNECTION"]}},"required":["message","taskId","taskType"],"additionalProperties":false},"BasicMessageResponseSchemaV1":{"description":"The basic message response schema.","title":"Basic Message Response","type":"object","properties":{"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"message":{"description":"The message to return.","title":"The message to return.","type":"string","minLength":1}},"required":["connectionKey","message"],"additionalProperties":false}}},"paths":{"/api/connections/{connectionKey}/tasks":{"post":{"description":"Create a new task.","summary":"Create a new task","parameters":[{"in":"path","name":"connectionKey","schema":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"required":true,"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade."}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTaskRequestSchemaV1"}}}},"responses":{"200":{"description":"Task created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTaskResponseSchemaV1"}}}},"400":{"description":"Invalid request payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}},"404":{"description":"Connection not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}},"409":{"description":"A task with the same `type` and `input` is already in flight (status `PENDING` or `RUNNING`) for this connection. The body carries `taskId` so the caller can poll the existing task.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskConflictResponseSchemaV1"}}}},"503":{"description":"Task service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BasicMessageResponseSchemaV1"}}}}}}}}}
```

## Get a task by ID

> Get a task by ID.

```json
{"openapi":"3.1.0","info":{"title":"Connections API","version":"1.0.0"},"servers":[{"url":"<Immuta Base URL>","description":"Immuta API Base URL"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"GetTaskResponseSchemaV1Output":{"oneOf":[{"description":"DATA_OBJECT_SYNC task detail schema.","title":"DATA_OBJECT_SYNC Task Detail","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"},"parentId":{"description":"The parent task ID for hierarchical tasks.","title":"Parent ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"input":{"description":"DATA_OBJECT_SYNC task input.","title":"DATA_OBJECT_SYNC Task Input","type":"object","properties":{"objectPath":{"$ref":"#/components/schemas/__schema3"},"syncAllDataObjects":{"default":false,"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"required":["syncAllDataObjects"],"additionalProperties":false}},"required":["taskId","type","status","trigger","createdBy","createdAt","input"],"additionalProperties":false},{"description":"DATA_OBJECT_DELETE task detail schema.","title":"DATA_OBJECT_DELETE Task Detail","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_DELETE"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"},"parentId":{"description":"The parent task ID for hierarchical tasks.","title":"Parent ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"input":{"description":"DATA_OBJECT_DELETE task input.","title":"DATA_OBJECT_DELETE Task Input","type":"object","properties":{"dataObjectId":{"description":"The UUID of the data object to delete (including all descendants).","title":"Data Object ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"pathKey":{"description":"Slash-separated hierarchy path key of the root row to delete (that row and all descendants).","title":"Data Object Path Key","type":"string"}},"required":["dataObjectId","pathKey"],"additionalProperties":false}},"required":["taskId","type","status","trigger","createdBy","createdAt","input"],"additionalProperties":false},{"description":"DELETE_CONNECTION task detail schema.","title":"DELETE_CONNECTION Task Detail","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DELETE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"},"parentId":{"description":"The parent task ID for hierarchical tasks.","title":"Parent ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"ACTIVATE_CONNECTION task detail schema.","title":"ACTIVATE_CONNECTION Task Detail","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"ACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"},"parentId":{"description":"The parent task ID for hierarchical tasks.","title":"Parent ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"input":{"description":"ACTIVATE_CONNECTION task input.","title":"ACTIVATE_CONNECTION Task Input","type":"object","properties":{"syncOnCreate":{"description":"Whether to sync data objects immediately upon connection creation.","title":"Sync On Create","default":true,"type":"boolean"}},"required":["syncOnCreate"],"additionalProperties":false}},"required":["taskId","type","status","trigger","createdBy","createdAt","input"],"additionalProperties":false},{"description":"DEACTIVATE_CONNECTION task detail schema.","title":"DEACTIVATE_CONNECTION Task Detail","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DEACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"},"parentId":{"description":"The parent task ID for hierarchical tasks.","title":"Parent ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"UPDATE_CONNECTION task detail schema.","title":"UPDATE_CONNECTION Task Detail","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"UPDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"},"parentId":{"description":"The parent task ID for hierarchical tasks.","title":"Parent ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"input":{"description":"UPDATE_CONNECTION task input.","title":"UPDATE_CONNECTION Task Input","type":"object","properties":{"connection":{"description":"Full connection record with the patch updates.","title":"Connection","$ref":"#/components/schemas/GetConnectionResponseSchemaV1Output"},"changes":{"description":"Top-level connection resource fields that changed and should drive validation / update workflows (GET /connections/:key response shape).","title":"Connection field changes","default":[],"type":"array","items":{"type":"string","enum":["clientConfiguration","policyConfiguration","auditConfiguration","dataObjectDefaults","state"]}}},"required":["connection","changes"],"additionalProperties":false}},"required":["taskId","type","status","trigger","createdBy","createdAt","input"],"additionalProperties":false},{"description":"VALIDATE_CONNECTION task detail schema.","title":"VALIDATE_CONNECTION Task Detail","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"VALIDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"},"parentId":{"description":"The parent task ID for hierarchical tasks.","title":"Parent ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"input":{"description":"VALIDATE_CONNECTION task input.","title":"VALIDATE_CONNECTION Task Input","type":"object","properties":{"connection":{"description":"Full connection record to validate.","title":"Connection","$ref":"#/components/schemas/GetConnectionResponseSchemaV1Output"},"changes":{"description":"Top-level connection resource fields that changed and should drive validation / update workflows (GET /connections/:key response shape).","title":"Connection field changes","default":[],"type":"array","items":{"type":"string","enum":["clientConfiguration","policyConfiguration","auditConfiguration","dataObjectDefaults","state"]}},"validateOnly":{"description":"When true, validation runs against each enabled component of the connection (client, policy, and audit) but the connection's stored health state is not updated. When false, each enabled component's health is updated to ACTIVE on success or UNHEALTHY on failure.","title":"Validate Only","default":false,"type":"boolean"}},"required":["connection","changes","validateOnly"],"additionalProperties":false}},"required":["taskId","type","status","trigger","createdBy","createdAt","input"],"additionalProperties":false}],"type":"object"},"__schema3":{"description":"A recursive object path structure representing hierarchical data objects (e.g., catalog/schema/table). Used for input.","title":"Object Path","type":"object","properties":{"name":{"description":"The name of the object path segment.","title":"Object Path Name","type":"string"},"type":{"description":"The type of the object path segment (e.g., CATALOG, SCHEMA, TABLE).","title":"Object Path Type","type":"string"},"child":{"description":"The child of the object path segment.","title":"Object Path Segment","$ref":"#/components/schemas/__schema3"}},"required":["name","type"],"additionalProperties":false},"GetConnectionResponseSchemaV1Output":{"description":"The connection resource. Sensitive strings will be returned with a value of '[REDACTED]'.","title":"Get Connection Response.","anyOf":[{"description":"The Databricks connection details.","title":"Databricks Connection","type":"object","properties":{"technology":{"type":"string","const":"Databricks"},"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The credential configuration for the OAuthWithCertificate authentication type.","title":"OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint."},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","clientId","authorityUrl","scope","publicCertificateThumbprint","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithSecret authentication type.","title":"OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application."}},"required":["authenticationType","clientId","authorityUrl","scope","clientSecret"],"additionalProperties":false},{"description":"The credential configuration for the Token authentication type.","title":"Token Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"Token"},"token":{"description":"The personal access token for the service principal created for Immuta to authenticate with the data platform."}},"required":["authenticationType","token"],"additionalProperties":false}],"type":"object"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"host":{"description":"Your Databricks host."},"port":{"description":"The port for your Databricks account connection.","default":443,"type":"number"},"path":{"description":"The HTTP path of your Databricks cluster or SQL warehouse.","type":"string","minLength":1},"metastoreId":{"description":"The ID of the Databricks metastore.","type":"string","minLength":1},"username":{"description":"The username (SCIM `userName`) of the principal whose credentials Immuta uses to connect to this workspace.","type":"string","minLength":1},"immutaSystemCatalog":{"description":"The name of the Databricks catalog Immuta will create to store internal entitlements and other user data specific to Immuta. This catalog will only be readable for the Immuta service principal and should not be granted to other users. The catalog name may only contain letters, numbers, and underscores and cannot start with a number.","type":"string","minLength":1},"proxy":{"description":"The proxy details for the connector.","title":"Proxy Settings","type":"object","properties":{"host":{"type":"string","format":"uri"},"port":{"type":"number"},"credential":{"description":"The credential configuration for the UsernamePassword authentication type.","title":"UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection."}},"required":["authenticationType","username","password"],"additionalProperties":false}},"required":["host","port","credential"],"additionalProperties":false}},"required":["credential","host","port","path","metastoreId","immutaSystemCatalog"],"additionalProperties":false},"state":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"activeTasks":{"description":"All pending or running tasks.","type":"array","items":{"description":"The task summary schema.","title":"Task Summary","oneOf":[{"description":"DATA_OBJECT_SYNC task summary schema.","title":"DATA_OBJECT_SYNC Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DATA_OBJECT_DELETE task summary schema.","title":"DATA_OBJECT_DELETE Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_DELETE"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DELETE_CONNECTION task summary schema.","title":"DELETE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DELETE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"ACTIVATE_CONNECTION task summary schema.","title":"ACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"ACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DEACTIVATE_CONNECTION task summary schema.","title":"DEACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DEACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"UPDATE_CONNECTION task summary schema.","title":"UPDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"UPDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"VALIDATE_CONNECTION task summary schema.","title":"VALIDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"VALIDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false}],"type":"object"}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"},"dataObjectDefaults":{"description":"The default configuration for data objects in the connection.","title":"Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","default":false,"type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"dataObjectSync":{"description":"The automated data object sync configuration for the connection.","title":"Automated Data Object Sync Configuration","type":"object","properties":{"enabled":{"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"required":["enabled","schedule","startTime","syncAllDataObjects"],"additionalProperties":false},"policyConfiguration":{"default":{"enabled":true,"excludeGroupPattern":"immuta_exemption_group"},"description":"Policy configuration for the Databricks connector.","title":"Databricks Policy Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean","const":true},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"excludeGroupPattern":{"description":"Excludes the listed group from having data policies applied in the Databricks Unity Catalog integration. By default, the group \"immuta_exemption_group\" is excluded. Once the excludeGroupPattern is set it cannot be changed.","default":"immuta_exemption_group","type":"string","minLength":1}},"required":["enabled","excludeGroupPattern"],"additionalProperties":false},"auditConfiguration":{"default":{"enabled":true},"description":"Audit configuration for the Databricks connection.","title":"Databricks Audit Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"workspaceIds":{"description":"The optional list of workspaces to filter audit. If omitted, Immuta will audit queries from all users and tables in all workspaces.","type":"array","items":{"type":"string"}}},"required":["enabled"],"additionalProperties":false}},"required":["technology","clientConfiguration","state","connectionKey","createdBy","createdAt","updatedBy","updatedAt","dataObjectDefaults","dataObjectSync","policyConfiguration","auditConfiguration"],"additionalProperties":false},{"description":"The Snowflake connection details.","title":"Snowflake Connection","type":"object","properties":{"technology":{"type":"string","const":"Snowflake"},"clientConfiguration":{"type":"object","properties":{"credential":{"oneOf":[{"description":"The credential configuration for the UsernamePassword authentication type.","title":"UsernamePassword Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UsernamePassword"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"password":{"description":"The password for the connection."}},"required":["authenticationType","username","password"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithSecret authentication type.","title":"OAuthWithSecret Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithSecret"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"clientSecret":{"description":"Client secret of the application."}},"required":["authenticationType","clientId","authorityUrl","scope","clientSecret"],"additionalProperties":false},{"description":"The credential configuration for the OAuthWithCertificate authentication type.","title":"OAuthWithCertificate Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"OAuthWithCertificate"},"clientId":{"description":"The client identifier of your registered application.","type":"string","minLength":1},"authorityUrl":{"description":"Authority URL of your identity provider.","type":"string","format":"uri"},"scope":{"description":"The scope limits the operations and roles allowed by the provided credentials.","type":"string","minLength":1},"publicCertificateThumbprint":{"description":"Your certificate thumbprint."},"resource":{"description":"An optional resource to pass to the token provider.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","clientId","authorityUrl","scope","publicCertificateThumbprint","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the UnencryptedKeyPair authentication type.","title":"UnencryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"UnencryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false}},"required":["authenticationType","username","privateKey"],"additionalProperties":false},{"description":"The credential configuration for the EncryptedKeyPair authentication type.","title":"EncryptedKeyPair Credential","type":"object","properties":{"authenticationType":{"type":"string","const":"EncryptedKeyPair"},"username":{"description":"The username for the connection.","type":"string","minLength":1},"privateKey":{"description":"The private key for the OAuthWithCertificate authentication type.","title":"Private Key","type":"object","properties":{"filename":{"description":"The name of the private key file on your machine.","type":"string","minLength":1},"content":{"description":"The private key. Replace new lines in the private key with a backslash before the new line character: \"\\n\". If you are using another means of configuration, such as a Python script, the \"\\n\" should not be added."}},"required":["filename","content"],"additionalProperties":false},"password":{"description":"The password for the private key."}},"required":["authenticationType","username","privateKey","password"],"additionalProperties":false}],"type":"object"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"host":{"description":"Your Snowflake host."},"port":{"description":"The port for your Snowflake account connection.","default":443,"type":"number"},"warehouse":{"description":"The default pool of compute resources the Immuta system user will use to run queries and perform other Snowflake operations.","type":"string","minLength":1},"role":{"description":"The privileged Snowflake role used by the Immuta system account when configuring the Snowflake connection. It must be able to see the data that Immuta will govern.","type":"string","minLength":1},"accountId":{"description":"Your Snowflake organization account identifier.","type":"string","minLength":1},"immutaSystemDatabase":{"description":"The name of the Snowflake database Immuta will create to store internal entitlements and other user data specific to Immuta. This database will only be readable for the Immuta service principal and should not be granted to other users. The database name may only contain letters, numbers, and underscores and cannot start with a number. Normalized to uppercase on write to match Snowflake.","type":"string","minLength":1}},"required":["credential","host","warehouse","role","accountId","immutaSystemDatabase"],"additionalProperties":false},"state":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"activeTasks":{"description":"All pending or running tasks.","type":"array","items":{"description":"The task summary schema.","title":"Task Summary","oneOf":[{"description":"DATA_OBJECT_SYNC task summary schema.","title":"DATA_OBJECT_SYNC Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_SYNC"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DATA_OBJECT_DELETE task summary schema.","title":"DATA_OBJECT_DELETE Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DATA_OBJECT_DELETE"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DELETE_CONNECTION task summary schema.","title":"DELETE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DELETE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"ACTIVATE_CONNECTION task summary schema.","title":"ACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"ACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"DEACTIVATE_CONNECTION task summary schema.","title":"DEACTIVATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"DEACTIVATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"UPDATE_CONNECTION task summary schema.","title":"UPDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"UPDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false},{"description":"VALIDATE_CONNECTION task summary schema.","title":"VALIDATE_CONNECTION Task Summary","type":"object","properties":{"taskId":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"type":{"type":"string","const":"VALIDATE_CONNECTION"},"status":{"description":"The task run status.","title":"Task Run Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"trigger":{"description":"The task run trigger.","title":"Trigger Type","type":"string","enum":["MANUAL","SCHEDULED"]},"createdBy":{"description":"The user or system account ID that created the task.","title":"Created By","type":"string","minLength":1},"createdAt":{"description":"When the task was created.","type":"string","format":"date-time"}},"required":["taskId","type","status","trigger","createdBy","createdAt"],"additionalProperties":false}],"type":"object"}},"connectionKey":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"createdBy":{"description":"The user or system account ID who created the data object.","type":"string"},"createdAt":{"description":"The date and time the data object was created.","type":"string","format":"date-time"},"updatedBy":{"description":"The user or system account ID who updated the data object.","type":"string"},"updatedAt":{"description":"The date and time the data object was updated.","type":"string","format":"date-time"},"dataObjectDefaults":{"description":"The default configuration for data objects in the connection.","title":"Data Object Defaults","type":"object","properties":{"syncPolicy":{"description":"Default configuration to sync policies to the data object. If true, policies will be applied to the data object.","default":false,"type":"boolean"},"owners":{"description":"Default configuration for the data object owners for the connection.","minItems":1,"maxItems":100,"type":"array","items":{"description":"The user or group owner for the data object.","title":"User or Group Owner","type":"object","properties":{"id":{"description":"The ID of the user or group.","type":"number"},"type":{"description":"The type of the owner.","type":"string","enum":["USER","GROUP"]}},"required":["id","type"],"additionalProperties":false}}},"required":["syncPolicy","owners"],"additionalProperties":false},"dataObjectSync":{"description":"The automated data object sync configuration for the connection.","title":"Automated Data Object Sync Configuration","type":"object","properties":{"enabled":{"description":"Whether the scheduled data object sync is enabled. If true, data object sync will run on the configured schedule.","type":"boolean"},"schedule":{"description":"The schedule interval of the data object sync.","type":"string","enum":["EVERY_HOUR","EVERY_2_HOURS","EVERY_4_HOURS","EVERY_6_HOURS","EVERY_8_HOURS","EVERY_12_HOURS","EVERY_18_HOURS","EVERY_24_HOURS"]},"startTime":{"description":"The start hour (0-23) of the data object sync. For example, if the schedule is EVERY_24_HOURS and the startTime is 2, the sync will run every day at 2:00 AM UTC.","type":"number","minimum":0,"maximum":23},"syncAllDataObjects":{"description":"Whether to sync all data objects. If true, all data objects will be synced. If false, only data objects that currently have policy sync enabled will be synced.","title":"Sync All Data Objects","type":"boolean"}},"required":["enabled","schedule","startTime","syncAllDataObjects"],"additionalProperties":false},"policyConfiguration":{"default":{"enabled":true,"impersonation":{"enabled":false},"workspaces":{"enabled":false},"excludeUserGroupPattern":[]},"description":"Policy configuration for the Snowflake connector.","title":"Snowflake Policy Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean","const":true},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"impersonation":{"description":"Enables the use of the Snowflake impersonation feature. This feature allows Immuta users to act on behalf of other users when accessing Snowflake data. Once enabled, it cannot be disabled unless the Snowflake Data Impersonation Only feature is enabled.","default":{"enabled":false},"anyOf":[{"description":"The impersonation schema for the Snowflake connector.","title":"Snowflake Use Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":true},"impersonationRole":{"description":"The name of the user impersonation role.","type":"string","minLength":1}},"required":["enabled","impersonationRole"],"additionalProperties":false},{"description":"The no impersonation schema for the Snowflake connector.","title":"Snowflake No Impersonation","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"workspaces":{"description":"Enables the use of Snowflake workspaces. If you use Snowflake secure data sharing with Immuta, set this property to true as project workspaces are required. If you use Snowflake table grants, set this property to false. Project workspaces cannot be used when Snowflake table grants are enabled. Workspaces cannot be disabled once enabled.","default":{"enabled":false},"anyOf":[{"description":"The use workspaces schema for the Snowflake connector.","title":"Snowflake Use Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":true},"warehouses":{"description":"The list of warehouses workspace users have usage privileges on.","type":"array","items":{"type":"string","minLength":1}}},"required":["enabled"],"additionalProperties":false},{"description":"The no workspaces schema for the Snowflake connector.","title":"Snowflake No Workspaces","type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"additionalProperties":false}]},"excludeUserGroupPattern":{"description":"An array list of roles and users (both case-sensitive) to exclude from authorization checks. Wildcards are unsupported.","default":[],"type":"array","items":{"type":"string","minLength":1}}},"required":["enabled","impersonation","workspaces","excludeUserGroupPattern"],"additionalProperties":false},"auditConfiguration":{"default":{"enabled":true},"description":"Audit configuration for the Snowflake connection.","title":"Snowflake Audit Configuration","type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"health":{"description":"Health state schema.","title":"Health State","type":"object","properties":{"state":{"description":"Contains all possible health states for a particular component.","title":"Health State","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]},"errors":{"type":"array","items":{"description":"Represents an error caused by an unhealthy connector","title":"Unhealthy Connector Error","type":"object","properties":{"code":{"type":"string","const":"CONN005"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false}},"required":["enabled"],"additionalProperties":false}},"required":["technology","clientConfiguration","state","connectionKey","createdBy","createdAt","updatedBy","updatedAt","dataObjectDefaults","dataObjectSync","policyConfiguration","auditConfiguration"],"additionalProperties":false}]},"ErrorResponseSchemaV1":{"description":"Represents a list of errors that require action to resolve","title":"Error Response","type":"object","properties":{"errors":{"description":"The list of errors that require action to resolve","minItems":1,"type":"array","items":{"anyOf":[{"description":"Represents a system generated error","title":"Error","type":"object","properties":{"code":{"type":"string","enum":["CONN001","CONN002","CONN003","CONN004","CONN005"]},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error that requires action to resolve","title":"Required Action Error","type":"object","properties":{"code":{"type":"string","const":"CONN002"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"requiredActions":{"description":"The actions that the user must take to resolve the error","type":"array","items":{"description":"An action that the user must take to resolve the error","title":"Required Action","type":"object","properties":{"action":{"description":"Auto-generated action to be executed by the user on the platform.","type":"string"},"description":{"description":"A description of what the action that needs to be taken.","type":"string"}},"required":["action","description"],"additionalProperties":false}}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error caused by an invalid connection state","title":"Invalid State Error","type":"object","properties":{"code":{"type":"string","const":"CONN003"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The reason why the connection is in the invalid state","type":"string"},"invalidState":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]}},"required":["code","message","invalidState"],"additionalProperties":false}]}}},"required":["errors"],"additionalProperties":false}}},"paths":{"/api/connections/{connectionKey}/tasks/{taskId}":{"get":{"description":"Get a task by ID.","summary":"Get a task by ID","parameters":[{"in":"path","name":"connectionKey","schema":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"required":true,"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade."},{"in":"path","name":"taskId","schema":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"required":true,"description":"The task ID."}],"responses":{"200":{"description":"Task details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTaskResponseSchemaV1Output"}}}},"400":{"description":"Invalid request payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}},"404":{"description":"Connection or task ID not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}}}}}}}
```

## Get task runs for a task

> Get task runs for a specific task.

```json
{"openapi":"3.1.0","info":{"title":"Connections API","version":"1.0.0"},"servers":[{"url":"<Immuta Base URL>","description":"Immuta API Base URL"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"GetTaskRunsResponseSchemaV1":{"description":"The get task runs response schema.","title":"Get Task Runs Response","type":"object","properties":{"runs":{"type":"array","items":{"description":"Task run detail schema.","title":"Task Run Detail","type":"object","properties":{"runId":{"description":"The run ID.","title":"Run ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"status":{"description":"The task run status.","title":"Status","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"createdAt":{"description":"When the task run was created.","title":"Created At","type":"string","format":"date-time"},"updatedAt":{"description":"When the task run was last updated.","title":"Updated At","type":"string","format":"date-time"},"startedAt":{"description":"When the task run was started.","title":"Started At","type":"string","format":"date-time"},"completedAt":{"description":"When the task run was completed.","title":"Completed At","type":"string","format":"date-time"},"canceledBy":{"description":"The user or system account ID that canceled the task run.","title":"Canceled By","type":"string","minLength":1},"result":{"description":"The result of the task run.","title":"Result","type":"object","properties":{"message":{"description":"A short summary of the task run result.","title":"Message","type":"string","minLength":1},"details":{"description":"Additional details about the result. This field may contain any structure of data.","title":"Details"}},"required":["message"],"additionalProperties":false},"error":{"description":"The error that occurred during the task run.","title":"Error","type":"object","properties":{"code":{"type":"string","enum":["CONN001","CONN002","CONN003","CONN004","CONN005"]},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false}},"required":["runId","status","createdAt","updatedAt"],"additionalProperties":false}},"meta":{"description":"List task runs metadata.","title":"List Task Runs Metadata","type":"object","properties":{"sort":{"default":[{"field":"createdAt","order":"desc"}],"minItems":1,"maxItems":3,"type":"array","items":{"description":"A single sort item with field restrictions.","title":"Sort Item","type":"object","properties":{"field":{"description":"The field to sort by.","title":"Sort Field","type":"string","enum":["status","createdAt","startedAt","completedAt"]},"order":{"description":"The order to sort by.","title":"Sort Order","type":"string","enum":["asc","desc"]}},"required":["field","order"],"additionalProperties":false}},"page":{"description":"Pagination information.","title":"Pagination","type":"object","properties":{"limit":{"description":"Maximum number of items to return.","title":"Page Limit","default":20,"type":"integer","minimum":1,"maximum":100},"cursor":{"description":"The cursor to start from.","title":"Page Cursor","type":"string"}},"required":["limit"],"additionalProperties":false}},"required":["sort","page"],"additionalProperties":false}},"required":["runs","meta"],"additionalProperties":false},"ErrorResponseSchemaV1":{"description":"Represents a list of errors that require action to resolve","title":"Error Response","type":"object","properties":{"errors":{"description":"The list of errors that require action to resolve","minItems":1,"type":"array","items":{"anyOf":[{"description":"Represents a system generated error","title":"Error","type":"object","properties":{"code":{"type":"string","enum":["CONN001","CONN002","CONN003","CONN004","CONN005"]},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The details of the error. This field may contain any structure of data."}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error that requires action to resolve","title":"Required Action Error","type":"object","properties":{"code":{"type":"string","const":"CONN002"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"requiredActions":{"description":"The actions that the user must take to resolve the error","type":"array","items":{"description":"An action that the user must take to resolve the error","title":"Required Action","type":"object","properties":{"action":{"description":"Auto-generated action to be executed by the user on the platform.","type":"string"},"description":{"description":"A description of what the action that needs to be taken.","type":"string"}},"required":["action","description"],"additionalProperties":false}}},"required":["code","message"],"additionalProperties":false},{"description":"Represents an error caused by an invalid connection state","title":"Invalid State Error","type":"object","properties":{"code":{"type":"string","const":"CONN003"},"message":{"description":"A short summary of the error","type":"string","minLength":1},"details":{"description":"The reason why the connection is in the invalid state","type":"string"},"invalidState":{"description":"The state of the connection based on SystemDefinedConnectorStateEnum.","type":"string","enum":["ACTIVE","INACTIVE","ACTIVATING","DEACTIVATING","UPDATING","UNHEALTHY","DELETING"]}},"required":["code","message","invalidState"],"additionalProperties":false}]}}},"required":["errors"],"additionalProperties":false}}},"paths":{"/api/connections/{connectionKey}/tasks/{taskId}/runs":{"get":{"description":"Get task runs for a specific task.","summary":"Get task runs for a task","parameters":[{"in":"path","name":"connectionKey","schema":{"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade.","type":"string","minLength":1},"required":true,"description":"A unique name for the connection. Connection key must contain only letters, numbers, hyphens, and underscores. Connection key cannot be one of the following reserved names: data, connection, object, crawl, search, settings, metadata, permission, sync, bulk, upgrade."},{"in":"path","name":"taskId","schema":{"description":"The task ID.","title":"Task ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"},"required":true,"description":"The task ID."},{"in":"query","name":"sort","schema":{"description":"Sort query parameter as an array of \"field:order\" strings.","title":"Sort Query","default":["createdAt:desc"],"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["status:asc","status:desc","createdAt:asc","createdAt:desc","startedAt:asc","startedAt:desc","completedAt:asc","completedAt:desc"]}},"description":"Sort query parameter as an array of \"field:order\" strings."},{"in":"query","name":"page[limit]","schema":{"description":"Maximum number of items to return.","title":"Page Limit","default":20,"type":"integer","minimum":1,"maximum":100},"description":"Maximum number of items to return."},{"in":"query","name":"page[cursor]","schema":{"description":"The cursor to start from.","title":"Page Cursor","type":"string"},"description":"The cursor to start from."},{"in":"query","name":"filter[status]","schema":{"description":"Filter by task run status.","title":"Task Run Status Filter","type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED"]},"description":"Filter by task run status."}],"responses":{"200":{"description":"Task runs list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTaskRunsResponseSchemaV1"}}}},"400":{"description":"Invalid request payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}},"404":{"description":"Connection or task ID not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchemaV1"}}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.immuta.com/saas/developer-guides/api-intro/connections-api/new-connections-api-private-preview/connections-api-1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
