Skip to content

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 http://10.97.110.93/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 http://10.97.110.93/api/v2/externalDataDrivers/ \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

Example responses

200 Response

{
  "data": [
    {
      "associatedAuthTypes": [
        "snowflakeOauthUserAccount"
      ],
      "baseNames": [
        "string"
      ],
      "canonicalName": "string",
      "className": "string",
      "configurationId": "string",
      "creator": "string",
      "id": "string",
      "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 http://10.97.110.93/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",
  "localJarUrls": [
    "string"
  ],
  "version": "string"
}

Parameters

Name In Type Required Description
body body CreateDriverRequest false none

Example responses

200 Response

{
  "associatedAuthTypes": [
    "snowflakeOauthUserAccount"
  ],
  "baseNames": [
    "string"
  ],
  "canonicalName": "string",
  "className": "string",
  "configurationId": "string",
  "creator": "string",
  "id": "string",
  "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 http://10.97.110.93/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 http://10.97.110.93/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": [
    "snowflakeOauthUserAccount"
  ],
  "baseNames": [
    "string"
  ],
  "canonicalName": "string",
  "className": "string",
  "configurationId": "string",
  "creator": "string",
  "id": "string",
  "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 http://10.97.110.93/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": [
    "snowflakeOauthUserAccount"
  ],
  "baseNames": [
    "string"
  ],
  "canonicalName": "string",
  "className": "string",
  "configurationId": "string",
  "creator": "string",
  "id": "string",
  "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 http://10.97.110.93/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": "QUERY_PARAM",
    "name": "string",
    "required": true,
    "visibleByDefault": true
  },
  "jdbcUrlPathDelimiter": "string",
  "jdbcUrlPrefix": "string",
  "jdbcUrlQueryDelimiter": "string",
  "jdbcUrlQueryParamDelimiter": "string",
  "jdbcUrlQueryParamKeyValueDelimiter": "string",
  "standardizedName": "string",
  "statements": [
    "update"
  ],
  "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 http://10.97.110.93/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 jdbc
type all
type dr-connector-v1

Example responses

200 Response

{
  "data": [
    {
      "canDelete": true,
      "canShare": true,
      "canonicalName": "string",
      "creator": "string",
      "id": "string",
      "params": {
        "catalog": "string",
        "dataStoreId": "string",
        "fetchSize": 1,
        "partitionColumn": "string",
        "schema": "string",
        "table": "string"
      },
      "role": "OWNER",
      "type": "jdbc",
      "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 :http:post:/api/v2/externalDataStores/(dataStoreId)/verifySQL/.

Code samples

# You can also use wget
curl -X POST http://10.97.110.93/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": "jdbc"
}

Parameters

Name In Type Required Description
body body DataSourceCreate false none

Example responses

200 Response

{
  "canonicalName": "string",
  "creator": "string",
  "id": "string",
  "params": {
    "catalog": "string",
    "dataStoreId": "string",
    "fetchSize": 1,
    "partitionColumn": "string",
    "schema": "string",
    "table": "string"
  },
  "role": "OWNER",
  "type": "jdbc",
  "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 http://10.97.110.93/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 http://10.97.110.93/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",
  "id": "string",
  "params": {
    "catalog": "string",
    "dataStoreId": "string",
    "fetchSize": 1,
    "partitionColumn": "string",
    "schema": "string",
    "table": "string"
  },
  "role": "OWNER",
  "type": "jdbc",
  "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 :http:post:/api/v2/externalDataStores/(dataStoreId)/verifySQL/.

Code samples

# You can also use wget
curl -X PATCH http://10.97.110.93/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 http://10.97.110.93/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
400 Bad Request Both username and userId were specified None
404 Not Found Either the data source does not exist or the user does not have permissions to view the data source. 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 http://10.97.110.93/api/v2/externalDataSources/{dataSourceId}/accessControl/ \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {access-token}'

Body parameter

{
  "data": [
    {
      "canShare": true,
      "role": "DATA_SCIENTIST",
      "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 http://10.97.110.93/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 http://10.97.110.93/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
shareRecipientType group
shareRecipientType organization

Example responses

200 Response

{
  "count": 0,
  "data": [
    {
      "canShare": true,
      "id": "string",
      "name": "string",
      "role": "DATA_SCIENTIST",
      "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 http://10.97.110.93/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 http://10.97.110.93/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.
showHidden query string false Specifies whether non-visible OAuth fields are shown.

Enumerated Values

Parameter Value
type jdbc
type dr-connector-v1
type all
showHidden false
showHidden False
showHidden true
showHidden True

Example responses

200 Response

{
  "data": [
    {
      "associatedAuthTypes": [
        "oauth"
      ],
      "canonicalName": "string",
      "creator": "string",
      "id": "string",
      "params": {
        "driverId": "string",
        "jdbcFieldSchemas": [],
        "jdbcFields": [
          {
            "name": "string",
            "value": "string"
          }
        ],
        "jdbcUrl": "string"
      },
      "role": "OWNER",
      "type": "jdbc",
      "updated": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Data stores retrieved successfully. DataStoreListResponse

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 http://10.97.110.93/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": "jdbc"
}

Parameters

Name In Type Required Description
body body DataStoreCreate false none

Example responses

200 Response

{
  "associatedAuthTypes": [
    "oauth"
  ],
  "canonicalName": "string",
  "creator": "string",
  "id": "string",
  "params": {
    "driverId": "string",
    "jdbcFieldSchemas": [],
    "jdbcFields": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "jdbcUrl": "string"
  },
  "role": "OWNER",
  "type": "jdbc",
  "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 http://10.97.110.93/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 http://10.97.110.93/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": [
    "oauth"
  ],
  "canonicalName": "string",
  "creator": "string",
  "id": "string",
  "params": {
    "driverId": "string",
    "jdbcFieldSchemas": [],
    "jdbcFields": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "jdbcUrl": "string"
  },
  "role": "OWNER",
  "type": "jdbc",
  "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 http://10.97.110.93/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": [
    "oauth"
  ],
  "canonicalName": "string",
  "creator": "string",
  "id": "string",
  "params": {
    "driverId": "string",
    "jdbcFieldSchemas": [],
    "jdbcFields": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "jdbcUrl": "string"
  },
  "role": "OWNER",
  "type": "jdbc",
  "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 http://10.97.110.93/api/v2/externalDataStores/{dataStoreId}/accessControl/ \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {access-token}'

Body parameter

{
  "data": [
    {
      "canShare": true,
      "role": "DATA_SCIENTIST",
      "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 http://10.97.110.93/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

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 http://10.97.110.93/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.
dataStoreId path string true ID of the data store.

Example responses

200 Response

{
  "count": 0,
  "data": [
    {
      "creationDate": "2019-08-24T14:15:22Z",
      "credentialId": "string",
      "credentialType": "bearer",
      "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 http://10.97.110.93/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 http://10.97.110.93/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 http://10.97.110.93/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
shareRecipientType group
shareRecipientType organization

Example responses

200 Response

{
  "count": 0,
  "data": [
    {
      "canShare": true,
      "id": "string",
      "name": "string",
      "role": "DATA_SCIENTIST",
      "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
400 Bad Request Both username and userId were specified None
404 Not Found Either the data store does not exist or the user does not have permissions to view the data store. 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 http://10.97.110.93/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 http://10.97.110.93/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": "VIEW"
    }
  ]
}

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 http://10.97.110.93/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 http://10.97.110.93/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 http://10.97.110.93/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 jdbc
type dr-connector-v1
type all
showHidden false
showHidden False
showHidden true
showHidden True

Example responses

200 Response

{
  "count": 0,
  "data": [
    {
      "associatedAuthTypes": [
        "string"
      ],
      "className": "string",
      "creator": "string",
      "id": "string",
      "jdbcFieldSchemas": {
        "choices": [],
        "default": "string",
        "description": "",
        "index": 0,
        "kind": "QUERY_PARAM",
        "name": "string",
        "required": true,
        "visibleByDefault": true
      },
      "jdbcUrlPathDelimiter": "string",
      "jdbcUrlPrefix": "string",
      "jdbcUrlQueryDelimiter": "string",
      "jdbcUrlQueryParamDelimiter": "string",
      "jdbcUrlQueryParamKeyValueDelimiter": "string",
      "standardizedName": "string",
      "statements": [
        "update"
      ],
      "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 http://10.97.110.93/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": "QUERY_PARAM",
    "name": "string",
    "required": true,
    "visibleByDefault": true
  },
  "jdbcUrlPathDelimiter": "string",
  "jdbcUrlPrefix": "string",
  "jdbcUrlQueryDelimiter": "string",
  "jdbcUrlQueryParamDelimiter": "string",
  "jdbcUrlQueryParamKeyValueDelimiter": "string",
  "standardizedName": "string",
  "statements": [
    "update"
  ],
  "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 none Whether the recipient can share the role further.
role string true none The role of the user on this entity.
userId string true none The identifier of the user that has access to this entity.
username string true none The username of the user that has access to the entity.

AccessControlWithGrant

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

Properties

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

Enumerated Values

Property Value
role DATA_SCIENTIST
role ADMIN
role OBSERVER
role EDITOR
role READ_ONLY
role OWNER
role DEMO_OBSERVER
role CONSUMER
role USER
role READ_WRITE
role DEMO_READ_ONLY
shareRecipientType user
shareRecipientType group
shareRecipientType organization

BasicCredentials

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

Properties

Name Type Required Restrictions Description
credentialType string true none The type of these credentials, 'basic' here.
password string true none The password for database authentication. The password is encrypted at rest and never saved / stored.
user string true none 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 none If non-empty, a list of all possible values for a parameter.
default string true none Default value of the connector parameter.
description string true none Description of the parameter.
name string true none Name of the connector parameter.
required boolean true none Whether or not the parameter is required for a connection.
visibleByDefault boolean true none Whether or not the parameter should be shown in the UI by default.

CreateCredentialsResponse

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

Properties

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

Enumerated Values

Property Value
credentialType bearer
credentialType oauth
credentialType tableau_oauth_user_account
credentialType adls_gen2_oauth
credentialType snowflake_oauth_user_account
credentialType gcp
credentialType basic
credentialType s3
credentialType rsa
credentialType azure

CreateDriverRequest

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

Properties

Name Type Required Restrictions Description
baseNames [string] true none 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 none User-friendly driver name.
className string false none Driver class name. For example 'com.amazon.redshift.jdbc.Driver')
configurationId string¦null false none Driver configuration ID if it was provided during driver upload.
localJarUrls [string] true none 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.
version string false none Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.

CredentialsListResponse

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

Properties

Name Type Required Restrictions Description
count integer false none Number of items returned on this page.
data [CreateCredentialsResponse] true none List of credentials.
next string(uri)¦null true none URL pointing to the next page (if null, there is no next page).
previous string(uri)¦null true none URL pointing to the previous page (if null, there is no previous page).
totalCount integer true none 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 none ID of the connector.
fields [DRConnectorV1Field] true none Connector fields.

DRConnectorV1DataSource

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

Properties

Name Type Required Restrictions Description
dataStoreId string true none Data store ID for this data source.
path string true none 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 none ID of the connector.
fieldSchemas [ConnectorFieldSchema] false none Connector field schemas.
fields [DRConnectorV1Field] true none Connector fields.

DRConnectorV1Field

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

Properties

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

DRConnectorV1Update

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

Properties

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

DataSourceCreate

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

Properties

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

oneOf

Name Type Required Restrictions Description
» anonymous JDBCTableDataSource false none none

xor

Name Type Required Restrictions Description
» anonymous JDBCQueryDataSource false none none

xor

Name Type Required Restrictions Description
» anonymous DRConnectorV1DataSource false none none

continued

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

Enumerated Values

Property Value
type jdbc
type dr-connector-v1

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 none True if the user can create predictions from the data source.
canCreateProject boolean true none True if the user can create project from the data source.
canDelete boolean true none True if the user can delete the data source.
canEdit boolean true none True if the user can edit data source info.
canSetRoles [string] true none Roles the user can grant or revoke from other users, groups, or organizations.
canShare boolean true none True if the user can share the data source.
canView boolean true none True if the user can view data source info.
dataSourceId string true none The ID of the data source.
userId string true none The ID of the user identified by username.
username string true none username of a user with access to this data source.

DataSourceInList

{
  "canDelete": true,
  "canShare": true,
  "canonicalName": "string",
  "creator": "string",
  "id": "string",
  "params": {
    "catalog": "string",
    "dataStoreId": "string",
    "fetchSize": 1,
    "partitionColumn": "string",
    "schema": "string",
    "table": "string"
  },
  "role": "OWNER",
  "type": "jdbc",
  "updated": "string"
}

Properties

Name Type Required Restrictions Description
canDelete boolean true none True if the user can delete the data source.
canShare boolean true none True if the user can share the data source.
canonicalName string true none Data source canonical name.
creator string true none ID of the user who created the data source.
id string true none Data source ID.
params any true none Data source configuration.

oneOf

Name Type Required Restrictions Description
» anonymous JDBCTableDataSource false none none

xor

Name Type Required Restrictions Description
» anonymous JDBCQueryDataSource false none none

xor

Name Type Required Restrictions Description
» anonymous DRConnectorV1DataSource false none none

continued

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

Enumerated Values

Property Value
role OWNER
role CONSUMER
role EDITOR
type jdbc
type dr-connector-v1

DataSourceListResponse

{
  "data": [
    {
      "canDelete": true,
      "canShare": true,
      "canonicalName": "string",
      "creator": "string",
      "id": "string",
      "params": {
        "catalog": "string",
        "dataStoreId": "string",
        "fetchSize": 1,
        "partitionColumn": "string",
        "schema": "string",
        "table": "string"
      },
      "role": "OWNER",
      "type": "jdbc",
      "updated": "string"
    }
  ]
}

Properties

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

DataSourceRetrieveResponse

{
  "canonicalName": "string",
  "creator": "string",
  "id": "string",
  "params": {
    "catalog": "string",
    "dataStoreId": "string",
    "fetchSize": 1,
    "partitionColumn": "string",
    "schema": "string",
    "table": "string"
  },
  "role": "OWNER",
  "type": "jdbc",
  "updated": "string"
}

Properties

Name Type Required Restrictions Description
canonicalName string true none Data source canonical name.
creator string true none ID of the user who created the data source.
id string true none Data source ID.
params any true none Data source configuration.

oneOf

Name Type Required Restrictions Description
» anonymous JDBCTableDataSource false none none

xor

Name Type Required Restrictions Description
» anonymous JDBCQueryDataSource false none none

xor

Name Type Required Restrictions Description
» anonymous DRConnectorV1DataSource false none none

continued

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

Enumerated Values

Property Value
role OWNER
role CONSUMER
role EDITOR
type jdbc
type dr-connector-v1

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 none Data source canonical name.
params any false none Data source configuration.

oneOf

Name Type Required Restrictions Description
» anonymous OptionalJDBCTableDataSource false none none

xor

Name Type Required Restrictions Description
» anonymous OptionalJDBCQueryDataSource false none none

xor

Name Type Required Restrictions Description
» anonymous OptionalDRConnectorV1DataSource false none none

DataStoreColumnResponse

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

Properties

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

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 none Name of specified database catalog.
credentialId string false none Id of credential mapping.
password string false none Password for the db connection.
query string false none Schema query.
schema string false none Schema name.
table string false none Table name.
user string false none Username for the db connection.

DataStoreColumnsListResponse

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

Properties

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

DataStoreCreate

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

Properties

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

oneOf

Name Type Required Restrictions Description
» anonymous JDBCDataStoreCreate false none none

xor

Name Type Required Restrictions Description
» anonymous DRConnectorV1Create false none none

continued

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

Enumerated Values

Property Value
type jdbc
type dr-connector-v1

DataStoreCredentials

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

Properties

Name Type Required Restrictions Description
credentialId string false none ID of the set of credentials to use instead of username and password.
password string false none Password for data store authentication.
useKerberos boolean false none Whether to use Kerberos for data store authentication.
user string false none 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 none Type of credentials to use with the data store.

oneOf

Name Type Required Restrictions Description
» anonymous BasicCredentials false none none

xor

Name Type Required Restrictions Description
» anonymous S3Credentials false none none

xor

Name Type Required Restrictions Description
» anonymous OAuthCredentials false none none

continued

Name Type Required Restrictions Description
credentialId string false none ID of the set of credentials to use instead of username and password.
password string false none Password for data store authentication.
useKerberos boolean false none Whether to use Kerberos for data store authentication.
user string false none 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 none True if the user can create data source from this data store.
canDelete boolean true none True if the user can delete the data store.
canEdit boolean true none True if the user can edit data store info.
canScanDatabase boolean true none True if the user can scan data store database.
canSetRoles [string] true none Roles the user can grant or revoke from other users, groups, or organizations.
canShare boolean true none True if the user can share the data store.
canTestConnection boolean true none True if the user can test data store database connection.
canView boolean true none True if the user can view data store info.
dataStoreId string true none The ID of the data store.
userId string true none The ID of the user identified by username.
username string true none username of a user with access to this data store.

DataStoreListResponse

{
  "data": [
    {
      "associatedAuthTypes": [
        "oauth"
      ],
      "canonicalName": "string",
      "creator": "string",
      "id": "string",
      "params": {
        "driverId": "string",
        "jdbcFieldSchemas": [],
        "jdbcFields": [
          {
            "name": "string",
            "value": "string"
          }
        ],
        "jdbcUrl": "string"
      },
      "role": "OWNER",
      "type": "jdbc",
      "updated": "string"
    }
  ]
}

Properties

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

DataStoreRetrieveResponse

{
  "associatedAuthTypes": [
    "oauth"
  ],
  "canonicalName": "string",
  "creator": "string",
  "id": "string",
  "params": {
    "driverId": "string",
    "jdbcFieldSchemas": [],
    "jdbcFields": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "jdbcUrl": "string"
  },
  "role": "OWNER",
  "type": "jdbc",
  "updated": "string"
}

Properties

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

oneOf

Name Type Required Restrictions Description
» anonymous JDBCDataStoreDetails false none none

xor

Name Type Required Restrictions Description
» anonymous DRConnectorV1Details false none none

continued

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

Enumerated Values

Property Value
role OWNER
role CONSUMER
role EDITOR
type jdbc
type dr-connector-v1

DataStoreSQLVerify

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

Properties

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

DataStoreSQLVerifyResponse

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

Properties

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

DataStoreSchemasList

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

Properties

Name Type Required Restrictions Description
catalog string true none 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 none List of catalogs associated with each retrieved schema. If no catalog is found, this value is null.
schemas [string] true none 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 none Only show tables in this catalog.
credentialId string false none ID of the set of credentials to use instead of username and password.
password string false none Password for data store authentication.
schema string false none Only show tables in this schema.
useKerberos boolean false none Whether to use Kerberos for data store authentication.
user string false none Username for data store authentication.

DataStoreTablesList

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

Properties

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

DataStoreTestResponse

{
  "message": "string"
}

Properties

Name Type Required Restrictions Description
message string true none 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 none The user-friendly name of the data store.
params any false none Data store configuration.

oneOf

Name Type Required Restrictions Description
» anonymous JDBCDataStoreUpdate false none none

xor

Name Type Required Restrictions Description
» anonymous DRConnectorV1Update false none none

DriverConfigurationListResponse

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

Properties

Name Type Required Restrictions Description
count integer false none Number of items returned on this page.
data [DriverConfigurationRetrieveResponse] true none List of driver configurations available to the user.
next string(uri)¦null true none URL pointing to the next page (if null, there is no next page).
previous string(uri)¦null true none URL pointing to the previous page (if null, there is no previous page).
totalCount integer true none 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": "QUERY_PARAM",
    "name": "string",
    "required": true,
    "visibleByDefault": true
  },
  "jdbcUrlPathDelimiter": "string",
  "jdbcUrlPrefix": "string",
  "jdbcUrlQueryDelimiter": "string",
  "jdbcUrlQueryParamDelimiter": "string",
  "jdbcUrlQueryParamKeyValueDelimiter": "string",
  "standardizedName": "string",
  "statements": [
    "update"
  ],
  "updated": "string"
}

Properties

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

DriverListResponse

{
  "data": [
    {
      "associatedAuthTypes": [
        "snowflakeOauthUserAccount"
      ],
      "baseNames": [
        "string"
      ],
      "canonicalName": "string",
      "className": "string",
      "configurationId": "string",
      "creator": "string",
      "id": "string",
      "version": "string"
    }
  ]
}

Properties

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

DriverResponse

{
  "associatedAuthTypes": [
    "snowflakeOauthUserAccount"
  ],
  "baseNames": [
    "string"
  ],
  "canonicalName": "string",
  "className": "string",
  "configurationId": "string",
  "creator": "string",
  "id": "string",
  "version": "string"
}

Properties

Name Type Required Restrictions Description
associatedAuthTypes [string] false none Authentication types associated with this connector configuration.
baseNames [string] false none 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 none User-friendly driver name.
className string false none Driver class name. For example 'com.amazon.redshift.jdbc.Driver')
configurationId string¦null false none Driver configuration ID if it was provided during driver upload.
creator string true none ID of the user who uploaded the driver.
id string true none Driver ID.
version string false none Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.

DriverUploadRequest

{
  "file": "string"
}

Properties

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

DriverUploadResponse

{
  "localUrl": "string"
}

Properties

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

GrantAccessControlWithIdWithGrant

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

Properties

Name Type Required Restrictions Description
canShare boolean false none 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 none The ID of the recipient.
role string true none The role of the recipient on this entity. One of OWNER, USER, OBSERVER.
shareRecipientType string true none Describes the recipient type, either user, group, or organization.

Enumerated Values

Property Value
shareRecipientType user
shareRecipientType group
shareRecipientType organization

GrantAccessControlWithUsernameWithGrant

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

Properties

Name Type Required Restrictions Description
canShare boolean false none 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 none The role of the recipient on this entity. One of OWNER, USER, OBSERVER.
shareRecipientType string true none Describes the recipient type, either user, group, or organization.
username string true none Username of the user to update the access role for.

Enumerated Values

Property Value
shareRecipientType user
shareRecipientType group
shareRecipientType organization

JDBCDataStoreCreate

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

Properties

Name Type Required Restrictions Description
driverId string true none Driver ID.
jdbcFields [JDBCFields] false none 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 none JDBC URL.

JDBCDataStoreDetails

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

Properties

Name Type Required Restrictions Description
driverId string true none Driver ID.
jdbcFieldSchemas [JDBCFieldSchemas] false none Fields to show when creating a data store, their defaults, whether or not they are required, and more.
jdbcFields [JDBCFields] false none 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 none JDBC URL.

JDBCDataStoreUpdate

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

Properties

Name Type Required Restrictions Description
driverId string false none Driver ID.
jdbcFields [JDBCFields] false none 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 none JDBC URL.

JDBCFieldSchemas

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

Properties

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

Enumerated Values

Property Value
kind QUERY_PARAM
kind ADDRESS
kind PATH_PARAM
kind EXTENDED_PATH_PARAM

JDBCFields

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

Properties

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

JDBCQueryDataSource

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

Properties

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

JDBCTableDataSource

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

Properties

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

OAuthCredentials

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

Properties

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

Enumerated Values

Property Value
credentialType oauth

OptionalDRConnectorV1DataSource

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

Properties

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

OptionalJDBCQueryDataSource

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

Properties

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

OptionalJDBCTableDataSource

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

Properties

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

S3Credentials

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

Properties

Name Type Required Restrictions Description
awsAccessKeyId string¦null false none The S3 AWS access key ID.
awsSecretAccessKey string¦null false none The S3 AWS secret access key.
awsSessionToken string¦null false none The S3 AWS session token.
credentialType string true none 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 none Name of the action being taken. The only operation is 'updateRoles'.
roles [oneOf] true none An array of RoleRequest objects. May contain at most 100 such objects.

oneOf

Name Type Required Restrictions Description
» anonymous GrantAccessControlWithUsernameWithGrant false none none

xor

Name Type Required Restrictions Description
» anonymous GrantAccessControlWithIdWithGrant false none none

Enumerated Values

Property Value
operation updateRoles

SharedRolesWithGrantListResponse

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

Properties

Name Type Required Restrictions Description
count integer true none The number of items returned.
data [AccessControlWithGrant] true none The access control list.
next string¦null true none URL pointing to the next page.
previous string¦null true none URL pointing to the previous page.
totalCount integer true none 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 none The number of items returned.
data [AccessControl] true none The access control list.
next string¦null true none URL pointing to the next page.
previous string¦null true none URL pointing to the previous page.

SharingUpdateOrRemoveWithGrant

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

Properties

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

TableDescription

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

Properties

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

Enumerated Values

Property Value
type VIEW
type TABLE

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 none 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 none User-friendly driver name.
className string false none Driver class name. For example 'com.amazon.redshift.jdbc.Driver')
configurationId string¦null false none Driver configuration ID if it was provided during driver upload.
localJarUrls [string] false none 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 none Pass True to remove configuration currently associated with this driver. Note: must pass canonicalName and className if removing the configuration.
skipConfigVerification boolean false none Pass True to skip jdbc_url verification.
version string false none Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.

UserRoleWithGrant

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

Properties

Name Type Required Restrictions Description
canShare boolean false none 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 none The role to set on the entity. When it is None, the role of this user will be removedfrom this entity.
username string true none Username of the user to update the access role for.

Enumerated Values

Property Value
role DATA_SCIENTIST
role ADMIN
role OBSERVER
role EDITOR
role READ_ONLY
role OWNER
role DEMO_OBSERVER
role CONSUMER
role USER
role READ_WRITE
role DEMO_READ_ONLY

Updated June 28, 2022
Back to top