Skip to content

On-premise users: click in-app to access the full platform documentation for your version of DataRobot.

Data Connectivity

This page outlines the operations, endpoints, parameters, and example requests and responses for the Data Connectivity.

POST /api/v2/externalDataDriverFile/

Upload JDBC driver from file. Only Java archive (.jar) files are supported.

Code samples

# You can also use wget
curl -X POST https://app.datarobot.com/api/v2/externalDataDriverFile/ \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Body parameter

{
  "file": "string"
}

Parameters

Name In Type Required Description
body body DriverUploadRequest false none

Example responses

200 Response

{
  "localUrl": "string"
}

Responses

Status Meaning Description Schema
200 OK none DriverUploadResponse
413 Payload Too Large JDBC driver JAR file size exceeds the configured limit. None

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/externalDataDrivers/

Fetch all drivers a user has access to.

Code samples

# You can also use wget
curl -X GET https://app.datarobot.com/api/v2/externalDataDrivers/?type=all \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Parameters

Name In Type Required Description
type query string true Driver type. Either 'jdbc' or 'dr-database-v1'.

Enumerated Values

Parameter Value
type [all, dr-connector-v1, dr-database-v1, jdbc]

Example responses

200 Response

{
  "data": [
    {
      "associatedAuthTypes": [
        "basic"
      ],
      "baseNames": [
        "string"
      ],
      "canonicalName": "string",
      "className": "string",
      "configurationId": "string",
      "creator": "string",
      "databaseDriver": "bigquery-v1",
      "id": "string",
      "type": "dr-database-v1",
      "version": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Drivers accessible by the user. DriverListResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

POST /api/v2/externalDataDrivers/

Create a new JDBC driver. To create connections from fields, rather than supplying a JDBC URL, use 'configurationId'. When using 'configurationId', do not include 'canonicalName' or 'className' as they are part of the driver configuration. Specifying a 'version' is required as it is used in the construction of the canonicalName.

Code samples

# You can also use wget
curl -X POST https://app.datarobot.com/api/v2/externalDataDrivers/ \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Body parameter

{
  "baseNames": [
    "string"
  ],
  "canonicalName": "string",
  "className": "string",
  "configurationId": "string",
  "databaseDriver": "bigquery-v1",
  "localJarUrls": [
    "string"
  ],
  "type": "dr-database-v1",
  "version": "string"
}

Parameters

Name In Type Required Description
body body CreateDriverRequest false none

Example responses

200 Response

{
  "associatedAuthTypes": [
    "basic"
  ],
  "baseNames": [
    "string"
  ],
  "canonicalName": "string",
  "className": "string",
  "configurationId": "string",
  "creator": "string",
  "databaseDriver": "bigquery-v1",
  "id": "string",
  "type": "dr-database-v1",
  "version": "string"
}

Responses

Status Meaning Description Schema
200 OK Details about new driver entity. DriverResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

DELETE /api/v2/externalDataDrivers/{driverId}/

Delete the driver with given ID if it is not used by any data store or data source.

Code samples

# You can also use wget
curl -X DELETE https://app.datarobot.com/api/v2/externalDataDrivers/{driverId}/ \
  -H "Authorization: Bearer {access-token}"

Parameters

Name In Type Required Description
driverId path string true Driver ID.

Responses

Status Meaning Description Schema
204 No Content Driver deleted successfully. None
409 Conflict Driver is in use by one or more data store or data source None

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/externalDataDrivers/{driverId}/

Retrieve driver details by ID.

Code samples

# You can also use wget
curl -X GET https://app.datarobot.com/api/v2/externalDataDrivers/{driverId}/ \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Parameters

Name In Type Required Description
driverId path string true Driver ID.

Example responses

200 Response

{
  "associatedAuthTypes": [
    "basic"
  ],
  "baseNames": [
    "string"
  ],
  "canonicalName": "string",
  "className": "string",
  "configurationId": "string",
  "creator": "string",
  "databaseDriver": "bigquery-v1",
  "id": "string",
  "type": "dr-database-v1",
  "version": "string"
}

Responses

Status Meaning Description Schema
200 OK Driver details retrieved successfully. DriverResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

PATCH /api/v2/externalDataDrivers/{driverId}/

Update properties of an existing JDBC driver. To change the canonicalName and className, you must first remove the driver configuration, if it exists, as its properties will otherwise override name changes.

Code samples

# You can also use wget
curl -X PATCH https://app.datarobot.com/api/v2/externalDataDrivers/{driverId}/ \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Body parameter

{
  "baseNames": [
    "string"
  ],
  "canonicalName": "string",
  "className": "string",
  "configurationId": "string",
  "localJarUrls": [
    "string"
  ],
  "removeConfig": true,
  "skipConfigVerification": true,
  "version": "string"
}

Parameters

Name In Type Required Description
driverId path string true Driver ID.
body body UpdateDriverRequest false none

Example responses

200 Response

{
  "associatedAuthTypes": [
    "basic"
  ],
  "baseNames": [
    "string"
  ],
  "canonicalName": "string",
  "className": "string",
  "configurationId": "string",
  "creator": "string",
  "databaseDriver": "bigquery-v1",
  "id": "string",
  "type": "dr-database-v1",
  "version": "string"
}

Responses

Status Meaning Description Schema
200 OK Driver properties updated successfully. DriverResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/externalDataDrivers/{driverId}/configuration/

Retrieve the driver configuration with the specified ID.

Code samples

# You can also use wget
curl -X GET https://app.datarobot.com/api/v2/externalDataDrivers/{driverId}/configuration/ \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Parameters

Name In Type Required Description
driverId path string true Driver ID.

Example responses

200 Response

{
  "associatedAuthTypes": [
    "string"
  ],
  "className": "string",
  "creator": "string",
  "id": "string",
  "jdbcFieldSchemas": [
    {
      "choices": [],
      "default": "string",
      "description": "",
      "index": 0,
      "kind": "ADDRESS",
      "name": "string",
      "required": true,
      "visibleByDefault": true
    }
  ],
  "jdbcUrlPathDelimiter": "string",
  "jdbcUrlPrefix": "string",
  "jdbcUrlQueryDelimiter": "string",
  "jdbcUrlQueryParamDelimiter": "string",
  "jdbcUrlQueryParamKeyValueDelimiter": "string",
  "standardizedName": "string",
  "statements": [
    "insert"
  ],
  "updated": "string"
}

Responses

Status Meaning Description Schema
200 OK Driver configuration retrieved successfully. DriverConfigurationRetrieveResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/externalDataSources/

Return detailed list of available data sources.

Code samples

# You can also use wget
curl -X GET https://app.datarobot.com/api/v2/externalDataSources/ \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Parameters

Name In Type Required Description
type query string false Data source type to filter by.

Enumerated Values

Parameter Value
type [all, databases, dr-connector-v1, dr-database-v1, jdbc]

Example responses

200 Response

{
  "data": [
    {
      "canDelete": true,
      "canShare": true,
      "canonicalName": "string",
      "creator": "string",
      "driverClassType": "string",
      "id": "string",
      "params": {
        "catalog": "string",
        "dataStoreId": "string",
        "fetchSize": 1,
        "partitionColumn": "string",
        "schema": "string",
        "table": "string"
      },
      "role": "CONSUMER",
      "type": "dr-connector-v1",
      "updated": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Data sources retrieved successfully. DataSourceListResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

POST /api/v2/externalDataSources/

Create a fully configured source of data which could be used for datasets and projects creation.A data source specifies, via SQL query or selected table and schema data, which data to extract from the data connection (the location of data within a given endpoint) to use for modeling or predictions. A data source has one data connection and one connector but can have many datasets. To test the SQL query before creating the data source,use POST /api/v2/externalDataStores/{dataStoreId}/verifySQL/.

Code samples

# You can also use wget
curl -X POST https://app.datarobot.com/api/v2/externalDataSources/ \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Body parameter

{
  "canonicalName": "string",
  "params": {
    "catalog": "string",
    "dataStoreId": "string",
    "fetchSize": 1,
    "partitionColumn": "string",
    "schema": "string",
    "table": "string"
  },
  "type": "dr-connector-v1"
}

Parameters

Name In Type Required Description
body body DataSourceCreate false none

Example responses

200 Response

{
  "canonicalName": "string",
  "creator": "string",
  "driverClassType": "string",
  "id": "string",
  "params": {
    "catalog": "string",
    "dataStoreId": "string",
    "fetchSize": 1,
    "partitionColumn": "string",
    "schema": "string",
    "table": "string"
  },
  "role": "CONSUMER",
  "type": "dr-connector-v1",
  "updated": "string"
}

Responses

Status Meaning Description Schema
200 OK Data source created successfully. DataSourceRetrieveResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

DELETE /api/v2/externalDataSources/{dataSourceId}/

Delete the data source with given ID if it is not used by any dataset.

Code samples

# You can also use wget
curl -X DELETE https://app.datarobot.com/api/v2/externalDataSources/{dataSourceId}/ \
  -H "Authorization: Bearer {access-token}"

Parameters

Name In Type Required Description
dataSourceId path string true The ID of the Data Source.

Responses

Status Meaning Description Schema
204 No Content Data source deleted successfully. None
409 Conflict Data source is in use by one or more datasets None

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/externalDataSources/{dataSourceId}/

Return details of the existing data source with given ID, including SQL query or selected table and schema data, which fully describe which data to extract and from which location.

Code samples

# You can also use wget
curl -X GET https://app.datarobot.com/api/v2/externalDataSources/{dataSourceId}/ \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Parameters

Name In Type Required Description
dataSourceId path string true The ID of the Data Source.

Example responses

200 Response

{
  "canonicalName": "string",
  "creator": "string",
  "driverClassType": "string",
  "id": "string",
  "params": {
    "catalog": "string",
    "dataStoreId": "string",
    "fetchSize": 1,
    "partitionColumn": "string",
    "schema": "string",
    "table": "string"
  },
  "role": "CONSUMER",
  "type": "dr-connector-v1",
  "updated": "string"
}

Responses

Status Meaning Description Schema
200 OK Data source details retrieved successfully. DataSourceRetrieveResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

PATCH /api/v2/externalDataSources/{dataSourceId}/

Update the data source with given ID. To test the SQL query before updating the data source,use POST /api/v2/externalDataStores/{dataStoreId}/verifySQL/.

Code samples

# You can also use wget
curl -X PATCH https://app.datarobot.com/api/v2/externalDataSources/{dataSourceId}/ \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer {access-token}"

Body parameter

{
  "canonicalName": "string",
  "params": {
    "catalog": "string",
    "dataStoreId": "string",
    "fetchSize": 1,
    "partitionColumn": "string",
    "schema": "string",
    "table": "string"
  }
}

Parameters

Name In Type Required Description
dataSourceId path string true The ID of the Data Source.
body body DataSourceUpdate false none

Responses

Status Meaning Description Schema
204 No Content Data source updated successfully. None

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/externalDataSources/{dataSourceId}/accessControl/

Get a list of users, groups and organizations who have access to this data source and their roles.

Code samples

# You can also use wget
curl -X GET https://app.datarobot.com/api/v2/externalDataSources/{dataSourceId}/accessControl/?offset=0&limit=0 \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Parameters

Name In Type Required Description
offset query integer true This many results will be skipped
limit query integer true At most this many results are returned
username query string false Optional, only return the access control information for a user with this username.
userId query string false Optional, only return the access control information for a user with this user ID.
dataSourceId path string true The ID of the Data Source.

Example responses

200 Response

{
  "count": 0,
  "data": [
    {
      "canShare": true,
      "role": "string",
      "userId": "string",
      "username": "string"
    }
  ],
  "next": "string",
  "previous": "string"
}

Responses

Status Meaning Description Schema
200 OK The data source's access control list. SharingListResponse
404 Not Found Either the data source does not exist or the user does not have permissions to view the data source. None
422 Unprocessable Entity Both username and userId were specified None

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

PATCH /api/v2/externalDataSources/{dataSourceId}/accessControl/

Set roles for users on this data source. Note that when granting access to a data source, access to the corresponding data store as a "CONSUMER" will also be granted.

Code samples

# You can also use wget
curl -X PATCH https://app.datarobot.com/api/v2/externalDataSources/{dataSourceId}/accessControl/ \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer {access-token}"

Body parameter

{
  "data": [
    {
      "canShare": true,
      "role": "ADMIN",
      "username": "string"
    }
  ]
}

Parameters

Name In Type Required Description
dataSourceId path string true The ID of the Data Source.
body body SharingUpdateOrRemoveWithGrant false none

Responses

Status Meaning Description Schema
204 No Content Roles updated successfully. None
409 Conflict The request would leave the data source without an owner. None
422 Unprocessable Entity One of the users in the request does not exist, or the request is otherwise invalid None

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/externalDataSources/{dataSourceId}/permissions/

Describe what permissions current user has for given data source.

Code samples

# You can also use wget
curl -X GET https://app.datarobot.com/api/v2/externalDataSources/{dataSourceId}/permissions/ \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Parameters

Name In Type Required Description
dataSourceId path string true The ID of the Data Source.

Example responses

200 Response

{
  "canCreatePredictions": true,
  "canCreateProject": true,
  "canDelete": true,
  "canEdit": true,
  "canSetRoles": [
    "OWNER"
  ],
  "canShare": true,
  "canView": true,
  "dataSourceId": "string",
  "userId": "string",
  "username": "string"
}

Responses

Status Meaning Description Schema
200 OK The data source permissions. DataSourceDescribePermissionsResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/externalDataSources/{dataSourceId}/sharedRoles/

Get a list of users, groups and organizations who have access to this data source and their roles.

Code samples

# You can also use wget
curl -X GET https://app.datarobot.com/api/v2/externalDataSources/{dataSourceId}/sharedRoles/?offset=0&limit=10 \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Parameters

Name In Type Required Description
id query string false Only return roles for a user, group or organization with this identifier.
offset query integer true This many results will be skipped
limit query integer true At most this many results are returned
name query string false Only return roles for a user, group or organization with this name.
shareRecipientType query string false List access controls for recipients with this type.
dataSourceId path string true The ID of the Data Source.

Enumerated Values

Parameter Value
shareRecipientType [user, group, organization]

Example responses

200 Response

{
  "count": 0,
  "data": [
    {
      "canShare": true,
      "id": "string",
      "name": "string",
      "role": "ADMIN",
      "shareRecipientType": "user",
      "userFullName": "string"
    }
  ],
  "next": "string",
  "previous": "string",
  "totalCount": 0
}

Responses

Status Meaning Description Schema
200 OK A paginated list of user/group/organization roles. SharedRolesWithGrantListResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

PATCH /api/v2/externalDataSources/{dataSourceId}/sharedRoles/

Grant access, remove access or update roles for organizations, groups or users on this data source. Up to 100 roles may be set per array in a single request.

Code samples

# You can also use wget
curl -X PATCH https://app.datarobot.com/api/v2/externalDataSources/{dataSourceId}/sharedRoles/ \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer {access-token}"

Body parameter

{
  "operation": "updateRoles",
  "roles": [
    {
      "canShare": true,
      "role": "string",
      "shareRecipientType": "user",
      "username": "string"
    }
  ]
}

Parameters

Name In Type Required Description
dataSourceId path string true The ID of the Data Source.
body body SharedRolesUpdateWithGrant false none

Responses

Status Meaning Description Schema
204 No Content Roles updated successfully. None
409 Conflict Duplicate entry for the org/group/user in roles listor the request would leave the data source without an owner. None
422 Unprocessable Entity Request is unprocessable. For example, name is stated for not user recipient. None

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/externalDataStores/

Return list with details of the existing data stores available for the user.

Code samples

# You can also use wget
curl -X GET https://app.datarobot.com/api/v2/externalDataStores/ \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Parameters

Name In Type Required Description
offset query integer false Number of results to skip.
limit query integer false At most this many results are returned. The default may change without notice.
type query string false Includes only data stores of the specified type or any if set to all.
databaseType query any false Includes only data stores of the specified database type. For JDBC based data stores, the database_type value is the string between the first and the second colons of a jdbc url. For example, a snowflake jdbc url is jdbc❄//, the database_type is hence snowflake. If an empty string is used, or if the string contains only whitespace, no filtering occurs.
connectorType query any false Includes only data stores of the specified connector type.
showHidden query string false Specifies whether non-visible OAuth fields are shown.

Enumerated Values

Parameter Value
type [all, databases, dr-connector-v1, dr-database-v1, jdbc]
showHidden [false, False, true, True]

Example responses

200 Response

{
  "data": [
    {
      "associatedAuthTypes": [
        "adls_gen2_oauth"
      ],
      "canonicalName": "string",
      "creator": "string",
      "id": "string",
      "params": {
        "driverId": "string",
        "jdbcFieldSchemas": [],
        "jdbcFields": [
          {
            "name": "string",
            "value": "string"
          }
        ],
        "jdbcUrl": "string"
      },
      "role": "CONSUMER",
      "type": "dr-connector-v1",
      "updated": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Data stores retrieved successfully. DataStoreListResponse
422 Unprocessable Entity Filtering by database type is currently not supported for dr-connector-v1 data stores None

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

POST /api/v2/externalDataStores/

Create a data store which includes a name and a driver ID or a connector ID. The driver would be configured by a JDBC URL or by jdbc fields; The connector would be configured by connection fields.

Code samples

# You can also use wget
curl -X POST https://app.datarobot.com/api/v2/externalDataStores/ \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Body parameter

{
  "canonicalName": "string",
  "params": {
    "driverId": "string",
    "jdbcFields": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "jdbcUrl": "string"
  },
  "type": "dr-connector-v1"
}

Parameters

Name In Type Required Description
body body DataStoreCreate false none

Example responses

200 Response

{
  "associatedAuthTypes": [
    "adls_gen2_oauth"
  ],
  "canonicalName": "string",
  "creator": "string",
  "id": "string",
  "params": {
    "driverId": "string",
    "jdbcFieldSchemas": [],
    "jdbcFields": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "jdbcUrl": "string"
  },
  "role": "CONSUMER",
  "type": "dr-connector-v1",
  "updated": "string"
}

Responses

Status Meaning Description Schema
200 OK Data store created successfully. DataStoreRetrieveResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

DELETE /api/v2/externalDataStores/{dataStoreId}/

Delete the data store with given ID if it is not used by any data source.

Code samples

# You can also use wget
curl -X DELETE https://app.datarobot.com/api/v2/externalDataStores/{dataStoreId}/ \
  -H "Authorization: Bearer {access-token}"

Parameters

Name In Type Required Description
dataStoreId path string true ID of the data store.

Responses

Status Meaning Description Schema
204 No Content Data store deleted successfully. None
409 Conflict Data store is in use by one or more data source None

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/externalDataStores/{dataStoreId}/

A configured connection to a database - it has a name and a specified driver. The driver may be specified by a JDBC URL or connection parameters if the driver was created with the parameter configuration.

Code samples

# You can also use wget
curl -X GET https://app.datarobot.com/api/v2/externalDataStores/{dataStoreId}/ \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Parameters

Name In Type Required Description
dataStoreId path string true ID of the data store.

Example responses

200 Response

{
  "associatedAuthTypes": [
    "adls_gen2_oauth"
  ],
  "canonicalName": "string",
  "creator": "string",
  "id": "string",
  "params": {
    "driverId": "string",
    "jdbcFieldSchemas": [],
    "jdbcFields": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "jdbcUrl": "string"
  },
  "role": "CONSUMER",
  "type": "dr-connector-v1",
  "updated": "string"
}

Responses

Status Meaning Description Schema
200 OK Data store details retrieved successfully. DataStoreRetrieveResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

PATCH /api/v2/externalDataStores/{dataStoreId}/

Updates a data store configuration.

Code samples

# You can also use wget
curl -X PATCH https://app.datarobot.com/api/v2/externalDataStores/{dataStoreId}/ \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Body parameter

{
  "canonicalName": "string",
  "params": {
    "driverId": "string",
    "jdbcFields": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "jdbcUrl": "string"
  }
}

Parameters

Name In Type Required Description
dataStoreId path string true ID of the data store.
body body DataStoreUpdate false none

Example responses

200 Response

{
  "associatedAuthTypes": [
    "adls_gen2_oauth"
  ],
  "canonicalName": "string",
  "creator": "string",
  "id": "string",
  "params": {
    "driverId": "string",
    "jdbcFieldSchemas": [],
    "jdbcFields": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "jdbcUrl": "string"
  },
  "role": "CONSUMER",
  "type": "dr-connector-v1",
  "updated": "string"
}

Responses

Status Meaning Description Schema
200 OK Returns the updated data store entry. DataStoreRetrieveResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

PATCH /api/v2/externalDataStores/{dataStoreId}/accessControl/

Set roles for users on this data store.

Code samples

# You can also use wget
curl -X PATCH https://app.datarobot.com/api/v2/externalDataStores/{dataStoreId}/accessControl/ \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer {access-token}"

Body parameter

{
  "data": [
    {
      "canShare": true,
      "role": "ADMIN",
      "username": "string"
    }
  ]
}

Parameters

Name In Type Required Description
dataStoreId path string true ID of the data store.
body body SharingUpdateOrRemoveWithGrant false none

Responses

Status Meaning Description Schema
204 No Content Roles updated successfully. None
409 Conflict The request would leave the data store without an owner. None
422 Unprocessable Entity One of the users in the request does not exist, or the request is otherwise invalid None

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

POST /api/v2/externalDataStores/{dataStoreId}/columns/

Retrieves a data store's data columns.

Code samples

# You can also use wget
curl -X POST https://app.datarobot.com/api/v2/externalDataStores/{dataStoreId}/columns/ \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Body parameter

{
  "catalog": "string",
  "credentialId": "string",
  "password": "string",
  "query": "string",
  "schema": "string",
  "table": "string",
  "user": "string"
}

Parameters

Name In Type Required Description
dataStoreId path string true ID of the data store.
body body DataStoreColumnsList false none

Example responses

200 Response

{
  "columns": [
    {
      "dataType": "string",
      "name": "string",
      "precision": "string",
      "scale": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Returns response with array of Column objects. DataStoreColumnsListResponse
400 Bad Request Error thrown by DSS system when retrieving columns None
403 Forbidden Incorrect permissions to access catalog item through DSS None

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

POST /api/v2/externalDataStores/{dataStoreId}/columnsInfo/

Retrieves a data store's column metadata.

Code samples

# You can also use wget
curl -X POST https://app.datarobot.com/api/v2/externalDataStores/{dataStoreId}/columnsInfo/ \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Body parameter

{
  "catalog": "string",
  "credentialId": "string",
  "password": "string",
  "schema": "string",
  "table": "string",
  "useKerberos": false,
  "user": "string"
}

Parameters

Name In Type Required Description
offset query integer false Number of results to skip.
limit query integer false At most this many results are returned. The default may change without notice.
types query any false Includes only credentials of the specified type. Repeat the parameter for filtering on multiple statuses.
orderBy query string false The order to sort the credentials. Defaults to the order by the creation_date in descending order.
dataStoreId path string true ID of the data store.
body body DataStoreColumnsInfoList false none

Enumerated Values

Parameter Value
orderBy [creationDate, -creationDate]

Example responses

200 Response

{
  "count": 0,
  "data": [
    {
      "columnDefaultValue": "string",
      "comment": "string",
      "dataType": "string",
      "dataTypeInt": 0,
      "exportedKeys": [
        {
          "foreignKey": {
            "catalog": "string",
            "column": "string",
            "schema": "string",
            "table": "string"
          },
          "keyType": "1",
          "name": "string",
          "primaryKey": {
            "catalog": "string",
            "column": "string",
            "schema": "string",
            "table": "string"
          }
        }
      ],
      "importedKeys": [
        {
          "foreignKey": {
            "catalog": "string",
            "column": "string",
            "schema": "string",
            "table": "string"
          },
          "keyType": "1",
          "name": "string",
          "primaryKey": {
            "catalog": "string",
            "column": "string",
            "schema": "string",
            "table": "string"
          }
        }
      ],
      "isInPrimaryKey": true,
      "isNullable": "NO",
      "name": "string",
      "precision": 0,
      "primaryKeys": [
        "string"
      ],
      "scale": 0
    }
  ],
  "next": "http://example.com",
  "previous": "http://example.com",
  "totalCount": 0
}

Responses

Status Meaning Description Schema
200 OK Retrieves a data store's column metadata. DataStoreColumnsInfoListResponse
409 Conflict This operation is only allowed for JDBC data stores. None

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/externalDataStores/{dataStoreId}/credentials/

Returns a list of credentials associated with the specified data store.

Code samples

# You can also use wget
curl -X GET https://app.datarobot.com/api/v2/externalDataStores/{dataStoreId}/credentials/ \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Parameters

Name In Type Required Description
offset query integer false Number of results to skip.
limit query integer false At most this many results are returned. The default may change without notice.
types query any false Includes only credentials of the specified type. Repeat the parameter for filtering on multiple statuses.
orderBy query string false The order to sort the credentials. Defaults to the order by the creation_date in descending order.
dataStoreId path string true ID of the data store.

Enumerated Values

Parameter Value
orderBy [creationDate, -creationDate]

Example responses

200 Response

{
  "count": 0,
  "data": [
    {
      "creationDate": "2019-08-24T14:15:22Z",
      "credentialId": "string",
      "credentialType": "adls_gen2_oauth",
      "description": "string",
      "name": "string"
    }
  ],
  "next": "http://example.com",
  "previous": "http://example.com",
  "totalCount": 0
}

Responses

Status Meaning Description Schema
200 OK List of credentials associated with the data store. CredentialsListResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/externalDataStores/{dataStoreId}/permissions/

Describe what permissions current user has for given data store.

Code samples

# You can also use wget
curl -X GET https://app.datarobot.com/api/v2/externalDataStores/{dataStoreId}/permissions/ \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Parameters

Name In Type Required Description
dataStoreId path string true ID of the data store.

Example responses

200 Response

{
  "canCreateDataSource": true,
  "canDelete": true,
  "canEdit": true,
  "canScanDatabase": true,
  "canSetRoles": [
    "OWNER"
  ],
  "canShare": true,
  "canTestConnection": true,
  "canView": true,
  "dataStoreId": "string",
  "userId": "string",
  "username": "string"
}

Responses

Status Meaning Description Schema
200 OK The data store permissions. DataStoreDescribePermissionsResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

POST /api/v2/externalDataStores/{dataStoreId}/schemas/

Retrieves a data store's data schemas.

Code samples

# You can also use wget
curl -X POST https://app.datarobot.com/api/v2/externalDataStores/{dataStoreId}/schemas/ \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Body parameter

{
  "credentialId": "string",
  "password": "string",
  "useKerberos": false,
  "user": "string"
}

Parameters

Name In Type Required Description
dataStoreId path string true ID of the data store.
body body DataStoreCredentials false none

Example responses

200 Response

{
  "catalog": "string",
  "catalogs": [
    "string"
  ],
  "schemas": [
    "string"
  ]
}

Responses

Status Meaning Description Schema
200 OK Returns response with schemas and catalog. DataStoreSchemasList

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/externalDataStores/{dataStoreId}/sharedRoles/

Get a list of users who have access to this data store and their roles on the data store.

Code samples

# You can also use wget
curl -X GET https://app.datarobot.com/api/v2/externalDataStores/{dataStoreId}/sharedRoles/?offset=0&limit=10 \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Parameters

Name In Type Required Description
id query string false Only return roles for a user, group or organization with this identifier.
offset query integer true This many results will be skipped
limit query integer true At most this many results are returned
name query string false Only return roles for a user, group or organization with this name.
shareRecipientType query string false List access controls for recipients with this type.
dataStoreId path string true ID of the data store.

Enumerated Values

Parameter Value
shareRecipientType [user, group, organization]

Example responses

200 Response

{
  "count": 0,
  "data": [
    {
      "canShare": true,
      "id": "string",
      "name": "string",
      "role": "ADMIN",
      "shareRecipientType": "user",
      "userFullName": "string"
    }
  ],
  "next": "string",
  "previous": "string",
  "totalCount": 0
}

Responses

Status Meaning Description Schema
200 OK The data store's access control list. SharedRolesWithGrantListResponse
404 Not Found Either the data store does not exist or the user does not have permissions to view the data store. None
422 Unprocessable Entity Both username and userId were specified None

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

PATCH /api/v2/externalDataStores/{dataStoreId}/sharedRoles/

Grant access, remove access or update roles for organizations, groups or users on this data store. Up to 100 roles may be set per array in a single request.

Code samples

# You can also use wget
curl -X PATCH https://app.datarobot.com/api/v2/externalDataStores/{dataStoreId}/sharedRoles/ \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer {access-token}"

Body parameter

{
  "operation": "updateRoles",
  "roles": [
    {
      "canShare": true,
      "role": "string",
      "shareRecipientType": "user",
      "username": "string"
    }
  ]
}

Parameters

Name In Type Required Description
dataStoreId path string true ID of the data store.
body body SharedRolesUpdateWithGrant false none

Responses

Status Meaning Description Schema
204 No Content Successfully modified. None
409 Conflict Duplicate entry for the org/group/user in roles listor the request would leave the data store without an owner. None
422 Unprocessable Entity Request is unprocessable. For example, name is stated for not user recipient. None

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

POST /api/v2/externalDataStores/{dataStoreId}/tables/

Retrieves a data store's database tables (including views).

Code samples

# You can also use wget
curl -X POST https://app.datarobot.com/api/v2/externalDataStores/{dataStoreId}/tables/ \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Body parameter

{
  "catalog": "string",
  "credentialId": "string",
  "password": "string",
  "schema": "string",
  "useKerberos": false,
  "user": "string"
}

Parameters

Name In Type Required Description
dataStoreId path string true ID of the data store.
body body DataStoreTables false none

Example responses

200 Response

{
  "catalog": "string",
  "tables": [
    {
      "catalog": "string",
      "name": "string",
      "schema": "string",
      "type": "TABLE"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK List of tables available in the retrieved data store. DataStoreTablesList

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

POST /api/v2/externalDataStores/{dataStoreId}/test/

Tests the ability to connect to a data store with specified authentication.

Code samples

# You can also use wget
curl -X POST https://app.datarobot.com/api/v2/externalDataStores/{dataStoreId}/test/ \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Body parameter

{
  "credentialData": {
    "credentialType": "basic",
    "password": "string",
    "user": "string"
  },
  "credentialId": "string",
  "password": "string",
  "useKerberos": false,
  "user": "string"
}

Parameters

Name In Type Required Description
dataStoreId path string true ID of the data store.
body body DataStoreCredentialsWithCredentialsTypeSupport false none

Example responses

200 Response

{
  "message": "string"
}

Responses

Status Meaning Description Schema
200 OK Outcome of the connection test. DataStoreTestResponse
400 Bad Request Details on why the connect call failed. None

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

POST /api/v2/externalDataStores/{dataStoreId}/verifySQL/

Executes the SQL query on the data store, returning a small number of rows (max 999). Use this for quick query execution validation and exploring results, not for capturing an entire result set.

Code samples

# You can also use wget
curl -X POST https://app.datarobot.com/api/v2/externalDataStores/{dataStoreId}/verifySQL/ \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Body parameter

{
  "credentialId": "string",
  "maxRows": 999,
  "password": "string",
  "query": "string",
  "useKerberos": false,
  "user": "string"
}

Parameters

Name In Type Required Description
dataStoreId path string true ID of the data store.
body body DataStoreSQLVerify false none

Example responses

200 Response

{
  "columns": [
    "string"
  ],
  "records": [
    [
      "string"
    ]
  ]
}

Responses

Status Meaning Description Schema
200 OK Returns the names of columns and a limited number of results from the SQL query. DataStoreSQLVerifyResponse
400 Bad Request Details explaining why the SQL query is invalid. None

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/externalDriverConfigurations/

Retrieve matching driver configurations based on query.

Code samples

# You can also use wget
curl -X GET https://app.datarobot.com/api/v2/externalDriverConfigurations/ \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Parameters

Name In Type Required Description
offset query integer false Number of results to skip.
limit query integer false At most this many results are returned. The default may change without notice.
type query string false Type of driver configurations to return.
showHidden query string false If True, include hidden configurations in response.

Enumerated Values

Parameter Value
type [all, dr-connector-v1, dr-database-v1, jdbc]
showHidden [false, False, true, True]

Example responses

200 Response

{
  "count": 0,
  "data": [
    {
      "associatedAuthTypes": [
        "string"
      ],
      "className": "string",
      "creator": "string",
      "id": "string",
      "jdbcFieldSchemas": [
        {
          "choices": [],
          "default": "string",
          "description": "",
          "index": 0,
          "kind": "ADDRESS",
          "name": "string",
          "required": true,
          "visibleByDefault": true
        }
      ],
      "jdbcUrlPathDelimiter": "string",
      "jdbcUrlPrefix": "string",
      "jdbcUrlQueryDelimiter": "string",
      "jdbcUrlQueryParamDelimiter": "string",
      "jdbcUrlQueryParamKeyValueDelimiter": "string",
      "standardizedName": "string",
      "statements": [
        "insert"
      ],
      "updated": "string"
    }
  ],
  "next": "http://example.com",
  "previous": "http://example.com",
  "totalCount": 0
}

Responses

Status Meaning Description Schema
200 OK Driver configurations retrieved successfully. DriverConfigurationListResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/externalDriverConfigurations/{configurationId}/

Retrieve the driver configuration with the specified ID.

Code samples

# You can also use wget
curl -X GET https://app.datarobot.com/api/v2/externalDriverConfigurations/{configurationId}/ \
  -H "Accept: application/json" \
  -H "Authorization: Bearer {access-token}"

Parameters

Name In Type Required Description
configurationId path string true Driver configuration ID

Example responses

200 Response

{
  "associatedAuthTypes": [
    "string"
  ],
  "className": "string",
  "creator": "string",
  "id": "string",
  "jdbcFieldSchemas": [
    {
      "choices": [],
      "default": "string",
      "description": "",
      "index": 0,
      "kind": "ADDRESS",
      "name": "string",
      "required": true,
      "visibleByDefault": true
    }
  ],
  "jdbcUrlPathDelimiter": "string",
  "jdbcUrlPrefix": "string",
  "jdbcUrlQueryDelimiter": "string",
  "jdbcUrlQueryParamDelimiter": "string",
  "jdbcUrlQueryParamKeyValueDelimiter": "string",
  "standardizedName": "string",
  "statements": [
    "insert"
  ],
  "updated": "string"
}

Responses

Status Meaning Description Schema
200 OK Driver configuration retrieved successfully. DriverConfigurationRetrieveResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

Schemas

AccessControl

{
  "canShare": true,
  "role": "string",
  "userId": "string",
  "username": "string"
}

Properties

Name Type Required Restrictions Description
canShare boolean true Whether the recipient can share the role further.
role string true The role of the user on this entity.
userId string true The identifier of the user that has access to this entity.
username string true The username of the user that has access to the entity.

AccessControlWithGrant

{
  "canShare": true,
  "id": "string",
  "name": "string",
  "role": "ADMIN",
  "shareRecipientType": "user",
  "userFullName": "string"
}

Properties

Name Type Required Restrictions Description
canShare boolean true Whether the recipient can share the role further.
id string true The identifier of the recipient.
name string true The name of the recipient.
role string true The role of the recipient on this entity.
shareRecipientType string true The type of the recipient.
userFullName string false Full name of the recipient user.

Enumerated Values

Property Value
role [ADMIN, CONSUMER, DATA_SCIENTIST, EDITOR, OBSERVER, OWNER, READ_ONLY, READ_WRITE, USER]
shareRecipientType [user, group, organization]

AzureServicePrincipalCredentials

{
  "azureTenantId": "string",
  "clientId": "string",
  "clientSecret": "string",
  "credentialType": "azure_service_principal"
}

Properties

Name Type Required Restrictions Description
azureTenantId string true Tenant ID of the Azure AD service principal.
clientId string true Client ID of the Azure AD service principal.
clientSecret string true Client Secret of the Azure AD service principal.
credentialType string true The type of these credentials, 'azure_service_principal' here.

Enumerated Values

Property Value
credentialType azure_service_principal

BasicCredentials

{
  "credentialType": "basic",
  "password": "string",
  "user": "string"
}

Properties

Name Type Required Restrictions Description
credentialType string true The type of these credentials, 'basic' here.
password string true The password for database authentication. The password is encrypted at rest and never saved / stored.
user string true The username for database authentication.

Enumerated Values

Property Value
credentialType basic

ConnectorFieldSchema

{
  "choices": [
    "string"
  ],
  "default": "string",
  "description": "string",
  "name": "string",
  "required": true,
  "visibleByDefault": true
}

Properties

Name Type Required Restrictions Description
choices [string] true If non-empty, a list of all possible values for a parameter.
default string true Default value of the parameter.
description string true Description of the parameter.
name string true Name of the parameter.
required boolean true Whether or not the parameter is required for a connection.
visibleByDefault boolean true Whether or not the parameter should be shown in the UI by default.

CreateCredentialsResponse

{
  "creationDate": "2019-08-24T14:15:22Z",
  "credentialId": "string",
  "credentialType": "adls_gen2_oauth",
  "description": "string",
  "name": "string"
}

Properties

Name Type Required Restrictions Description
creationDate string(date-time) true ISO-8601 formatted date/time when these credentials were created.
credentialId string true ID of these credentials.
credentialType string false Type of credentials.
description string false Description of these credentials.
name string true Name of these credentials.

Enumerated Values

Property Value
credentialType [adls_gen2_oauth, api_token, azure, azure_service_principal, basic, bearer, databricks_access_token_account, databricks_service_principal_account, gcp, oauth, rsa, s3, snowflake_key_pair_user_account, snowflake_oauth_user_account, tableau_access_token]

CreateDriverRequest

{
  "baseNames": [
    "string"
  ],
  "canonicalName": "string",
  "className": "string",
  "configurationId": "string",
  "databaseDriver": "bigquery-v1",
  "localJarUrls": [
    "string"
  ],
  "type": "dr-database-v1",
  "version": "string"
}

Properties

Name Type Required Restrictions Description
baseNames [string] false Original file name(s) of the uploaded JAR file(s). If there are multiple JAR files required for the driver, each of the original file names should be present in the list in the same order as found in 'localJarUrls'
canonicalName string false User-friendly driver name.
className string¦null false Driver class name. For example 'com.amazon.redshift.jdbc.Driver'
configurationId string¦null false Driver configuration ID if it was provided during driver upload.
databaseDriver string¦null false The type of database of the driver. Only required of 'dr-database-v1' drivers.
localJarUrls [string] false minItems: 1
File path(s) for the driver files.This path is returned in the response as 'local_url' by the driverUpload route.If there are multiple JAR files required for the driver, each uploaded JAR must be present in this list. If specified, values will replace any previous settings.
type string false Driver type. Either 'jdbc' or 'dr-database-v1'.
version string false Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.

Enumerated Values

Property Value
databaseDriver [bigquery-v1, databricks-v1]
type [dr-database-v1, jdbc]

CredentialsListResponse

{
  "count": 0,
  "data": [
    {
      "creationDate": "2019-08-24T14:15:22Z",
      "credentialId": "string",
      "credentialType": "adls_gen2_oauth",
      "description": "string",
      "name": "string"
    }
  ],
  "next": "http://example.com",
  "previous": "http://example.com",
  "totalCount": 0
}

Properties

Name Type Required Restrictions Description
count integer false Number of items returned on this page.
data [CreateCredentialsResponse] true List of credentials.
next string(uri)¦null true URL pointing to the next page (if null, there is no next page).
previous string(uri)¦null true URL pointing to the previous page (if null, there is no previous page).
totalCount integer true The total number of items across all pages.

DRConnectorV1Create

{
  "connectorId": "string",
  "fields": [
    {
      "id": "string",
      "name": "string",
      "value": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
connectorId string true ID of the connector.
fields [DRConnectorV1Field] true Connector fields.

DRConnectorV1DataSource

{
  "dataStoreId": "string",
  "path": "string"
}

Properties

Name Type Required Restrictions Description
dataStoreId string true Data store ID for this data source.
path string true Path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like /foldername/filename.csv.

DRConnectorV1Details

{
  "connectorId": "string",
  "fieldSchemas": [
    {
      "choices": [
        "string"
      ],
      "default": "string",
      "description": "string",
      "name": "string",
      "required": true,
      "visibleByDefault": true
    }
  ],
  "fields": [
    {
      "id": "string",
      "name": "string",
      "value": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
connectorId string true ID of the connector.
fieldSchemas [ConnectorFieldSchema] false Connector field schemas.
fields [DRConnectorV1Field] true Connector fields.

DRConnectorV1Field

{
  "id": "string",
  "name": "string",
  "value": "string"
}

Properties

Name Type Required Restrictions Description
id string false Field name.
name string true User-friendly displayable field name.
value string true Field value.

DRConnectorV1Update

{
  "fields": [
    {
      "id": "string",
      "name": "string",
      "value": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
fields [DRConnectorV1Field] false Connector fields.

DataSourceCreate

{
  "canonicalName": "string",
  "params": {
    "catalog": "string",
    "dataStoreId": "string",
    "fetchSize": 1,
    "partitionColumn": "string",
    "schema": "string",
    "table": "string"
  },
  "type": "dr-connector-v1"
}

Properties

Name Type Required Restrictions Description
canonicalName string true Data source canonical name.
params any true Data source configuration.

oneOf

Name Type Required Restrictions Description
» anonymous DatabaseTableDataSource false none

xor

Name Type Required Restrictions Description
» anonymous DatabaseQueryDataSource false none

xor

Name Type Required Restrictions Description
» anonymous DRConnectorV1DataSource false none

continued

Name Type Required Restrictions Description
type string true Data source type.

Enumerated Values

Property Value
type [dr-connector-v1, dr-database-v1, jdbc]

DataSourceDescribePermissionsResponse

{
  "canCreatePredictions": true,
  "canCreateProject": true,
  "canDelete": true,
  "canEdit": true,
  "canSetRoles": [
    "OWNER"
  ],
  "canShare": true,
  "canView": true,
  "dataSourceId": "string",
  "userId": "string",
  "username": "string"
}

Properties

Name Type Required Restrictions Description
canCreatePredictions boolean true True if the user can create predictions from the data source.
canCreateProject boolean true True if the user can create project from the data source.
canDelete boolean true True if the user can delete the data source.
canEdit boolean true True if the user can edit data source info.
canSetRoles [string] true Roles the user can grant or revoke from other users, groups, or organizations.
canShare boolean true True if the user can share the data source.
canView boolean true True if the user can view data source info.
dataSourceId string true The ID of the data source.
userId string true The ID of the user identified by username.
username string true username of a user with access to this data source.

DataSourceInList

{
  "canDelete": true,
  "canShare": true,
  "canonicalName": "string",
  "creator": "string",
  "driverClassType": "string",
  "id": "string",
  "params": {
    "catalog": "string",
    "dataStoreId": "string",
    "fetchSize": 1,
    "partitionColumn": "string",
    "schema": "string",
    "table": "string"
  },
  "role": "CONSUMER",
  "type": "dr-connector-v1",
  "updated": "string"
}

Properties

Name Type Required Restrictions Description
canDelete boolean true True if the user can delete the data source.
canShare boolean true True if the user can share the data source.
canonicalName string true Data source canonical name.
creator string true ID of the user who created the data source.
driverClassType string false The type of driver used to create this data source.
id string true Data source ID.
params any true Data source configuration.

oneOf

Name Type Required Restrictions Description
» anonymous DatabaseTableDataSource false none

xor

Name Type Required Restrictions Description
» anonymous DatabaseQueryDataSource false none

xor

Name Type Required Restrictions Description
» anonymous DRConnectorV1DataSource false none

continued

Name Type Required Restrictions Description
role string true Role of the user making the request on this data source.
type string true Data source type.
updated string true ISO 8601-formatted date/time of the data source update.

Enumerated Values

Property Value
role [CONSUMER, EDITOR, OWNER]
type [dr-connector-v1, dr-database-v1, jdbc]

DataSourceListResponse

{
  "data": [
    {
      "canDelete": true,
      "canShare": true,
      "canonicalName": "string",
      "creator": "string",
      "driverClassType": "string",
      "id": "string",
      "params": {
        "catalog": "string",
        "dataStoreId": "string",
        "fetchSize": 1,
        "partitionColumn": "string",
        "schema": "string",
        "table": "string"
      },
      "role": "CONSUMER",
      "type": "dr-connector-v1",
      "updated": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
data [DataSourceInList] true List of data sources.

DataSourceRetrieveResponse

{
  "canonicalName": "string",
  "creator": "string",
  "driverClassType": "string",
  "id": "string",
  "params": {
    "catalog": "string",
    "dataStoreId": "string",
    "fetchSize": 1,
    "partitionColumn": "string",
    "schema": "string",
    "table": "string"
  },
  "role": "CONSUMER",
  "type": "dr-connector-v1",
  "updated": "string"
}

Properties

Name Type Required Restrictions Description
canonicalName string true Data source canonical name.
creator string true ID of the user who created the data source.
driverClassType string false The type of driver used to create this data source.
id string true Data source ID.
params any true Data source configuration.

oneOf

Name Type Required Restrictions Description
» anonymous DatabaseTableDataSource false none

xor

Name Type Required Restrictions Description
» anonymous DatabaseQueryDataSource false none

xor

Name Type Required Restrictions Description
» anonymous DRConnectorV1DataSource false none

continued

Name Type Required Restrictions Description
role string true Role of the user making the request on this data source.
type string true Data source type.
updated string true ISO 8601-formatted date/time of the data source update.

Enumerated Values

Property Value
role [CONSUMER, EDITOR, OWNER]
type [dr-connector-v1, dr-database-v1, jdbc]

DataSourceUpdate

{
  "canonicalName": "string",
  "params": {
    "catalog": "string",
    "dataStoreId": "string",
    "fetchSize": 1,
    "partitionColumn": "string",
    "schema": "string",
    "table": "string"
  }
}

Properties

Name Type Required Restrictions Description
canonicalName string false Data source canonical name.
params any false Data source configuration.

oneOf

Name Type Required Restrictions Description
» anonymous OptionalDatabaseTableDataSource false none

xor

Name Type Required Restrictions Description
» anonymous OptionalDatabaseQueryDataSource false none

xor

Name Type Required Restrictions Description
» anonymous OptionalDRConnectorV1DataSource false none

DataStoreColumnResponse

{
  "dataType": "string",
  "name": "string",
  "precision": "string",
  "scale": "string"
}

Properties

Name Type Required Restrictions Description
dataType string true DataType of the column.
name string true Name of the column.
precision string true Precision of the column.
scale string true Scale of the column.

DataStoreColumnsInfoList

{
  "catalog": "string",
  "credentialId": "string",
  "password": "string",
  "schema": "string",
  "table": "string",
  "useKerberos": false,
  "user": "string"
}

Properties

Name Type Required Restrictions Description
catalog string¦null false Name of specified database catalog.
credentialId string false ID of the set of credentials to use instead of username and password.
password string false Password for data store authentication.
schema string false Schema name.
table string true Table name.
useKerberos boolean false Whether to use Kerberos for data store authentication.
user string false Username for data store authentication.

DataStoreColumnsInfoListResponse

{
  "count": 0,
  "data": [
    {
      "columnDefaultValue": "string",
      "comment": "string",
      "dataType": "string",
      "dataTypeInt": 0,
      "exportedKeys": [
        {
          "foreignKey": {
            "catalog": "string",
            "column": "string",
            "schema": "string",
            "table": "string"
          },
          "keyType": "1",
          "name": "string",
          "primaryKey": {
            "catalog": "string",
            "column": "string",
            "schema": "string",
            "table": "string"
          }
        }
      ],
      "importedKeys": [
        {
          "foreignKey": {
            "catalog": "string",
            "column": "string",
            "schema": "string",
            "table": "string"
          },
          "keyType": "1",
          "name": "string",
          "primaryKey": {
            "catalog": "string",
            "column": "string",
            "schema": "string",
            "table": "string"
          }
        }
      ],
      "isInPrimaryKey": true,
      "isNullable": "NO",
      "name": "string",
      "precision": 0,
      "primaryKeys": [
        "string"
      ],
      "scale": 0
    }
  ],
  "next": "http://example.com",
  "previous": "http://example.com",
  "totalCount": 0
}

Properties

Name Type Required Restrictions Description
count integer false Number of items returned on this page.
data [DataStoreExtendedColumnResponse] true List of data store columns meta data.
next string(uri)¦null true URL pointing to the next page (if null, there is no next page).
previous string(uri)¦null true URL pointing to the previous page (if null, there is no previous page).
totalCount integer true The total number of items across all pages.

DataStoreColumnsList

{
  "catalog": "string",
  "credentialId": "string",
  "password": "string",
  "query": "string",
  "schema": "string",
  "table": "string",
  "user": "string"
}

Properties

Name Type Required Restrictions Description
catalog string¦null false Name of specified database catalog.
credentialId string false Id of credential mapping.
password string false Password for the db connection.
query string false Schema query.
schema string false Schema name.
table string false Table name.
user string false Username for the db connection.

DataStoreColumnsListResponse

{
  "columns": [
    {
      "dataType": "string",
      "name": "string",
      "precision": "string",
      "scale": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
columns [DataStoreColumnResponse] true List of data store columns.

DataStoreCreate

{
  "canonicalName": "string",
  "params": {
    "driverId": "string",
    "jdbcFields": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "jdbcUrl": "string"
  },
  "type": "dr-connector-v1"
}

Properties

Name Type Required Restrictions Description
canonicalName string true The user-friendly name of the data store.
params any true Data store configuration.

oneOf

Name Type Required Restrictions Description
» anonymous JDBCDataStoreCreate false none

xor

Name Type Required Restrictions Description
» anonymous DRConnectorV1Create false none

xor

Name Type Required Restrictions Description
» anonymous DatabaseDataStoreCreate false none

continued

Name Type Required Restrictions Description
type string true Data store type.

Enumerated Values

Property Value
type [dr-connector-v1, dr-database-v1, jdbc]

DataStoreCredentials

{
  "credentialId": "string",
  "password": "string",
  "useKerberos": false,
  "user": "string"
}

Properties

Name Type Required Restrictions Description
credentialId string false ID of the set of credentials to use instead of username and password.
password string false Password for data store authentication.
useKerberos boolean false Whether to use Kerberos for data store authentication.
user string false Username for data store authentication.

DataStoreCredentialsWithCredentialsTypeSupport

{
  "credentialData": {
    "credentialType": "basic",
    "password": "string",
    "user": "string"
  },
  "credentialId": "string",
  "password": "string",
  "useKerberos": false,
  "user": "string"
}

Properties

Name Type Required Restrictions Description
credentialData any false Type of credentials to use with the data store.

oneOf

Name Type Required Restrictions Description
» anonymous BasicCredentials false none

xor

Name Type Required Restrictions Description
» anonymous S3Credentials false none

xor

Name Type Required Restrictions Description
» anonymous OAuthCredentials false none

xor

Name Type Required Restrictions Description
» anonymous SnowflakeKeyPairCredentials false none

xor

Name Type Required Restrictions Description
» anonymous GoogleServiceAccountCredentials false none

xor

Name Type Required Restrictions Description
» anonymous DatabricksAccessTokenCredentials false none

xor

Name Type Required Restrictions Description
» anonymous DatabricksServicePrincipalCredentials false none

xor

Name Type Required Restrictions Description
» anonymous AzureServicePrincipalCredentials false none

continued

Name Type Required Restrictions Description
credentialId string false ID of the set of credentials to use instead of username and password.
password string false Password for data store authentication.
useKerberos boolean false Whether to use Kerberos for data store authentication.
user string false Username for data store authentication.

DataStoreDescribePermissionsResponse

{
  "canCreateDataSource": true,
  "canDelete": true,
  "canEdit": true,
  "canScanDatabase": true,
  "canSetRoles": [
    "OWNER"
  ],
  "canShare": true,
  "canTestConnection": true,
  "canView": true,
  "dataStoreId": "string",
  "userId": "string",
  "username": "string"
}

Properties

Name Type Required Restrictions Description
canCreateDataSource boolean true True if the user can create data source from this data store.
canDelete boolean true True if the user can delete the data store.
canEdit boolean true True if the user can edit data store info.
canScanDatabase boolean true True if the user can scan data store database.
canSetRoles [string] true Roles the user can grant or revoke from other users, groups, or organizations.
canShare boolean true True if the user can share the data store.
canTestConnection boolean true True if the user can test data store database connection.
canView boolean true True if the user can view data store info.
dataStoreId string true The ID of the data store.
userId string true The ID of the user identified by username.
username string true username of a user with access to this data store.

DataStoreExtendedColumnResponse

{
  "columnDefaultValue": "string",
  "comment": "string",
  "dataType": "string",
  "dataTypeInt": 0,
  "exportedKeys": [
    {
      "foreignKey": {
        "catalog": "string",
        "column": "string",
        "schema": "string",
        "table": "string"
      },
      "keyType": "1",
      "name": "string",
      "primaryKey": {
        "catalog": "string",
        "column": "string",
        "schema": "string",
        "table": "string"
      }
    }
  ],
  "importedKeys": [
    {
      "foreignKey": {
        "catalog": "string",
        "column": "string",
        "schema": "string",
        "table": "string"
      },
      "keyType": "1",
      "name": "string",
      "primaryKey": {
        "catalog": "string",
        "column": "string",
        "schema": "string",
        "table": "string"
      }
    }
  ],
  "isInPrimaryKey": true,
  "isNullable": "NO",
  "name": "string",
  "precision": 0,
  "primaryKeys": [
    "string"
  ],
  "scale": 0
}

Properties

Name Type Required Restrictions Description
columnDefaultValue string¦null true Default value of the column.
comment string¦null true Comment of the column.
dataType string true DataType of the column.
dataTypeInt integer true Integer value of the column data type.
exportedKeys [JdbcForeignKey] true The foreign key columns that reference this table's primary key columns.
importedKeys [JdbcForeignKey] true The primary key columns that are referenced by this table's foreign key columns .
isInPrimaryKey boolean true True if the column is in the primary key .
isNullable string¦null true If the column values can be null.
name string true Name of the column.
precision integer true Precision of the column.
primaryKeys [string] true Primary key columns of the table.
scale integer true Scale of the column.

Enumerated Values

Property Value
isNullable [NO, UNKNOWN, YES]

DataStoreListResponse

{
  "data": [
    {
      "associatedAuthTypes": [
        "adls_gen2_oauth"
      ],
      "canonicalName": "string",
      "creator": "string",
      "id": "string",
      "params": {
        "driverId": "string",
        "jdbcFieldSchemas": [],
        "jdbcFields": [
          {
            "name": "string",
            "value": "string"
          }
        ],
        "jdbcUrl": "string"
      },
      "role": "CONSUMER",
      "type": "dr-connector-v1",
      "updated": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
data [DataStoreRetrieveResponse] true List of data stores.

DataStoreRetrieveResponse

{
  "associatedAuthTypes": [
    "adls_gen2_oauth"
  ],
  "canonicalName": "string",
  "creator": "string",
  "id": "string",
  "params": {
    "driverId": "string",
    "jdbcFieldSchemas": [],
    "jdbcFields": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "jdbcUrl": "string"
  },
  "role": "CONSUMER",
  "type": "dr-connector-v1",
  "updated": "string"
}

Properties

Name Type Required Restrictions Description
associatedAuthTypes [string] false Supported authentication types for the JDBC configuration.
canonicalName string true The user-friendly name of the data store.
creator string true ID of the user who created the data store.
id string true Data store ID.
params any true Data store configuration.

oneOf

Name Type Required Restrictions Description
» anonymous JDBCDataStoreDetails false none

xor

Name Type Required Restrictions Description
» anonymous DRConnectorV1Details false none

xor

Name Type Required Restrictions Description
» anonymous DatabaseDataStoreDetails false none

continued

Name Type Required Restrictions Description
role string true Role of the user making the request on this data store.
type string true Data store type.
updated string true ISO 8601-formatted date/time of the data store update.

Enumerated Values

Property Value
role [CONSUMER, EDITOR, OWNER]
type [dr-connector-v1, dr-database-v1, jdbc]

DataStoreSQLVerify

{
  "credentialId": "string",
  "maxRows": 999,
  "password": "string",
  "query": "string",
  "useKerberos": false,
  "user": "string"
}

Properties

Name Type Required Restrictions Description
credentialId string false ID of the set of credentials to use instead of username and password.
maxRows integer true maximum: 999
minimum: 0
Maximum number of rows of data to return if successful.
password string false Password for data store authentication.
query string true SQL query to verify.
useKerberos boolean false Whether to use Kerberos for data store authentication.
user string false Username for data store authentication.

DataStoreSQLVerifyResponse

{
  "columns": [
    "string"
  ],
  "records": [
    [
      "string"
    ]
  ]
}

Properties

Name Type Required Restrictions Description
columns [string] true List of columns for the returned set of records. Column order matches the order of values in a record.
records [array] true List of records output by the query.

DataStoreSchemasList

{
  "catalog": "string",
  "catalogs": [
    "string"
  ],
  "schemas": [
    "string"
  ]
}

Properties

Name Type Required Restrictions Description
catalog string true Name of the catalog associated with the schemas. If more than one catalog is queried, the returned value will be the catalog name for the first record returned.
catalogs [string] true List of catalogs associated with each retrieved schema. If no catalog is found, this value is null.
schemas [string] true List of schemas available in the data store.

DataStoreTables

{
  "catalog": "string",
  "credentialId": "string",
  "password": "string",
  "schema": "string",
  "useKerberos": false,
  "user": "string"
}

Properties

Name Type Required Restrictions Description
catalog string false Only show tables in this catalog.
credentialId string false ID of the set of credentials to use instead of username and password.
password string false Password for data store authentication.
schema string false Only show tables in this schema.
useKerberos boolean false Whether to use Kerberos for data store authentication.
user string false Username for data store authentication.

DataStoreTablesList

{
  "catalog": "string",
  "tables": [
    {
      "catalog": "string",
      "name": "string",
      "schema": "string",
      "type": "TABLE"
    }
  ]
}

Properties

Name Type Required Restrictions Description
catalog string true Catalog associated with schemas.
tables [TableDescription] true List of tables in the data store.

DataStoreTestResponse

{
  "message": "string"
}

Properties

Name Type Required Restrictions Description
message string true Connection attempt results.

DataStoreUpdate

{
  "canonicalName": "string",
  "params": {
    "driverId": "string",
    "jdbcFields": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "jdbcUrl": "string"
  }
}

Properties

Name Type Required Restrictions Description
canonicalName string false The user-friendly name of the data store.
params any false Data store configuration.

oneOf

Name Type Required Restrictions Description
» anonymous JDBCDataStoreUpdate false none

xor

Name Type Required Restrictions Description
» anonymous DRConnectorV1Update false none

DatabaseDataStoreCreate

{
  "driverId": "string",
  "fields": [
    {
      "id": "string",
      "name": "string",
      "value": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
driverId string true Database Driver ID.
fields [DRConnectorV1Field] true Database driver fields.

DatabaseDataStoreDetails

{
  "driverId": "string",
  "fieldSchemas": [
    {
      "choices": [
        "string"
      ],
      "default": "string",
      "description": "string",
      "name": "string",
      "required": true,
      "visibleByDefault": true
    }
  ],
  "fields": [
    {
      "id": "string",
      "name": "string",
      "value": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
driverId string true Database Driver ID.
fieldSchemas [ConnectorFieldSchema] false Database driver field schemas.
fields [DRConnectorV1Field] true Database driver fields.

DatabaseQueryDataSource

{
  "dataStoreId": "string",
  "fetchSize": 1,
  "query": "string"
}

Properties

Name Type Required Restrictions Description
dataStoreId string true Data store ID for this data source.
fetchSize integer false maximum: 20000
minimum: 1
User-specified fetch size.
query string true maxLength: 64000
The user-specified SQL query. If this is used, then catalog, schema and table will not be used.

DatabaseTableDataSource

{
  "catalog": "string",
  "dataStoreId": "string",
  "fetchSize": 1,
  "partitionColumn": "string",
  "schema": "string",
  "table": "string"
}

Properties

Name Type Required Restrictions Description
catalog string false maxLength: 256
Catalog name in the database if supported.
dataStoreId string true Data store ID for this data source.
fetchSize integer false maximum: 20000
minimum: 1
User-specified fetch size.
partitionColumn string false The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.
schema string false maxLength: 256
Schema associated with the table or view in the database if the data source is not query based.
table string true maxLength: 256
Table or view name in the database if the data source is not query based.

DatabricksAccessTokenCredentials

{
  "credentialType": "databricks_access_token_account",
  "databricksAccessToken": "string"
}

Properties

Name Type Required Restrictions Description
credentialType string true The type of these credentials, 'databricks_access_token_account' here.
databricksAccessToken string true minLength: 1
minLength: 1
Databricks personal access token.

Enumerated Values

Property Value
credentialType databricks_access_token_account

DatabricksServicePrincipalCredentials

{
  "clientId": "string",
  "clientSecret": "string",
  "credentialType": "databricks_service_principal_account"
}

Properties

Name Type Required Restrictions Description
clientId string true minLength: 1
minLength: 1
Client ID for Databricks service principal.
clientSecret string true minLength: 1
minLength: 1
Client secret for Databricks service principal.
credentialType string true The type of these credentials, 'databricks_service_principal_account' here.

Enumerated Values

Property Value
credentialType databricks_service_principal_account

DriverConfigurationListResponse

{
  "count": 0,
  "data": [
    {
      "associatedAuthTypes": [
        "string"
      ],
      "className": "string",
      "creator": "string",
      "id": "string",
      "jdbcFieldSchemas": [
        {
          "choices": [],
          "default": "string",
          "description": "",
          "index": 0,
          "kind": "ADDRESS",
          "name": "string",
          "required": true,
          "visibleByDefault": true
        }
      ],
      "jdbcUrlPathDelimiter": "string",
      "jdbcUrlPrefix": "string",
      "jdbcUrlQueryDelimiter": "string",
      "jdbcUrlQueryParamDelimiter": "string",
      "jdbcUrlQueryParamKeyValueDelimiter": "string",
      "standardizedName": "string",
      "statements": [
        "insert"
      ],
      "updated": "string"
    }
  ],
  "next": "http://example.com",
  "previous": "http://example.com",
  "totalCount": 0
}

Properties

Name Type Required Restrictions Description
count integer false Number of items returned on this page.
data [DriverConfigurationRetrieveResponse] true List of driver configurations available to the user.
next string(uri)¦null true URL pointing to the next page (if null, there is no next page).
previous string(uri)¦null true URL pointing to the previous page (if null, there is no previous page).
totalCount integer true The total number of items across all pages.

DriverConfigurationRetrieveResponse

{
  "associatedAuthTypes": [
    "string"
  ],
  "className": "string",
  "creator": "string",
  "id": "string",
  "jdbcFieldSchemas": [
    {
      "choices": [],
      "default": "string",
      "description": "",
      "index": 0,
      "kind": "ADDRESS",
      "name": "string",
      "required": true,
      "visibleByDefault": true
    }
  ],
  "jdbcUrlPathDelimiter": "string",
  "jdbcUrlPrefix": "string",
  "jdbcUrlQueryDelimiter": "string",
  "jdbcUrlQueryParamDelimiter": "string",
  "jdbcUrlQueryParamKeyValueDelimiter": "string",
  "standardizedName": "string",
  "statements": [
    "insert"
  ],
  "updated": "string"
}

Properties

Name Type Required Restrictions Description
associatedAuthTypes [string] true List of authentication types supported by this driver configuration.
className string true Java class name of the driver to be used (e.g., org.postgresql.Driver).
creator string true User ID of the creator of this configuration.
id string true Driver configuration ID
jdbcFieldSchemas [JDBCFieldSchemas] true Description of which fields to show when creating a datastore, their defaults, and whether or not they are required.
jdbcUrlPathDelimiter string true Separator of address from path in the JDBC URL (e.g., "/").
jdbcUrlPrefix string true Prefix of the JDBC URL (e.g., "jdbc:mssql://" or "jdbc:oracle:thin:@").
jdbcUrlQueryDelimiter string true Separator of path from the list of query parameters in the JDBC URL (e.g., "?").
jdbcUrlQueryParamDelimiter string true Separator of each set of query parameter key-value pairs in the JDBC URL (e.g., "&").
jdbcUrlQueryParamKeyValueDelimiter string true Separator of the key and value in a query parameter pair (e.g., "=").
standardizedName string true Plain text name for the driver (e.g., PostgreSQL).
statements [string] false List of supported statments for this driver configuration.
updated string true ISO-8601 formatted time/date when this configuration was most recently updated.

DriverListResponse

{
  "data": [
    {
      "associatedAuthTypes": [
        "basic"
      ],
      "baseNames": [
        "string"
      ],
      "canonicalName": "string",
      "className": "string",
      "configurationId": "string",
      "creator": "string",
      "databaseDriver": "bigquery-v1",
      "id": "string",
      "type": "dr-database-v1",
      "version": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
data [DriverResponse] true List of drivers.

DriverResponse

{
  "associatedAuthTypes": [
    "basic"
  ],
  "baseNames": [
    "string"
  ],
  "canonicalName": "string",
  "className": "string",
  "configurationId": "string",
  "creator": "string",
  "databaseDriver": "bigquery-v1",
  "id": "string",
  "type": "dr-database-v1",
  "version": "string"
}

Properties

Name Type Required Restrictions Description
associatedAuthTypes [string] false Authentication types associated with this connector configuration.
baseNames [string]¦null false Original file name(s) of the uploaded JAR file(s). If there are multiple JAR files required for the driver, each of the original file names should be present in the list in the same order as found in 'localJarUrls'
canonicalName string false User-friendly driver name.
className string¦null false Driver class name. For example 'com.amazon.redshift.jdbc.Driver'
configurationId string¦null false Driver configuration ID if it was provided during driver upload.
creator string true ID of the user who uploaded the driver.
databaseDriver string¦null false The type of database of the driver. Only required of 'dr-database-v1' drivers.
id string true Driver ID.
type string false Driver type. Either 'jdbc' or 'dr-database-v1'.
version string false Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.

Enumerated Values

Property Value
databaseDriver [bigquery-v1, databricks-v1]
type [dr-database-v1, jdbc]

DriverUploadRequest

{
  "file": "string"
}

Properties

Name Type Required Restrictions Description
file string(binary) true JDBC driver JAR file to upload.

DriverUploadResponse

{
  "localUrl": "string"
}

Properties

Name Type Required Restrictions Description
localUrl string true URL of uploaded driver file.

GCPKey

{
  "authProviderX509CertUrl": "http://example.com",
  "authUri": "http://example.com",
  "clientEmail": "string",
  "clientId": "string",
  "clientX509CertUrl": "http://example.com",
  "privateKey": "string",
  "privateKeyId": "string",
  "projectId": "string",
  "tokenUri": "http://example.com",
  "type": "service_account"
}

Properties

Name Type Required Restrictions Description
authProviderX509CertUrl string(uri) false Auth provider X509 certificate URL.
authUri string(uri) false Auth URI.
clientEmail string false Client email address.
clientId string false Client ID.
clientX509CertUrl string(uri) false Client X509 certificate URL.
privateKey string false Private key.
privateKeyId string false Private key ID
projectId string false Project ID.
tokenUri string(uri) false Token URI.
type string true GCP account type.

Enumerated Values

Property Value
type service_account

GoogleServiceAccountCredentials

{
  "configId": "string",
  "credentialType": "gcp",
  "gcpKey": {
    "authProviderX509CertUrl": "http://example.com",
    "authUri": "http://example.com",
    "clientEmail": "string",
    "clientId": "string",
    "clientX509CertUrl": "http://example.com",
    "privateKey": "string",
    "privateKeyId": "string",
    "projectId": "string",
    "tokenUri": "http://example.com",
    "type": "service_account"
  },
  "googleConfigId": "string"
}

Properties

Name Type Required Restrictions Description
configId string false ID of Secure configurations shared by admin.Alternative to googleConfigId (deprecated). If specified, cannot include gcpKey.
credentialType string true The type of these credentials, 'gcp' here.
gcpKey GCPKey false The Google Cloud Platform (GCP) key. Output is the downloaded JSON resulting from creating a service account User Managed Key (in the IAM & admin > Service accounts section of GCP).Required if googleConfigId/configId is not specified.Cannot include this parameter if googleConfigId/configId is specified.
googleConfigId string false ID of Secure configurations shared by admin. This is deprecated.Please use configId instead. If specified, cannot include gcpKey.

Enumerated Values

Property Value
credentialType gcp

GrantAccessControlWithIdWithGrant

{
  "canShare": true,
  "id": "string",
  "role": "string",
  "shareRecipientType": "user"
}

Properties

Name Type Required Restrictions Description
canShare boolean false Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If role is NO_ROLE canShare is ignored.
id string true The ID of the recipient.
role string true The role of the recipient on this entity. One of OWNER, USER, OBSERVER.
shareRecipientType string true Describes the recipient type, either user, group, or organization.

Enumerated Values

Property Value
shareRecipientType [user, group, organization]

GrantAccessControlWithUsernameWithGrant

{
  "canShare": true,
  "role": "string",
  "shareRecipientType": "user",
  "username": "string"
}

Properties

Name Type Required Restrictions Description
canShare boolean false Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If role is NO_ROLE canShare is ignored.
role string true The role of the recipient on this entity. One of OWNER, USER, OBSERVER.
shareRecipientType string true Describes the recipient type, either user, group, or organization.
username string true Username of the user to update the access role for.

Enumerated Values

Property Value
shareRecipientType [user, group, organization]

JDBCDataStoreCreate

{
  "driverId": "string",
  "jdbcFields": [
    {
      "name": "string",
      "value": "string"
    }
  ],
  "jdbcUrl": "string"
}

Properties

Name Type Required Restrictions Description
driverId string true Driver ID.
jdbcFields [JDBCFields] false maxItems: 100
The fields used to create the JDBC URL, in the form of a JSON object where parameter name/value pairs are the items in the object. For example: {"address": localhost:5432, "database": "fooBar", "connectTimeout": 10}. In most cases, all keys in jdbcFields should be defined by a schema listed in jdbcFieldSchemas from DriverConfiguration. The request will be rejected if there are required parameters (as defined by jdbcFieldSchemas) that are not provided.
jdbcUrl string false JDBC URL.

JDBCDataStoreDetails

{
  "driverId": "string",
  "jdbcFieldSchemas": [],
  "jdbcFields": [
    {
      "name": "string",
      "value": "string"
    }
  ],
  "jdbcUrl": "string"
}

Properties

Name Type Required Restrictions Description
driverId string true Driver ID.
jdbcFieldSchemas [JDBCFieldSchemas] false maxItems: 100
Fields to show when creating a data store, their defaults, whether or not they are required, and more.
jdbcFields [JDBCFields] false maxItems: 100
The fields used to create the JDBC URL, in the form of a JSON object where parameter name/value pairs are the items in the object. For example: {"address": localhost:5432, "database": "fooBar", "connectTimeout": 10}. In most cases, all keys in jdbcFields should be defined by a schema listed in jdbcFieldSchemas from DriverConfiguration. The request will be rejected if there are required parameters (as defined by jdbcFieldSchemas) that are not provided.
jdbcUrl string false JDBC URL.

JDBCDataStoreUpdate

{
  "driverId": "string",
  "jdbcFields": [
    {
      "name": "string",
      "value": "string"
    }
  ],
  "jdbcUrl": "string"
}

Properties

Name Type Required Restrictions Description
driverId string false Driver ID.
jdbcFields [JDBCFields] false maxItems: 100
The fields used to create the JDBC URL, in the form of a JSON object where parameter name/value pairs are the items in the object. For example: {"address": localhost:5432, "database": "fooBar", "connectTimeout": 10}. In most cases, all keys in jdbcFields should be defined by a schema listed in jdbcFieldSchemas from DriverConfiguration. The request will be rejected if there are required parameters (as defined by jdbcFieldSchemas) that are not provided.
jdbcUrl string false JDBC URL.

JDBCFieldSchemas

{
  "choices": [],
  "default": "string",
  "description": "",
  "index": 0,
  "kind": "ADDRESS",
  "name": "string",
  "required": true,
  "visibleByDefault": true
}

Properties

Name Type Required Restrictions Description
choices [string] true If non-empty, a list of all possible values for this parameter.
default string true Default value of the JDBC parameter.
description string true Description of this parameter.
index integer false Sort order within one kind.
kind string true Use of this parameter in constructing the JDBC URL.
name string true Name of the JDBC parameter.
required boolean true Whether or not the parameter is required for a connection.
visibleByDefault boolean true Whether or not the parameter should be shown in the UI by default.

Enumerated Values

Property Value
kind [ADDRESS, EXTENDED_PATH_PARAM, PATH_PARAM, QUERY_PARAM]

JDBCFields

{
  "name": "string",
  "value": "string"
}

Properties

Name Type Required Restrictions Description
name string true Name of the JDBC parameter.
value string true Value of the JDBC parameter.

JdbcForeignKey

{
  "foreignKey": {
    "catalog": "string",
    "column": "string",
    "schema": "string",
    "table": "string"
  },
  "keyType": "1",
  "name": "string",
  "primaryKey": {
    "catalog": "string",
    "column": "string",
    "schema": "string",
    "table": "string"
  }
}

Properties

Name Type Required Restrictions Description
foreignKey JdbcKeyInfo false Referred foreign key.
keyType string true Type of this key.
name string false Name of this key.
primaryKey JdbcKeyInfo true Referred primary key.

Enumerated Values

Property Value
keyType [1, 2, 3]

JdbcKeyInfo

{
  "catalog": "string",
  "column": "string",
  "schema": "string",
  "table": "string"
}

Properties

Name Type Required Restrictions Description
catalog string true Catalog name.
column string true Column name.
schema string false Schema name.
table string true Table name.

OAuthCredentials

{
  "credentialType": "oauth",
  "oauthAccessToken": null,
  "oauthClientId": null,
  "oauthClientSecret": null,
  "oauthRefreshToken": "string"
}

Properties

Name Type Required Restrictions Description
credentialType string true The type of these credentials, 'oauth' here.
oauthAccessToken string¦null false The oauth access token.
oauthClientId string¦null false The oauth client ID.
oauthClientSecret string¦null false The oauth client secret.
oauthRefreshToken string true The oauth refresh token.

Enumerated Values

Property Value
credentialType oauth

OptionalDRConnectorV1DataSource

{
  "dataStoreId": "string",
  "path": "string"
}

Properties

Name Type Required Restrictions Description
dataStoreId string false Data store ID for this data source.
path string false Path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like /foldername/filename.csv.

OptionalDatabaseQueryDataSource

{
  "dataStoreId": "string",
  "fetchSize": 1,
  "query": "string"
}

Properties

Name Type Required Restrictions Description
dataStoreId string false Data store ID for this data source.
fetchSize integer false maximum: 20000
minimum: 1
User-specified fetch size.
query string false maxLength: 64000
The user-specified SQL query. If this is used, then catalog, schema and table will not be used.

OptionalDatabaseTableDataSource

{
  "catalog": "string",
  "dataStoreId": "string",
  "fetchSize": 1,
  "partitionColumn": "string",
  "schema": "string",
  "table": "string"
}

Properties

Name Type Required Restrictions Description
catalog string false maxLength: 256
Catalog name in the database if supported.
dataStoreId string false Data store ID for this data source.
fetchSize integer false maximum: 20000
minimum: 1
User-specified fetch size.
partitionColumn string false The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.
schema string false maxLength: 256
Schema associated with the table or view in the database if supported.
table string false maxLength: 256
Table or view name in the database.

S3Credentials

{
  "awsAccessKeyId": "string",
  "awsSecretAccessKey": "string",
  "awsSessionToken": null,
  "configId": "string",
  "credentialType": "s3"
}

Properties

Name Type Required Restrictions Description
awsAccessKeyId string false The S3 AWS access key ID. Required if configId is not specified.Cannot include this parameter if configId is specified.
awsSecretAccessKey string false The S3 AWS secret access key. Required if configId is not specified.Cannot include this parameter if configId is specified.
awsSessionToken string¦null false The S3 AWS session token for AWS temporary credentials.Cannot include this parameter if configId is specified.
configId string false ID of Secure configurations of credentials shared by admin.If specified, cannot include awsAccessKeyId, awsSecretAccessKey or awsSessionToken
credentialType string true The type of these credentials, 's3' here.

Enumerated Values

Property Value
credentialType s3

SharedRolesUpdateWithGrant

{
  "operation": "updateRoles",
  "roles": [
    {
      "canShare": true,
      "role": "string",
      "shareRecipientType": "user",
      "username": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
operation string true Name of the action being taken. The only operation is 'updateRoles'.
roles [oneOf] true maxItems: 100
minItems: 1
An array of RoleRequest objects. May contain at most 100 such objects.

oneOf

Name Type Required Restrictions Description
» anonymous GrantAccessControlWithUsernameWithGrant false none

xor

Name Type Required Restrictions Description
» anonymous GrantAccessControlWithIdWithGrant false none

Enumerated Values

Property Value
operation updateRoles

SharedRolesWithGrantListResponse

{
  "count": 0,
  "data": [
    {
      "canShare": true,
      "id": "string",
      "name": "string",
      "role": "ADMIN",
      "shareRecipientType": "user",
      "userFullName": "string"
    }
  ],
  "next": "string",
  "previous": "string",
  "totalCount": 0
}

Properties

Name Type Required Restrictions Description
count integer true The number of items returned.
data [AccessControlWithGrant] true The access control list.
next string¦null true URL pointing to the next page.
previous string¦null true URL pointing to the previous page.
totalCount integer true Total number of items matching the condition.

SharingListResponse

{
  "count": 0,
  "data": [
    {
      "canShare": true,
      "role": "string",
      "userId": "string",
      "username": "string"
    }
  ],
  "next": "string",
  "previous": "string"
}

Properties

Name Type Required Restrictions Description
count integer true The number of items returned.
data [AccessControl] true The access control list.
next string¦null true URL pointing to the next page.
previous string¦null true URL pointing to the previous page.

SharingUpdateOrRemoveWithGrant

{
  "data": [
    {
      "canShare": true,
      "role": "ADMIN",
      "username": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
data [UserRoleWithGrant] true maxItems: 100
List of sharing roles to update.

SnowflakeKeyPairCredentials

{
  "configId": "string",
  "credentialType": "snowflake_key_pair_user_account",
  "passphrase": "string",
  "privateKeyStr": "string",
  "user": "string"
}

Properties

Name Type Required Restrictions Description
configId string false The ID of the saved shared credentials. If specified, cannot include user, privateKeyStr or passphrase.
credentialType string true The type of these credentials, 'snowflake_key_pair_user_account' here.
passphrase string false Optional passphrase to decrypt private key. Cannot include this parameter if configId is specified.
privateKeyStr string false Private key for key pair authentication. Required if configId is not specified. Cannot include this parameter if configId is specified.
user string false Username for this credential. Required if configId is not specified. Cannot include this parameter if configId is specified.

Enumerated Values

Property Value
credentialType snowflake_key_pair_user_account

TableDescription

{
  "catalog": "string",
  "name": "string",
  "schema": "string",
  "type": "TABLE"
}

Properties

Name Type Required Restrictions Description
catalog string false Name of the catalog.
name string true Name of the table.
schema string false Schema of the table.
type string true Type of table.

Enumerated Values

Property Value
type [TABLE, VIEW]

UpdateDriverRequest

{
  "baseNames": [
    "string"
  ],
  "canonicalName": "string",
  "className": "string",
  "configurationId": "string",
  "localJarUrls": [
    "string"
  ],
  "removeConfig": true,
  "skipConfigVerification": true,
  "version": "string"
}

Properties

Name Type Required Restrictions Description
baseNames [string] false Original file name(s) of the uploaded JAR file(s). If there are multiple JAR files required for the driver, each of the original file names should be present in the list in the same order as found in 'localJarUrls'
canonicalName string false User-friendly driver name.
className string¦null false Driver class name. For example 'com.amazon.redshift.jdbc.Driver'
configurationId string¦null false Driver configuration ID if it was provided during driver upload.
localJarUrls [string] false minItems: 1
File path(s) for the driver files.This path is returned in the response as 'local_url' by the driverUpload route.If there are multiple JAR files required for the driver, each uploaded JAR must be present in this list. If specified, values will replace any previous settings.
removeConfig boolean false Pass True to remove configuration currently associated with this driver. Note: must pass canonicalName and className if removing the configuration.
skipConfigVerification boolean false Pass True to skip jdbc_url verification.
version string false Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.

UserRoleWithGrant

{
  "canShare": true,
  "role": "ADMIN",
  "username": "string"
}

Properties

Name Type Required Restrictions Description
canShare boolean false Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If role is NO_ROLE canShare is ignored.
role string¦null true The role to set on the entity. When it is None, the role of this user will be removedfrom this entity.
username string true Username of the user to update the access role for.

Enumerated Values

Property Value
role [ADMIN, CONSUMER, DATA_SCIENTIST, EDITOR, OBSERVER, OWNER, READ_ONLY, READ_WRITE, USER]

Updated March 18, 2024