Connections API
Get an existing connection with all credentials redacted.
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.
my-connectionConnection object
The connection resource as returned on public endpoints. Sensitive strings are always '[REDACTED]'.
Invalid request payload
Connection not found
GET /api/connections/{connectionKey} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"technology": "text",
"clientConfiguration": {
"credential": {
"authenticationType": "text",
"clientId": "my-client-id",
"authorityUrl": "https://login.authority.com",
"scope": "session:role-any",
"publicCertificateThumbprint": "[REDACTED]",
"resource": "https://api.example.com",
"privateKey": {
"filename": "my-private-key.pem",
"content": "[REDACTED]"
}
},
"immutaResourcePrefix": "IMMUTA",
"health": {
"state": "ACTIVE",
"errors": [
{
"code": "text",
"message": "text",
"details": null
}
]
},
"host": "my-workspace.cloud.databricks.com",
"port": 443,
"path": "/sql/1.0/warehouses/abc123",
"metastoreId": "metastore-123",
"workspaceId": "123456789",
"username": "service-principal@example.com",
"immutaSystemCatalog": "immuta_system",
"proxy": {
"host": "https://proxy.example.com",
"port": 8080,
"credential": {
"authenticationType": "text",
"username": "my-username",
"password": "[REDACTED]"
}
}
},
"state": "ACTIVE",
"activeTasks": [
{
"taskId": "123e4567-e89b-12d3-a456-426614174000",
"type": "text",
"status": "PENDING",
"trigger": "MANUAL",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z"
}
],
"connectionKey": "my-connection",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedBy": "text",
"updatedAt": "2026-01-01T00:00:00.000Z",
"dataObjectDefaults": {
"syncPolicy": false,
"owners": [
{
"id": 1,
"type": "USER"
}
]
},
"dataObjectSync": {
"enabled": true,
"schedule": "EVERY_12_HOURS",
"startTime": 1,
"syncAllDataObjects": true
},
"policyConfiguration": {
"enabled": true,
"health": {
"state": "ACTIVE",
"errors": [
{
"code": "text",
"message": "text",
"details": null
}
]
},
"excludeGroupPattern": "admin.*"
},
"auditConfiguration": {
"enabled": true,
"health": {
"state": "ACTIVE",
"errors": [
{
"code": "text",
"message": "text",
"details": null
}
]
},
"workspaceIds": [
"workspace-1",
"workspace-2"
]
}
}Delete a connection and all its data objects. Returns a task ID for tracking the asynchronous deletion process. When supported by the technology, the response may include a generated teardown script to run against the data platform before the connection record is removed.
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.
my-connectionWhether to force delete the connection without cleaning up Immuta-managed resources in the remote platform. This action can only be done on unhealthy connections.
Deletion task created and accepted for processing
The response schema for deleting a connection. Returns a task ID for tracking the asynchronous deletion process.
^([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)$Connection not found
Unable to delete connection. Connection state must be INACTIVE to be deleted.
DELETE /api/connections/{connectionKey} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"taskId": "123e4567-e89b-12d3-a456-426614174000",
"teardown": [
{
"configuration": "text",
"description": "text",
"language": "SQL"
}
]
}Partially update the connection for the specified connection key.
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.
my-connectionWhether to perform a dry run of the patch operation without making actual changes.
The update connection request payload schema.
Connection object
The connection resource as returned on public endpoints. Sensitive strings are always '[REDACTED]'.
Invalid request payload
Connection not found
Unable to update connection. Connection state must be ACTIVE or UNHEALTHY to be updated.
PATCH /api/connections/{connectionKey} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 845
{
"clientConfiguration": {
"credential": {
"authenticationType": "text",
"clientId": "my-client-id",
"authorityUrl": "https://login.authority.com",
"scope": "session:role-any",
"publicCertificateThumbprint": "AB:CD:EF:12:34:56",
"resource": "https://api.example.com",
"privateKey": {
"filename": "my-private-key.pem",
"content": "-----BEGIN PRIVATE KEY-----\n...your-private-key-content...\n-----END PRIVATE KEY-----"
}
},
"path": "/sql/1.0/warehouses/abc123",
"proxy": {
"host": "https://proxy.example.com",
"port": 8080,
"credential": {
"authenticationType": "text",
"username": "my-username",
"password": "my-password"
}
}
},
"dataObjectDefaults": {
"syncPolicy": true,
"owners": [
{
"id": 1,
"type": "USER"
}
]
},
"dataObjectSync": {
"enabled": true,
"schedule": "EVERY_12_HOURS",
"startTime": 1,
"syncAllDataObjects": true
},
"auditConfiguration": {
"enabled": true,
"workspaceIds": [
"workspace-1",
"workspace-2"
]
}
}{
"technology": "text",
"clientConfiguration": {
"credential": {
"authenticationType": "text",
"clientId": "my-client-id",
"authorityUrl": "https://login.authority.com",
"scope": "session:role-any",
"publicCertificateThumbprint": "[REDACTED]",
"resource": "https://api.example.com",
"privateKey": {
"filename": "my-private-key.pem",
"content": "[REDACTED]"
}
},
"immutaResourcePrefix": "IMMUTA",
"health": {
"state": "ACTIVE",
"errors": [
{
"code": "text",
"message": "text",
"details": null
}
]
},
"host": "my-workspace.cloud.databricks.com",
"port": 443,
"path": "/sql/1.0/warehouses/abc123",
"metastoreId": "metastore-123",
"workspaceId": "123456789",
"username": "service-principal@example.com",
"immutaSystemCatalog": "immuta_system",
"proxy": {
"host": "https://proxy.example.com",
"port": 8080,
"credential": {
"authenticationType": "text",
"username": "my-username",
"password": "[REDACTED]"
}
}
},
"state": "ACTIVE",
"activeTasks": [
{
"taskId": "123e4567-e89b-12d3-a456-426614174000",
"type": "text",
"status": "PENDING",
"trigger": "MANUAL",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z"
}
],
"connectionKey": "my-connection",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedBy": "text",
"updatedAt": "2026-01-01T00:00:00.000Z",
"dataObjectDefaults": {
"syncPolicy": false,
"owners": [
{
"id": 1,
"type": "USER"
}
]
},
"dataObjectSync": {
"enabled": true,
"schedule": "EVERY_12_HOURS",
"startTime": 1,
"syncAllDataObjects": true
},
"policyConfiguration": {
"enabled": true,
"health": {
"state": "ACTIVE",
"errors": [
{
"code": "text",
"message": "text",
"details": null
}
]
},
"excludeGroupPattern": "admin.*"
},
"auditConfiguration": {
"enabled": true,
"health": {
"state": "ACTIVE",
"errors": [
{
"code": "text",
"message": "text",
"details": null
}
]
},
"workspaceIds": [
"workspace-1",
"workspace-2"
]
}
}Get the generated setup script for an existing connection. The response contains an ordered list of configuration steps the user runs against the underlying data platform to provision the access Immuta needs. For technologies that mint a one-time system API key (currently Trino), previously issued plaintext keys cannot be recovered; use POST /_regenerate-api-key to rotate and receive setup with a new key.
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.
my-connectionGenerated setup script for the connection
Generated setup script for the connection.
Optional warning when setup generation fails after a successful key rotation. May include the new plaintext key so it is not lost. Only set on POST /_regenerate-api-key responses.
Connection not found
Unable to generate the setup script. Commonly caused by invalid credentials or an unreachable data platform.
GET /api/connections/{connectionKey}/setup HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"setup": [
{
"configuration": "text",
"description": "text",
"language": "SQL"
}
],
"warning": "text"
}Rotate the connection-scoped system API key for technologies that support system API key regeneration (currently Trino) via BIM, persist the new key ID on the connection, and return setup with the plaintext key. Concurrent requests for the same connection coalesce to a single rotation (including shared failure outcomes — waiters do not re-rotate). When rotate succeeds but persistence or setup generation fails, the response still includes the plaintext key in warning. Connections whose connector does not support regeneration return 400.
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.
my-connectionSetup script with the new plaintext system API key (optional warning if persistence or setup generation fails after rotate)
Generated setup script for the connection.
Optional warning when setup generation fails after a successful key rotation. May include the new plaintext key so it is not lost. Only set on POST /_regenerate-api-key responses.
Invalid request (e.g. non-Trino connection)
Connection not found
Unable to rotate the system API key (BIM rotate or connector load failed before a new key was issued)
POST /api/connections/{connectionKey}/_regenerate-api-key HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"setup": [
{
"configuration": "text",
"description": "text",
"language": "SQL"
}
],
"warning": "text"
}Get the generated teardown script for an existing connection. The response contains an ordered list of configuration steps the user runs against the underlying data platform to remove Immuta-managed resources. Unsupported technologies return an empty list.
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.
my-connectionGenerated teardown script for the connection
Generated teardown script for the connection.
Connection not found
Unable to generate the teardown script. Commonly caused by invalid credentials or an unreachable data platform.
GET /api/connections/{connectionKey}/teardown HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"teardown": [
{
"configuration": "text",
"description": "text",
"language": "SQL"
}
]
}Activate the connection for the specified connection key.
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.
my-connectionWhether to run object sync as part of re-activating the connection.
Successfully activated connection
The connection resource as returned on public endpoints. Sensitive strings are always '[REDACTED]'.
Connection not found
Unable to activate connection. Connection state must be INACTIVE to be activated.
POST /api/connections/{connectionKey}/_activate HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"technology": "text",
"clientConfiguration": {
"credential": {
"authenticationType": "text",
"clientId": "my-client-id",
"authorityUrl": "https://login.authority.com",
"scope": "session:role-any",
"publicCertificateThumbprint": "[REDACTED]",
"resource": "https://api.example.com",
"privateKey": {
"filename": "my-private-key.pem",
"content": "[REDACTED]"
}
},
"immutaResourcePrefix": "IMMUTA",
"health": {
"state": "ACTIVE",
"errors": [
{
"code": "text",
"message": "text",
"details": null
}
]
},
"host": "my-workspace.cloud.databricks.com",
"port": 443,
"path": "/sql/1.0/warehouses/abc123",
"metastoreId": "metastore-123",
"workspaceId": "123456789",
"username": "service-principal@example.com",
"immutaSystemCatalog": "immuta_system",
"proxy": {
"host": "https://proxy.example.com",
"port": 8080,
"credential": {
"authenticationType": "text",
"username": "my-username",
"password": "[REDACTED]"
}
}
},
"state": "ACTIVE",
"activeTasks": [
{
"taskId": "123e4567-e89b-12d3-a456-426614174000",
"type": "text",
"status": "PENDING",
"trigger": "MANUAL",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z"
}
],
"connectionKey": "my-connection",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedBy": "text",
"updatedAt": "2026-01-01T00:00:00.000Z",
"dataObjectDefaults": {
"syncPolicy": false,
"owners": [
{
"id": 1,
"type": "USER"
}
]
},
"dataObjectSync": {
"enabled": true,
"schedule": "EVERY_12_HOURS",
"startTime": 1,
"syncAllDataObjects": true
},
"policyConfiguration": {
"enabled": true,
"health": {
"state": "ACTIVE",
"errors": [
{
"code": "text",
"message": "text",
"details": null
}
]
},
"excludeGroupPattern": "admin.*"
},
"auditConfiguration": {
"enabled": true,
"health": {
"state": "ACTIVE",
"errors": [
{
"code": "text",
"message": "text",
"details": null
}
]
},
"workspaceIds": [
"workspace-1",
"workspace-2"
]
}
}Deactivate the connection for the specified connection key.
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.
my-connectionSuccessfully deactivated connection
The connection resource as returned on public endpoints. Sensitive strings are always '[REDACTED]'.
Connection not found
Unable to deactivate connection. Connection state must be ACTIVE to be deactivated.
POST /api/connections/{connectionKey}/_deactivate HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"technology": "text",
"clientConfiguration": {
"credential": {
"authenticationType": "text",
"clientId": "my-client-id",
"authorityUrl": "https://login.authority.com",
"scope": "session:role-any",
"publicCertificateThumbprint": "[REDACTED]",
"resource": "https://api.example.com",
"privateKey": {
"filename": "my-private-key.pem",
"content": "[REDACTED]"
}
},
"immutaResourcePrefix": "IMMUTA",
"health": {
"state": "ACTIVE",
"errors": [
{
"code": "text",
"message": "text",
"details": null
}
]
},
"host": "my-workspace.cloud.databricks.com",
"port": 443,
"path": "/sql/1.0/warehouses/abc123",
"metastoreId": "metastore-123",
"workspaceId": "123456789",
"username": "service-principal@example.com",
"immutaSystemCatalog": "immuta_system",
"proxy": {
"host": "https://proxy.example.com",
"port": 8080,
"credential": {
"authenticationType": "text",
"username": "my-username",
"password": "[REDACTED]"
}
}
},
"state": "ACTIVE",
"activeTasks": [
{
"taskId": "123e4567-e89b-12d3-a456-426614174000",
"type": "text",
"status": "PENDING",
"trigger": "MANUAL",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z"
}
],
"connectionKey": "my-connection",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedBy": "text",
"updatedAt": "2026-01-01T00:00:00.000Z",
"dataObjectDefaults": {
"syncPolicy": false,
"owners": [
{
"id": 1,
"type": "USER"
}
]
},
"dataObjectSync": {
"enabled": true,
"schedule": "EVERY_12_HOURS",
"startTime": 1,
"syncAllDataObjects": true
},
"policyConfiguration": {
"enabled": true,
"health": {
"state": "ACTIVE",
"errors": [
{
"code": "text",
"message": "text",
"details": null
}
]
},
"excludeGroupPattern": "admin.*"
},
"auditConfiguration": {
"enabled": true,
"health": {
"state": "ACTIVE",
"errors": [
{
"code": "text",
"message": "text",
"details": null
}
]
},
"workspaceIds": [
"workspace-1",
"workspace-2"
]
}
}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.
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.
my-connectionValidation task created and accepted for processing
The response schema for validating a connection. Returns a task ID for tracking the asynchronous validation process.
^([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)$Connection not found
Unable to validate connection. Connection state must be ACTIVE or UNHEALTHY to be validated.
POST /api/connections/{connectionKey}/_validate HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"taskId": "123e4567-e89b-12d3-a456-426614174000"
}Get a list of connections.
Maximum number of items to return.
20Example: 20The cursor to start from.
eyJpZCI6IjEyMzQ1In0=Connections list
Response schema for listing connections with pagination. Sensitive strings are always '[REDACTED]'.
The connection resource as returned on public endpoints. Sensitive strings are always '[REDACTED]'.
GET /api/connections HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Connections list
{
"data": [
{
"technology": "text",
"clientConfiguration": {
"credential": {
"authenticationType": "text",
"clientId": "my-client-id",
"authorityUrl": "https://login.authority.com",
"scope": "session:role-any",
"publicCertificateThumbprint": "[REDACTED]",
"resource": "https://api.example.com",
"privateKey": {
"filename": "my-private-key.pem",
"content": "[REDACTED]"
}
},
"immutaResourcePrefix": "IMMUTA",
"health": {
"state": "ACTIVE",
"errors": [
{
"code": "text",
"message": "text",
"details": null
}
]
},
"host": "my-workspace.cloud.databricks.com",
"port": 443,
"path": "/sql/1.0/warehouses/abc123",
"metastoreId": "metastore-123",
"workspaceId": "123456789",
"username": "service-principal@example.com",
"immutaSystemCatalog": "immuta_system",
"proxy": {
"host": "https://proxy.example.com",
"port": 8080,
"credential": {
"authenticationType": "text",
"username": "my-username",
"password": "[REDACTED]"
}
}
},
"state": "ACTIVE",
"activeTasks": [
{
"taskId": "123e4567-e89b-12d3-a456-426614174000",
"type": "text",
"status": "PENDING",
"trigger": "MANUAL",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z"
}
],
"connectionKey": "my-connection",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedBy": "text",
"updatedAt": "2026-01-01T00:00:00.000Z",
"dataObjectDefaults": {
"syncPolicy": false,
"owners": [
{
"id": 1,
"type": "USER"
}
]
},
"dataObjectSync": {
"enabled": true,
"schedule": "EVERY_12_HOURS",
"startTime": 1,
"syncAllDataObjects": true
},
"policyConfiguration": {
"enabled": true,
"health": {
"state": "ACTIVE",
"errors": [
{
"code": "text",
"message": "text",
"details": null
}
]
},
"excludeGroupPattern": "admin.*"
},
"auditConfiguration": {
"enabled": true,
"health": {
"state": "ACTIVE",
"errors": [
{
"code": "text",
"message": "text",
"details": null
}
]
},
"workspaceIds": [
"workspace-1",
"workspace-2"
]
}
}
],
"meta": {
"sort": [
{
"field": "connectionKey",
"order": "asc"
}
],
"page": {
"limit": 20,
"cursor": "eyJpZCI6IjEyMzQ1In0="
}
}
}Create a new connection.
The create connection request payload schema.
Connection object
The create connection response as returned on public endpoints. Sensitive credential strings are always '[REDACTED]'. Optional setup scripts remain plaintext.
Invalid request payload
Unable to create connection. Connection key already exists.
POST /api/connections HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1066
{
"technology": "text",
"clientConfiguration": {
"credential": {
"authenticationType": "text",
"clientId": "my-client-id",
"authorityUrl": "https://login.authority.com",
"scope": "session:role-any",
"publicCertificateThumbprint": "AB:CD:EF:12:34:56",
"resource": "https://api.example.com",
"privateKey": {
"filename": "my-private-key.pem",
"content": "-----BEGIN PRIVATE KEY-----\n...your-private-key-content...\n-----END PRIVATE KEY-----"
}
},
"host": "my-workspace.cloud.databricks.com",
"port": 443,
"path": "/sql/1.0/warehouses/abc123",
"immutaSystemCatalog": "immuta_system",
"proxy": {
"host": "https://proxy.example.com",
"port": 8080,
"credential": {
"authenticationType": "text",
"username": "my-username",
"password": "my-password"
}
}
},
"connectionKey": "my-connection",
"dataObjectDefaults": {
"syncPolicy": false,
"owners": [
{
"id": 1,
"type": "USER"
}
]
},
"dataObjectSync": {
"enabled": true,
"schedule": "EVERY_24_HOURS",
"startTime": 0,
"syncAllDataObjects": true
},
"policyConfiguration": {
"excludeGroupPattern": "admin.*"
},
"auditConfiguration": {
"enabled": true,
"workspaceIds": [
"workspace-1",
"workspace-2"
]
},
"syncOnCreate": true
}{
"technology": "text",
"clientConfiguration": {
"credential": {
"authenticationType": "text",
"clientId": "my-client-id",
"authorityUrl": "https://login.authority.com",
"scope": "session:role-any",
"publicCertificateThumbprint": "[REDACTED]",
"resource": "https://api.example.com",
"privateKey": {
"filename": "my-private-key.pem",
"content": "[REDACTED]"
}
},
"immutaResourcePrefix": "IMMUTA",
"health": {
"state": "ACTIVE",
"errors": [
{
"code": "text",
"message": "text",
"details": null
}
]
},
"host": "my-workspace.cloud.databricks.com",
"port": 443,
"path": "/sql/1.0/warehouses/abc123",
"metastoreId": "metastore-123",
"workspaceId": "123456789",
"username": "service-principal@example.com",
"immutaSystemCatalog": "immuta_system",
"proxy": {
"host": "https://proxy.example.com",
"port": 8080,
"credential": {
"authenticationType": "text",
"username": "my-username",
"password": "[REDACTED]"
}
}
},
"state": "ACTIVE",
"activeTasks": [
{
"taskId": "123e4567-e89b-12d3-a456-426614174000",
"type": "text",
"status": "PENDING",
"trigger": "MANUAL",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z"
}
],
"connectionKey": "my-connection",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedBy": "text",
"updatedAt": "2026-01-01T00:00:00.000Z",
"dataObjectDefaults": {
"syncPolicy": false,
"owners": [
{
"id": 1,
"type": "USER"
}
]
},
"dataObjectSync": {
"enabled": true,
"schedule": "EVERY_12_HOURS",
"startTime": 1,
"syncAllDataObjects": true
},
"policyConfiguration": {
"enabled": true,
"health": {
"state": "ACTIVE",
"errors": [
{
"code": "text",
"message": "text",
"details": null
}
]
},
"excludeGroupPattern": "admin.*"
},
"auditConfiguration": {
"enabled": true,
"health": {
"state": "ACTIVE",
"errors": [
{
"code": "text",
"message": "text",
"details": null
}
]
},
"workspaceIds": [
"workspace-1",
"workspace-2"
]
},
"setup": [
{
"configuration": "text",
"description": "text",
"language": "SQL"
}
]
}Search for data objects by connection and attributes.
Request schema for searching data objects by connection and attributes with pagination.
Data objects search result
Response schema for searching data objects with pagination.
Invalid search filter
POST /api/connections/dataObjects/_search HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 226
{
"filter": {
"connection": {
"connectionKey": "my-connection"
},
"dataObject": {
"name": "text"
}
},
"tags": {
"include": [
1
],
"exclude": [
1
]
},
"meta": {
"sort": [
{
"field": "name",
"order": "asc"
}
],
"page": {
"limit": 20,
"cursor": "eyJpZCI6IjEyMzQ1In0="
}
}
}{
"data": [
{
"id": "text",
"name": "text",
"type": "text",
"normalizedType": "text",
"technology": "text",
"remoteId": "text",
"remoteType": "text",
"remoteFormat": "text",
"remoteKind": "text",
"remoteCreatedAt": "2026-01-01T00:00:00.000Z",
"remoteUpdatedAt": "2026-01-01T00:00:00.000Z",
"objectPath": {
"name": "text",
"type": "text",
"id": "text",
"child": {
"name": "text",
"type": "text",
"id": "text",
"child": {
"name": "text",
"type": "text",
"id": "text",
"child": "[Circular Reference]"
}
}
},
"lastSyncedAt": "2026-01-01T00:00:00.000Z",
"settings": {
"syncPolicy": {
"value": true,
"inheritedFrom": {
"id": "text",
"type": "CONNECTION"
}
},
"owners": [
{
"id": 1,
"type": "USER",
"inheritedFrom": {
"id": "text",
"type": "CONNECTION"
}
}
]
},
"tags": [
{
"id": 1,
"name": "text",
"displayName": "text",
"source": "text",
"inheritedFrom": {
"id": "text",
"type": "CONNECTION"
},
"application": {
"appliedAt": "2026-01-01T00:00:00.000Z",
"appliedBy": {
"profileId": 1,
"name": "text"
},
"context": "text"
}
}
],
"connectionKey": "my-connection",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedBy": "text",
"updatedAt": "2026-01-01T00:00:00.000Z"
}
],
"meta": {
"sort": [
{
"field": "name",
"order": "asc"
}
],
"page": {
"limit": 20,
"cursor": "eyJpZCI6IjEyMzQ1In0="
},
"totalCount": 1
}
}Get a data object by connection and ID without children.
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.
my-connectionThe unique, Immuta-generated identifier (UUID) for the data object.
Data object
The response schema for getting a data object.
The unique, Immuta-generated identifier (UUID) for the data object.
The name of the data object.
The type of the data object.
The normalized type of the data object.
The technology of the data platform.
The remote identifier for the data object.
The type of the data object as returned by the remote platform.
The format of the data object as returned by the remote platform.
The kind of the data object as returned by the remote platform.
The timestamp of the creation of the data object as returned by the remote platform.
The timestamp of the last update of the data object as returned by the remote platform.
The timestamp of the last sync of this data object.
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.
my-connectionThe user or system account ID who created the data object.
The date and time the data object was created.
The user or system account ID who updated the data object.
The date and time the data object was updated.
Connection or data object not found
GET /api/connections/{connectionKey}/dataObjects/{id} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"name": "text",
"type": "text",
"normalizedType": "text",
"technology": "text",
"remoteId": "text",
"remoteType": "text",
"remoteFormat": "text",
"remoteKind": "text",
"remoteCreatedAt": "2026-01-01T00:00:00.000Z",
"remoteUpdatedAt": "2026-01-01T00:00:00.000Z",
"objectPath": {
"name": "text",
"type": "text",
"id": "text",
"child": {
"name": "text",
"type": "text",
"id": "text",
"child": {
"name": "text",
"type": "text",
"id": "text",
"child": {
"name": "text",
"type": "text",
"id": "text",
"child": {
"name": "text",
"type": "text",
"id": "text",
"child": "[Circular Reference]"
}
}
}
}
},
"lastSyncedAt": "2026-01-01T00:00:00.000Z",
"settings": {
"syncPolicy": {
"value": true,
"inheritedFrom": {
"id": "text",
"type": "CONNECTION"
}
},
"owners": [
{
"id": 1,
"type": "USER",
"inheritedFrom": {
"id": "text",
"type": "CONNECTION"
}
}
]
},
"tags": [
{
"id": 1,
"name": "text",
"displayName": "text",
"source": "text",
"inheritedFrom": {
"id": "text",
"type": "CONNECTION"
},
"application": {
"appliedAt": "2026-01-01T00:00:00.000Z",
"appliedBy": {
"profileId": 1,
"name": "text"
},
"context": "text"
}
}
],
"connectionKey": "my-connection",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedBy": "text",
"updatedAt": "2026-01-01T00:00:00.000Z"
}Delete a data object and all its descendants. Returns a task ID for tracking the asynchronous deletion process.
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.
my-connectionThe unique, Immuta-generated identifier (UUID) for the data object.
Deletion task created and accepted for processing
The response schema for deleting a data object. Returns a task ID for tracking the asynchronous deletion process.
^([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)$Connection or data object not found
DELETE /api/connections/{connectionKey}/dataObjects/{id} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"taskId": "123e4567-e89b-12d3-a456-426614174000"
}Update a data object by connection and ID.
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.
my-connectionThe unique, Immuta-generated identifier (UUID) for the data object.
The request body for updating a data object.
Data object updated
The response schema for updating a data object. Returns the full data object.
The unique, Immuta-generated identifier (UUID) for the data object.
The name of the data object.
The type of the data object.
The normalized type of the data object.
The technology of the data platform.
The remote identifier for the data object.
The type of the data object as returned by the remote platform.
The format of the data object as returned by the remote platform.
The kind of the data object as returned by the remote platform.
The timestamp of the creation of the data object as returned by the remote platform.
The timestamp of the last update of the data object as returned by the remote platform.
The timestamp of the last sync of this data object.
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.
my-connectionThe user or system account ID who created the data object.
The date and time the data object was created.
The user or system account ID who updated the data object.
The date and time the data object was updated.
Invalid request payload
Connection or data object not found
PATCH /api/connections/{connectionKey}/dataObjects/{id} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 112
{
"settings": {
"syncPolicy": true,
"owners": [
{
"id": 1,
"type": "USER"
}
]
},
"tags": {
"add": [
{
"id": 1
}
],
"remove": [
{
"id": 1
}
]
}
}{
"id": "text",
"name": "text",
"type": "text",
"normalizedType": "text",
"technology": "text",
"remoteId": "text",
"remoteType": "text",
"remoteFormat": "text",
"remoteKind": "text",
"remoteCreatedAt": "2026-01-01T00:00:00.000Z",
"remoteUpdatedAt": "2026-01-01T00:00:00.000Z",
"objectPath": {
"name": "text",
"type": "text",
"id": "text",
"child": {
"name": "text",
"type": "text",
"id": "text",
"child": {
"name": "text",
"type": "text",
"id": "text",
"child": {
"name": "text",
"type": "text",
"id": "text",
"child": {
"name": "text",
"type": "text",
"id": "text",
"child": "[Circular Reference]"
}
}
}
}
},
"lastSyncedAt": "2026-01-01T00:00:00.000Z",
"settings": {
"syncPolicy": {
"value": true,
"inheritedFrom": {
"id": "text",
"type": "CONNECTION"
}
},
"owners": [
{
"id": 1,
"type": "USER",
"inheritedFrom": {
"id": "text",
"type": "CONNECTION"
}
}
]
},
"tags": [
{
"id": 1,
"name": "text",
"displayName": "text",
"source": "text",
"inheritedFrom": {
"id": "text",
"type": "CONNECTION"
},
"application": {
"appliedAt": "2026-01-01T00:00:00.000Z",
"appliedBy": {
"profileId": 1,
"name": "text"
},
"context": "text"
}
}
],
"connectionKey": "my-connection",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedBy": "text",
"updatedAt": "2026-01-01T00:00:00.000Z"
}Manually create a folder or securable under a Custom connection. Omit parentId to create under the connection root; otherwise parent must be a CONNECTION root or FOLDER. Name and type must be unique under the same parent.
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.
my-connectionRequest body to manually create a folder or securable under a Custom connection. Omit parentId to create under the connection root.
The name of the data object to create. Trimmed; whitespace-only names are rejected. Must be unique with type under the same parent.
The object type. Only FOLDER and SECURABLE are supported for manual create (Custom connections).
Parent data object ID (CONNECTION root or FOLDER). Omit to create under the connection root. Do not pass null.
^([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)$Data object created
The created data object.
The unique, Immuta-generated identifier (UUID) for the data object.
The name of the data object.
The type of the data object.
The normalized type of the data object.
The technology of the data platform.
The remote identifier for the data object.
The type of the data object as returned by the remote platform.
The format of the data object as returned by the remote platform.
The kind of the data object as returned by the remote platform.
The timestamp of the creation of the data object as returned by the remote platform.
The timestamp of the last update of the data object as returned by the remote platform.
The timestamp of the last sync of this data object.
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.
my-connectionThe user or system account ID who created the data object.
The date and time the data object was created.
The user or system account ID who updated the data object.
The date and time the data object was updated.
Invalid request or unsupported parent/technology
Connection or parent data object not found
A data object with this name and type already exists under the parent
POST /api/connections/{connectionKey}/dataObjects HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 81
{
"name": "text",
"type": "FOLDER",
"parentId": "123e4567-e89b-12d3-a456-426614174000"
}{
"id": "text",
"name": "text",
"type": "text",
"normalizedType": "text",
"technology": "text",
"remoteId": "text",
"remoteType": "text",
"remoteFormat": "text",
"remoteKind": "text",
"remoteCreatedAt": "2026-01-01T00:00:00.000Z",
"remoteUpdatedAt": "2026-01-01T00:00:00.000Z",
"objectPath": {
"name": "text",
"type": "text",
"id": "text",
"child": {
"name": "text",
"type": "text",
"id": "text",
"child": {
"name": "text",
"type": "text",
"id": "text",
"child": {
"name": "text",
"type": "text",
"id": "text",
"child": {
"name": "text",
"type": "text",
"id": "text",
"child": "[Circular Reference]"
}
}
}
}
},
"lastSyncedAt": "2026-01-01T00:00:00.000Z",
"settings": {
"syncPolicy": {
"value": true,
"inheritedFrom": {
"id": "text",
"type": "CONNECTION"
}
},
"owners": [
{
"id": 1,
"type": "USER",
"inheritedFrom": {
"id": "text",
"type": "CONNECTION"
}
}
]
},
"tags": [
{
"id": 1,
"name": "text",
"displayName": "text",
"source": "text",
"inheritedFrom": {
"id": "text",
"type": "CONNECTION"
},
"application": {
"appliedAt": "2026-01-01T00:00:00.000Z",
"appliedBy": {
"profileId": 1,
"name": "text"
},
"context": "text"
}
}
],
"connectionKey": "my-connection",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedBy": "text",
"updatedAt": "2026-01-01T00:00:00.000Z"
}Get the children of a data object by connection and ID.
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.
my-connectionThe unique, Immuta-generated identifier (UUID) for the data object.
Maximum number of items to return.
20Example: 20The cursor to start from.
eyJpZCI6IjEyMzQ1In0=Data object children
The response schema for getting the children of a data object.
Connection or data object not found
GET /api/connections/{connectionKey}/dataObjects/{id}/children HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": [
{
"id": "text",
"name": "text",
"type": "text",
"normalizedType": "text",
"technology": "text",
"remoteId": "text",
"remoteType": "text",
"remoteFormat": "text",
"remoteKind": "text",
"remoteCreatedAt": "2026-01-01T00:00:00.000Z",
"remoteUpdatedAt": "2026-01-01T00:00:00.000Z",
"objectPath": {
"name": "text",
"type": "text",
"id": "text",
"child": {
"name": "text",
"type": "text",
"id": "text",
"child": {
"name": "text",
"type": "text",
"id": "text",
"child": "[Circular Reference]"
}
}
},
"lastSyncedAt": "2026-01-01T00:00:00.000Z",
"settings": {
"syncPolicy": {
"value": true,
"inheritedFrom": {
"id": "text",
"type": "CONNECTION"
}
},
"owners": [
{
"id": 1,
"type": "USER",
"inheritedFrom": {
"id": "text",
"type": "CONNECTION"
}
}
]
},
"tags": [
{
"id": 1,
"name": "text",
"displayName": "text",
"source": "text",
"inheritedFrom": {
"id": "text",
"type": "CONNECTION"
},
"application": {
"appliedAt": "2026-01-01T00:00:00.000Z",
"appliedBy": {
"profileId": 1,
"name": "text"
},
"context": "text"
}
}
],
"connectionKey": "my-connection",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedBy": "text",
"updatedAt": "2026-01-01T00:00:00.000Z"
}
],
"meta": {
"sort": [
{
"field": "name",
"order": "asc"
}
],
"page": {
"limit": 20,
"cursor": "eyJpZCI6IjEyMzQ1In0="
},
"totalCount": 1
}
}Get a task run by ID.
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.
my-connectionThe task ID.
^([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)$The run ID.
^([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)$Task run details
The get task run response schema.
The run ID.
^([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)$The task run status.
When the task run was created.
When the task run was last updated.
When the task run was started.
When the task run was completed.
The user or system account ID that canceled the task run.
Invalid request payload
Connection, task, or run ID not found
GET /api/connections/{connectionKey}/tasks/{taskId}/runs/{runId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"runId": "123e4567-e89b-12d3-a456-426614174000",
"status": "PENDING",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"startedAt": "2026-01-01T00:00:00.000Z",
"completedAt": "2026-01-01T00:00:00.000Z",
"canceledBy": "text",
"result": {
"message": "text",
"details": null
},
"error": {
"code": "CONN001",
"message": "text",
"details": null
}
}Cancels a task run in PENDING status and marks it CANCELED. Requests for runs in any other status return a conflict response. Use the GET endpoint to monitor the task run status.
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.
my-connectionThe task ID.
^([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)$The run ID.
^([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)$Task run cancelled response.
The cancel task run response schema.
The run ID.
^([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)$The cancel task run response message.
Connection, task, or run ID not found
POST /api/connections/{connectionKey}/tasks/{taskId}/runs/{runId}/_cancel HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"runId": "123e4567-e89b-12d3-a456-426614174000",
"message": "text"
}Get a list of tasks for a connection.
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.
my-connectionMaximum number of items to return.
20Example: 20The cursor to start from.
eyJpZCI6IjEyMzQ1In0=Filter by task type.
Filter by task status.
Filter by trigger type.
Filter by the creator of the task using user or system account ID.
Filter by parent task ID.
^([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)$Tasks list
The get tasks response schema.
Invalid request payload
Connection not found
GET /api/connections/{connectionKey}/tasks HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"tasks": [
{
"taskId": "123e4567-e89b-12d3-a456-426614174000",
"type": "text",
"status": "PENDING",
"trigger": "MANUAL",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"parentId": "123e4567-e89b-12d3-a456-426614174000",
"input": {
"objectPath": {
"name": "text",
"type": "text",
"child": {
"name": "text",
"type": "text",
"child": "[Circular Reference]"
}
},
"syncAllDataObjects": false
}
}
],
"meta": {
"sort": [
{
"field": "type",
"order": "asc"
}
],
"page": {
"limit": 20,
"cursor": "eyJpZCI6IjEyMzQ1In0="
}
}
}Create a new task.
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.
my-connectionThe create task request schema.
Task created
The create task response schema.
The task ID.
^([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)$The task run status.
The task run trigger.
The user or system account ID that created the task.
When the task was created.
The parent task ID for hierarchical tasks.
^([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)$Invalid request payload
Connection not found
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.
Task service unavailable
POST /api/connections/{connectionKey}/tasks HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 240
{
"type": "text",
"input": {
"objectPath": {
"name": "text",
"type": "text",
"child": {
"name": "text",
"type": "text",
"child": {
"name": "text",
"type": "text",
"child": {
"name": "text",
"type": "text",
"child": "[Circular Reference]"
}
}
}
},
"syncAllDataObjects": false
}
}{
"taskId": "123e4567-e89b-12d3-a456-426614174000",
"type": "text",
"status": "PENDING",
"trigger": "MANUAL",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"parentId": "123e4567-e89b-12d3-a456-426614174000",
"input": {
"objectPath": {
"name": "text",
"type": "text",
"child": {
"name": "text",
"type": "text",
"child": {
"name": "text",
"type": "text",
"child": {
"name": "text",
"type": "text",
"child": "[Circular Reference]"
}
}
}
},
"syncAllDataObjects": false
}
}Get a task by ID.
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.
my-connectionThe task ID.
^([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)$Task details
Invalid request payload
Connection or task ID not found
GET /api/connections/{connectionKey}/tasks/{taskId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"taskId": "123e4567-e89b-12d3-a456-426614174000",
"type": "text",
"status": "PENDING",
"trigger": "MANUAL",
"createdBy": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"parentId": "123e4567-e89b-12d3-a456-426614174000",
"input": {
"objectPath": {
"name": "text",
"type": "text",
"child": {
"name": "text",
"type": "text",
"child": {
"name": "text",
"type": "text",
"child": "[Circular Reference]"
}
}
},
"syncAllDataObjects": false
}
}Get task runs for a specific task.
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.
my-connectionThe task ID.
^([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)$Maximum number of items to return.
20Example: 20The cursor to start from.
eyJpZCI6IjEyMzQ1In0=Filter by task run status.
Task runs list
The get task runs response schema.
Invalid request payload
Connection or task ID not found
GET /api/connections/{connectionKey}/tasks/{taskId}/runs HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"runs": [
{
"runId": "123e4567-e89b-12d3-a456-426614174000",
"status": "PENDING",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"startedAt": "2026-01-01T00:00:00.000Z",
"completedAt": "2026-01-01T00:00:00.000Z",
"canceledBy": "text",
"result": {
"message": "text",
"details": null
},
"error": {
"code": "CONN001",
"message": "text",
"details": null
}
}
],
"meta": {
"sort": [
{
"field": "status",
"order": "asc"
}
],
"page": {
"limit": 20,
"cursor": "eyJpZCI6IjEyMzQ1In0="
}
}
}Last updated
Was this helpful?

