Data connectivity
This page outlines how to integrate with a variety of enterprise databases, using a 'self-service' JDBC platform.
List all ACL management connections
Operation path: GET /api/v2/aclConnections/
Authentication requirements: BearerAuth
A list of all ACL management connections for the user organization.
Parameters
| Name |
In |
Type |
Required |
Description |
| offset |
query |
integer |
false |
The number of results to skip. |
| limit |
query |
integer |
false |
At most this many results are returned. The default may change without notice. |
Example responses
200 Response
{
"properties": {
"count": {
"description": "The number of items returned on this page.",
"type": "integer",
"x-versionadded": "v2.43"
},
"data": {
"description": "The list of ACL management connections for the user organization.",
"items": {
"properties": {
"adminEmail": {
"default": null,
"description": "The user to impersonate for the admin-level operations. Currently only applicable to Google Drive.",
"type": [
"string",
"null"
]
},
"dataStoreId": {
"description": "The ACL management connection ID.",
"type": "string"
},
"domain": {
"default": null,
"description": "The custom domain for the connection. Currently only applicable to SharePoint.",
"type": [
"string",
"null"
]
},
"externalConnectorType": {
"description": "The data provider being configured.",
"enum": [
"gdrive",
"sharepoint"
],
"type": "string"
}
},
"required": [
"dataStoreId",
"externalConnectorType"
],
"type": "object",
"x-versionadded": "v2.43"
},
"maxItems": 100,
"type": "array"
},
"next": {
"description": "The URL of the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
],
"x-versionadded": "v2.43"
},
"previous": {
"description": "The URL of the previous page (if null, there is no previous page).",
"format": "uri",
"type": [
"string",
"null"
],
"x-versionadded": "v2.43"
},
"totalCount": {
"description": "The total number of items across all pages.",
"type": "integer",
"x-versionadded": "v2.43"
}
},
"required": [
"data",
"next",
"previous",
"totalCount"
],
"type": "object",
"x-versionadded": "v2.43"
}
Responses
Define the connection as ACL management
Operation path: PUT /api/v2/aclConnections/
Authentication requirements: BearerAuth
Create or update the ACL management connection. Default credentials must be defined for the data store in advance.
Body parameter
{
"properties": {
"adminEmail": {
"default": null,
"description": "The user to impersonate for the admin-level operations. Currently only applicable to Google Drive.",
"type": [
"string",
"null"
]
},
"dataStoreId": {
"description": "The ACL management connection ID.",
"type": "string"
},
"domain": {
"default": null,
"description": "The custom domain for the connection. Currently only applicable to SharePoint.",
"type": [
"string",
"null"
]
}
},
"required": [
"dataStoreId"
],
"type": "object",
"x-versionadded": "v2.43"
}
Parameters
Example responses
200 Response
{
"properties": {
"adminEmail": {
"default": null,
"description": "The user to impersonate for the admin-level operations. Currently only applicable to Google Drive.",
"type": [
"string",
"null"
]
},
"dataStoreId": {
"description": "The ACL management connection ID.",
"type": "string"
},
"domain": {
"default": null,
"description": "The custom domain for the connection. Currently only applicable to SharePoint.",
"type": [
"string",
"null"
]
},
"externalConnectorType": {
"description": "The data provider being configured.",
"enum": [
"gdrive",
"sharepoint"
],
"type": "string"
}
},
"required": [
"dataStoreId",
"externalConnectorType"
],
"type": "object",
"x-versionadded": "v2.43"
}
Responses
Deactivate ACL management by data store ID
Operation path: DELETE /api/v2/aclConnections/{dataStoreId}/
Authentication requirements: BearerAuth
Parameters
| Name |
In |
Type |
Required |
Description |
| dataStoreId |
path |
string |
true |
The ACL management connection ID. |
Responses
| Status |
Meaning |
Description |
Schema |
| 204 |
No Content |
none |
None |
Create a data stage
Operation path: POST /api/v2/dataStages/
Authentication requirements: BearerAuth
Create a data stage.
Body parameter
{
"properties": {
"filename": {
"description": "The filename associated with the stage.",
"type": "string"
}
},
"required": [
"filename"
],
"type": "object",
"x-versionadded": "v2.35"
}
Parameters
Example responses
201 Response
{
"properties": {
"id": {
"description": "The ID of the data stage object.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object",
"x-versionadded": "v2.35"
}
Responses
Finalize a data stage by data stage ID
Operation path: POST /api/v2/dataStages/{dataStageId}/finalize/
Authentication requirements: BearerAuth
Finalize a data stage.
Parameters
| Name |
In |
Type |
Required |
Description |
| dataStageId |
path |
string |
true |
The ID of the data stage. |
Example responses
200 Response
{
"properties": {
"parts": {
"description": "The size of the part.",
"items": {
"properties": {
"checksum": {
"description": "The checksum of the part.",
"type": "string"
},
"number": {
"description": "The number of the part.",
"type": "integer"
},
"size": {
"description": "The size of the part.",
"type": "integer"
}
},
"required": [
"checksum",
"number",
"size"
],
"type": "object",
"x-versionadded": "v2.35"
},
"maxItems": 1000,
"minItems": 1,
"type": "array"
}
},
"required": [
"parts"
],
"type": "object",
"x-versionadded": "v2.35"
}
Responses
Upload a part by data stage ID
Operation path: PUT /api/v2/dataStages/{dataStageId}/parts/{partNumber}/
Authentication requirements: BearerAuth
Upload a part to the data stage.
Body parameter
{
"properties": {
"file": {
"description": "The part file to upload to the data stage.",
"format": "binary",
"type": "string"
}
},
"required": [
"file"
],
"type": "object",
"x-versionadded": "v2.35"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| dataStageId |
path |
string |
true |
The ID of the data stage. |
| partNumber |
path |
integer |
true |
The part number associated with the part. |
| body |
body |
PartUploadRequest |
false |
none |
Example responses
200 Response
{
"properties": {
"checksum": {
"description": "The checksum of the part.",
"type": "string"
},
"size": {
"description": "The size of the part.",
"type": "integer"
}
},
"required": [
"checksum",
"size"
],
"type": "object",
"x-versionadded": "v2.35"
}
Responses
Upload JDBC driver
Operation path: POST /api/v2/externalDataDriverFile/
Authentication requirements: BearerAuth
Upload JDBC driver from file. Only Java archive (.jar) files are supported.
Body parameter
{
"properties": {
"file": {
"description": "JDBC driver JAR file to upload.",
"format": "binary",
"type": "string"
}
},
"required": [
"file"
],
"type": "object"
}
Parameters
Example responses
200 Response
{
"properties": {
"localUrl": {
"description": "URL of uploaded driver file.",
"type": "string"
}
},
"required": [
"localUrl"
],
"type": "object"
}
Responses
List drivers
Operation path: GET /api/v2/externalDataDrivers/
Authentication requirements: BearerAuth
Fetch all drivers a user has access to.
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
{
"properties": {
"data": {
"description": "The list of drivers.",
"items": {
"properties": {
"associatedAuthTypes": {
"description": "Authentication types associated with this connector configuration.",
"items": {
"enum": [
"basic",
"googleOauthUserAccount",
"snowflakeKeyPairUserAccount",
"snowflakeOauthUserAccount"
],
"type": "string"
},
"type": "array"
},
"baseNames": {
"description": "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'",
"items": {
"description": "Original file name of the uploaded JAR file.",
"type": "string"
},
"type": "array"
},
"canonicalName": {
"description": "User-friendly driver name.",
"type": "string"
},
"className": {
"description": "Driver class name. For example 'com.amazon.redshift.jdbc.Driver'",
"type": [
"string",
"null"
]
},
"configurationId": {
"description": "Driver configuration ID if it was provided during driver upload.",
"type": [
"string",
"null"
],
"x-versionadded": "v2.18"
},
"creator": {
"description": "The ID of the user who uploaded the driver.",
"type": "string"
},
"databaseDriver": {
"description": "The type of database of the driver. Only required of 'dr-database-v1' drivers.",
"enum": [
"bigquery-v1",
"databricks-v1",
"datasphere-v1",
"trino-v1"
],
"type": [
"string",
"null"
],
"x-versionadded": "v2.30"
},
"id": {
"description": "Driver ID.",
"type": "string"
},
"type": {
"default": "jdbc",
"description": "Driver type. Either 'jdbc' or 'dr-database-v1'.",
"enum": [
"dr-database-v1",
"jdbc"
],
"type": "string",
"x-versionadded": "v2.30"
},
"version": {
"description": "Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.",
"type": "string",
"x-versionadded": "v2.18"
}
},
"required": [
"creator",
"id"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"data"
],
"type": "object"
}
Responses
Create a new JDBC driver
Operation path: POST /api/v2/externalDataDrivers/
Authentication requirements: BearerAuth
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.
Body parameter
{
"properties": {
"baseNames": {
"description": "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'",
"items": {
"description": "Original file name of the uploaded JAR file.",
"type": "string"
},
"type": "array"
},
"canonicalName": {
"description": "User-friendly driver name.",
"type": "string"
},
"className": {
"description": "Driver class name. For example 'com.amazon.redshift.jdbc.Driver'",
"type": [
"string",
"null"
]
},
"configurationId": {
"description": "Driver configuration ID if it was provided during driver upload.",
"type": [
"string",
"null"
],
"x-versionadded": "v2.18"
},
"databaseDriver": {
"description": "The type of database of the driver. Only required of 'dr-database-v1' drivers.",
"enum": [
"bigquery-v1",
"databricks-v1",
"datasphere-v1",
"trino-v1"
],
"type": [
"string",
"null"
],
"x-versionadded": "v2.30"
},
"localJarUrls": {
"description": "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.",
"items": {
"description": "File path for the driver file. This path is returned by the driverUpload route in the 'local_url' response.",
"type": "string"
},
"minItems": 1,
"type": "array"
},
"type": {
"default": "jdbc",
"description": "Driver type. Either 'jdbc' or 'dr-database-v1'.",
"enum": [
"dr-database-v1",
"jdbc"
],
"type": "string",
"x-versionadded": "v2.30"
},
"version": {
"description": "Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.",
"type": "string",
"x-versionadded": "v2.18"
}
},
"type": "object"
}
Parameters
Example responses
200 Response
{
"properties": {
"associatedAuthTypes": {
"description": "Authentication types associated with this connector configuration.",
"items": {
"enum": [
"basic",
"googleOauthUserAccount",
"snowflakeKeyPairUserAccount",
"snowflakeOauthUserAccount"
],
"type": "string"
},
"type": "array"
},
"baseNames": {
"description": "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'",
"items": {
"description": "Original file name of the uploaded JAR file.",
"type": "string"
},
"type": "array"
},
"canonicalName": {
"description": "User-friendly driver name.",
"type": "string"
},
"className": {
"description": "Driver class name. For example 'com.amazon.redshift.jdbc.Driver'",
"type": [
"string",
"null"
]
},
"configurationId": {
"description": "Driver configuration ID if it was provided during driver upload.",
"type": [
"string",
"null"
],
"x-versionadded": "v2.18"
},
"creator": {
"description": "The ID of the user who uploaded the driver.",
"type": "string"
},
"databaseDriver": {
"description": "The type of database of the driver. Only required of 'dr-database-v1' drivers.",
"enum": [
"bigquery-v1",
"databricks-v1",
"datasphere-v1",
"trino-v1"
],
"type": [
"string",
"null"
],
"x-versionadded": "v2.30"
},
"id": {
"description": "Driver ID.",
"type": "string"
},
"type": {
"default": "jdbc",
"description": "Driver type. Either 'jdbc' or 'dr-database-v1'.",
"enum": [
"dr-database-v1",
"jdbc"
],
"type": "string",
"x-versionadded": "v2.30"
},
"version": {
"description": "Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.",
"type": "string",
"x-versionadded": "v2.18"
}
},
"required": [
"creator",
"id"
],
"type": "object"
}
Responses
| Status |
Meaning |
Description |
Schema |
| 200 |
OK |
Details about new driver entity. |
DriverResponse |
Delete the driver by driver ID
Operation path: DELETE /api/v2/externalDataDrivers/{driverId}/
Authentication requirements: BearerAuth
Delete the driver with given ID if it is not used by any data store or data source.
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 |
Retrieve driver details by driver ID
Operation path: GET /api/v2/externalDataDrivers/{driverId}/
Authentication requirements: BearerAuth
Retrieve driver details by ID.
Parameters
| Name |
In |
Type |
Required |
Description |
| driverId |
path |
string |
true |
Driver ID. |
Example responses
200 Response
{
"properties": {
"associatedAuthTypes": {
"description": "Authentication types associated with this connector configuration.",
"items": {
"enum": [
"basic",
"googleOauthUserAccount",
"snowflakeKeyPairUserAccount",
"snowflakeOauthUserAccount"
],
"type": "string"
},
"type": "array"
},
"baseNames": {
"description": "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'",
"items": {
"description": "Original file name of the uploaded JAR file.",
"type": "string"
},
"type": "array"
},
"canonicalName": {
"description": "User-friendly driver name.",
"type": "string"
},
"className": {
"description": "Driver class name. For example 'com.amazon.redshift.jdbc.Driver'",
"type": [
"string",
"null"
]
},
"configurationId": {
"description": "Driver configuration ID if it was provided during driver upload.",
"type": [
"string",
"null"
],
"x-versionadded": "v2.18"
},
"creator": {
"description": "The ID of the user who uploaded the driver.",
"type": "string"
},
"databaseDriver": {
"description": "The type of database of the driver. Only required of 'dr-database-v1' drivers.",
"enum": [
"bigquery-v1",
"databricks-v1",
"datasphere-v1",
"trino-v1"
],
"type": [
"string",
"null"
],
"x-versionadded": "v2.30"
},
"id": {
"description": "Driver ID.",
"type": "string"
},
"type": {
"default": "jdbc",
"description": "Driver type. Either 'jdbc' or 'dr-database-v1'.",
"enum": [
"dr-database-v1",
"jdbc"
],
"type": "string",
"x-versionadded": "v2.30"
},
"version": {
"description": "Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.",
"type": "string",
"x-versionadded": "v2.18"
}
},
"required": [
"creator",
"id"
],
"type": "object"
}
Responses
| Status |
Meaning |
Description |
Schema |
| 200 |
OK |
Driver details retrieved successfully. |
DriverResponse |
Update properties of an existing JDBC Driver by driver ID
Operation path: PATCH /api/v2/externalDataDrivers/{driverId}/
Authentication requirements: BearerAuth
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.
Body parameter
{
"properties": {
"baseNames": {
"description": "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'",
"items": {
"description": "Original file name of the uploaded JAR file.",
"type": "string"
},
"type": "array"
},
"canonicalName": {
"description": "User-friendly driver name.",
"type": "string"
},
"className": {
"description": "Driver class name. For example 'com.amazon.redshift.jdbc.Driver'",
"type": [
"string",
"null"
]
},
"configurationId": {
"description": "Driver configuration ID if it was provided during driver upload.",
"type": [
"string",
"null"
],
"x-versionadded": "v2.18"
},
"localJarUrls": {
"description": "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.",
"items": {
"description": "File path for the driver file. This path is returned by the driverUpload route in the 'local_url' response.",
"type": "string"
},
"minItems": 1,
"type": "array"
},
"removeConfig": {
"description": "Pass `True` to remove configuration currently associated with this driver. Note: must pass `canonicalName` and `className` if removing the configuration.",
"type": "boolean",
"x-versionadded": "v2.18"
},
"skipConfigVerification": {
"description": "Pass `True` to skip `jdbc_url` verification.",
"type": "boolean",
"x-versionadded": "v2.18"
},
"version": {
"description": "Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.",
"type": "string",
"x-versionadded": "v2.18"
}
},
"type": "object"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| driverId |
path |
string |
true |
Driver ID. |
| body |
body |
UpdateDriverRequest |
false |
none |
Example responses
200 Response
{
"properties": {
"associatedAuthTypes": {
"description": "Authentication types associated with this connector configuration.",
"items": {
"enum": [
"basic",
"googleOauthUserAccount",
"snowflakeKeyPairUserAccount",
"snowflakeOauthUserAccount"
],
"type": "string"
},
"type": "array"
},
"baseNames": {
"description": "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'",
"items": {
"description": "Original file name of the uploaded JAR file.",
"type": "string"
},
"type": "array"
},
"canonicalName": {
"description": "User-friendly driver name.",
"type": "string"
},
"className": {
"description": "Driver class name. For example 'com.amazon.redshift.jdbc.Driver'",
"type": [
"string",
"null"
]
},
"configurationId": {
"description": "Driver configuration ID if it was provided during driver upload.",
"type": [
"string",
"null"
],
"x-versionadded": "v2.18"
},
"creator": {
"description": "The ID of the user who uploaded the driver.",
"type": "string"
},
"databaseDriver": {
"description": "The type of database of the driver. Only required of 'dr-database-v1' drivers.",
"enum": [
"bigquery-v1",
"databricks-v1",
"datasphere-v1",
"trino-v1"
],
"type": [
"string",
"null"
],
"x-versionadded": "v2.30"
},
"id": {
"description": "Driver ID.",
"type": "string"
},
"type": {
"default": "jdbc",
"description": "Driver type. Either 'jdbc' or 'dr-database-v1'.",
"enum": [
"dr-database-v1",
"jdbc"
],
"type": "string",
"x-versionadded": "v2.30"
},
"version": {
"description": "Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.",
"type": "string",
"x-versionadded": "v2.18"
}
},
"required": [
"creator",
"id"
],
"type": "object"
}
Responses
| Status |
Meaning |
Description |
Schema |
| 200 |
OK |
Driver properties updated successfully. |
DriverResponse |
Driver configuration details by driver ID
Operation path: GET /api/v2/externalDataDrivers/{driverId}/configuration/
Authentication requirements: BearerAuth
Retrieve the driver configuration with the specified ID.
Parameters
| Name |
In |
Type |
Required |
Description |
| driverId |
path |
string |
true |
Driver ID. |
Example responses
200 Response
{
"properties": {
"associatedAuthTypes": {
"description": "The list of authentication types supported by this driver configuration.",
"items": {
"type": "string"
},
"type": "array"
},
"className": {
"description": "Java class name of the driver to be used (e.g., org.postgresql.Driver).",
"type": "string"
},
"creator": {
"description": "The user ID of the creator of this configuration.",
"type": "string"
},
"id": {
"description": "The driver configuration ID.",
"type": "string"
},
"jdbcFieldSchemas": {
"description": "Description of which fields to show when creating a datastore, their defaults, and whether or not they are required.",
"items": {
"properties": {
"choices": {
"default": [],
"description": "If non-empty, a list of all possible values for this parameter.",
"items": {
"description": "Possible value for this parameter.",
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the JDBC parameter.",
"type": "string"
},
"description": {
"default": "",
"description": "Description of this parameter.",
"type": "string"
},
"index": {
"description": "Sort order within one `kind`.",
"type": "integer"
},
"kind": {
"description": "Use of this parameter in constructing the JDBC URL.",
"enum": [
"ADDRESS",
"EXTENDED_PATH_PARAM",
"PATH_PARAM",
"QUERY_PARAM"
],
"type": "string"
},
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"kind",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"type": "array"
},
"jdbcUrlPathDelimiter": {
"description": "Separator of address from path in the JDBC URL (e.g., \"/\").",
"type": "string"
},
"jdbcUrlPrefix": {
"description": "Prefix of the JDBC URL (e.g., \"jdbc:mssql://\" or \"jdbc:oracle:thin:@\").",
"type": "string"
},
"jdbcUrlQueryDelimiter": {
"description": "Separator of path from the list of query parameters in the JDBC URL (e.g., \"?\").",
"type": "string"
},
"jdbcUrlQueryParamDelimiter": {
"description": "Separator of each set of query parameter key-value pairs in the JDBC URL (e.g., \"&\").",
"type": "string"
},
"jdbcUrlQueryParamKeyValueDelimiter": {
"description": "Separator of the key and value in a query parameter pair (e.g., \"=\").",
"type": "string"
},
"standardizedName": {
"description": "The plain text name for the driver (e.g., PostgreSQL).",
"type": "string"
},
"statements": {
"description": "List of supported statments for this driver configuration.",
"items": {
"enum": [
"insert",
"update",
"upsert"
],
"type": "string"
},
"type": "array"
},
"updated": {
"description": "ISO-8601 formatted time/date when this configuration was most recently updated.",
"type": "string"
}
},
"required": [
"associatedAuthTypes",
"className",
"creator",
"id",
"jdbcFieldSchemas",
"jdbcUrlPathDelimiter",
"jdbcUrlPrefix",
"jdbcUrlQueryDelimiter",
"jdbcUrlQueryParamDelimiter",
"jdbcUrlQueryParamKeyValueDelimiter",
"standardizedName",
"updated"
],
"type": "object"
}
Responses
List data sources
Operation path: GET /api/v2/externalDataSources/
Authentication requirements: BearerAuth
Return the detailed list of available data sources.
Parameters
| Name |
In |
Type |
Required |
Description |
| type |
query |
string |
false |
The data source type to filter by. |
Enumerated Values
| Parameter |
Value |
| type |
[all, databases, dr-connector-v1, dr-database-v1, jdbc] |
Example responses
200 Response
{
"properties": {
"data": {
"description": "The list of data sources.",
"items": {
"properties": {
"canDelete": {
"description": "True if the user can delete the data source.",
"type": "boolean",
"x-versionadded": "v2.23"
},
"canShare": {
"description": "True if the user can share the data source.",
"type": "boolean",
"x-versionadded": "v2.22"
},
"canonicalName": {
"description": "The data source canonical name.",
"type": "string"
},
"creator": {
"description": "The ID of the user who created the data source.",
"type": "string"
},
"driverClassType": {
"description": "The type of driver used to create this data source.",
"type": "string"
},
"id": {
"description": "The data source ID.",
"type": "string"
},
"params": {
"description": "The data source configuration.",
"oneOf": [
{
"properties": {
"catalog": {
"description": "The catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"partitionColumn": {
"description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
"type": "string"
},
"schema": {
"description": "The schema associated with the table or view in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "The table or view name in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
}
},
"required": [
"dataStoreId",
"table"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
"maxLength": 320000,
"type": "string"
}
},
"required": [
"dataStoreId",
"query"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"filter": {
"description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
"maxLength": 320000,
"type": "string",
"x-versionadded": "v2.39"
},
"path": {
"description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
"type": "string",
"x-versionadded": "v2.22"
}
},
"required": [
"dataStoreId",
"path"
],
"type": "object"
}
]
},
"role": {
"description": "The role of the user making the request on this data source.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "The data source type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "The ISO 8601-formatted date/time of the data source update.",
"type": "string"
}
},
"required": [
"canDelete",
"canShare",
"canonicalName",
"creator",
"id",
"params",
"role",
"type",
"updated"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"data"
],
"type": "object"
}
Responses
Create a data source
Operation path: POST /api/v2/externalDataSources/
Authentication requirements: BearerAuth
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/][post-apiv2externaldatastoresdatastoreidverifysql].
Body parameter
{
"properties": {
"canonicalName": {
"description": "The data source canonical name.",
"type": "string"
},
"params": {
"description": "The data source configuration.",
"oneOf": [
{
"properties": {
"catalog": {
"description": "The catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"partitionColumn": {
"description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
"type": "string"
},
"schema": {
"description": "The schema associated with the table or view in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "The table or view name in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
}
},
"required": [
"dataStoreId",
"table"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
"maxLength": 320000,
"type": "string"
}
},
"required": [
"dataStoreId",
"query"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"filter": {
"description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
"maxLength": 320000,
"type": "string",
"x-versionadded": "v2.39"
},
"path": {
"description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
"type": "string",
"x-versionadded": "v2.22"
}
},
"required": [
"dataStoreId",
"path"
],
"type": "object"
}
]
},
"type": {
"description": "The data source type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
}
},
"required": [
"canonicalName",
"params",
"type"
],
"type": "object"
}
Parameters
Example responses
200 Response
{
"properties": {
"canonicalName": {
"description": "The data source canonical name.",
"type": "string"
},
"creator": {
"description": "The ID of the user who created the data source.",
"type": "string"
},
"driverClassType": {
"description": "The type of driver used to create this data source.",
"type": "string"
},
"id": {
"description": "The data source ID.",
"type": "string"
},
"params": {
"description": "The data source configuration.",
"oneOf": [
{
"properties": {
"catalog": {
"description": "The catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"partitionColumn": {
"description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
"type": "string"
},
"schema": {
"description": "The schema associated with the table or view in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "The table or view name in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
}
},
"required": [
"dataStoreId",
"table"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
"maxLength": 320000,
"type": "string"
}
},
"required": [
"dataStoreId",
"query"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"filter": {
"description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
"maxLength": 320000,
"type": "string",
"x-versionadded": "v2.39"
},
"path": {
"description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
"type": "string",
"x-versionadded": "v2.22"
}
},
"required": [
"dataStoreId",
"path"
],
"type": "object"
}
]
},
"role": {
"description": "The role of the user making the request on this data source.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "The data source type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "The ISO 8601-formatted date/time of the data source update.",
"type": "string"
}
},
"required": [
"canonicalName",
"creator",
"id",
"params",
"role",
"type",
"updated"
],
"type": "object"
}
Responses
Delete the data source by data source ID
Operation path: DELETE /api/v2/externalDataSources/{dataSourceId}/
Authentication requirements: BearerAuth
Delete the data source with given ID if it is not used by any dataset.
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 |
Data source details by data source ID
Operation path: GET /api/v2/externalDataSources/{dataSourceId}/
Authentication requirements: BearerAuth
Return the details of the existing data source with the given ID, including SQL query or selected table and schema data, which fully describe which data to extract and from which location.
Parameters
| Name |
In |
Type |
Required |
Description |
| dataSourceId |
path |
string |
true |
The ID of the Data Source. |
Example responses
200 Response
{
"properties": {
"canonicalName": {
"description": "The data source canonical name.",
"type": "string"
},
"creator": {
"description": "The ID of the user who created the data source.",
"type": "string"
},
"driverClassType": {
"description": "The type of driver used to create this data source.",
"type": "string"
},
"id": {
"description": "The data source ID.",
"type": "string"
},
"params": {
"description": "The data source configuration.",
"oneOf": [
{
"properties": {
"catalog": {
"description": "The catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"partitionColumn": {
"description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
"type": "string"
},
"schema": {
"description": "The schema associated with the table or view in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "The table or view name in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
}
},
"required": [
"dataStoreId",
"table"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
"maxLength": 320000,
"type": "string"
}
},
"required": [
"dataStoreId",
"query"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"filter": {
"description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
"maxLength": 320000,
"type": "string",
"x-versionadded": "v2.39"
},
"path": {
"description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
"type": "string",
"x-versionadded": "v2.22"
}
},
"required": [
"dataStoreId",
"path"
],
"type": "object"
}
]
},
"role": {
"description": "The role of the user making the request on this data source.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "The data source type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "The ISO 8601-formatted date/time of the data source update.",
"type": "string"
}
},
"required": [
"canonicalName",
"creator",
"id",
"params",
"role",
"type",
"updated"
],
"type": "object"
}
Responses
Update the data source by data source ID
Operation path: PATCH /api/v2/externalDataSources/{dataSourceId}/
Authentication requirements: BearerAuth
Update the data source with given ID.
To test the SQL query before updating the data source,use [POST /api/v2/externalDataStores/{dataStoreId}/verifySQL/][post-apiv2externaldatastoresdatastoreidverifysql].
Body parameter
{
"properties": {
"canonicalName": {
"description": "The data source's canonical name.",
"type": "string"
},
"params": {
"description": "Data source configuration.",
"oneOf": [
{
"properties": {
"catalog": {
"description": "The catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"partitionColumn": {
"description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
"type": "string"
},
"schema": {
"description": "The schema associated with the table or view in the database if supported.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "The table or view name in the database.",
"maxLength": 256,
"type": "string"
}
},
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
"maxLength": 320000,
"type": "string"
}
},
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"filter": {
"description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
"maxLength": 320000,
"type": "string",
"x-versionadded": "v2.39"
},
"path": {
"description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
"type": "string",
"x-versionadded": "v2.22"
}
},
"type": "object"
}
]
}
},
"type": "object"
}
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 |
Get the data source's access control list by data source ID
Operation path: GET /api/v2/externalDataSources/{dataSourceId}/accessControl/
Authentication requirements: BearerAuth
Get a list of users, groups and organizations who have access to this data source and their roles.
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
{
"properties": {
"count": {
"description": "The number of items returned.",
"type": "integer"
},
"data": {
"description": "The access control list.",
"items": {
"properties": {
"canShare": {
"description": "Whether the recipient can share the role further.",
"type": "boolean"
},
"role": {
"description": "The role of the user on this entity.",
"type": "string"
},
"userId": {
"description": "The identifier of the user that has access to this entity.",
"type": "string"
},
"username": {
"description": "The username of the user that has access to the entity.",
"type": "string"
}
},
"required": [
"canShare",
"role",
"userId",
"username"
],
"type": "object"
},
"maxItems": 1000,
"type": "array"
},
"next": {
"description": "The URL pointing to the next page.",
"type": [
"string",
"null"
]
},
"previous": {
"description": "The URL pointing to the previous page.",
"type": [
"string",
"null"
]
}
},
"required": [
"count",
"data",
"next",
"previous"
],
"type": "object"
}
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 |
Update the data source's access controls by data source ID
Operation path: PATCH /api/v2/externalDataSources/{dataSourceId}/accessControl/
Authentication requirements: BearerAuth
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.
Body parameter
{
"properties": {
"data": {
"description": "List of sharing roles to update.",
"items": {
"properties": {
"canShare": {
"default": true,
"description": "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.",
"type": "boolean"
},
"role": {
"description": "The role to set on the entity. When it is None, the role of this user will be removedfrom this entity.",
"enum": [
"ADMIN",
"CONSUMER",
"DATA_SCIENTIST",
"EDITOR",
"OBSERVER",
"OWNER",
"READ_ONLY",
"READ_WRITE",
"USER"
],
"type": [
"string",
"null"
]
},
"username": {
"description": "The username of the user to update the access role for.",
"type": "string"
}
},
"required": [
"role",
"username"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"data"
],
"type": "object"
}
Parameters
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 |
Describe data source permissions by data source ID
Operation path: GET /api/v2/externalDataSources/{dataSourceId}/permissions/
Authentication requirements: BearerAuth
Describe what permissions current user has for given data source.
Parameters
| Name |
In |
Type |
Required |
Description |
| dataSourceId |
path |
string |
true |
The ID of the Data Source. |
Example responses
200 Response
{
"properties": {
"canCreatePredictions": {
"description": "True if the user can create predictions from the data source.",
"type": "boolean"
},
"canCreateProject": {
"description": "True if the user can create project from the data source.",
"type": "boolean"
},
"canDelete": {
"description": "True if the user can delete the data source.",
"type": "boolean"
},
"canEdit": {
"description": "True if the user can edit data source info.",
"type": "boolean"
},
"canSetRoles": {
"description": "Roles the user can grant or revoke from other users, groups, or organizations.",
"items": {
"description": "The role the user can grant or revoke from users, groups or organizations.",
"enum": [
"OWNER",
"EDITOR",
"CONSUMER"
],
"type": "string"
},
"type": "array"
},
"canShare": {
"description": "True if the user can share the data source.",
"type": "boolean"
},
"canView": {
"description": "True if the user can view data source info.",
"type": "boolean"
},
"dataSourceId": {
"description": "The ID of the data source.",
"type": "string"
},
"userId": {
"description": "The ID of the user identified by username.",
"type": "string"
},
"username": {
"description": "`username` of a user with access to this data source.",
"type": "string"
}
},
"required": [
"canCreatePredictions",
"canCreateProject",
"canDelete",
"canEdit",
"canSetRoles",
"canShare",
"canView",
"dataSourceId",
"userId",
"username"
],
"type": "object"
}
Responses
Retrieve shared roles by id
Operation path: GET /api/v2/externalDataSources/{dataSourceId}/sharedRoles/
Authentication requirements: BearerAuth
Get a list of users, groups and organizations who have access to this data source and their roles.
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 |
The list of 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
{
"properties": {
"count": {
"description": "The number of items returned.",
"type": "integer"
},
"data": {
"description": "The access control list.",
"items": {
"properties": {
"canShare": {
"description": "Whether the recipient can share the role further.",
"type": "boolean"
},
"id": {
"description": "The identifier of the recipient.",
"type": "string"
},
"name": {
"description": "The name of the recipient.",
"type": "string"
},
"role": {
"description": "The role of the recipient on this entity.",
"enum": [
"ADMIN",
"CONSUMER",
"DATA_SCIENTIST",
"EDITOR",
"OBSERVER",
"OWNER",
"READ_ONLY",
"READ_WRITE",
"USER"
],
"type": "string"
},
"shareRecipientType": {
"description": "The type of the recipient.",
"enum": [
"user",
"group",
"organization"
],
"type": "string"
},
"userFullName": {
"description": "The full name of the recipient user.",
"type": "string"
}
},
"required": [
"canShare",
"id",
"name",
"role",
"shareRecipientType"
],
"type": "object"
},
"type": "array"
},
"next": {
"description": "The URL pointing to the next page.",
"type": [
"string",
"null"
]
},
"previous": {
"description": "The URL pointing to the previous page.",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "The total number of items matching the condition.",
"type": "integer"
}
},
"required": [
"count",
"data",
"next",
"previous",
"totalCount"
],
"type": "object"
}
Responses
Modify data source shared roles by data source ID
Operation path: PATCH /api/v2/externalDataSources/{dataSourceId}/sharedRoles/
Authentication requirements: BearerAuth
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.
Body parameter
{
"properties": {
"operation": {
"description": "Name of the action being taken. The only operation is 'updateRoles'.",
"enum": [
"updateRoles"
],
"type": "string"
},
"roles": {
"description": "An array of RoleRequest objects. May contain at most 100 such objects.",
"items": {
"oneOf": [
{
"properties": {
"canShare": {
"default": true,
"description": "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.",
"type": "boolean"
},
"role": {
"description": "The role of the recipient on this entity.",
"enum": [
"ADMIN",
"CONSUMER",
"DATA_SCIENTIST",
"EDITOR",
"NO_ROLE",
"OBSERVER",
"OWNER",
"READ_ONLY",
"READ_WRITE",
"USER"
],
"type": "string"
},
"shareRecipientType": {
"description": "Describes the recipient type, either user, group, or organization.",
"enum": [
"user",
"group",
"organization"
],
"type": "string"
},
"username": {
"description": "The username of the user to update the access role for.",
"type": "string"
}
},
"required": [
"role",
"shareRecipientType",
"username"
],
"type": "object"
},
{
"properties": {
"canShare": {
"default": true,
"description": "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.",
"type": "boolean"
},
"id": {
"description": "The ID of the recipient.",
"type": "string"
},
"role": {
"description": "The role of the recipient on this entity.",
"enum": [
"ADMIN",
"CONSUMER",
"DATA_SCIENTIST",
"EDITOR",
"NO_ROLE",
"OBSERVER",
"OWNER",
"READ_ONLY",
"READ_WRITE",
"USER"
],
"type": "string"
},
"shareRecipientType": {
"description": "Describes the recipient type, either user, group, or organization.",
"enum": [
"user",
"group",
"organization"
],
"type": "string"
}
},
"required": [
"id",
"role",
"shareRecipientType"
],
"type": "object"
}
]
},
"maxItems": 100,
"minItems": 1,
"type": "array"
}
},
"required": [
"operation",
"roles"
],
"type": "object"
}
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 |
List data stores
Operation path: GET /api/v2/externalDataStores/
Authentication requirements: BearerAuth
Return the list with details of the existing data stores available for the user.
Parameters
| Name |
In |
Type |
Required |
Description |
| offset |
query |
integer |
false |
The 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. |
| name |
query |
string |
false |
Search for data stores whose canonicalName matches or contains the specified name.The search is case insensitive. |
| substituteUrlParameters |
query |
string |
false |
Specifies whether dynamic parameters in the URL will be substituted. |
| dataType |
query |
string |
false |
Includes only data stores which support the specified data type or all data stores if set to all. |
Enumerated Values
| Parameter |
Value |
| type |
[all, databases, dr-connector-v1, dr-database-v1, jdbc] |
| showHidden |
[false, False, true, True] |
| substituteUrlParameters |
[false, False, true, True] |
| dataType |
[all, structured, unstructured] |
Example responses
200 Response
{
"properties": {
"data": {
"description": "The list of data stores.",
"items": {
"properties": {
"associatedAuthTypes": {
"description": "The supported authentication types for the JDBC configuration.",
"items": {
"enum": [
"adls_gen2_oauth",
"azure_service_principal",
"basic",
"box_jwt",
"databricks_access_token_account",
"databricks_service_principal_account",
"gcp",
"google_oauth_user_account",
"kerberos",
"oauth",
"s3",
"snowflake_key_pair_user_account",
"snowflake_oauth_user_account"
],
"type": "string"
},
"type": "array",
"x-versionadded": "v2.20"
},
"canonicalName": {
"description": "The user-friendly name of the data store.",
"type": "string"
},
"creator": {
"description": "The ID of the user who created the data store.",
"type": "string"
},
"id": {
"description": "The data store ID.",
"type": "string"
},
"params": {
"description": "The data store configuration.",
"oneOf": [
{
"properties": {
"driverId": {
"description": "The driver ID.",
"type": "string"
},
"jdbcFieldSchemas": {
"default": [],
"description": "The fields to show when creating a data store, their defaults, whether or not they are required, and more.",
"items": {
"properties": {
"choices": {
"default": [],
"description": "If non-empty, a list of all possible values for this parameter.",
"items": {
"description": "Possible value for this parameter.",
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the JDBC parameter.",
"type": "string"
},
"description": {
"default": "",
"description": "Description of this parameter.",
"type": "string"
},
"index": {
"description": "Sort order within one `kind`.",
"type": "integer"
},
"kind": {
"description": "Use of this parameter in constructing the JDBC URL.",
"enum": [
"ADDRESS",
"EXTENDED_PATH_PARAM",
"PATH_PARAM",
"QUERY_PARAM"
],
"type": "string"
},
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"kind",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"jdbcFields": {
"description": "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.",
"items": {
"properties": {
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "The value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "The JDBC URL.",
"type": "string"
}
},
"required": [
"driverId"
],
"type": "object"
},
{
"properties": {
"connectorId": {
"description": "The ID of the connector.",
"type": "string"
},
"fieldSchemas": {
"description": "The connector field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, the list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "The default value of the parameter.",
"type": "string"
},
"description": {
"description": "The description of the parameter.",
"type": "string"
},
"name": {
"description": "The name of the parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"type": "array"
},
"fields": {
"description": "The connector fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"connectorId",
"fields"
],
"type": "object"
},
{
"properties": {
"driverId": {
"description": "The database driver ID.",
"type": "string"
},
"fieldSchemas": {
"description": "The database driver field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, the list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "The default value of the parameter.",
"type": "string"
},
"description": {
"description": "The description of the parameter.",
"type": "string"
},
"name": {
"description": "The name of the parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"type": "array"
},
"fields": {
"description": "The database driver fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"driverId",
"fields"
],
"type": "object"
}
]
},
"role": {
"description": "The role of the user making the request on this data store.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "The data store type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "The ISO 8601-formatted date/time of the data store update.",
"type": "string"
}
},
"required": [
"canonicalName",
"creator",
"id",
"params",
"role",
"type",
"updated"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"data"
],
"type": "object"
}
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 |
Create a data store
Operation path: POST /api/v2/externalDataStores/
Authentication requirements: BearerAuth
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.
Body parameter
{
"properties": {
"canonicalName": {
"description": "The user-friendly name of the data store.",
"type": "string"
},
"params": {
"description": "The data store configuration.",
"oneOf": [
{
"properties": {
"driverId": {
"description": "Driver ID.",
"type": "string"
},
"jdbcFields": {
"description": "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.",
"items": {
"properties": {
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "The value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "The JDBC URL.",
"type": "string"
}
},
"required": [
"driverId"
],
"type": "object"
},
{
"properties": {
"connectorId": {
"description": "The ID of the connector.",
"type": "string"
},
"fields": {
"description": "The connector fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"connectorId",
"fields"
],
"type": "object"
},
{
"properties": {
"driverId": {
"description": "The database driver ID.",
"type": "string"
},
"fields": {
"description": "The database driver fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"driverId",
"fields"
],
"type": "object"
}
]
},
"type": {
"description": "The data store type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
}
},
"required": [
"canonicalName",
"params",
"type"
],
"type": "object"
}
Parameters
Example responses
200 Response
{
"properties": {
"associatedAuthTypes": {
"description": "The supported authentication types for the JDBC configuration.",
"items": {
"enum": [
"adls_gen2_oauth",
"azure_service_principal",
"basic",
"box_jwt",
"databricks_access_token_account",
"databricks_service_principal_account",
"gcp",
"google_oauth_user_account",
"kerberos",
"oauth",
"s3",
"snowflake_key_pair_user_account",
"snowflake_oauth_user_account"
],
"type": "string"
},
"type": "array",
"x-versionadded": "v2.20"
},
"canonicalName": {
"description": "The user-friendly name of the data store.",
"type": "string"
},
"creator": {
"description": "The ID of the user who created the data store.",
"type": "string"
},
"id": {
"description": "The data store ID.",
"type": "string"
},
"params": {
"description": "The data store configuration.",
"oneOf": [
{
"properties": {
"driverId": {
"description": "The driver ID.",
"type": "string"
},
"jdbcFieldSchemas": {
"default": [],
"description": "The fields to show when creating a data store, their defaults, whether or not they are required, and more.",
"items": {
"properties": {
"choices": {
"default": [],
"description": "If non-empty, a list of all possible values for this parameter.",
"items": {
"description": "Possible value for this parameter.",
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the JDBC parameter.",
"type": "string"
},
"description": {
"default": "",
"description": "Description of this parameter.",
"type": "string"
},
"index": {
"description": "Sort order within one `kind`.",
"type": "integer"
},
"kind": {
"description": "Use of this parameter in constructing the JDBC URL.",
"enum": [
"ADDRESS",
"EXTENDED_PATH_PARAM",
"PATH_PARAM",
"QUERY_PARAM"
],
"type": "string"
},
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"kind",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"jdbcFields": {
"description": "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.",
"items": {
"properties": {
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "The value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "The JDBC URL.",
"type": "string"
}
},
"required": [
"driverId"
],
"type": "object"
},
{
"properties": {
"connectorId": {
"description": "The ID of the connector.",
"type": "string"
},
"fieldSchemas": {
"description": "The connector field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, the list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "The default value of the parameter.",
"type": "string"
},
"description": {
"description": "The description of the parameter.",
"type": "string"
},
"name": {
"description": "The name of the parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"type": "array"
},
"fields": {
"description": "The connector fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"connectorId",
"fields"
],
"type": "object"
},
{
"properties": {
"driverId": {
"description": "The database driver ID.",
"type": "string"
},
"fieldSchemas": {
"description": "The database driver field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, the list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "The default value of the parameter.",
"type": "string"
},
"description": {
"description": "The description of the parameter.",
"type": "string"
},
"name": {
"description": "The name of the parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"type": "array"
},
"fields": {
"description": "The database driver fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"driverId",
"fields"
],
"type": "object"
}
]
},
"role": {
"description": "The role of the user making the request on this data store.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "The data store type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "The ISO 8601-formatted date/time of the data store update.",
"type": "string"
}
},
"required": [
"canonicalName",
"creator",
"id",
"params",
"role",
"type",
"updated"
],
"type": "object"
}
Responses
Delete the data store by data store ID
Operation path: DELETE /api/v2/externalDataStores/{dataStoreId}/
Authentication requirements: BearerAuth
Delete the data store with given ID if it is not used by any data source.
Parameters
| Name |
In |
Type |
Required |
Description |
| dataStoreId |
path |
string |
true |
The 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 |
Data store details by data store ID
Operation path: GET /api/v2/externalDataStores/{dataStoreId}/
Authentication requirements: BearerAuth
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.
Parameters
| Name |
In |
Type |
Required |
Description |
| substituteUrlParameters |
query |
string |
false |
Specifies whether dynamic parameters in the URL will be substituted. |
| dataStoreId |
path |
string |
true |
The ID of the data store. |
Enumerated Values
| Parameter |
Value |
| substituteUrlParameters |
[false, False, true, True] |
Example responses
200 Response
{
"properties": {
"associatedAuthTypes": {
"description": "The supported authentication types for the JDBC configuration.",
"items": {
"enum": [
"adls_gen2_oauth",
"azure_service_principal",
"basic",
"box_jwt",
"databricks_access_token_account",
"databricks_service_principal_account",
"gcp",
"google_oauth_user_account",
"kerberos",
"oauth",
"s3",
"snowflake_key_pair_user_account",
"snowflake_oauth_user_account"
],
"type": "string"
},
"type": "array",
"x-versionadded": "v2.20"
},
"canonicalName": {
"description": "The user-friendly name of the data store.",
"type": "string"
},
"creator": {
"description": "The ID of the user who created the data store.",
"type": "string"
},
"id": {
"description": "The data store ID.",
"type": "string"
},
"params": {
"description": "The data store configuration.",
"oneOf": [
{
"properties": {
"driverId": {
"description": "The driver ID.",
"type": "string"
},
"jdbcFieldSchemas": {
"default": [],
"description": "The fields to show when creating a data store, their defaults, whether or not they are required, and more.",
"items": {
"properties": {
"choices": {
"default": [],
"description": "If non-empty, a list of all possible values for this parameter.",
"items": {
"description": "Possible value for this parameter.",
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the JDBC parameter.",
"type": "string"
},
"description": {
"default": "",
"description": "Description of this parameter.",
"type": "string"
},
"index": {
"description": "Sort order within one `kind`.",
"type": "integer"
},
"kind": {
"description": "Use of this parameter in constructing the JDBC URL.",
"enum": [
"ADDRESS",
"EXTENDED_PATH_PARAM",
"PATH_PARAM",
"QUERY_PARAM"
],
"type": "string"
},
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"kind",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"jdbcFields": {
"description": "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.",
"items": {
"properties": {
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "The value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "The JDBC URL.",
"type": "string"
}
},
"required": [
"driverId"
],
"type": "object"
},
{
"properties": {
"connectorId": {
"description": "The ID of the connector.",
"type": "string"
},
"fieldSchemas": {
"description": "The connector field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, the list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "The default value of the parameter.",
"type": "string"
},
"description": {
"description": "The description of the parameter.",
"type": "string"
},
"name": {
"description": "The name of the parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"type": "array"
},
"fields": {
"description": "The connector fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"connectorId",
"fields"
],
"type": "object"
},
{
"properties": {
"driverId": {
"description": "The database driver ID.",
"type": "string"
},
"fieldSchemas": {
"description": "The database driver field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, the list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "The default value of the parameter.",
"type": "string"
},
"description": {
"description": "The description of the parameter.",
"type": "string"
},
"name": {
"description": "The name of the parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"type": "array"
},
"fields": {
"description": "The database driver fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"driverId",
"fields"
],
"type": "object"
}
]
},
"role": {
"description": "The role of the user making the request on this data store.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "The data store type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "The ISO 8601-formatted date/time of the data store update.",
"type": "string"
}
},
"required": [
"canonicalName",
"creator",
"id",
"params",
"role",
"type",
"updated"
],
"type": "object"
}
Responses
Update a data store configuration by data store ID
Operation path: PATCH /api/v2/externalDataStores/{dataStoreId}/
Authentication requirements: BearerAuth
Update a data store configuration.
Body parameter
{
"properties": {
"canonicalName": {
"description": "The user-friendly name of the data store.",
"type": "string"
},
"params": {
"description": "The data store configuration.",
"oneOf": [
{
"properties": {
"driverId": {
"description": "The driver ID.",
"type": "string"
},
"jdbcFields": {
"description": "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.",
"items": {
"properties": {
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "The value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "The JDBC URL.",
"type": "string"
}
},
"type": "object"
},
{
"properties": {
"fields": {
"description": "The connector fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"type": "object"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| dataStoreId |
path |
string |
true |
The ID of the data store. |
| body |
body |
DataStoreUpdate |
false |
none |
Example responses
200 Response
{
"properties": {
"associatedAuthTypes": {
"description": "The supported authentication types for the JDBC configuration.",
"items": {
"enum": [
"adls_gen2_oauth",
"azure_service_principal",
"basic",
"box_jwt",
"databricks_access_token_account",
"databricks_service_principal_account",
"gcp",
"google_oauth_user_account",
"kerberos",
"oauth",
"s3",
"snowflake_key_pair_user_account",
"snowflake_oauth_user_account"
],
"type": "string"
},
"type": "array",
"x-versionadded": "v2.20"
},
"canonicalName": {
"description": "The user-friendly name of the data store.",
"type": "string"
},
"creator": {
"description": "The ID of the user who created the data store.",
"type": "string"
},
"id": {
"description": "The data store ID.",
"type": "string"
},
"params": {
"description": "The data store configuration.",
"oneOf": [
{
"properties": {
"driverId": {
"description": "The driver ID.",
"type": "string"
},
"jdbcFieldSchemas": {
"default": [],
"description": "The fields to show when creating a data store, their defaults, whether or not they are required, and more.",
"items": {
"properties": {
"choices": {
"default": [],
"description": "If non-empty, a list of all possible values for this parameter.",
"items": {
"description": "Possible value for this parameter.",
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the JDBC parameter.",
"type": "string"
},
"description": {
"default": "",
"description": "Description of this parameter.",
"type": "string"
},
"index": {
"description": "Sort order within one `kind`.",
"type": "integer"
},
"kind": {
"description": "Use of this parameter in constructing the JDBC URL.",
"enum": [
"ADDRESS",
"EXTENDED_PATH_PARAM",
"PATH_PARAM",
"QUERY_PARAM"
],
"type": "string"
},
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"kind",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"jdbcFields": {
"description": "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.",
"items": {
"properties": {
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "The value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "The JDBC URL.",
"type": "string"
}
},
"required": [
"driverId"
],
"type": "object"
},
{
"properties": {
"connectorId": {
"description": "The ID of the connector.",
"type": "string"
},
"fieldSchemas": {
"description": "The connector field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, the list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "The default value of the parameter.",
"type": "string"
},
"description": {
"description": "The description of the parameter.",
"type": "string"
},
"name": {
"description": "The name of the parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"type": "array"
},
"fields": {
"description": "The connector fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"connectorId",
"fields"
],
"type": "object"
},
{
"properties": {
"driverId": {
"description": "The database driver ID.",
"type": "string"
},
"fieldSchemas": {
"description": "The database driver field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, the list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "The default value of the parameter.",
"type": "string"
},
"description": {
"description": "The description of the parameter.",
"type": "string"
},
"name": {
"description": "The name of the parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"type": "array"
},
"fields": {
"description": "The database driver fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"driverId",
"fields"
],
"type": "object"
}
]
},
"role": {
"description": "The role of the user making the request on this data store.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "The data store type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "The ISO 8601-formatted date/time of the data store update.",
"type": "string"
}
},
"required": [
"canonicalName",
"creator",
"id",
"params",
"role",
"type",
"updated"
],
"type": "object"
}
Responses
Update the data store's access controls by data store ID
Operation path: PATCH /api/v2/externalDataStores/{dataStoreId}/accessControl/
Authentication requirements: BearerAuth
Set roles for users on this data store.
Body parameter
{
"properties": {
"data": {
"description": "List of sharing roles to update.",
"items": {
"properties": {
"canShare": {
"default": true,
"description": "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.",
"type": "boolean"
},
"role": {
"description": "The role to set on the entity. When it is None, the role of this user will be removedfrom this entity.",
"enum": [
"ADMIN",
"CONSUMER",
"DATA_SCIENTIST",
"EDITOR",
"OBSERVER",
"OWNER",
"READ_ONLY",
"READ_WRITE",
"USER"
],
"type": [
"string",
"null"
]
},
"username": {
"description": "The username of the user to update the access role for.",
"type": "string"
}
},
"required": [
"role",
"username"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"data"
],
"type": "object"
}
Parameters
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 |
Retrieves a data store's data columns by data store ID
Operation path: POST /api/v2/externalDataStores/{dataStoreId}/columns/
Authentication requirements: BearerAuth
Retrieves a data store's data columns.
Body parameter
{
"properties": {
"catalog": {
"description": "The name of the specified database catalog.",
"type": [
"string",
"null"
]
},
"credentialId": {
"description": "The ID of the credential mapping.",
"type": "string"
},
"password": {
"description": "The password for the db connection.",
"type": "string"
},
"query": {
"description": "The schema query.",
"type": "string"
},
"schema": {
"description": "The schema name.",
"type": "string"
},
"table": {
"description": "The table name.",
"type": "string"
},
"user": {
"description": "The username for the db connection.",
"type": "string"
}
},
"type": "object"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| dataStoreId |
path |
string |
true |
The ID of the data store. |
| body |
body |
DataStoreColumnsList |
false |
none |
Example responses
200 Response
{
"properties": {
"columns": {
"description": "The list of data store columns.",
"items": {
"properties": {
"dataType": {
"description": "The data type of the column.",
"type": "string"
},
"name": {
"description": "The name of the column.",
"type": "string"
},
"precision": {
"description": "The precision of the column.",
"type": [
"string",
"null"
]
},
"scale": {
"description": "The scale of the column.",
"type": [
"string",
"null"
]
}
},
"required": [
"dataType",
"name",
"precision",
"scale"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"columns"
],
"type": "object"
}
Responses
| Status |
Meaning |
Description |
Schema |
| 200 |
OK |
The response with array of column objects. |
DataStoreColumnsListResponse |
| 400 |
Bad Request |
The error thrown by DSS system when retrieving columns. |
None |
| 403 |
Forbidden |
Incorrect permissions to access catalog item through DSS. |
None |
Operation path: POST /api/v2/externalDataStores/{dataStoreId}/columnsInfo/
Authentication requirements: BearerAuth
Retrieves a data store's column metadata.
Body parameter
{
"properties": {
"catalog": {
"description": "The name of the specified database catalog.",
"type": [
"string",
"null"
]
},
"credentialId": {
"description": "The ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"password": {
"description": "The password for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
},
"schema": {
"description": "The schema name.",
"type": "string"
},
"table": {
"description": "The table name.",
"type": "string"
},
"useKerberos": {
"default": false,
"description": "Whether to use Kerberos for data store authentication.",
"type": "boolean",
"x-versionadded": "v2.19"
},
"user": {
"description": "The username for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
}
},
"required": [
"table"
],
"type": "object"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| offset |
query |
integer |
false |
The 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 |
The ID of the data store. |
| body |
body |
DataStoreColumnsInfoList |
false |
none |
Enumerated Values
| Parameter |
Value |
| orderBy |
[creationDate, -creationDate] |
Example responses
200 Response
{
"properties": {
"count": {
"description": "The number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "The list of data store columns metadata.",
"items": {
"properties": {
"columnDefaultValue": {
"description": "The default value of the column.",
"type": [
"string",
"null"
]
},
"comment": {
"description": "The comment of the column.",
"type": [
"string",
"null"
]
},
"dataType": {
"description": "The data type of the column.",
"type": "string"
},
"dataTypeInt": {
"description": "The integer value of the column data type.",
"type": "integer"
},
"exportedKeys": {
"description": "The foreign key columns that reference this table's primary key columns.",
"items": {
"properties": {
"foreignKey": {
"description": "The referred primary key.",
"properties": {
"catalog": {
"description": "The catalog name.",
"type": "string"
},
"column": {
"description": "The column name.",
"type": "string"
},
"schema": {
"description": "The schema name.",
"type": "string"
},
"table": {
"description": "The table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
},
"keyType": {
"description": "The type of this key.",
"enum": [
"1",
"2",
"3"
],
"type": "string"
},
"name": {
"description": "The name of this key.",
"type": "string"
},
"primaryKey": {
"description": "The referred primary key.",
"properties": {
"catalog": {
"description": "The catalog name.",
"type": "string"
},
"column": {
"description": "The column name.",
"type": "string"
},
"schema": {
"description": "The schema name.",
"type": "string"
},
"table": {
"description": "The table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
}
},
"required": [
"keyType",
"primaryKey"
],
"type": "object"
},
"type": "array"
},
"importedKeys": {
"description": "The primary key columns that are referenced by this table's foreign key columns.",
"items": {
"properties": {
"foreignKey": {
"description": "The referred primary key.",
"properties": {
"catalog": {
"description": "The catalog name.",
"type": "string"
},
"column": {
"description": "The column name.",
"type": "string"
},
"schema": {
"description": "The schema name.",
"type": "string"
},
"table": {
"description": "The table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
},
"keyType": {
"description": "The type of this key.",
"enum": [
"1",
"2",
"3"
],
"type": "string"
},
"name": {
"description": "The name of this key.",
"type": "string"
},
"primaryKey": {
"description": "The referred primary key.",
"properties": {
"catalog": {
"description": "The catalog name.",
"type": "string"
},
"column": {
"description": "The column name.",
"type": "string"
},
"schema": {
"description": "The schema name.",
"type": "string"
},
"table": {
"description": "The table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
}
},
"required": [
"keyType",
"primaryKey"
],
"type": "object"
},
"type": "array"
},
"isInPrimaryKey": {
"description": "True if the column is in the primary key.",
"type": [
"boolean",
"null"
]
},
"isNullable": {
"description": "Whether the column values can be null.",
"enum": [
"NO",
"UNKNOWN",
"YES"
],
"type": [
"string",
"null"
]
},
"name": {
"description": "The name of the column.",
"type": "string"
},
"precision": {
"description": "The precision of the column.",
"type": [
"integer",
"null"
]
},
"primaryKeys": {
"description": "The primary key columns of the table.",
"items": {
"type": "string"
},
"type": "array"
},
"scale": {
"description": "The scale of the column.",
"type": [
"integer",
"null"
]
}
},
"required": [
"columnDefaultValue",
"comment",
"dataType",
"dataTypeInt",
"exportedKeys",
"importedKeys",
"isInPrimaryKey",
"isNullable",
"name",
"precision",
"primaryKeys",
"scale"
],
"type": "object"
},
"type": "array"
},
"next": {
"description": "The URL of the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "The URL of the previous page (if null, there is no previous page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "The total number of items across all pages.",
"type": "integer"
}
},
"required": [
"data",
"next",
"previous",
"totalCount"
],
"type": "object"
}
Responses
List credentials associated by data store ID
Operation path: GET /api/v2/externalDataStores/{dataStoreId}/credentials/
Authentication requirements: BearerAuth
Returns a list of credentials associated with the specified data store.
Parameters
| Name |
In |
Type |
Required |
Description |
| offset |
query |
integer |
false |
The 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 |
The ID of the data store. |
Enumerated Values
| Parameter |
Value |
| orderBy |
[creationDate, -creationDate] |
Example responses
200 Response
{
"properties": {
"count": {
"description": "The number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "List of credentials.",
"items": {
"properties": {
"creationDate": {
"description": "ISO-8601 formatted date/time when these credentials were created.",
"format": "date-time",
"type": "string"
},
"credentialId": {
"description": "ID of these credentials.",
"type": "string"
},
"credentialType": {
"default": "basic",
"description": "Type of credentials.",
"enum": [
"adls_gen2_oauth",
"api_token",
"azure",
"azure_oauth",
"azure_service_principal",
"basic",
"bearer",
"box_jwt",
"databricks_access_token_account",
"databricks_service_principal_account",
"external_oauth_provider",
"gcp",
"oauth",
"rsa",
"s3",
"sap_oauth",
"snowflake_key_pair_user_account",
"snowflake_oauth_user_account",
"tableau_access_token"
],
"type": "string"
},
"description": {
"description": "Description of these credentials.",
"type": "string"
},
"name": {
"description": "Name of these credentials.",
"type": "string"
}
},
"required": [
"creationDate",
"credentialId",
"name"
],
"type": "object"
},
"type": "array"
},
"next": {
"description": "The URL of the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "The URL of the previous page (if null, there is no previous page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "The total number of items across all pages.",
"type": "integer"
}
},
"required": [
"data",
"next",
"previous",
"totalCount"
],
"type": "object"
}
Responses
Describe data store permissions by data store ID
Operation path: GET /api/v2/externalDataStores/{dataStoreId}/permissions/
Authentication requirements: BearerAuth
Describe what permissions current user has for given data store.
Parameters
| Name |
In |
Type |
Required |
Description |
| dataStoreId |
path |
string |
true |
The ID of the data store. |
Example responses
200 Response
{
"properties": {
"canCreateDataSource": {
"description": "True if the user can create data source from this data store.",
"type": "boolean"
},
"canDelete": {
"description": "True if the user can delete the data store.",
"type": "boolean"
},
"canEdit": {
"description": "True if the user can edit data store info.",
"type": "boolean"
},
"canScanDatabase": {
"description": "True if the user can scan data store database.",
"type": "boolean"
},
"canSetRoles": {
"description": "Roles the user can grant or revoke from other users, groups, or organizations.",
"items": {
"description": "The role the user can grant or revoke from users, groups or organizations.",
"enum": [
"OWNER",
"EDITOR",
"CONSUMER"
],
"type": "string"
},
"type": "array"
},
"canShare": {
"description": "True if the user can share the data store.",
"type": "boolean"
},
"canTestConnection": {
"description": "True if the user can test data store database connection.",
"type": "boolean"
},
"canView": {
"description": "True if the user can view data store info.",
"type": "boolean"
},
"dataStoreId": {
"description": "The ID of the data store.",
"type": "string"
},
"userId": {
"description": "The ID of the user identified by username.",
"type": "string"
},
"username": {
"description": "`username` of a user with access to this data store.",
"type": "string"
}
},
"required": [
"canCreateDataSource",
"canDelete",
"canEdit",
"canScanDatabase",
"canSetRoles",
"canShare",
"canTestConnection",
"canView",
"dataStoreId",
"userId",
"username"
],
"type": "object"
}
Responses
Retrieves a data store's data schemas by data store ID
Operation path: POST /api/v2/externalDataStores/{dataStoreId}/schemas/
Authentication requirements: BearerAuth
Retrieves a data store's data schemas.
Body parameter
{
"properties": {
"credentialId": {
"description": "The ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"password": {
"description": "The password for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
},
"useKerberos": {
"default": false,
"description": "Whether to use Kerberos for data store authentication.",
"type": "boolean",
"x-versionadded": "v2.19"
},
"user": {
"description": "The username for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
}
},
"type": "object"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| dataStoreId |
path |
string |
true |
The ID of the data store. |
| body |
body |
DataStoreCredentials |
false |
none |
Example responses
200 Response
{
"properties": {
"catalog": {
"description": "The 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.",
"type": "string"
},
"catalogs": {
"description": "The list of catalogs associated with each retrieved schema. If no catalog is found, this value is null.",
"items": {
"description": "The catalog names for the schema associated with the data store.",
"type": [
"string",
"null"
]
},
"type": "array"
},
"schemas": {
"description": "The list of schemas available in the data store.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"catalog",
"catalogs",
"schemas"
],
"type": "object"
}
Responses
Get the data store's access control list by data store ID
Operation path: GET /api/v2/externalDataStores/{dataStoreId}/sharedRoles/
Authentication requirements: BearerAuth
Get a list of users who have access to this data store and their roles on the data store.
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 |
The list of access controls for recipients with this type. |
| dataStoreId |
path |
string |
true |
The ID of the data store. |
Enumerated Values
| Parameter |
Value |
| shareRecipientType |
[user, group, organization] |
Example responses
200 Response
{
"properties": {
"count": {
"description": "The number of items returned.",
"type": "integer"
},
"data": {
"description": "The access control list.",
"items": {
"properties": {
"canShare": {
"description": "Whether the recipient can share the role further.",
"type": "boolean"
},
"id": {
"description": "The identifier of the recipient.",
"type": "string"
},
"name": {
"description": "The name of the recipient.",
"type": "string"
},
"role": {
"description": "The role of the recipient on this entity.",
"enum": [
"ADMIN",
"CONSUMER",
"DATA_SCIENTIST",
"EDITOR",
"OBSERVER",
"OWNER",
"READ_ONLY",
"READ_WRITE",
"USER"
],
"type": "string"
},
"shareRecipientType": {
"description": "The type of the recipient.",
"enum": [
"user",
"group",
"organization"
],
"type": "string"
},
"userFullName": {
"description": "The full name of the recipient user.",
"type": "string"
}
},
"required": [
"canShare",
"id",
"name",
"role",
"shareRecipientType"
],
"type": "object"
},
"type": "array"
},
"next": {
"description": "The URL pointing to the next page.",
"type": [
"string",
"null"
]
},
"previous": {
"description": "The URL pointing to the previous page.",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "The total number of items matching the condition.",
"type": "integer"
}
},
"required": [
"count",
"data",
"next",
"previous",
"totalCount"
],
"type": "object"
}
Responses
Modify data store shared roles by data store ID
Operation path: PATCH /api/v2/externalDataStores/{dataStoreId}/sharedRoles/
Authentication requirements: BearerAuth
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.
Body parameter
{
"properties": {
"operation": {
"description": "Name of the action being taken. The only operation is 'updateRoles'.",
"enum": [
"updateRoles"
],
"type": "string"
},
"roles": {
"description": "An array of RoleRequest objects. May contain at most 100 such objects.",
"items": {
"oneOf": [
{
"properties": {
"canShare": {
"default": true,
"description": "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.",
"type": "boolean"
},
"role": {
"description": "The role of the recipient on this entity.",
"enum": [
"ADMIN",
"CONSUMER",
"DATA_SCIENTIST",
"EDITOR",
"NO_ROLE",
"OBSERVER",
"OWNER",
"READ_ONLY",
"READ_WRITE",
"USER"
],
"type": "string"
},
"shareRecipientType": {
"description": "Describes the recipient type, either user, group, or organization.",
"enum": [
"user",
"group",
"organization"
],
"type": "string"
},
"username": {
"description": "The username of the user to update the access role for.",
"type": "string"
}
},
"required": [
"role",
"shareRecipientType",
"username"
],
"type": "object"
},
{
"properties": {
"canShare": {
"default": true,
"description": "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.",
"type": "boolean"
},
"id": {
"description": "The ID of the recipient.",
"type": "string"
},
"role": {
"description": "The role of the recipient on this entity.",
"enum": [
"ADMIN",
"CONSUMER",
"DATA_SCIENTIST",
"EDITOR",
"NO_ROLE",
"OBSERVER",
"OWNER",
"READ_ONLY",
"READ_WRITE",
"USER"
],
"type": "string"
},
"shareRecipientType": {
"description": "Describes the recipient type, either user, group, or organization.",
"enum": [
"user",
"group",
"organization"
],
"type": "string"
}
},
"required": [
"id",
"role",
"shareRecipientType"
],
"type": "object"
}
]
},
"maxItems": 100,
"minItems": 1,
"type": "array"
}
},
"required": [
"operation",
"roles"
],
"type": "object"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| dataStoreId |
path |
string |
true |
The ID of the data store. |
| body |
body |
SharedRolesUpdateWithGrant |
false |
none |
Responses
| Status |
Meaning |
Description |
Schema |
| 204 |
No Content |
The resource was 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 |
Retrieve detected standard user-defined functions by data store ID
Operation path: GET /api/v2/externalDataStores/{dataStoreId}/standardUserDefinedFunctions/
Authentication requirements: BearerAuth
Retrieve detected standard user-defined functions. Raise a 404 error if detection needs to be run first. Results might not be up-to-date; run detection with the force=True option to refresh them.
Parameters
| Name |
In |
Type |
Required |
Description |
| credentialId |
query |
string |
false |
The ID of the set of credentials to use instead of username and password. |
| functionType |
query |
string |
true |
The standard user-defined function type. |
| schema |
query |
string |
true |
The schema to create or detect user-defined functions in. |
| functionName |
query |
string |
false |
The standard user-defined function name to filter results by. |
| dataStoreId |
path |
string |
true |
The ID of the data store. |
Enumerated Values
| Parameter |
Value |
| functionType |
[rolling_median, rolling_most_frequent] |
Example responses
200 Response
{
"properties": {
"detectedFunctions": {
"description": "The detected standard user-defined functions.",
"items": {
"type": "string"
},
"maxItems": 1000,
"type": "array"
},
"functionType": {
"description": "The requested standard user-defined function type.",
"type": "string"
},
"schema": {
"description": "The requested schema.",
"type": "string"
}
},
"required": [
"detectedFunctions",
"functionType",
"schema"
],
"type": "object",
"x-versionadded": "v2.36"
}
Responses
| Status |
Meaning |
Description |
Schema |
| 200 |
OK |
Return detected standard user-defined functions for the given data store, credentials, function type, and schema. |
DetectedStandardUdfsRetrieveResponse |
Start a job to create a standard user-defined function of the given type by data store ID
Operation path: POST /api/v2/externalDataStores/{dataStoreId}/standardUserDefinedFunctions/
Authentication requirements: BearerAuth
Start the creation of the standard user-defined function. Since this is an asynchronous process, this endpoint returns a status ID to use with the status endpoint as well as a location header that includes URL that can be polled for status. Once completed, the status URL redirects to the endpoint with the created function name.
Body parameter
{
"properties": {
"credentialId": {
"description": "The ID of the set of credentials to use instead of username and password.",
"type": "string"
},
"functionType": {
"description": "The standard user-defined function type.",
"enum": [
"rolling_median",
"rolling_most_frequent"
],
"type": "string"
},
"schema": {
"description": "The schema to create or detect user-defined functions in.",
"type": "string"
}
},
"required": [
"functionType",
"schema"
],
"type": "object",
"x-versionadded": "v2.36"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| dataStoreId |
path |
string |
true |
The ID of the data store. |
| body |
body |
StandardUdfCreate |
false |
none |
Example responses
202 Response
{
"properties": {
"statusId": {
"description": "The ID that can be used with [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid] to poll for the job's status.",
"type": "string"
}
},
"required": [
"statusId"
],
"type": "object",
"x-versionadded": "v2.36"
}
Responses
Start the job that detects standard user-defined functions for the given data store, credentials by data store ID
Operation path: POST /api/v2/externalDataStores/{dataStoreId}/standardUserDefinedFunctions/detect/
Authentication requirements: BearerAuth
Start the detection process for the standard user-defined functions. Since this is an asynchronous process this endpoint returns a status ID to use with the status endpoint as well as a location header that includes the URL that can be polled for status. Once completed, the status URL redirects to the endpoint with the detected function names.
Body parameter
{
"properties": {
"credentialId": {
"description": "The ID of the set of credentials to use instead of username and password.",
"type": "string"
},
"force": {
"default": false,
"description": "Forces detection to be submitted, even if a cache with detected standard user-defined functions for given parameters is already present.",
"type": "boolean"
},
"functionType": {
"description": "The standard user-defined function type.",
"enum": [
"rolling_median",
"rolling_most_frequent"
],
"type": "string"
},
"schema": {
"description": "The schema to create or detect user-defined functions in.",
"type": "string"
}
},
"required": [
"force",
"functionType",
"schema"
],
"type": "object",
"x-versionadded": "v2.36"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| dataStoreId |
path |
string |
true |
The ID of the data store. |
| body |
body |
DetectUdfs |
false |
none |
Example responses
202 Response
{
"properties": {
"statusId": {
"description": "The ID that can be used with [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid] to poll for the job's status.",
"type": "string"
}
},
"required": [
"statusId"
],
"type": "object",
"x-versionadded": "v2.36"
}
Responses
Retrieves a data store's database tables (including views) by data store ID
Operation path: POST /api/v2/externalDataStores/{dataStoreId}/tables/
Authentication requirements: BearerAuth
Retrieves a data store's database tables (including views).
Body parameter
{
"properties": {
"catalog": {
"description": "Only show tables in this catalog.",
"type": "string"
},
"credentialId": {
"description": "The ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"password": {
"description": "The password for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
},
"schema": {
"description": "Only show tables in this schema.",
"type": "string"
},
"useKerberos": {
"default": false,
"description": "Whether to use Kerberos for data store authentication.",
"type": "boolean",
"x-versionadded": "v2.19"
},
"user": {
"description": "The username for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
}
},
"type": "object"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| dataStoreId |
path |
string |
true |
The ID of the data store. |
| body |
body |
DataStoreTables |
false |
none |
Example responses
200 Response
{
"properties": {
"catalog": {
"description": "The catalog associated with schemas.",
"type": [
"string",
"null"
]
},
"tables": {
"description": "The list of tables in the data store.",
"items": {
"properties": {
"catalog": {
"description": "The name of the catalog.",
"type": [
"string",
"null"
]
},
"name": {
"description": "The name of the table.",
"type": "string"
},
"schema": {
"description": "The schema of the table.",
"type": "string"
},
"type": {
"description": "The type of table.",
"enum": [
"TABLE",
"VIEW"
],
"type": "string"
}
},
"required": [
"name",
"type"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"catalog",
"tables"
],
"type": "object"
}
Responses
| Status |
Meaning |
Description |
Schema |
| 200 |
OK |
The list of tables available in the retrieved data store. |
DataStoreTablesList |
Test data store connection by data store ID
Operation path: POST /api/v2/externalDataStores/{dataStoreId}/test/
Authentication requirements: BearerAuth
Test the ability to connect to a data store with specified authentication.
Body parameter
{
"properties": {
"credentialData": {
"description": "The type of credentials to use with the data store.",
"oneOf": [
{
"properties": {
"credentialType": {
"description": "The type of these credentials, 'basic' here.",
"enum": [
"basic"
],
"type": "string"
},
"password": {
"description": "The password for database authentication. The password is encrypted at rest and never saved or stored.",
"type": "string"
},
"user": {
"description": "The username for database authentication.",
"type": "string"
}
},
"required": [
"credentialType",
"password",
"user"
],
"type": "object"
},
{
"properties": {
"awsAccessKeyId": {
"description": "The S3 AWS access key ID. Required if configId is not specified.Cannot include this parameter if configId is specified.",
"type": "string"
},
"awsSecretAccessKey": {
"description": "The S3 AWS secret access key. Required if configId is not specified.Cannot include this parameter if configId is specified.",
"type": "string"
},
"awsSessionToken": {
"default": null,
"description": "The S3 AWS session token for AWS temporary credentials.Cannot include this parameter if configId is specified.",
"type": [
"string",
"null"
]
},
"configId": {
"description": "The ID of secure configurations of credentials shared by admin. If specified, cannot include awsAccessKeyId, awsSecretAccessKey or awsSessionToken.",
"type": "string"
},
"credentialType": {
"description": "The type of these credentials, 's3' here.",
"enum": [
"s3"
],
"type": "string"
}
},
"required": [
"credentialType"
],
"type": "object"
},
{
"properties": {
"credentialType": {
"description": "The type of these credentials, 'oauth' here.",
"enum": [
"oauth"
],
"type": "string"
},
"oauthAccessToken": {
"default": null,
"description": "The OAuth access token.",
"type": [
"string",
"null"
]
},
"oauthClientId": {
"default": null,
"description": "The OAuth client ID.",
"type": [
"string",
"null"
]
},
"oauthClientSecret": {
"default": null,
"description": "The OAuth client secret.",
"type": [
"string",
"null"
]
},
"oauthRefreshToken": {
"description": "The OAuth refresh token.",
"type": "string"
}
},
"required": [
"credentialType",
"oauthRefreshToken"
],
"type": "object"
},
{
"properties": {
"configId": {
"description": "The ID of the saved shared credentials. If specified, cannot include user, privateKeyStr, or passphrase.",
"type": "string"
},
"credentialType": {
"description": "The type of these credentials, 'snowflake_key_pair_user_account' here.",
"enum": [
"snowflake_key_pair_user_account"
],
"type": "string"
},
"passphrase": {
"description": "Optional passphrase to decrypt private key. Cannot include this parameter if configId is specified.",
"type": "string"
},
"privateKeyStr": {
"description": "Private key for key pair authentication. Required if configId is not specified. Cannot include this parameter if configId is specified.",
"type": "string"
},
"user": {
"description": "Username for this credential. Required if configId is not specified. Cannot include this parameter if configId is specified.",
"type": "string"
}
},
"required": [
"credentialType"
],
"type": "object"
},
{
"properties": {
"configId": {
"description": "The ID of secure configurations shared by admin. Alternative to googleConfigId (deprecated). If specified, cannot include gcpKey.",
"type": "string"
},
"credentialType": {
"description": "The type of these credentials, 'gcp' here.",
"enum": [
"gcp"
],
"type": "string"
},
"gcpKey": {
"description": "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.",
"properties": {
"authProviderX509CertUrl": {
"description": "Auth provider X509 certificate URL.",
"format": "uri",
"type": "string"
},
"authUri": {
"description": "Auth URI.",
"format": "uri",
"type": "string"
},
"clientEmail": {
"description": "Client email address.",
"type": "string"
},
"clientId": {
"description": "Client ID.",
"type": "string"
},
"clientX509CertUrl": {
"description": "Client X509 certificate URL.",
"format": "uri",
"type": "string"
},
"privateKey": {
"description": "Private key.",
"type": "string"
},
"privateKeyId": {
"description": "Private key ID",
"type": "string"
},
"projectId": {
"description": "Project ID.",
"type": "string"
},
"tokenUri": {
"description": "Token URI.",
"format": "uri",
"type": "string"
},
"type": {
"description": "GCP account type.",
"enum": [
"service_account"
],
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"googleConfigId": {
"description": "The ID of secure configurations shared by admin. This is deprecated. Please use configId instead. If specified, cannot include gcpKey.",
"type": "string"
}
},
"required": [
"credentialType"
],
"type": "object"
},
{
"properties": {
"credentialType": {
"description": "The type of these credentials, 'databricks_access_token_account' here.",
"enum": [
"databricks_access_token_account"
],
"type": "string"
},
"databricksAccessToken": {
"description": "Databricks personal access token.",
"minLength": 1,
"type": "string"
}
},
"required": [
"credentialType",
"databricksAccessToken"
],
"type": "object"
},
{
"properties": {
"clientId": {
"description": "Client ID for Databricks service principal.",
"minLength": 1,
"type": "string"
},
"clientSecret": {
"description": "Client secret for Databricks service principal.",
"minLength": 1,
"type": "string"
},
"configId": {
"description": "The ID of the saved shared credentials. If specified, cannot include clientId and clientSecret.",
"type": "string"
},
"credentialType": {
"description": "The type of these credentials, 'databricks_service_principal_account' here.",
"enum": [
"databricks_service_principal_account"
],
"type": "string"
}
},
"required": [
"credentialType"
],
"type": "object"
},
{
"properties": {
"azureTenantId": {
"description": "Tenant ID of the Azure AD service principal.",
"type": "string"
},
"clientId": {
"description": "Client ID of the Azure AD service principal.",
"type": "string"
},
"clientSecret": {
"description": "Client Secret of the Azure AD service principal.",
"type": "string"
},
"configId": {
"description": "The ID of secure configurations of credentials shared by admin.",
"type": "string",
"x-versionadded": "v2.35"
},
"credentialType": {
"description": "The type of these credentials, 'azure_service_principal' here.",
"enum": [
"azure_service_principal"
],
"type": "string"
}
},
"required": [
"credentialType"
],
"type": "object"
},
{
"properties": {
"authenticationId": {
"description": "The authentication ID for external OAuth provider. Used to retrieve tokens from DataRobot OAuth service.",
"type": "string"
},
"credentialType": {
"description": "The type of these credentials, 'external_oauth_provider' here.",
"enum": [
"external_oauth_provider"
],
"type": "string"
}
},
"required": [
"authenticationId",
"credentialType"
],
"type": "object"
},
{
"properties": {
"clientId": {
"description": "Box JWT client ID.",
"type": "string",
"x-versionadded": "v2.41"
},
"clientSecret": {
"description": "Box JWT client secret.",
"type": "string",
"x-versionadded": "v2.41"
},
"configId": {
"description": "ID of secure configuration to share Box JWT credentials by admin.",
"type": "string",
"x-versionadded": "v2.41"
},
"credentialType": {
"description": "Credentials type.",
"enum": [
"box_jwt"
],
"type": "string",
"x-versionadded": "v2.41"
},
"enterpriseId": {
"description": "Box enterprise identifier.",
"type": "string",
"x-versionadded": "v2.41"
},
"passphrase": {
"description": "Passphrase for the Box JWT private key.",
"minLength": 1,
"type": "string",
"x-versionadded": "v2.41"
},
"privateKeyStr": {
"description": "RSA private key for Box JWT.",
"minLength": 1,
"type": "string",
"x-versionadded": "v2.41"
},
"publicKeyId": {
"description": "Box public key identifier.",
"type": "string",
"x-versionadded": "v2.41"
}
},
"required": [
"credentialType"
],
"type": "object",
"x-versionadded": "v2.42"
}
],
"x-versionadded": "v2.23"
},
"credentialId": {
"description": "The ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"password": {
"description": "The password for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
},
"useKerberos": {
"default": false,
"description": "Whether to use Kerberos for data store authentication.",
"type": "boolean",
"x-versionadded": "v2.19"
},
"user": {
"description": "The username for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
}
},
"type": "object"
}
Parameters
Example responses
200 Response
{
"properties": {
"message": {
"description": "The connection attempt results.",
"type": "string"
}
},
"required": [
"message"
],
"type": "object"
}
Responses
Verify a SQL query by data store ID
Operation path: POST /api/v2/externalDataStores/{dataStoreId}/verifySQL/
Authentication requirements: BearerAuth
Execute 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.
Body parameter
{
"properties": {
"credentialId": {
"description": "The ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"maxRows": {
"description": "The maximum number of rows of data to return if successful.",
"maximum": 999,
"minimum": 0,
"type": "integer"
},
"password": {
"description": "The password for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
},
"query": {
"description": "The SQL query to verify.",
"type": "string"
},
"useKerberos": {
"default": false,
"description": "Whether to use Kerberos for data store authentication.",
"type": "boolean",
"x-versionadded": "v2.19"
},
"user": {
"description": "The username for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
}
},
"required": [
"maxRows",
"query"
],
"type": "object"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| dataStoreId |
path |
string |
true |
The ID of the data store. |
| body |
body |
DataStoreSQLVerify |
false |
none |
Example responses
200 Response
{
"properties": {
"columns": {
"description": "The list of columns for the returned set of records. Column order matches the order of values in a record.",
"items": {
"description": "The name of the column.",
"type": "string"
},
"maxItems": 20000,
"type": "array"
},
"records": {
"description": "The list of records output by the query.",
"items": {
"description": "The list of values for a single database record, ordered as the columns are ordered.",
"items": {
"description": "The string representation of the column's value.",
"type": "string"
},
"type": "array"
},
"maxItems": 10000,
"type": "array"
}
},
"required": [
"columns",
"records"
],
"type": "object"
}
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 |
The details explaining why the SQL query is invalid. |
None |
List available driver configurations
Operation path: GET /api/v2/externalDriverConfigurations/
Authentication requirements: BearerAuth
Retrieve matching driver configurations based on query.
Parameters
| Name |
In |
Type |
Required |
Description |
| offset |
query |
integer |
false |
The 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
{
"properties": {
"count": {
"description": "The number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "List of driver configurations available to the user.",
"items": {
"properties": {
"associatedAuthTypes": {
"description": "The list of authentication types supported by this driver configuration.",
"items": {
"type": "string"
},
"type": "array"
},
"className": {
"description": "Java class name of the driver to be used (e.g., org.postgresql.Driver).",
"type": "string"
},
"creator": {
"description": "The user ID of the creator of this configuration.",
"type": "string"
},
"id": {
"description": "The driver configuration ID.",
"type": "string"
},
"jdbcFieldSchemas": {
"description": "Description of which fields to show when creating a datastore, their defaults, and whether or not they are required.",
"items": {
"properties": {
"choices": {
"default": [],
"description": "If non-empty, a list of all possible values for this parameter.",
"items": {
"description": "Possible value for this parameter.",
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the JDBC parameter.",
"type": "string"
},
"description": {
"default": "",
"description": "Description of this parameter.",
"type": "string"
},
"index": {
"description": "Sort order within one `kind`.",
"type": "integer"
},
"kind": {
"description": "Use of this parameter in constructing the JDBC URL.",
"enum": [
"ADDRESS",
"EXTENDED_PATH_PARAM",
"PATH_PARAM",
"QUERY_PARAM"
],
"type": "string"
},
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"kind",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"type": "array"
},
"jdbcUrlPathDelimiter": {
"description": "Separator of address from path in the JDBC URL (e.g., \"/\").",
"type": "string"
},
"jdbcUrlPrefix": {
"description": "Prefix of the JDBC URL (e.g., \"jdbc:mssql://\" or \"jdbc:oracle:thin:@\").",
"type": "string"
},
"jdbcUrlQueryDelimiter": {
"description": "Separator of path from the list of query parameters in the JDBC URL (e.g., \"?\").",
"type": "string"
},
"jdbcUrlQueryParamDelimiter": {
"description": "Separator of each set of query parameter key-value pairs in the JDBC URL (e.g., \"&\").",
"type": "string"
},
"jdbcUrlQueryParamKeyValueDelimiter": {
"description": "Separator of the key and value in a query parameter pair (e.g., \"=\").",
"type": "string"
},
"standardizedName": {
"description": "The plain text name for the driver (e.g., PostgreSQL).",
"type": "string"
},
"statements": {
"description": "List of supported statments for this driver configuration.",
"items": {
"enum": [
"insert",
"update",
"upsert"
],
"type": "string"
},
"type": "array"
},
"updated": {
"description": "ISO-8601 formatted time/date when this configuration was most recently updated.",
"type": "string"
}
},
"required": [
"associatedAuthTypes",
"className",
"creator",
"id",
"jdbcFieldSchemas",
"jdbcUrlPathDelimiter",
"jdbcUrlPrefix",
"jdbcUrlQueryDelimiter",
"jdbcUrlQueryParamDelimiter",
"jdbcUrlQueryParamKeyValueDelimiter",
"standardizedName",
"updated"
],
"type": "object"
},
"type": "array"
},
"next": {
"description": "The URL of the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "The URL of the previous page (if null, there is no previous page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "The total number of items across all pages.",
"type": "integer"
}
},
"required": [
"data",
"next",
"previous",
"totalCount"
],
"type": "object"
}
Responses
Driver configuration details by configuration ID
Operation path: GET /api/v2/externalDriverConfigurations/{configurationId}/
Authentication requirements: BearerAuth
Retrieve the driver configuration with the specified ID.
Parameters
| Name |
In |
Type |
Required |
Description |
| configurationId |
path |
string |
true |
The driver configuration ID. |
Example responses
200 Response
{
"properties": {
"associatedAuthTypes": {
"description": "The list of authentication types supported by this driver configuration.",
"items": {
"type": "string"
},
"type": "array"
},
"className": {
"description": "Java class name of the driver to be used (e.g., org.postgresql.Driver).",
"type": "string"
},
"creator": {
"description": "The user ID of the creator of this configuration.",
"type": "string"
},
"id": {
"description": "The driver configuration ID.",
"type": "string"
},
"jdbcFieldSchemas": {
"description": "Description of which fields to show when creating a datastore, their defaults, and whether or not they are required.",
"items": {
"properties": {
"choices": {
"default": [],
"description": "If non-empty, a list of all possible values for this parameter.",
"items": {
"description": "Possible value for this parameter.",
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the JDBC parameter.",
"type": "string"
},
"description": {
"default": "",
"description": "Description of this parameter.",
"type": "string"
},
"index": {
"description": "Sort order within one `kind`.",
"type": "integer"
},
"kind": {
"description": "Use of this parameter in constructing the JDBC URL.",
"enum": [
"ADDRESS",
"EXTENDED_PATH_PARAM",
"PATH_PARAM",
"QUERY_PARAM"
],
"type": "string"
},
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"kind",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"type": "array"
},
"jdbcUrlPathDelimiter": {
"description": "Separator of address from path in the JDBC URL (e.g., \"/\").",
"type": "string"
},
"jdbcUrlPrefix": {
"description": "Prefix of the JDBC URL (e.g., \"jdbc:mssql://\" or \"jdbc:oracle:thin:@\").",
"type": "string"
},
"jdbcUrlQueryDelimiter": {
"description": "Separator of path from the list of query parameters in the JDBC URL (e.g., \"?\").",
"type": "string"
},
"jdbcUrlQueryParamDelimiter": {
"description": "Separator of each set of query parameter key-value pairs in the JDBC URL (e.g., \"&\").",
"type": "string"
},
"jdbcUrlQueryParamKeyValueDelimiter": {
"description": "Separator of the key and value in a query parameter pair (e.g., \"=\").",
"type": "string"
},
"standardizedName": {
"description": "The plain text name for the driver (e.g., PostgreSQL).",
"type": "string"
},
"statements": {
"description": "List of supported statments for this driver configuration.",
"items": {
"enum": [
"insert",
"update",
"upsert"
],
"type": "string"
},
"type": "array"
},
"updated": {
"description": "ISO-8601 formatted time/date when this configuration was most recently updated.",
"type": "string"
}
},
"required": [
"associatedAuthTypes",
"className",
"creator",
"id",
"jdbcFieldSchemas",
"jdbcUrlPathDelimiter",
"jdbcUrlPrefix",
"jdbcUrlQueryDelimiter",
"jdbcUrlQueryParamDelimiter",
"jdbcUrlQueryParamKeyValueDelimiter",
"standardizedName",
"updated"
],
"type": "object"
}
Responses
Preview data
Operation path: POST /api/v2/jdbcDataPreview/
Authentication requirements: BearerAuth
Execute SQL against the selected JDBC URL and return a row-limited preview. Specify credentials and connection parameters in the JDBC URL and/or in the parameters field.
Body parameter
{
"properties": {
"jdbcUrl": {
"description": "The JDBC URL.",
"type": "string"
},
"maxRows": {
"default": 1000,
"description": "The row limit for the preview. The default is 1,000 rows, and a maximum of 10,000 per request.",
"maximum": 10000,
"minimum": 0,
"type": "integer"
},
"parameters": {
"description": "Optional connection parameters and credential properties as key-value pairs (e.g. user, password, ssl, timeout).",
"type": "object",
"x-versionadded": "v2.43"
},
"sql": {
"description": "The SQL to execute (e.g. SELECT ...).",
"maxLength": 320000,
"type": "string"
}
},
"required": [
"jdbcUrl",
"sql"
],
"type": "object",
"x-versionadded": "v2.43"
}
Parameters
Example responses
200 Response
{
"properties": {
"columns": {
"description": "The list of columns for the returned set of records. Column order matches the order of values in a record.",
"items": {
"description": "The name of the column.",
"type": "string"
},
"maxItems": 20000,
"type": "array"
},
"records": {
"description": "The list of records output by the query.",
"items": {
"description": "The list of values for a single database record, ordered as the columns are ordered.",
"items": {
"description": "The string representation of the column's value.",
"type": "string"
},
"type": "array"
},
"maxItems": 10000,
"type": "array"
},
"resultSchema": {
"description": "The JDBC result schema.",
"items": {
"description": "The JDBC result column description.",
"properties": {
"dataType": {
"description": "The data type of the column.",
"type": "string"
},
"dataTypeInt": {
"description": "The integer value of the column data type.",
"type": [
"integer",
"null"
]
},
"name": {
"description": "The name of the column.",
"type": "string"
},
"precision": {
"description": "The precision of the column.",
"type": [
"integer",
"null"
]
},
"scale": {
"description": "The scale of the column.",
"type": [
"integer",
"null"
]
}
},
"required": [
"dataType",
"dataTypeInt",
"name",
"precision",
"scale"
],
"type": "object",
"x-versionadded": "v2.43"
},
"maxItems": 20000,
"type": "array"
}
},
"required": [
"columns",
"records",
"resultSchema"
],
"type": "object",
"x-versionadded": "v2.43"
}
Responses
| Status |
Meaning |
Description |
Schema |
| 200 |
OK |
Returns columns, records, and resultSchema matching the data preview shape. |
DataStorePreviewResponse |
Schemas
ACLAdminConnectionBase
{
"properties": {
"adminEmail": {
"default": null,
"description": "The user to impersonate for the admin-level operations. Currently only applicable to Google Drive.",
"type": [
"string",
"null"
]
},
"dataStoreId": {
"description": "The ACL management connection ID.",
"type": "string"
},
"domain": {
"default": null,
"description": "The custom domain for the connection. Currently only applicable to SharePoint.",
"type": [
"string",
"null"
]
}
},
"required": [
"dataStoreId"
],
"type": "object",
"x-versionadded": "v2.43"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| adminEmail |
string,null |
false |
|
The user to impersonate for the admin-level operations. Currently only applicable to Google Drive. |
| dataStoreId |
string |
true |
|
The ACL management connection ID. |
| domain |
string,null |
false |
|
The custom domain for the connection. Currently only applicable to SharePoint. |
ACLAdminConnectionList
{
"properties": {
"count": {
"description": "The number of items returned on this page.",
"type": "integer",
"x-versionadded": "v2.43"
},
"data": {
"description": "The list of ACL management connections for the user organization.",
"items": {
"properties": {
"adminEmail": {
"default": null,
"description": "The user to impersonate for the admin-level operations. Currently only applicable to Google Drive.",
"type": [
"string",
"null"
]
},
"dataStoreId": {
"description": "The ACL management connection ID.",
"type": "string"
},
"domain": {
"default": null,
"description": "The custom domain for the connection. Currently only applicable to SharePoint.",
"type": [
"string",
"null"
]
},
"externalConnectorType": {
"description": "The data provider being configured.",
"enum": [
"gdrive",
"sharepoint"
],
"type": "string"
}
},
"required": [
"dataStoreId",
"externalConnectorType"
],
"type": "object",
"x-versionadded": "v2.43"
},
"maxItems": 100,
"type": "array"
},
"next": {
"description": "The URL of the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
],
"x-versionadded": "v2.43"
},
"previous": {
"description": "The URL of the previous page (if null, there is no previous page).",
"format": "uri",
"type": [
"string",
"null"
],
"x-versionadded": "v2.43"
},
"totalCount": {
"description": "The total number of items across all pages.",
"type": "integer",
"x-versionadded": "v2.43"
}
},
"required": [
"data",
"next",
"previous",
"totalCount"
],
"type": "object",
"x-versionadded": "v2.43"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| count |
integer |
false |
|
The number of items returned on this page. |
| data |
[ACLAdminConnectionResponse] |
true |
maxItems: 100
|
The list of ACL management connections for the user organization. |
| next |
string,null(uri) |
true |
|
The URL of the next page (if null, there is no next page). |
| previous |
string,null(uri) |
true |
|
The URL of the previous page (if null, there is no previous page). |
| totalCount |
integer |
true |
|
The total number of items across all pages. |
ACLAdminConnectionResponse
{
"properties": {
"adminEmail": {
"default": null,
"description": "The user to impersonate for the admin-level operations. Currently only applicable to Google Drive.",
"type": [
"string",
"null"
]
},
"dataStoreId": {
"description": "The ACL management connection ID.",
"type": "string"
},
"domain": {
"default": null,
"description": "The custom domain for the connection. Currently only applicable to SharePoint.",
"type": [
"string",
"null"
]
},
"externalConnectorType": {
"description": "The data provider being configured.",
"enum": [
"gdrive",
"sharepoint"
],
"type": "string"
}
},
"required": [
"dataStoreId",
"externalConnectorType"
],
"type": "object",
"x-versionadded": "v2.43"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| adminEmail |
string,null |
false |
|
The user to impersonate for the admin-level operations. Currently only applicable to Google Drive. |
| dataStoreId |
string |
true |
|
The ACL management connection ID. |
| domain |
string,null |
false |
|
The custom domain for the connection. Currently only applicable to SharePoint. |
| externalConnectorType |
string |
true |
|
The data provider being configured. |
Enumerated Values
| Property |
Value |
| externalConnectorType |
[gdrive, sharepoint] |
AccessControl
{
"properties": {
"canShare": {
"description": "Whether the recipient can share the role further.",
"type": "boolean"
},
"role": {
"description": "The role of the user on this entity.",
"type": "string"
},
"userId": {
"description": "The identifier of the user that has access to this entity.",
"type": "string"
},
"username": {
"description": "The username of the user that has access to the entity.",
"type": "string"
}
},
"required": [
"canShare",
"role",
"userId",
"username"
],
"type": "object"
}
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
{
"properties": {
"canShare": {
"description": "Whether the recipient can share the role further.",
"type": "boolean"
},
"id": {
"description": "The identifier of the recipient.",
"type": "string"
},
"name": {
"description": "The name of the recipient.",
"type": "string"
},
"role": {
"description": "The role of the recipient on this entity.",
"enum": [
"ADMIN",
"CONSUMER",
"DATA_SCIENTIST",
"EDITOR",
"OBSERVER",
"OWNER",
"READ_ONLY",
"READ_WRITE",
"USER"
],
"type": "string"
},
"shareRecipientType": {
"description": "The type of the recipient.",
"enum": [
"user",
"group",
"organization"
],
"type": "string"
},
"userFullName": {
"description": "The full name of the recipient user.",
"type": "string"
}
},
"required": [
"canShare",
"id",
"name",
"role",
"shareRecipientType"
],
"type": "object"
}
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 |
|
The 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
{
"properties": {
"azureTenantId": {
"description": "Tenant ID of the Azure AD service principal.",
"type": "string"
},
"clientId": {
"description": "Client ID of the Azure AD service principal.",
"type": "string"
},
"clientSecret": {
"description": "Client Secret of the Azure AD service principal.",
"type": "string"
},
"configId": {
"description": "The ID of secure configurations of credentials shared by admin.",
"type": "string",
"x-versionadded": "v2.35"
},
"credentialType": {
"description": "The type of these credentials, 'azure_service_principal' here.",
"enum": [
"azure_service_principal"
],
"type": "string"
}
},
"required": [
"credentialType"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| azureTenantId |
string |
false |
|
Tenant ID of the Azure AD service principal. |
| clientId |
string |
false |
|
Client ID of the Azure AD service principal. |
| clientSecret |
string |
false |
|
Client Secret of the Azure AD service principal. |
| configId |
string |
false |
|
The ID of secure configurations of credentials shared by admin. |
| credentialType |
string |
true |
|
The type of these credentials, 'azure_service_principal' here. |
Enumerated Values
| Property |
Value |
| credentialType |
azure_service_principal |
BOXJWTCredentialsFields
{
"properties": {
"clientId": {
"description": "Box JWT client ID.",
"type": "string",
"x-versionadded": "v2.41"
},
"clientSecret": {
"description": "Box JWT client secret.",
"type": "string",
"x-versionadded": "v2.41"
},
"configId": {
"description": "ID of secure configuration to share Box JWT credentials by admin.",
"type": "string",
"x-versionadded": "v2.41"
},
"credentialType": {
"description": "Credentials type.",
"enum": [
"box_jwt"
],
"type": "string",
"x-versionadded": "v2.41"
},
"enterpriseId": {
"description": "Box enterprise identifier.",
"type": "string",
"x-versionadded": "v2.41"
},
"passphrase": {
"description": "Passphrase for the Box JWT private key.",
"minLength": 1,
"type": "string",
"x-versionadded": "v2.41"
},
"privateKeyStr": {
"description": "RSA private key for Box JWT.",
"minLength": 1,
"type": "string",
"x-versionadded": "v2.41"
},
"publicKeyId": {
"description": "Box public key identifier.",
"type": "string",
"x-versionadded": "v2.41"
}
},
"required": [
"credentialType"
],
"type": "object",
"x-versionadded": "v2.42"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| clientId |
string |
false |
|
Box JWT client ID. |
| clientSecret |
string |
false |
|
Box JWT client secret. |
| configId |
string |
false |
|
ID of secure configuration to share Box JWT credentials by admin. |
| credentialType |
string |
true |
|
Credentials type. |
| enterpriseId |
string |
false |
|
Box enterprise identifier. |
| passphrase |
string |
false |
minLength: 1 minLength: 1
|
Passphrase for the Box JWT private key. |
| privateKeyStr |
string |
false |
minLength: 1 minLength: 1
|
RSA private key for Box JWT. |
| publicKeyId |
string |
false |
|
Box public key identifier. |
Enumerated Values
| Property |
Value |
| credentialType |
box_jwt |
BasicCredentials
{
"properties": {
"credentialType": {
"description": "The type of these credentials, 'basic' here.",
"enum": [
"basic"
],
"type": "string"
},
"password": {
"description": "The password for database authentication. The password is encrypted at rest and never saved or stored.",
"type": "string"
},
"user": {
"description": "The username for database authentication.",
"type": "string"
}
},
"required": [
"credentialType",
"password",
"user"
],
"type": "object"
}
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 or stored. |
| user |
string |
true |
|
The username for database authentication. |
Enumerated Values
| Property |
Value |
| credentialType |
basic |
ConnectorFieldSchema
{
"properties": {
"choices": {
"description": "If non-empty, the list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "The default value of the parameter.",
"type": "string"
},
"description": {
"description": "The description of the parameter.",
"type": "string"
},
"name": {
"description": "The name of the parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"name",
"required",
"visibleByDefault"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| choices |
[string] |
true |
|
If non-empty, the list of all possible values for a parameter. |
| default |
string |
true |
|
The default value of the parameter. |
| description |
string |
true |
|
The description of the parameter. |
| name |
string |
true |
|
The 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
{
"properties": {
"creationDate": {
"description": "ISO-8601 formatted date/time when these credentials were created.",
"format": "date-time",
"type": "string"
},
"credentialId": {
"description": "ID of these credentials.",
"type": "string"
},
"credentialType": {
"default": "basic",
"description": "Type of credentials.",
"enum": [
"adls_gen2_oauth",
"api_token",
"azure",
"azure_oauth",
"azure_service_principal",
"basic",
"bearer",
"box_jwt",
"databricks_access_token_account",
"databricks_service_principal_account",
"external_oauth_provider",
"gcp",
"oauth",
"rsa",
"s3",
"sap_oauth",
"snowflake_key_pair_user_account",
"snowflake_oauth_user_account",
"tableau_access_token"
],
"type": "string"
},
"description": {
"description": "Description of these credentials.",
"type": "string"
},
"name": {
"description": "Name of these credentials.",
"type": "string"
}
},
"required": [
"creationDate",
"credentialId",
"name"
],
"type": "object"
}
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_oauth, azure_service_principal, basic, bearer, box_jwt, databricks_access_token_account, databricks_service_principal_account, external_oauth_provider, gcp, oauth, rsa, s3, sap_oauth, snowflake_key_pair_user_account, snowflake_oauth_user_account, tableau_access_token] |
CreateDataStageRequest
{
"properties": {
"filename": {
"description": "The filename associated with the stage.",
"type": "string"
}
},
"required": [
"filename"
],
"type": "object",
"x-versionadded": "v2.35"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| filename |
string |
true |
|
The filename associated with the stage. |
CreateDataStageResponse
{
"properties": {
"id": {
"description": "The ID of the data stage object.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object",
"x-versionadded": "v2.35"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| id |
string |
true |
|
The ID of the data stage object. |
CreateDriverRequest
{
"properties": {
"baseNames": {
"description": "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'",
"items": {
"description": "Original file name of the uploaded JAR file.",
"type": "string"
},
"type": "array"
},
"canonicalName": {
"description": "User-friendly driver name.",
"type": "string"
},
"className": {
"description": "Driver class name. For example 'com.amazon.redshift.jdbc.Driver'",
"type": [
"string",
"null"
]
},
"configurationId": {
"description": "Driver configuration ID if it was provided during driver upload.",
"type": [
"string",
"null"
],
"x-versionadded": "v2.18"
},
"databaseDriver": {
"description": "The type of database of the driver. Only required of 'dr-database-v1' drivers.",
"enum": [
"bigquery-v1",
"databricks-v1",
"datasphere-v1",
"trino-v1"
],
"type": [
"string",
"null"
],
"x-versionadded": "v2.30"
},
"localJarUrls": {
"description": "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.",
"items": {
"description": "File path for the driver file. This path is returned by the driverUpload route in the 'local_url' response.",
"type": "string"
},
"minItems": 1,
"type": "array"
},
"type": {
"default": "jdbc",
"description": "Driver type. Either 'jdbc' or 'dr-database-v1'.",
"enum": [
"dr-database-v1",
"jdbc"
],
"type": "string",
"x-versionadded": "v2.30"
},
"version": {
"description": "Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.",
"type": "string",
"x-versionadded": "v2.18"
}
},
"type": "object"
}
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, datasphere-v1, trino-v1] |
| type |
[dr-database-v1, jdbc] |
CredentialsListResponse
{
"properties": {
"count": {
"description": "The number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "List of credentials.",
"items": {
"properties": {
"creationDate": {
"description": "ISO-8601 formatted date/time when these credentials were created.",
"format": "date-time",
"type": "string"
},
"credentialId": {
"description": "ID of these credentials.",
"type": "string"
},
"credentialType": {
"default": "basic",
"description": "Type of credentials.",
"enum": [
"adls_gen2_oauth",
"api_token",
"azure",
"azure_oauth",
"azure_service_principal",
"basic",
"bearer",
"box_jwt",
"databricks_access_token_account",
"databricks_service_principal_account",
"external_oauth_provider",
"gcp",
"oauth",
"rsa",
"s3",
"sap_oauth",
"snowflake_key_pair_user_account",
"snowflake_oauth_user_account",
"tableau_access_token"
],
"type": "string"
},
"description": {
"description": "Description of these credentials.",
"type": "string"
},
"name": {
"description": "Name of these credentials.",
"type": "string"
}
},
"required": [
"creationDate",
"credentialId",
"name"
],
"type": "object"
},
"type": "array"
},
"next": {
"description": "The URL of the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "The URL of the previous page (if null, there is no previous page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "The total number of items across all pages.",
"type": "integer"
}
},
"required": [
"data",
"next",
"previous",
"totalCount"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| count |
integer |
false |
|
The number of items returned on this page. |
| data |
[CreateCredentialsResponse] |
true |
|
List of credentials. |
| next |
string,null(uri) |
true |
|
The URL of the next page (if null, there is no next page). |
| previous |
string,null(uri) |
true |
|
The URL of the previous page (if null, there is no previous page). |
| totalCount |
integer |
true |
|
The total number of items across all pages. |
DRConnectorV1Create
{
"properties": {
"connectorId": {
"description": "The ID of the connector.",
"type": "string"
},
"fields": {
"description": "The connector fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"connectorId",
"fields"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| connectorId |
string |
true |
|
The ID of the connector. |
| fields |
[DRConnectorV1Field] |
true |
|
The connector fields. |
DRConnectorV1DataSource
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"filter": {
"description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
"maxLength": 320000,
"type": "string",
"x-versionadded": "v2.39"
},
"path": {
"description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
"type": "string",
"x-versionadded": "v2.22"
}
},
"required": [
"dataStoreId",
"path"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| dataStoreId |
string |
true |
|
The data store ID for this data source. |
| filter |
string |
false |
maxLength: 320000
|
An optional filter string for narrowing results, which overrides path when specified. Only supported by the Jira connector. |
| path |
string |
true |
|
The 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
{
"properties": {
"connectorId": {
"description": "The ID of the connector.",
"type": "string"
},
"fieldSchemas": {
"description": "The connector field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, the list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "The default value of the parameter.",
"type": "string"
},
"description": {
"description": "The description of the parameter.",
"type": "string"
},
"name": {
"description": "The name of the parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"type": "array"
},
"fields": {
"description": "The connector fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"connectorId",
"fields"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| connectorId |
string |
true |
|
The ID of the connector. |
| fieldSchemas |
[ConnectorFieldSchema] |
false |
|
The connector field schemas. |
| fields |
[DRConnectorV1Field] |
true |
|
The connector fields. |
DRConnectorV1Field
{
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| id |
string |
false |
|
The field name. |
| name |
string |
true |
|
The user-friendly displayable field name. |
| value |
string |
true |
|
The field value. |
DRConnectorV1Update
{
"properties": {
"fields": {
"description": "The connector fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| fields |
[DRConnectorV1Field] |
false |
|
The connector fields. |
DataSourceCreate
{
"properties": {
"canonicalName": {
"description": "The data source canonical name.",
"type": "string"
},
"params": {
"description": "The data source configuration.",
"oneOf": [
{
"properties": {
"catalog": {
"description": "The catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"partitionColumn": {
"description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
"type": "string"
},
"schema": {
"description": "The schema associated with the table or view in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "The table or view name in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
}
},
"required": [
"dataStoreId",
"table"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
"maxLength": 320000,
"type": "string"
}
},
"required": [
"dataStoreId",
"query"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"filter": {
"description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
"maxLength": 320000,
"type": "string",
"x-versionadded": "v2.39"
},
"path": {
"description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
"type": "string",
"x-versionadded": "v2.22"
}
},
"required": [
"dataStoreId",
"path"
],
"type": "object"
}
]
},
"type": {
"description": "The data source type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
}
},
"required": [
"canonicalName",
"params",
"type"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| canonicalName |
string |
true |
|
The data source canonical name. |
| params |
any |
true |
|
The data source configuration. |
oneOf
xor
xor
continued
| Name |
Type |
Required |
Restrictions |
Description |
| type |
string |
true |
|
The data source type. |
Enumerated Values
| Property |
Value |
| type |
[dr-connector-v1, dr-database-v1, jdbc] |
DataSourceDescribePermissionsResponse
{
"properties": {
"canCreatePredictions": {
"description": "True if the user can create predictions from the data source.",
"type": "boolean"
},
"canCreateProject": {
"description": "True if the user can create project from the data source.",
"type": "boolean"
},
"canDelete": {
"description": "True if the user can delete the data source.",
"type": "boolean"
},
"canEdit": {
"description": "True if the user can edit data source info.",
"type": "boolean"
},
"canSetRoles": {
"description": "Roles the user can grant or revoke from other users, groups, or organizations.",
"items": {
"description": "The role the user can grant or revoke from users, groups or organizations.",
"enum": [
"OWNER",
"EDITOR",
"CONSUMER"
],
"type": "string"
},
"type": "array"
},
"canShare": {
"description": "True if the user can share the data source.",
"type": "boolean"
},
"canView": {
"description": "True if the user can view data source info.",
"type": "boolean"
},
"dataSourceId": {
"description": "The ID of the data source.",
"type": "string"
},
"userId": {
"description": "The ID of the user identified by username.",
"type": "string"
},
"username": {
"description": "`username` of a user with access to this data source.",
"type": "string"
}
},
"required": [
"canCreatePredictions",
"canCreateProject",
"canDelete",
"canEdit",
"canSetRoles",
"canShare",
"canView",
"dataSourceId",
"userId",
"username"
],
"type": "object"
}
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
{
"properties": {
"canDelete": {
"description": "True if the user can delete the data source.",
"type": "boolean",
"x-versionadded": "v2.23"
},
"canShare": {
"description": "True if the user can share the data source.",
"type": "boolean",
"x-versionadded": "v2.22"
},
"canonicalName": {
"description": "The data source canonical name.",
"type": "string"
},
"creator": {
"description": "The ID of the user who created the data source.",
"type": "string"
},
"driverClassType": {
"description": "The type of driver used to create this data source.",
"type": "string"
},
"id": {
"description": "The data source ID.",
"type": "string"
},
"params": {
"description": "The data source configuration.",
"oneOf": [
{
"properties": {
"catalog": {
"description": "The catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"partitionColumn": {
"description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
"type": "string"
},
"schema": {
"description": "The schema associated with the table or view in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "The table or view name in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
}
},
"required": [
"dataStoreId",
"table"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
"maxLength": 320000,
"type": "string"
}
},
"required": [
"dataStoreId",
"query"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"filter": {
"description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
"maxLength": 320000,
"type": "string",
"x-versionadded": "v2.39"
},
"path": {
"description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
"type": "string",
"x-versionadded": "v2.22"
}
},
"required": [
"dataStoreId",
"path"
],
"type": "object"
}
]
},
"role": {
"description": "The role of the user making the request on this data source.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "The data source type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "The ISO 8601-formatted date/time of the data source update.",
"type": "string"
}
},
"required": [
"canDelete",
"canShare",
"canonicalName",
"creator",
"id",
"params",
"role",
"type",
"updated"
],
"type": "object"
}
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 |
|
The data source canonical name. |
| creator |
string |
true |
|
The 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 |
|
The data source ID. |
| params |
any |
true |
|
The data source configuration. |
oneOf
xor
xor
continued
| Name |
Type |
Required |
Restrictions |
Description |
| role |
string |
true |
|
The role of the user making the request on this data source. |
| type |
string |
true |
|
The data source type. |
| updated |
string |
true |
|
The 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
{
"properties": {
"data": {
"description": "The list of data sources.",
"items": {
"properties": {
"canDelete": {
"description": "True if the user can delete the data source.",
"type": "boolean",
"x-versionadded": "v2.23"
},
"canShare": {
"description": "True if the user can share the data source.",
"type": "boolean",
"x-versionadded": "v2.22"
},
"canonicalName": {
"description": "The data source canonical name.",
"type": "string"
},
"creator": {
"description": "The ID of the user who created the data source.",
"type": "string"
},
"driverClassType": {
"description": "The type of driver used to create this data source.",
"type": "string"
},
"id": {
"description": "The data source ID.",
"type": "string"
},
"params": {
"description": "The data source configuration.",
"oneOf": [
{
"properties": {
"catalog": {
"description": "The catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"partitionColumn": {
"description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
"type": "string"
},
"schema": {
"description": "The schema associated with the table or view in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "The table or view name in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
}
},
"required": [
"dataStoreId",
"table"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
"maxLength": 320000,
"type": "string"
}
},
"required": [
"dataStoreId",
"query"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"filter": {
"description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
"maxLength": 320000,
"type": "string",
"x-versionadded": "v2.39"
},
"path": {
"description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
"type": "string",
"x-versionadded": "v2.22"
}
},
"required": [
"dataStoreId",
"path"
],
"type": "object"
}
]
},
"role": {
"description": "The role of the user making the request on this data source.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "The data source type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "The ISO 8601-formatted date/time of the data source update.",
"type": "string"
}
},
"required": [
"canDelete",
"canShare",
"canonicalName",
"creator",
"id",
"params",
"role",
"type",
"updated"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"data"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| data |
[DataSourceInList] |
true |
|
The list of data sources. |
DataSourceRetrieveResponse
{
"properties": {
"canonicalName": {
"description": "The data source canonical name.",
"type": "string"
},
"creator": {
"description": "The ID of the user who created the data source.",
"type": "string"
},
"driverClassType": {
"description": "The type of driver used to create this data source.",
"type": "string"
},
"id": {
"description": "The data source ID.",
"type": "string"
},
"params": {
"description": "The data source configuration.",
"oneOf": [
{
"properties": {
"catalog": {
"description": "The catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"partitionColumn": {
"description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
"type": "string"
},
"schema": {
"description": "The schema associated with the table or view in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "The table or view name in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
}
},
"required": [
"dataStoreId",
"table"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
"maxLength": 320000,
"type": "string"
}
},
"required": [
"dataStoreId",
"query"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"filter": {
"description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
"maxLength": 320000,
"type": "string",
"x-versionadded": "v2.39"
},
"path": {
"description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
"type": "string",
"x-versionadded": "v2.22"
}
},
"required": [
"dataStoreId",
"path"
],
"type": "object"
}
]
},
"role": {
"description": "The role of the user making the request on this data source.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "The data source type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "The ISO 8601-formatted date/time of the data source update.",
"type": "string"
}
},
"required": [
"canonicalName",
"creator",
"id",
"params",
"role",
"type",
"updated"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| canonicalName |
string |
true |
|
The data source canonical name. |
| creator |
string |
true |
|
The 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 |
|
The data source ID. |
| params |
any |
true |
|
The data source configuration. |
oneOf
xor
xor
continued
| Name |
Type |
Required |
Restrictions |
Description |
| role |
string |
true |
|
The role of the user making the request on this data source. |
| type |
string |
true |
|
The data source type. |
| updated |
string |
true |
|
The 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
{
"properties": {
"canonicalName": {
"description": "The data source's canonical name.",
"type": "string"
},
"params": {
"description": "Data source configuration.",
"oneOf": [
{
"properties": {
"catalog": {
"description": "The catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"partitionColumn": {
"description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
"type": "string"
},
"schema": {
"description": "The schema associated with the table or view in the database if supported.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "The table or view name in the database.",
"maxLength": 256,
"type": "string"
}
},
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
"maxLength": 320000,
"type": "string"
}
},
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"filter": {
"description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
"maxLength": 320000,
"type": "string",
"x-versionadded": "v2.39"
},
"path": {
"description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
"type": "string",
"x-versionadded": "v2.22"
}
},
"type": "object"
}
]
}
},
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| canonicalName |
string |
false |
|
The data source's canonical name. |
| params |
any |
false |
|
Data source configuration. |
oneOf
xor
xor
DataStageFinalizeResponse
{
"properties": {
"parts": {
"description": "The size of the part.",
"items": {
"properties": {
"checksum": {
"description": "The checksum of the part.",
"type": "string"
},
"number": {
"description": "The number of the part.",
"type": "integer"
},
"size": {
"description": "The size of the part.",
"type": "integer"
}
},
"required": [
"checksum",
"number",
"size"
],
"type": "object",
"x-versionadded": "v2.35"
},
"maxItems": 1000,
"minItems": 1,
"type": "array"
}
},
"required": [
"parts"
],
"type": "object",
"x-versionadded": "v2.35"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| parts |
[PartFinalizeResponse] |
true |
maxItems: 1000 minItems: 1
|
The size of the part. |
DataStoreColumnResponse
{
"properties": {
"dataType": {
"description": "The data type of the column.",
"type": "string"
},
"name": {
"description": "The name of the column.",
"type": "string"
},
"precision": {
"description": "The precision of the column.",
"type": [
"string",
"null"
]
},
"scale": {
"description": "The scale of the column.",
"type": [
"string",
"null"
]
}
},
"required": [
"dataType",
"name",
"precision",
"scale"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| dataType |
string |
true |
|
The data type of the column. |
| name |
string |
true |
|
The name of the column. |
| precision |
string,null |
true |
|
The precision of the column. |
| scale |
string,null |
true |
|
The scale of the column. |
DataStoreColumnsInfoList
{
"properties": {
"catalog": {
"description": "The name of the specified database catalog.",
"type": [
"string",
"null"
]
},
"credentialId": {
"description": "The ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"password": {
"description": "The password for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
},
"schema": {
"description": "The schema name.",
"type": "string"
},
"table": {
"description": "The table name.",
"type": "string"
},
"useKerberos": {
"default": false,
"description": "Whether to use Kerberos for data store authentication.",
"type": "boolean",
"x-versionadded": "v2.19"
},
"user": {
"description": "The username for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
}
},
"required": [
"table"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| catalog |
string,null |
false |
|
The name of the specified database catalog. |
| credentialId |
string |
false |
|
The ID of the set of credentials to use instead of username and password. |
| password |
string |
false |
|
The password for data store authentication. |
| schema |
string |
false |
|
The schema name. |
| table |
string |
true |
|
The table name. |
| useKerberos |
boolean |
false |
|
Whether to use Kerberos for data store authentication. |
| user |
string |
false |
|
The username for data store authentication. |
DataStoreColumnsInfoListResponse
{
"properties": {
"count": {
"description": "The number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "The list of data store columns metadata.",
"items": {
"properties": {
"columnDefaultValue": {
"description": "The default value of the column.",
"type": [
"string",
"null"
]
},
"comment": {
"description": "The comment of the column.",
"type": [
"string",
"null"
]
},
"dataType": {
"description": "The data type of the column.",
"type": "string"
},
"dataTypeInt": {
"description": "The integer value of the column data type.",
"type": "integer"
},
"exportedKeys": {
"description": "The foreign key columns that reference this table's primary key columns.",
"items": {
"properties": {
"foreignKey": {
"description": "The referred primary key.",
"properties": {
"catalog": {
"description": "The catalog name.",
"type": "string"
},
"column": {
"description": "The column name.",
"type": "string"
},
"schema": {
"description": "The schema name.",
"type": "string"
},
"table": {
"description": "The table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
},
"keyType": {
"description": "The type of this key.",
"enum": [
"1",
"2",
"3"
],
"type": "string"
},
"name": {
"description": "The name of this key.",
"type": "string"
},
"primaryKey": {
"description": "The referred primary key.",
"properties": {
"catalog": {
"description": "The catalog name.",
"type": "string"
},
"column": {
"description": "The column name.",
"type": "string"
},
"schema": {
"description": "The schema name.",
"type": "string"
},
"table": {
"description": "The table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
}
},
"required": [
"keyType",
"primaryKey"
],
"type": "object"
},
"type": "array"
},
"importedKeys": {
"description": "The primary key columns that are referenced by this table's foreign key columns.",
"items": {
"properties": {
"foreignKey": {
"description": "The referred primary key.",
"properties": {
"catalog": {
"description": "The catalog name.",
"type": "string"
},
"column": {
"description": "The column name.",
"type": "string"
},
"schema": {
"description": "The schema name.",
"type": "string"
},
"table": {
"description": "The table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
},
"keyType": {
"description": "The type of this key.",
"enum": [
"1",
"2",
"3"
],
"type": "string"
},
"name": {
"description": "The name of this key.",
"type": "string"
},
"primaryKey": {
"description": "The referred primary key.",
"properties": {
"catalog": {
"description": "The catalog name.",
"type": "string"
},
"column": {
"description": "The column name.",
"type": "string"
},
"schema": {
"description": "The schema name.",
"type": "string"
},
"table": {
"description": "The table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
}
},
"required": [
"keyType",
"primaryKey"
],
"type": "object"
},
"type": "array"
},
"isInPrimaryKey": {
"description": "True if the column is in the primary key.",
"type": [
"boolean",
"null"
]
},
"isNullable": {
"description": "Whether the column values can be null.",
"enum": [
"NO",
"UNKNOWN",
"YES"
],
"type": [
"string",
"null"
]
},
"name": {
"description": "The name of the column.",
"type": "string"
},
"precision": {
"description": "The precision of the column.",
"type": [
"integer",
"null"
]
},
"primaryKeys": {
"description": "The primary key columns of the table.",
"items": {
"type": "string"
},
"type": "array"
},
"scale": {
"description": "The scale of the column.",
"type": [
"integer",
"null"
]
}
},
"required": [
"columnDefaultValue",
"comment",
"dataType",
"dataTypeInt",
"exportedKeys",
"importedKeys",
"isInPrimaryKey",
"isNullable",
"name",
"precision",
"primaryKeys",
"scale"
],
"type": "object"
},
"type": "array"
},
"next": {
"description": "The URL of the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "The URL of the previous page (if null, there is no previous page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "The total number of items across all pages.",
"type": "integer"
}
},
"required": [
"data",
"next",
"previous",
"totalCount"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| count |
integer |
false |
|
The number of items returned on this page. |
| data |
[DataStoreExtendedColumnResponse] |
true |
|
The list of data store columns metadata. |
| next |
string,null(uri) |
true |
|
The URL of the next page (if null, there is no next page). |
| previous |
string,null(uri) |
true |
|
The URL of the previous page (if null, there is no previous page). |
| totalCount |
integer |
true |
|
The total number of items across all pages. |
DataStoreColumnsList
{
"properties": {
"catalog": {
"description": "The name of the specified database catalog.",
"type": [
"string",
"null"
]
},
"credentialId": {
"description": "The ID of the credential mapping.",
"type": "string"
},
"password": {
"description": "The password for the db connection.",
"type": "string"
},
"query": {
"description": "The schema query.",
"type": "string"
},
"schema": {
"description": "The schema name.",
"type": "string"
},
"table": {
"description": "The table name.",
"type": "string"
},
"user": {
"description": "The username for the db connection.",
"type": "string"
}
},
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| catalog |
string,null |
false |
|
The name of the specified database catalog. |
| credentialId |
string |
false |
|
The ID of the credential mapping. |
| password |
string |
false |
|
The password for the db connection. |
| query |
string |
false |
|
The schema query. |
| schema |
string |
false |
|
The schema name. |
| table |
string |
false |
|
The table name. |
| user |
string |
false |
|
The username for the db connection. |
DataStoreColumnsListResponse
{
"properties": {
"columns": {
"description": "The list of data store columns.",
"items": {
"properties": {
"dataType": {
"description": "The data type of the column.",
"type": "string"
},
"name": {
"description": "The name of the column.",
"type": "string"
},
"precision": {
"description": "The precision of the column.",
"type": [
"string",
"null"
]
},
"scale": {
"description": "The scale of the column.",
"type": [
"string",
"null"
]
}
},
"required": [
"dataType",
"name",
"precision",
"scale"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"columns"
],
"type": "object"
}
Properties
DataStoreCreate
{
"properties": {
"canonicalName": {
"description": "The user-friendly name of the data store.",
"type": "string"
},
"params": {
"description": "The data store configuration.",
"oneOf": [
{
"properties": {
"driverId": {
"description": "Driver ID.",
"type": "string"
},
"jdbcFields": {
"description": "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.",
"items": {
"properties": {
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "The value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "The JDBC URL.",
"type": "string"
}
},
"required": [
"driverId"
],
"type": "object"
},
{
"properties": {
"connectorId": {
"description": "The ID of the connector.",
"type": "string"
},
"fields": {
"description": "The connector fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"connectorId",
"fields"
],
"type": "object"
},
{
"properties": {
"driverId": {
"description": "The database driver ID.",
"type": "string"
},
"fields": {
"description": "The database driver fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"driverId",
"fields"
],
"type": "object"
}
]
},
"type": {
"description": "The data store type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
}
},
"required": [
"canonicalName",
"params",
"type"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| canonicalName |
string |
true |
|
The user-friendly name of the data store. |
| params |
any |
true |
|
The data store configuration. |
oneOf
xor
xor
continued
| Name |
Type |
Required |
Restrictions |
Description |
| type |
string |
true |
|
The data store type. |
Enumerated Values
| Property |
Value |
| type |
[dr-connector-v1, dr-database-v1, jdbc] |
DataStoreCredentials
{
"properties": {
"credentialId": {
"description": "The ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"password": {
"description": "The password for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
},
"useKerberos": {
"default": false,
"description": "Whether to use Kerberos for data store authentication.",
"type": "boolean",
"x-versionadded": "v2.19"
},
"user": {
"description": "The username for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
}
},
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| credentialId |
string |
false |
|
The ID of the set of credentials to use instead of username and password. |
| password |
string |
false |
|
The password for data store authentication. |
| useKerberos |
boolean |
false |
|
Whether to use Kerberos for data store authentication. |
| user |
string |
false |
|
The username for data store authentication. |
DataStoreCredentialsWithCredentialsTypeSupport
{
"properties": {
"credentialData": {
"description": "The type of credentials to use with the data store.",
"oneOf": [
{
"properties": {
"credentialType": {
"description": "The type of these credentials, 'basic' here.",
"enum": [
"basic"
],
"type": "string"
},
"password": {
"description": "The password for database authentication. The password is encrypted at rest and never saved or stored.",
"type": "string"
},
"user": {
"description": "The username for database authentication.",
"type": "string"
}
},
"required": [
"credentialType",
"password",
"user"
],
"type": "object"
},
{
"properties": {
"awsAccessKeyId": {
"description": "The S3 AWS access key ID. Required if configId is not specified.Cannot include this parameter if configId is specified.",
"type": "string"
},
"awsSecretAccessKey": {
"description": "The S3 AWS secret access key. Required if configId is not specified.Cannot include this parameter if configId is specified.",
"type": "string"
},
"awsSessionToken": {
"default": null,
"description": "The S3 AWS session token for AWS temporary credentials.Cannot include this parameter if configId is specified.",
"type": [
"string",
"null"
]
},
"configId": {
"description": "The ID of secure configurations of credentials shared by admin. If specified, cannot include awsAccessKeyId, awsSecretAccessKey or awsSessionToken.",
"type": "string"
},
"credentialType": {
"description": "The type of these credentials, 's3' here.",
"enum": [
"s3"
],
"type": "string"
}
},
"required": [
"credentialType"
],
"type": "object"
},
{
"properties": {
"credentialType": {
"description": "The type of these credentials, 'oauth' here.",
"enum": [
"oauth"
],
"type": "string"
},
"oauthAccessToken": {
"default": null,
"description": "The OAuth access token.",
"type": [
"string",
"null"
]
},
"oauthClientId": {
"default": null,
"description": "The OAuth client ID.",
"type": [
"string",
"null"
]
},
"oauthClientSecret": {
"default": null,
"description": "The OAuth client secret.",
"type": [
"string",
"null"
]
},
"oauthRefreshToken": {
"description": "The OAuth refresh token.",
"type": "string"
}
},
"required": [
"credentialType",
"oauthRefreshToken"
],
"type": "object"
},
{
"properties": {
"configId": {
"description": "The ID of the saved shared credentials. If specified, cannot include user, privateKeyStr, or passphrase.",
"type": "string"
},
"credentialType": {
"description": "The type of these credentials, 'snowflake_key_pair_user_account' here.",
"enum": [
"snowflake_key_pair_user_account"
],
"type": "string"
},
"passphrase": {
"description": "Optional passphrase to decrypt private key. Cannot include this parameter if configId is specified.",
"type": "string"
},
"privateKeyStr": {
"description": "Private key for key pair authentication. Required if configId is not specified. Cannot include this parameter if configId is specified.",
"type": "string"
},
"user": {
"description": "Username for this credential. Required if configId is not specified. Cannot include this parameter if configId is specified.",
"type": "string"
}
},
"required": [
"credentialType"
],
"type": "object"
},
{
"properties": {
"configId": {
"description": "The ID of secure configurations shared by admin. Alternative to googleConfigId (deprecated). If specified, cannot include gcpKey.",
"type": "string"
},
"credentialType": {
"description": "The type of these credentials, 'gcp' here.",
"enum": [
"gcp"
],
"type": "string"
},
"gcpKey": {
"description": "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.",
"properties": {
"authProviderX509CertUrl": {
"description": "Auth provider X509 certificate URL.",
"format": "uri",
"type": "string"
},
"authUri": {
"description": "Auth URI.",
"format": "uri",
"type": "string"
},
"clientEmail": {
"description": "Client email address.",
"type": "string"
},
"clientId": {
"description": "Client ID.",
"type": "string"
},
"clientX509CertUrl": {
"description": "Client X509 certificate URL.",
"format": "uri",
"type": "string"
},
"privateKey": {
"description": "Private key.",
"type": "string"
},
"privateKeyId": {
"description": "Private key ID",
"type": "string"
},
"projectId": {
"description": "Project ID.",
"type": "string"
},
"tokenUri": {
"description": "Token URI.",
"format": "uri",
"type": "string"
},
"type": {
"description": "GCP account type.",
"enum": [
"service_account"
],
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"googleConfigId": {
"description": "The ID of secure configurations shared by admin. This is deprecated. Please use configId instead. If specified, cannot include gcpKey.",
"type": "string"
}
},
"required": [
"credentialType"
],
"type": "object"
},
{
"properties": {
"credentialType": {
"description": "The type of these credentials, 'databricks_access_token_account' here.",
"enum": [
"databricks_access_token_account"
],
"type": "string"
},
"databricksAccessToken": {
"description": "Databricks personal access token.",
"minLength": 1,
"type": "string"
}
},
"required": [
"credentialType",
"databricksAccessToken"
],
"type": "object"
},
{
"properties": {
"clientId": {
"description": "Client ID for Databricks service principal.",
"minLength": 1,
"type": "string"
},
"clientSecret": {
"description": "Client secret for Databricks service principal.",
"minLength": 1,
"type": "string"
},
"configId": {
"description": "The ID of the saved shared credentials. If specified, cannot include clientId and clientSecret.",
"type": "string"
},
"credentialType": {
"description": "The type of these credentials, 'databricks_service_principal_account' here.",
"enum": [
"databricks_service_principal_account"
],
"type": "string"
}
},
"required": [
"credentialType"
],
"type": "object"
},
{
"properties": {
"azureTenantId": {
"description": "Tenant ID of the Azure AD service principal.",
"type": "string"
},
"clientId": {
"description": "Client ID of the Azure AD service principal.",
"type": "string"
},
"clientSecret": {
"description": "Client Secret of the Azure AD service principal.",
"type": "string"
},
"configId": {
"description": "The ID of secure configurations of credentials shared by admin.",
"type": "string",
"x-versionadded": "v2.35"
},
"credentialType": {
"description": "The type of these credentials, 'azure_service_principal' here.",
"enum": [
"azure_service_principal"
],
"type": "string"
}
},
"required": [
"credentialType"
],
"type": "object"
},
{
"properties": {
"authenticationId": {
"description": "The authentication ID for external OAuth provider. Used to retrieve tokens from DataRobot OAuth service.",
"type": "string"
},
"credentialType": {
"description": "The type of these credentials, 'external_oauth_provider' here.",
"enum": [
"external_oauth_provider"
],
"type": "string"
}
},
"required": [
"authenticationId",
"credentialType"
],
"type": "object"
},
{
"properties": {
"clientId": {
"description": "Box JWT client ID.",
"type": "string",
"x-versionadded": "v2.41"
},
"clientSecret": {
"description": "Box JWT client secret.",
"type": "string",
"x-versionadded": "v2.41"
},
"configId": {
"description": "ID of secure configuration to share Box JWT credentials by admin.",
"type": "string",
"x-versionadded": "v2.41"
},
"credentialType": {
"description": "Credentials type.",
"enum": [
"box_jwt"
],
"type": "string",
"x-versionadded": "v2.41"
},
"enterpriseId": {
"description": "Box enterprise identifier.",
"type": "string",
"x-versionadded": "v2.41"
},
"passphrase": {
"description": "Passphrase for the Box JWT private key.",
"minLength": 1,
"type": "string",
"x-versionadded": "v2.41"
},
"privateKeyStr": {
"description": "RSA private key for Box JWT.",
"minLength": 1,
"type": "string",
"x-versionadded": "v2.41"
},
"publicKeyId": {
"description": "Box public key identifier.",
"type": "string",
"x-versionadded": "v2.41"
}
},
"required": [
"credentialType"
],
"type": "object",
"x-versionadded": "v2.42"
}
],
"x-versionadded": "v2.23"
},
"credentialId": {
"description": "The ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"password": {
"description": "The password for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
},
"useKerberos": {
"default": false,
"description": "Whether to use Kerberos for data store authentication.",
"type": "boolean",
"x-versionadded": "v2.19"
},
"user": {
"description": "The username for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
}
},
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| credentialData |
any |
false |
|
The 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
xor
xor
xor
xor
xor
xor
continued
| Name |
Type |
Required |
Restrictions |
Description |
| credentialId |
string |
false |
|
The ID of the set of credentials to use instead of username and password. |
| password |
string |
false |
|
The password for data store authentication. |
| useKerberos |
boolean |
false |
|
Whether to use Kerberos for data store authentication. |
| user |
string |
false |
|
The username for data store authentication. |
DataStoreDescribePermissionsResponse
{
"properties": {
"canCreateDataSource": {
"description": "True if the user can create data source from this data store.",
"type": "boolean"
},
"canDelete": {
"description": "True if the user can delete the data store.",
"type": "boolean"
},
"canEdit": {
"description": "True if the user can edit data store info.",
"type": "boolean"
},
"canScanDatabase": {
"description": "True if the user can scan data store database.",
"type": "boolean"
},
"canSetRoles": {
"description": "Roles the user can grant or revoke from other users, groups, or organizations.",
"items": {
"description": "The role the user can grant or revoke from users, groups or organizations.",
"enum": [
"OWNER",
"EDITOR",
"CONSUMER"
],
"type": "string"
},
"type": "array"
},
"canShare": {
"description": "True if the user can share the data store.",
"type": "boolean"
},
"canTestConnection": {
"description": "True if the user can test data store database connection.",
"type": "boolean"
},
"canView": {
"description": "True if the user can view data store info.",
"type": "boolean"
},
"dataStoreId": {
"description": "The ID of the data store.",
"type": "string"
},
"userId": {
"description": "The ID of the user identified by username.",
"type": "string"
},
"username": {
"description": "`username` of a user with access to this data store.",
"type": "string"
}
},
"required": [
"canCreateDataSource",
"canDelete",
"canEdit",
"canScanDatabase",
"canSetRoles",
"canShare",
"canTestConnection",
"canView",
"dataStoreId",
"userId",
"username"
],
"type": "object"
}
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
{
"properties": {
"columnDefaultValue": {
"description": "The default value of the column.",
"type": [
"string",
"null"
]
},
"comment": {
"description": "The comment of the column.",
"type": [
"string",
"null"
]
},
"dataType": {
"description": "The data type of the column.",
"type": "string"
},
"dataTypeInt": {
"description": "The integer value of the column data type.",
"type": "integer"
},
"exportedKeys": {
"description": "The foreign key columns that reference this table's primary key columns.",
"items": {
"properties": {
"foreignKey": {
"description": "The referred primary key.",
"properties": {
"catalog": {
"description": "The catalog name.",
"type": "string"
},
"column": {
"description": "The column name.",
"type": "string"
},
"schema": {
"description": "The schema name.",
"type": "string"
},
"table": {
"description": "The table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
},
"keyType": {
"description": "The type of this key.",
"enum": [
"1",
"2",
"3"
],
"type": "string"
},
"name": {
"description": "The name of this key.",
"type": "string"
},
"primaryKey": {
"description": "The referred primary key.",
"properties": {
"catalog": {
"description": "The catalog name.",
"type": "string"
},
"column": {
"description": "The column name.",
"type": "string"
},
"schema": {
"description": "The schema name.",
"type": "string"
},
"table": {
"description": "The table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
}
},
"required": [
"keyType",
"primaryKey"
],
"type": "object"
},
"type": "array"
},
"importedKeys": {
"description": "The primary key columns that are referenced by this table's foreign key columns.",
"items": {
"properties": {
"foreignKey": {
"description": "The referred primary key.",
"properties": {
"catalog": {
"description": "The catalog name.",
"type": "string"
},
"column": {
"description": "The column name.",
"type": "string"
},
"schema": {
"description": "The schema name.",
"type": "string"
},
"table": {
"description": "The table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
},
"keyType": {
"description": "The type of this key.",
"enum": [
"1",
"2",
"3"
],
"type": "string"
},
"name": {
"description": "The name of this key.",
"type": "string"
},
"primaryKey": {
"description": "The referred primary key.",
"properties": {
"catalog": {
"description": "The catalog name.",
"type": "string"
},
"column": {
"description": "The column name.",
"type": "string"
},
"schema": {
"description": "The schema name.",
"type": "string"
},
"table": {
"description": "The table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
}
},
"required": [
"keyType",
"primaryKey"
],
"type": "object"
},
"type": "array"
},
"isInPrimaryKey": {
"description": "True if the column is in the primary key.",
"type": [
"boolean",
"null"
]
},
"isNullable": {
"description": "Whether the column values can be null.",
"enum": [
"NO",
"UNKNOWN",
"YES"
],
"type": [
"string",
"null"
]
},
"name": {
"description": "The name of the column.",
"type": "string"
},
"precision": {
"description": "The precision of the column.",
"type": [
"integer",
"null"
]
},
"primaryKeys": {
"description": "The primary key columns of the table.",
"items": {
"type": "string"
},
"type": "array"
},
"scale": {
"description": "The scale of the column.",
"type": [
"integer",
"null"
]
}
},
"required": [
"columnDefaultValue",
"comment",
"dataType",
"dataTypeInt",
"exportedKeys",
"importedKeys",
"isInPrimaryKey",
"isNullable",
"name",
"precision",
"primaryKeys",
"scale"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| columnDefaultValue |
string,null |
true |
|
The default value of the column. |
| comment |
string,null |
true |
|
The comment of the column. |
| dataType |
string |
true |
|
The data type of the column. |
| dataTypeInt |
integer |
true |
|
The 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,null |
true |
|
True if the column is in the primary key. |
| isNullable |
string,null |
true |
|
Whether the column values can be null. |
| name |
string |
true |
|
The name of the column. |
| precision |
integer,null |
true |
|
The precision of the column. |
| primaryKeys |
[string] |
true |
|
The primary key columns of the table. |
| scale |
integer,null |
true |
|
The scale of the column. |
Enumerated Values
| Property |
Value |
| isNullable |
[NO, UNKNOWN, YES] |
DataStoreListResponse
{
"properties": {
"data": {
"description": "The list of data stores.",
"items": {
"properties": {
"associatedAuthTypes": {
"description": "The supported authentication types for the JDBC configuration.",
"items": {
"enum": [
"adls_gen2_oauth",
"azure_service_principal",
"basic",
"box_jwt",
"databricks_access_token_account",
"databricks_service_principal_account",
"gcp",
"google_oauth_user_account",
"kerberos",
"oauth",
"s3",
"snowflake_key_pair_user_account",
"snowflake_oauth_user_account"
],
"type": "string"
},
"type": "array",
"x-versionadded": "v2.20"
},
"canonicalName": {
"description": "The user-friendly name of the data store.",
"type": "string"
},
"creator": {
"description": "The ID of the user who created the data store.",
"type": "string"
},
"id": {
"description": "The data store ID.",
"type": "string"
},
"params": {
"description": "The data store configuration.",
"oneOf": [
{
"properties": {
"driverId": {
"description": "The driver ID.",
"type": "string"
},
"jdbcFieldSchemas": {
"default": [],
"description": "The fields to show when creating a data store, their defaults, whether or not they are required, and more.",
"items": {
"properties": {
"choices": {
"default": [],
"description": "If non-empty, a list of all possible values for this parameter.",
"items": {
"description": "Possible value for this parameter.",
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the JDBC parameter.",
"type": "string"
},
"description": {
"default": "",
"description": "Description of this parameter.",
"type": "string"
},
"index": {
"description": "Sort order within one `kind`.",
"type": "integer"
},
"kind": {
"description": "Use of this parameter in constructing the JDBC URL.",
"enum": [
"ADDRESS",
"EXTENDED_PATH_PARAM",
"PATH_PARAM",
"QUERY_PARAM"
],
"type": "string"
},
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"kind",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"jdbcFields": {
"description": "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.",
"items": {
"properties": {
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "The value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "The JDBC URL.",
"type": "string"
}
},
"required": [
"driverId"
],
"type": "object"
},
{
"properties": {
"connectorId": {
"description": "The ID of the connector.",
"type": "string"
},
"fieldSchemas": {
"description": "The connector field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, the list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "The default value of the parameter.",
"type": "string"
},
"description": {
"description": "The description of the parameter.",
"type": "string"
},
"name": {
"description": "The name of the parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"type": "array"
},
"fields": {
"description": "The connector fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"connectorId",
"fields"
],
"type": "object"
},
{
"properties": {
"driverId": {
"description": "The database driver ID.",
"type": "string"
},
"fieldSchemas": {
"description": "The database driver field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, the list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "The default value of the parameter.",
"type": "string"
},
"description": {
"description": "The description of the parameter.",
"type": "string"
},
"name": {
"description": "The name of the parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"type": "array"
},
"fields": {
"description": "The database driver fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"driverId",
"fields"
],
"type": "object"
}
]
},
"role": {
"description": "The role of the user making the request on this data store.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "The data store type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "The ISO 8601-formatted date/time of the data store update.",
"type": "string"
}
},
"required": [
"canonicalName",
"creator",
"id",
"params",
"role",
"type",
"updated"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"data"
],
"type": "object"
}
Properties
DataStorePreviewResponse
{
"properties": {
"columns": {
"description": "The list of columns for the returned set of records. Column order matches the order of values in a record.",
"items": {
"description": "The name of the column.",
"type": "string"
},
"maxItems": 20000,
"type": "array"
},
"records": {
"description": "The list of records output by the query.",
"items": {
"description": "The list of values for a single database record, ordered as the columns are ordered.",
"items": {
"description": "The string representation of the column's value.",
"type": "string"
},
"type": "array"
},
"maxItems": 10000,
"type": "array"
},
"resultSchema": {
"description": "The JDBC result schema.",
"items": {
"description": "The JDBC result column description.",
"properties": {
"dataType": {
"description": "The data type of the column.",
"type": "string"
},
"dataTypeInt": {
"description": "The integer value of the column data type.",
"type": [
"integer",
"null"
]
},
"name": {
"description": "The name of the column.",
"type": "string"
},
"precision": {
"description": "The precision of the column.",
"type": [
"integer",
"null"
]
},
"scale": {
"description": "The scale of the column.",
"type": [
"integer",
"null"
]
}
},
"required": [
"dataType",
"dataTypeInt",
"name",
"precision",
"scale"
],
"type": "object",
"x-versionadded": "v2.43"
},
"maxItems": 20000,
"type": "array"
}
},
"required": [
"columns",
"records",
"resultSchema"
],
"type": "object",
"x-versionadded": "v2.43"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| columns |
[string] |
true |
maxItems: 20000
|
The list of columns for the returned set of records. Column order matches the order of values in a record. |
| records |
[array] |
true |
maxItems: 10000
|
The list of records output by the query. |
| resultSchema |
[DataStoreResultSchemaResponse] |
true |
maxItems: 20000
|
The JDBC result schema. |
DataStoreResultSchemaResponse
{
"description": "The JDBC result column description.",
"properties": {
"dataType": {
"description": "The data type of the column.",
"type": "string"
},
"dataTypeInt": {
"description": "The integer value of the column data type.",
"type": [
"integer",
"null"
]
},
"name": {
"description": "The name of the column.",
"type": "string"
},
"precision": {
"description": "The precision of the column.",
"type": [
"integer",
"null"
]
},
"scale": {
"description": "The scale of the column.",
"type": [
"integer",
"null"
]
}
},
"required": [
"dataType",
"dataTypeInt",
"name",
"precision",
"scale"
],
"type": "object",
"x-versionadded": "v2.43"
}
The JDBC result column description.
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| dataType |
string |
true |
|
The data type of the column. |
| dataTypeInt |
integer,null |
true |
|
The integer value of the column data type. |
| name |
string |
true |
|
The name of the column. |
| precision |
integer,null |
true |
|
The precision of the column. |
| scale |
integer,null |
true |
|
The scale of the column. |
DataStoreRetrieveResponse
{
"properties": {
"associatedAuthTypes": {
"description": "The supported authentication types for the JDBC configuration.",
"items": {
"enum": [
"adls_gen2_oauth",
"azure_service_principal",
"basic",
"box_jwt",
"databricks_access_token_account",
"databricks_service_principal_account",
"gcp",
"google_oauth_user_account",
"kerberos",
"oauth",
"s3",
"snowflake_key_pair_user_account",
"snowflake_oauth_user_account"
],
"type": "string"
},
"type": "array",
"x-versionadded": "v2.20"
},
"canonicalName": {
"description": "The user-friendly name of the data store.",
"type": "string"
},
"creator": {
"description": "The ID of the user who created the data store.",
"type": "string"
},
"id": {
"description": "The data store ID.",
"type": "string"
},
"params": {
"description": "The data store configuration.",
"oneOf": [
{
"properties": {
"driverId": {
"description": "The driver ID.",
"type": "string"
},
"jdbcFieldSchemas": {
"default": [],
"description": "The fields to show when creating a data store, their defaults, whether or not they are required, and more.",
"items": {
"properties": {
"choices": {
"default": [],
"description": "If non-empty, a list of all possible values for this parameter.",
"items": {
"description": "Possible value for this parameter.",
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the JDBC parameter.",
"type": "string"
},
"description": {
"default": "",
"description": "Description of this parameter.",
"type": "string"
},
"index": {
"description": "Sort order within one `kind`.",
"type": "integer"
},
"kind": {
"description": "Use of this parameter in constructing the JDBC URL.",
"enum": [
"ADDRESS",
"EXTENDED_PATH_PARAM",
"PATH_PARAM",
"QUERY_PARAM"
],
"type": "string"
},
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"kind",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"jdbcFields": {
"description": "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.",
"items": {
"properties": {
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "The value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "The JDBC URL.",
"type": "string"
}
},
"required": [
"driverId"
],
"type": "object"
},
{
"properties": {
"connectorId": {
"description": "The ID of the connector.",
"type": "string"
},
"fieldSchemas": {
"description": "The connector field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, the list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "The default value of the parameter.",
"type": "string"
},
"description": {
"description": "The description of the parameter.",
"type": "string"
},
"name": {
"description": "The name of the parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"type": "array"
},
"fields": {
"description": "The connector fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"connectorId",
"fields"
],
"type": "object"
},
{
"properties": {
"driverId": {
"description": "The database driver ID.",
"type": "string"
},
"fieldSchemas": {
"description": "The database driver field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, the list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "The default value of the parameter.",
"type": "string"
},
"description": {
"description": "The description of the parameter.",
"type": "string"
},
"name": {
"description": "The name of the parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"type": "array"
},
"fields": {
"description": "The database driver fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"driverId",
"fields"
],
"type": "object"
}
]
},
"role": {
"description": "The role of the user making the request on this data store.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "The data store type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "The ISO 8601-formatted date/time of the data store update.",
"type": "string"
}
},
"required": [
"canonicalName",
"creator",
"id",
"params",
"role",
"type",
"updated"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| associatedAuthTypes |
[string] |
false |
|
The supported authentication types for the JDBC configuration. |
| canonicalName |
string |
true |
|
The user-friendly name of the data store. |
| creator |
string |
true |
|
The ID of the user who created the data store. |
| id |
string |
true |
|
The data store ID. |
| params |
any |
true |
|
The data store configuration. |
oneOf
xor
xor
continued
| Name |
Type |
Required |
Restrictions |
Description |
| role |
string |
true |
|
The role of the user making the request on this data store. |
| type |
string |
true |
|
The data store type. |
| updated |
string |
true |
|
The 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
{
"properties": {
"credentialId": {
"description": "The ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"maxRows": {
"description": "The maximum number of rows of data to return if successful.",
"maximum": 999,
"minimum": 0,
"type": "integer"
},
"password": {
"description": "The password for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
},
"query": {
"description": "The SQL query to verify.",
"type": "string"
},
"useKerberos": {
"default": false,
"description": "Whether to use Kerberos for data store authentication.",
"type": "boolean",
"x-versionadded": "v2.19"
},
"user": {
"description": "The username for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
}
},
"required": [
"maxRows",
"query"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| credentialId |
string |
false |
|
The ID of the set of credentials to use instead of username and password. |
| maxRows |
integer |
true |
maximum: 999 minimum: 0
|
The maximum number of rows of data to return if successful. |
| password |
string |
false |
|
The password for data store authentication. |
| query |
string |
true |
|
The SQL query to verify. |
| useKerberos |
boolean |
false |
|
Whether to use Kerberos for data store authentication. |
| user |
string |
false |
|
The username for data store authentication. |
DataStoreSQLVerifyResponse
{
"properties": {
"columns": {
"description": "The list of columns for the returned set of records. Column order matches the order of values in a record.",
"items": {
"description": "The name of the column.",
"type": "string"
},
"maxItems": 20000,
"type": "array"
},
"records": {
"description": "The list of records output by the query.",
"items": {
"description": "The list of values for a single database record, ordered as the columns are ordered.",
"items": {
"description": "The string representation of the column's value.",
"type": "string"
},
"type": "array"
},
"maxItems": 10000,
"type": "array"
}
},
"required": [
"columns",
"records"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| columns |
[string] |
true |
maxItems: 20000
|
The list of columns for the returned set of records. Column order matches the order of values in a record. |
| records |
[array] |
true |
maxItems: 10000
|
The list of records output by the query. |
DataStoreSchemasList
{
"properties": {
"catalog": {
"description": "The 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.",
"type": "string"
},
"catalogs": {
"description": "The list of catalogs associated with each retrieved schema. If no catalog is found, this value is null.",
"items": {
"description": "The catalog names for the schema associated with the data store.",
"type": [
"string",
"null"
]
},
"type": "array"
},
"schemas": {
"description": "The list of schemas available in the data store.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"catalog",
"catalogs",
"schemas"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| catalog |
string |
true |
|
The 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,null] |
true |
|
The list of catalogs associated with each retrieved schema. If no catalog is found, this value is null. |
| schemas |
[string] |
true |
|
The list of schemas available in the data store. |
DataStoreTables
{
"properties": {
"catalog": {
"description": "Only show tables in this catalog.",
"type": "string"
},
"credentialId": {
"description": "The ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"password": {
"description": "The password for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
},
"schema": {
"description": "Only show tables in this schema.",
"type": "string"
},
"useKerberos": {
"default": false,
"description": "Whether to use Kerberos for data store authentication.",
"type": "boolean",
"x-versionadded": "v2.19"
},
"user": {
"description": "The username for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
}
},
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| catalog |
string |
false |
|
Only show tables in this catalog. |
| credentialId |
string |
false |
|
The ID of the set of credentials to use instead of username and password. |
| password |
string |
false |
|
The 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 |
|
The username for data store authentication. |
DataStoreTablesList
{
"properties": {
"catalog": {
"description": "The catalog associated with schemas.",
"type": [
"string",
"null"
]
},
"tables": {
"description": "The list of tables in the data store.",
"items": {
"properties": {
"catalog": {
"description": "The name of the catalog.",
"type": [
"string",
"null"
]
},
"name": {
"description": "The name of the table.",
"type": "string"
},
"schema": {
"description": "The schema of the table.",
"type": "string"
},
"type": {
"description": "The type of table.",
"enum": [
"TABLE",
"VIEW"
],
"type": "string"
}
},
"required": [
"name",
"type"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"catalog",
"tables"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| catalog |
string,null |
true |
|
The catalog associated with schemas. |
| tables |
[TableDescription] |
true |
|
The list of tables in the data store. |
DataStoreTestResponse
{
"properties": {
"message": {
"description": "The connection attempt results.",
"type": "string"
}
},
"required": [
"message"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| message |
string |
true |
|
The connection attempt results. |
DataStoreUpdate
{
"properties": {
"canonicalName": {
"description": "The user-friendly name of the data store.",
"type": "string"
},
"params": {
"description": "The data store configuration.",
"oneOf": [
{
"properties": {
"driverId": {
"description": "The driver ID.",
"type": "string"
},
"jdbcFields": {
"description": "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.",
"items": {
"properties": {
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "The value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "The JDBC URL.",
"type": "string"
}
},
"type": "object"
},
{
"properties": {
"fields": {
"description": "The connector fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| canonicalName |
string |
false |
|
The user-friendly name of the data store. |
| params |
any |
false |
|
The data store configuration. |
oneOf
xor
DatabaseDataStoreCreate
{
"properties": {
"driverId": {
"description": "The database driver ID.",
"type": "string"
},
"fields": {
"description": "The database driver fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"driverId",
"fields"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| driverId |
string |
true |
|
The database driver ID. |
| fields |
[DRConnectorV1Field] |
true |
|
The database driver fields. |
DatabaseDataStoreDetails
{
"properties": {
"driverId": {
"description": "The database driver ID.",
"type": "string"
},
"fieldSchemas": {
"description": "The database driver field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, the list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "The default value of the parameter.",
"type": "string"
},
"description": {
"description": "The description of the parameter.",
"type": "string"
},
"name": {
"description": "The name of the parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"type": "array"
},
"fields": {
"description": "The database driver fields.",
"items": {
"properties": {
"id": {
"description": "The field name.",
"type": "string"
},
"name": {
"description": "The user-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "The field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"driverId",
"fields"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| driverId |
string |
true |
|
The database driver ID. |
| fieldSchemas |
[ConnectorFieldSchema] |
false |
|
The database driver field schemas. |
| fields |
[DRConnectorV1Field] |
true |
|
The database driver fields. |
DatabaseQueryDataSource
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
"maxLength": 320000,
"type": "string"
}
},
"required": [
"dataStoreId",
"query"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| dataStoreId |
string |
true |
|
The data store ID for this data source. |
| fetchSize |
integer |
false |
maximum: 20000 minimum: 1
|
The user-specified fetch size. |
| query |
string |
true |
maxLength: 320000
|
The user-specified SQL query. If this is used, then catalog, schema and table will not be used. |
DatabaseTableDataSource
{
"properties": {
"catalog": {
"description": "The catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"partitionColumn": {
"description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
"type": "string"
},
"schema": {
"description": "The schema associated with the table or view in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "The table or view name in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
}
},
"required": [
"dataStoreId",
"table"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| catalog |
string |
false |
maxLength: 256
|
The catalog name in the database if supported. |
| dataStoreId |
string |
true |
|
The data store ID for this data source. |
| fetchSize |
integer |
false |
maximum: 20000 minimum: 1
|
The 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
|
The schema associated with the table or view in the database if the data source is not query based. |
| table |
string |
true |
maxLength: 256
|
The table or view name in the database if the data source is not query based. |
DatabricksAccessTokenCredentials
{
"properties": {
"credentialType": {
"description": "The type of these credentials, 'databricks_access_token_account' here.",
"enum": [
"databricks_access_token_account"
],
"type": "string"
},
"databricksAccessToken": {
"description": "Databricks personal access token.",
"minLength": 1,
"type": "string"
}
},
"required": [
"credentialType",
"databricksAccessToken"
],
"type": "object"
}
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
{
"properties": {
"clientId": {
"description": "Client ID for Databricks service principal.",
"minLength": 1,
"type": "string"
},
"clientSecret": {
"description": "Client secret for Databricks service principal.",
"minLength": 1,
"type": "string"
},
"configId": {
"description": "The ID of the saved shared credentials. If specified, cannot include clientId and clientSecret.",
"type": "string"
},
"credentialType": {
"description": "The type of these credentials, 'databricks_service_principal_account' here.",
"enum": [
"databricks_service_principal_account"
],
"type": "string"
}
},
"required": [
"credentialType"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| clientId |
string |
false |
minLength: 1 minLength: 1
|
Client ID for Databricks service principal. |
| clientSecret |
string |
false |
minLength: 1 minLength: 1
|
Client secret for Databricks service principal. |
| configId |
string |
false |
|
The ID of the saved shared credentials. If specified, cannot include clientId and clientSecret. |
| credentialType |
string |
true |
|
The type of these credentials, 'databricks_service_principal_account' here. |
Enumerated Values
| Property |
Value |
| credentialType |
databricks_service_principal_account |
DetectUdfs
{
"properties": {
"credentialId": {
"description": "The ID of the set of credentials to use instead of username and password.",
"type": "string"
},
"force": {
"default": false,
"description": "Forces detection to be submitted, even if a cache with detected standard user-defined functions for given parameters is already present.",
"type": "boolean"
},
"functionType": {
"description": "The standard user-defined function type.",
"enum": [
"rolling_median",
"rolling_most_frequent"
],
"type": "string"
},
"schema": {
"description": "The schema to create or detect user-defined functions in.",
"type": "string"
}
},
"required": [
"force",
"functionType",
"schema"
],
"type": "object",
"x-versionadded": "v2.36"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| credentialId |
string |
false |
|
The ID of the set of credentials to use instead of username and password. |
| force |
boolean |
true |
|
Forces detection to be submitted, even if a cache with detected standard user-defined functions for given parameters is already present. |
| functionType |
string |
true |
|
The standard user-defined function type. |
| schema |
string |
true |
|
The schema to create or detect user-defined functions in. |
Enumerated Values
| Property |
Value |
| functionType |
[rolling_median, rolling_most_frequent] |
DetectedStandardUdfsRetrieveResponse
{
"properties": {
"detectedFunctions": {
"description": "The detected standard user-defined functions.",
"items": {
"type": "string"
},
"maxItems": 1000,
"type": "array"
},
"functionType": {
"description": "The requested standard user-defined function type.",
"type": "string"
},
"schema": {
"description": "The requested schema.",
"type": "string"
}
},
"required": [
"detectedFunctions",
"functionType",
"schema"
],
"type": "object",
"x-versionadded": "v2.36"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| detectedFunctions |
[string] |
true |
maxItems: 1000
|
The detected standard user-defined functions. |
| functionType |
string |
true |
|
The requested standard user-defined function type. |
| schema |
string |
true |
|
The requested schema. |
DriverConfigurationListResponse
{
"properties": {
"count": {
"description": "The number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "List of driver configurations available to the user.",
"items": {
"properties": {
"associatedAuthTypes": {
"description": "The list of authentication types supported by this driver configuration.",
"items": {
"type": "string"
},
"type": "array"
},
"className": {
"description": "Java class name of the driver to be used (e.g., org.postgresql.Driver).",
"type": "string"
},
"creator": {
"description": "The user ID of the creator of this configuration.",
"type": "string"
},
"id": {
"description": "The driver configuration ID.",
"type": "string"
},
"jdbcFieldSchemas": {
"description": "Description of which fields to show when creating a datastore, their defaults, and whether or not they are required.",
"items": {
"properties": {
"choices": {
"default": [],
"description": "If non-empty, a list of all possible values for this parameter.",
"items": {
"description": "Possible value for this parameter.",
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the JDBC parameter.",
"type": "string"
},
"description": {
"default": "",
"description": "Description of this parameter.",
"type": "string"
},
"index": {
"description": "Sort order within one `kind`.",
"type": "integer"
},
"kind": {
"description": "Use of this parameter in constructing the JDBC URL.",
"enum": [
"ADDRESS",
"EXTENDED_PATH_PARAM",
"PATH_PARAM",
"QUERY_PARAM"
],
"type": "string"
},
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"kind",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"type": "array"
},
"jdbcUrlPathDelimiter": {
"description": "Separator of address from path in the JDBC URL (e.g., \"/\").",
"type": "string"
},
"jdbcUrlPrefix": {
"description": "Prefix of the JDBC URL (e.g., \"jdbc:mssql://\" or \"jdbc:oracle:thin:@\").",
"type": "string"
},
"jdbcUrlQueryDelimiter": {
"description": "Separator of path from the list of query parameters in the JDBC URL (e.g., \"?\").",
"type": "string"
},
"jdbcUrlQueryParamDelimiter": {
"description": "Separator of each set of query parameter key-value pairs in the JDBC URL (e.g., \"&\").",
"type": "string"
},
"jdbcUrlQueryParamKeyValueDelimiter": {
"description": "Separator of the key and value in a query parameter pair (e.g., \"=\").",
"type": "string"
},
"standardizedName": {
"description": "The plain text name for the driver (e.g., PostgreSQL).",
"type": "string"
},
"statements": {
"description": "List of supported statments for this driver configuration.",
"items": {
"enum": [
"insert",
"update",
"upsert"
],
"type": "string"
},
"type": "array"
},
"updated": {
"description": "ISO-8601 formatted time/date when this configuration was most recently updated.",
"type": "string"
}
},
"required": [
"associatedAuthTypes",
"className",
"creator",
"id",
"jdbcFieldSchemas",
"jdbcUrlPathDelimiter",
"jdbcUrlPrefix",
"jdbcUrlQueryDelimiter",
"jdbcUrlQueryParamDelimiter",
"jdbcUrlQueryParamKeyValueDelimiter",
"standardizedName",
"updated"
],
"type": "object"
},
"type": "array"
},
"next": {
"description": "The URL of the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "The URL of the previous page (if null, there is no previous page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "The total number of items across all pages.",
"type": "integer"
}
},
"required": [
"data",
"next",
"previous",
"totalCount"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| count |
integer |
false |
|
The number of items returned on this page. |
| data |
[DriverConfigurationRetrieveResponse] |
true |
|
List of driver configurations available to the user. |
| next |
string,null(uri) |
true |
|
The URL of the next page (if null, there is no next page). |
| previous |
string,null(uri) |
true |
|
The URL of the previous page (if null, there is no previous page). |
| totalCount |
integer |
true |
|
The total number of items across all pages. |
DriverConfigurationRetrieveResponse
{
"properties": {
"associatedAuthTypes": {
"description": "The list of authentication types supported by this driver configuration.",
"items": {
"type": "string"
},
"type": "array"
},
"className": {
"description": "Java class name of the driver to be used (e.g., org.postgresql.Driver).",
"type": "string"
},
"creator": {
"description": "The user ID of the creator of this configuration.",
"type": "string"
},
"id": {
"description": "The driver configuration ID.",
"type": "string"
},
"jdbcFieldSchemas": {
"description": "Description of which fields to show when creating a datastore, their defaults, and whether or not they are required.",
"items": {
"properties": {
"choices": {
"default": [],
"description": "If non-empty, a list of all possible values for this parameter.",
"items": {
"description": "Possible value for this parameter.",
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the JDBC parameter.",
"type": "string"
},
"description": {
"default": "",
"description": "Description of this parameter.",
"type": "string"
},
"index": {
"description": "Sort order within one `kind`.",
"type": "integer"
},
"kind": {
"description": "Use of this parameter in constructing the JDBC URL.",
"enum": [
"ADDRESS",
"EXTENDED_PATH_PARAM",
"PATH_PARAM",
"QUERY_PARAM"
],
"type": "string"
},
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"kind",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"type": "array"
},
"jdbcUrlPathDelimiter": {
"description": "Separator of address from path in the JDBC URL (e.g., \"/\").",
"type": "string"
},
"jdbcUrlPrefix": {
"description": "Prefix of the JDBC URL (e.g., \"jdbc:mssql://\" or \"jdbc:oracle:thin:@\").",
"type": "string"
},
"jdbcUrlQueryDelimiter": {
"description": "Separator of path from the list of query parameters in the JDBC URL (e.g., \"?\").",
"type": "string"
},
"jdbcUrlQueryParamDelimiter": {
"description": "Separator of each set of query parameter key-value pairs in the JDBC URL (e.g., \"&\").",
"type": "string"
},
"jdbcUrlQueryParamKeyValueDelimiter": {
"description": "Separator of the key and value in a query parameter pair (e.g., \"=\").",
"type": "string"
},
"standardizedName": {
"description": "The plain text name for the driver (e.g., PostgreSQL).",
"type": "string"
},
"statements": {
"description": "List of supported statments for this driver configuration.",
"items": {
"enum": [
"insert",
"update",
"upsert"
],
"type": "string"
},
"type": "array"
},
"updated": {
"description": "ISO-8601 formatted time/date when this configuration was most recently updated.",
"type": "string"
}
},
"required": [
"associatedAuthTypes",
"className",
"creator",
"id",
"jdbcFieldSchemas",
"jdbcUrlPathDelimiter",
"jdbcUrlPrefix",
"jdbcUrlQueryDelimiter",
"jdbcUrlQueryParamDelimiter",
"jdbcUrlQueryParamKeyValueDelimiter",
"standardizedName",
"updated"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| associatedAuthTypes |
[string] |
true |
|
The 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 |
|
The user ID of the creator of this configuration. |
| id |
string |
true |
|
The 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 |
|
The 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
{
"properties": {
"data": {
"description": "The list of drivers.",
"items": {
"properties": {
"associatedAuthTypes": {
"description": "Authentication types associated with this connector configuration.",
"items": {
"enum": [
"basic",
"googleOauthUserAccount",
"snowflakeKeyPairUserAccount",
"snowflakeOauthUserAccount"
],
"type": "string"
},
"type": "array"
},
"baseNames": {
"description": "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'",
"items": {
"description": "Original file name of the uploaded JAR file.",
"type": "string"
},
"type": "array"
},
"canonicalName": {
"description": "User-friendly driver name.",
"type": "string"
},
"className": {
"description": "Driver class name. For example 'com.amazon.redshift.jdbc.Driver'",
"type": [
"string",
"null"
]
},
"configurationId": {
"description": "Driver configuration ID if it was provided during driver upload.",
"type": [
"string",
"null"
],
"x-versionadded": "v2.18"
},
"creator": {
"description": "The ID of the user who uploaded the driver.",
"type": "string"
},
"databaseDriver": {
"description": "The type of database of the driver. Only required of 'dr-database-v1' drivers.",
"enum": [
"bigquery-v1",
"databricks-v1",
"datasphere-v1",
"trino-v1"
],
"type": [
"string",
"null"
],
"x-versionadded": "v2.30"
},
"id": {
"description": "Driver ID.",
"type": "string"
},
"type": {
"default": "jdbc",
"description": "Driver type. Either 'jdbc' or 'dr-database-v1'.",
"enum": [
"dr-database-v1",
"jdbc"
],
"type": "string",
"x-versionadded": "v2.30"
},
"version": {
"description": "Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.",
"type": "string",
"x-versionadded": "v2.18"
}
},
"required": [
"creator",
"id"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"data"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| data |
[DriverResponse] |
true |
|
The list of drivers. |
DriverResponse
{
"properties": {
"associatedAuthTypes": {
"description": "Authentication types associated with this connector configuration.",
"items": {
"enum": [
"basic",
"googleOauthUserAccount",
"snowflakeKeyPairUserAccount",
"snowflakeOauthUserAccount"
],
"type": "string"
},
"type": "array"
},
"baseNames": {
"description": "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'",
"items": {
"description": "Original file name of the uploaded JAR file.",
"type": "string"
},
"type": "array"
},
"canonicalName": {
"description": "User-friendly driver name.",
"type": "string"
},
"className": {
"description": "Driver class name. For example 'com.amazon.redshift.jdbc.Driver'",
"type": [
"string",
"null"
]
},
"configurationId": {
"description": "Driver configuration ID if it was provided during driver upload.",
"type": [
"string",
"null"
],
"x-versionadded": "v2.18"
},
"creator": {
"description": "The ID of the user who uploaded the driver.",
"type": "string"
},
"databaseDriver": {
"description": "The type of database of the driver. Only required of 'dr-database-v1' drivers.",
"enum": [
"bigquery-v1",
"databricks-v1",
"datasphere-v1",
"trino-v1"
],
"type": [
"string",
"null"
],
"x-versionadded": "v2.30"
},
"id": {
"description": "Driver ID.",
"type": "string"
},
"type": {
"default": "jdbc",
"description": "Driver type. Either 'jdbc' or 'dr-database-v1'.",
"enum": [
"dr-database-v1",
"jdbc"
],
"type": "string",
"x-versionadded": "v2.30"
},
"version": {
"description": "Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.",
"type": "string",
"x-versionadded": "v2.18"
}
},
"required": [
"creator",
"id"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| associatedAuthTypes |
[string] |
false |
|
Authentication types associated with this connector configuration. |
| 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. |
| creator |
string |
true |
|
The 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, datasphere-v1, trino-v1] |
| type |
[dr-database-v1, jdbc] |
DriverUploadRequest
{
"properties": {
"file": {
"description": "JDBC driver JAR file to upload.",
"format": "binary",
"type": "string"
}
},
"required": [
"file"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| file |
string(binary) |
true |
|
JDBC driver JAR file to upload. |
DriverUploadResponse
{
"properties": {
"localUrl": {
"description": "URL of uploaded driver file.",
"type": "string"
}
},
"required": [
"localUrl"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| localUrl |
string |
true |
|
URL of uploaded driver file. |
ExternalOAuthProviderCredentials
{
"properties": {
"authenticationId": {
"description": "The authentication ID for external OAuth provider. Used to retrieve tokens from DataRobot OAuth service.",
"type": "string"
},
"credentialType": {
"description": "The type of these credentials, 'external_oauth_provider' here.",
"enum": [
"external_oauth_provider"
],
"type": "string"
}
},
"required": [
"authenticationId",
"credentialType"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| authenticationId |
string |
true |
|
The authentication ID for external OAuth provider. Used to retrieve tokens from DataRobot OAuth service. |
| credentialType |
string |
true |
|
The type of these credentials, 'external_oauth_provider' here. |
Enumerated Values
| Property |
Value |
| credentialType |
external_oauth_provider |
GCPKey
{
"description": "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.",
"properties": {
"authProviderX509CertUrl": {
"description": "Auth provider X509 certificate URL.",
"format": "uri",
"type": "string"
},
"authUri": {
"description": "Auth URI.",
"format": "uri",
"type": "string"
},
"clientEmail": {
"description": "Client email address.",
"type": "string"
},
"clientId": {
"description": "Client ID.",
"type": "string"
},
"clientX509CertUrl": {
"description": "Client X509 certificate URL.",
"format": "uri",
"type": "string"
},
"privateKey": {
"description": "Private key.",
"type": "string"
},
"privateKeyId": {
"description": "Private key ID",
"type": "string"
},
"projectId": {
"description": "Project ID.",
"type": "string"
},
"tokenUri": {
"description": "Token URI.",
"format": "uri",
"type": "string"
},
"type": {
"description": "GCP account type.",
"enum": [
"service_account"
],
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
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.
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
{
"properties": {
"configId": {
"description": "The ID of secure configurations shared by admin. Alternative to googleConfigId (deprecated). If specified, cannot include gcpKey.",
"type": "string"
},
"credentialType": {
"description": "The type of these credentials, 'gcp' here.",
"enum": [
"gcp"
],
"type": "string"
},
"gcpKey": {
"description": "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.",
"properties": {
"authProviderX509CertUrl": {
"description": "Auth provider X509 certificate URL.",
"format": "uri",
"type": "string"
},
"authUri": {
"description": "Auth URI.",
"format": "uri",
"type": "string"
},
"clientEmail": {
"description": "Client email address.",
"type": "string"
},
"clientId": {
"description": "Client ID.",
"type": "string"
},
"clientX509CertUrl": {
"description": "Client X509 certificate URL.",
"format": "uri",
"type": "string"
},
"privateKey": {
"description": "Private key.",
"type": "string"
},
"privateKeyId": {
"description": "Private key ID",
"type": "string"
},
"projectId": {
"description": "Project ID.",
"type": "string"
},
"tokenUri": {
"description": "Token URI.",
"format": "uri",
"type": "string"
},
"type": {
"description": "GCP account type.",
"enum": [
"service_account"
],
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"googleConfigId": {
"description": "The ID of secure configurations shared by admin. This is deprecated. Please use configId instead. If specified, cannot include gcpKey.",
"type": "string"
}
},
"required": [
"credentialType"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| configId |
string |
false |
|
The 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 |
|
The 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
{
"properties": {
"canShare": {
"default": true,
"description": "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.",
"type": "boolean"
},
"id": {
"description": "The ID of the recipient.",
"type": "string"
},
"role": {
"description": "The role of the recipient on this entity.",
"enum": [
"ADMIN",
"CONSUMER",
"DATA_SCIENTIST",
"EDITOR",
"NO_ROLE",
"OBSERVER",
"OWNER",
"READ_ONLY",
"READ_WRITE",
"USER"
],
"type": "string"
},
"shareRecipientType": {
"description": "Describes the recipient type, either user, group, or organization.",
"enum": [
"user",
"group",
"organization"
],
"type": "string"
}
},
"required": [
"id",
"role",
"shareRecipientType"
],
"type": "object"
}
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. |
| shareRecipientType |
string |
true |
|
Describes the recipient type, either user, group, or organization. |
Enumerated Values
| Property |
Value |
| role |
[ADMIN, CONSUMER, DATA_SCIENTIST, EDITOR, NO_ROLE, OBSERVER, OWNER, READ_ONLY, READ_WRITE, USER] |
| shareRecipientType |
[user, group, organization] |
GrantAccessControlWithUsernameWithGrant
{
"properties": {
"canShare": {
"default": true,
"description": "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.",
"type": "boolean"
},
"role": {
"description": "The role of the recipient on this entity.",
"enum": [
"ADMIN",
"CONSUMER",
"DATA_SCIENTIST",
"EDITOR",
"NO_ROLE",
"OBSERVER",
"OWNER",
"READ_ONLY",
"READ_WRITE",
"USER"
],
"type": "string"
},
"shareRecipientType": {
"description": "Describes the recipient type, either user, group, or organization.",
"enum": [
"user",
"group",
"organization"
],
"type": "string"
},
"username": {
"description": "The username of the user to update the access role for.",
"type": "string"
}
},
"required": [
"role",
"shareRecipientType",
"username"
],
"type": "object"
}
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. |
| shareRecipientType |
string |
true |
|
Describes the recipient type, either user, group, or organization. |
| username |
string |
true |
|
The username of the user to update the access role for. |
Enumerated Values
| Property |
Value |
| role |
[ADMIN, CONSUMER, DATA_SCIENTIST, EDITOR, NO_ROLE, OBSERVER, OWNER, READ_ONLY, READ_WRITE, USER] |
| shareRecipientType |
[user, group, organization] |
JDBCDataStoreCreate
{
"properties": {
"driverId": {
"description": "Driver ID.",
"type": "string"
},
"jdbcFields": {
"description": "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.",
"items": {
"properties": {
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "The value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "The JDBC URL.",
"type": "string"
}
},
"required": [
"driverId"
],
"type": "object"
}
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 |
|
The JDBC URL. |
JDBCDataStoreDetails
{
"properties": {
"driverId": {
"description": "The driver ID.",
"type": "string"
},
"jdbcFieldSchemas": {
"default": [],
"description": "The fields to show when creating a data store, their defaults, whether or not they are required, and more.",
"items": {
"properties": {
"choices": {
"default": [],
"description": "If non-empty, a list of all possible values for this parameter.",
"items": {
"description": "Possible value for this parameter.",
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the JDBC parameter.",
"type": "string"
},
"description": {
"default": "",
"description": "Description of this parameter.",
"type": "string"
},
"index": {
"description": "Sort order within one `kind`.",
"type": "integer"
},
"kind": {
"description": "Use of this parameter in constructing the JDBC URL.",
"enum": [
"ADDRESS",
"EXTENDED_PATH_PARAM",
"PATH_PARAM",
"QUERY_PARAM"
],
"type": "string"
},
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"kind",
"name",
"required",
"visibleByDefault"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"jdbcFields": {
"description": "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.",
"items": {
"properties": {
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "The value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "The JDBC URL.",
"type": "string"
}
},
"required": [
"driverId"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| driverId |
string |
true |
|
The driver ID. |
| jdbcFieldSchemas |
[JDBCFieldSchemas] |
false |
maxItems: 100
|
The 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 |
|
The JDBC URL. |
JDBCDataStoreUpdate
{
"properties": {
"driverId": {
"description": "The driver ID.",
"type": "string"
},
"jdbcFields": {
"description": "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.",
"items": {
"properties": {
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "The value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "The JDBC URL.",
"type": "string"
}
},
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| driverId |
string |
false |
|
The 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 |
|
The JDBC URL. |
JDBCFieldSchemas
{
"properties": {
"choices": {
"default": [],
"description": "If non-empty, a list of all possible values for this parameter.",
"items": {
"description": "Possible value for this parameter.",
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the JDBC parameter.",
"type": "string"
},
"description": {
"default": "",
"description": "Description of this parameter.",
"type": "string"
},
"index": {
"description": "Sort order within one `kind`.",
"type": "integer"
},
"kind": {
"description": "Use of this parameter in constructing the JDBC URL.",
"enum": [
"ADDRESS",
"EXTENDED_PATH_PARAM",
"PATH_PARAM",
"QUERY_PARAM"
],
"type": "string"
},
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"required": {
"description": "Whether or not the parameter is required for a connection.",
"type": "boolean"
},
"visibleByDefault": {
"description": "Whether or not the parameter should be shown in the UI by default.",
"type": "boolean"
}
},
"required": [
"choices",
"default",
"description",
"kind",
"name",
"required",
"visibleByDefault"
],
"type": "object"
}
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 |
|
The 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
{
"properties": {
"name": {
"description": "The name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "The value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| name |
string |
true |
|
The name of the JDBC parameter. |
| value |
string |
true |
|
The value of the JDBC parameter. |
JdbcConnectionParameters
{
"description": "Optional connection parameters and credential properties as key-value pairs (e.g. user, password, ssl, timeout).",
"type": "object",
"x-versionadded": "v2.43"
}
Optional connection parameters and credential properties as key-value pairs (e.g. user, password, ssl, timeout).
Properties
None
JdbcDataPreview
{
"properties": {
"jdbcUrl": {
"description": "The JDBC URL.",
"type": "string"
},
"maxRows": {
"default": 1000,
"description": "The row limit for the preview. The default is 1,000 rows, and a maximum of 10,000 per request.",
"maximum": 10000,
"minimum": 0,
"type": "integer"
},
"parameters": {
"description": "Optional connection parameters and credential properties as key-value pairs (e.g. user, password, ssl, timeout).",
"type": "object",
"x-versionadded": "v2.43"
},
"sql": {
"description": "The SQL to execute (e.g. SELECT ...).",
"maxLength": 320000,
"type": "string"
}
},
"required": [
"jdbcUrl",
"sql"
],
"type": "object",
"x-versionadded": "v2.43"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| jdbcUrl |
string |
true |
|
The JDBC URL. |
| maxRows |
integer |
false |
maximum: 10000 minimum: 0
|
The row limit for the preview. The default is 1,000 rows, and a maximum of 10,000 per request. |
| parameters |
JdbcConnectionParameters |
false |
|
Optional connection parameters and credential properties as key-value pairs (e.g. user, password, ssl, timeout). |
| sql |
string |
true |
maxLength: 320000
|
The SQL to execute (e.g. SELECT ...). |
JdbcForeignKey
{
"properties": {
"foreignKey": {
"description": "The referred primary key.",
"properties": {
"catalog": {
"description": "The catalog name.",
"type": "string"
},
"column": {
"description": "The column name.",
"type": "string"
},
"schema": {
"description": "The schema name.",
"type": "string"
},
"table": {
"description": "The table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
},
"keyType": {
"description": "The type of this key.",
"enum": [
"1",
"2",
"3"
],
"type": "string"
},
"name": {
"description": "The name of this key.",
"type": "string"
},
"primaryKey": {
"description": "The referred primary key.",
"properties": {
"catalog": {
"description": "The catalog name.",
"type": "string"
},
"column": {
"description": "The column name.",
"type": "string"
},
"schema": {
"description": "The schema name.",
"type": "string"
},
"table": {
"description": "The table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
}
},
"required": [
"keyType",
"primaryKey"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| foreignKey |
JdbcKeyInfo |
false |
|
The referred primary key. |
| keyType |
string |
true |
|
The type of this key. |
| name |
string |
false |
|
The name of this key. |
| primaryKey |
JdbcKeyInfo |
true |
|
The referred primary key. |
Enumerated Values
| Property |
Value |
| keyType |
[1, 2, 3] |
JdbcKeyInfo
{
"description": "The referred primary key.",
"properties": {
"catalog": {
"description": "The catalog name.",
"type": "string"
},
"column": {
"description": "The column name.",
"type": "string"
},
"schema": {
"description": "The schema name.",
"type": "string"
},
"table": {
"description": "The table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
}
The referred primary key.
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| catalog |
string |
true |
|
The catalog name. |
| column |
string |
true |
|
The column name. |
| schema |
string |
false |
|
The schema name. |
| table |
string |
true |
|
The table name. |
OAuthCredentials
{
"properties": {
"credentialType": {
"description": "The type of these credentials, 'oauth' here.",
"enum": [
"oauth"
],
"type": "string"
},
"oauthAccessToken": {
"default": null,
"description": "The OAuth access token.",
"type": [
"string",
"null"
]
},
"oauthClientId": {
"default": null,
"description": "The OAuth client ID.",
"type": [
"string",
"null"
]
},
"oauthClientSecret": {
"default": null,
"description": "The OAuth client secret.",
"type": [
"string",
"null"
]
},
"oauthRefreshToken": {
"description": "The OAuth refresh token.",
"type": "string"
}
},
"required": [
"credentialType",
"oauthRefreshToken"
],
"type": "object"
}
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
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"filter": {
"description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
"maxLength": 320000,
"type": "string",
"x-versionadded": "v2.39"
},
"path": {
"description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
"type": "string",
"x-versionadded": "v2.22"
}
},
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| dataStoreId |
string |
false |
|
The data store ID for this data source. |
| filter |
string |
false |
maxLength: 320000
|
An optional filter string for narrowing results, which overrides path when specified. Only supported by the Jira connector. |
| path |
string |
false |
|
The 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
{
"properties": {
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
"maxLength": 320000,
"type": "string"
}
},
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| dataStoreId |
string |
false |
|
The data store ID for this data source. |
| fetchSize |
integer |
false |
maximum: 20000 minimum: 1
|
The user-specified fetch size. |
| query |
string |
false |
maxLength: 320000
|
The user-specified SQL query. If this is used, then catalog, schema and table will not be used. |
OptionalDatabaseTableDataSource
{
"properties": {
"catalog": {
"description": "The catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "The data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "The user-specified fetch size.",
"maximum": 20000,
"minimum": 1,
"type": "integer"
},
"partitionColumn": {
"description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
"type": "string"
},
"schema": {
"description": "The schema associated with the table or view in the database if supported.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "The table or view name in the database.",
"maxLength": 256,
"type": "string"
}
},
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| catalog |
string |
false |
maxLength: 256
|
The catalog name in the database if supported. |
| dataStoreId |
string |
false |
|
The data store ID for this data source. |
| fetchSize |
integer |
false |
maximum: 20000 minimum: 1
|
The 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
|
The schema associated with the table or view in the database if supported. |
| table |
string |
false |
maxLength: 256
|
The table or view name in the database. |
PartFinalizeResponse
{
"properties": {
"checksum": {
"description": "The checksum of the part.",
"type": "string"
},
"number": {
"description": "The number of the part.",
"type": "integer"
},
"size": {
"description": "The size of the part.",
"type": "integer"
}
},
"required": [
"checksum",
"number",
"size"
],
"type": "object",
"x-versionadded": "v2.35"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| checksum |
string |
true |
|
The checksum of the part. |
| number |
integer |
true |
|
The number of the part. |
| size |
integer |
true |
|
The size of the part. |
PartUploadRequest
{
"properties": {
"file": {
"description": "The part file to upload to the data stage.",
"format": "binary",
"type": "string"
}
},
"required": [
"file"
],
"type": "object",
"x-versionadded": "v2.35"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| file |
string(binary) |
true |
|
The part file to upload to the data stage. |
PartUploadResponse
{
"properties": {
"checksum": {
"description": "The checksum of the part.",
"type": "string"
},
"size": {
"description": "The size of the part.",
"type": "integer"
}
},
"required": [
"checksum",
"size"
],
"type": "object",
"x-versionadded": "v2.35"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| checksum |
string |
true |
|
The checksum of the part. |
| size |
integer |
true |
|
The size of the part. |
S3Credentials
{
"properties": {
"awsAccessKeyId": {
"description": "The S3 AWS access key ID. Required if configId is not specified.Cannot include this parameter if configId is specified.",
"type": "string"
},
"awsSecretAccessKey": {
"description": "The S3 AWS secret access key. Required if configId is not specified.Cannot include this parameter if configId is specified.",
"type": "string"
},
"awsSessionToken": {
"default": null,
"description": "The S3 AWS session token for AWS temporary credentials.Cannot include this parameter if configId is specified.",
"type": [
"string",
"null"
]
},
"configId": {
"description": "The ID of secure configurations of credentials shared by admin. If specified, cannot include awsAccessKeyId, awsSecretAccessKey or awsSessionToken.",
"type": "string"
},
"credentialType": {
"description": "The type of these credentials, 's3' here.",
"enum": [
"s3"
],
"type": "string"
}
},
"required": [
"credentialType"
],
"type": "object"
}
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 |
|
The 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
{
"properties": {
"operation": {
"description": "Name of the action being taken. The only operation is 'updateRoles'.",
"enum": [
"updateRoles"
],
"type": "string"
},
"roles": {
"description": "An array of RoleRequest objects. May contain at most 100 such objects.",
"items": {
"oneOf": [
{
"properties": {
"canShare": {
"default": true,
"description": "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.",
"type": "boolean"
},
"role": {
"description": "The role of the recipient on this entity.",
"enum": [
"ADMIN",
"CONSUMER",
"DATA_SCIENTIST",
"EDITOR",
"NO_ROLE",
"OBSERVER",
"OWNER",
"READ_ONLY",
"READ_WRITE",
"USER"
],
"type": "string"
},
"shareRecipientType": {
"description": "Describes the recipient type, either user, group, or organization.",
"enum": [
"user",
"group",
"organization"
],
"type": "string"
},
"username": {
"description": "The username of the user to update the access role for.",
"type": "string"
}
},
"required": [
"role",
"shareRecipientType",
"username"
],
"type": "object"
},
{
"properties": {
"canShare": {
"default": true,
"description": "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.",
"type": "boolean"
},
"id": {
"description": "The ID of the recipient.",
"type": "string"
},
"role": {
"description": "The role of the recipient on this entity.",
"enum": [
"ADMIN",
"CONSUMER",
"DATA_SCIENTIST",
"EDITOR",
"NO_ROLE",
"OBSERVER",
"OWNER",
"READ_ONLY",
"READ_WRITE",
"USER"
],
"type": "string"
},
"shareRecipientType": {
"description": "Describes the recipient type, either user, group, or organization.",
"enum": [
"user",
"group",
"organization"
],
"type": "string"
}
},
"required": [
"id",
"role",
"shareRecipientType"
],
"type": "object"
}
]
},
"maxItems": 100,
"minItems": 1,
"type": "array"
}
},
"required": [
"operation",
"roles"
],
"type": "object"
}
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
xor
Enumerated Values
| Property |
Value |
| operation |
updateRoles |
SharedRolesWithGrantListResponse
{
"properties": {
"count": {
"description": "The number of items returned.",
"type": "integer"
},
"data": {
"description": "The access control list.",
"items": {
"properties": {
"canShare": {
"description": "Whether the recipient can share the role further.",
"type": "boolean"
},
"id": {
"description": "The identifier of the recipient.",
"type": "string"
},
"name": {
"description": "The name of the recipient.",
"type": "string"
},
"role": {
"description": "The role of the recipient on this entity.",
"enum": [
"ADMIN",
"CONSUMER",
"DATA_SCIENTIST",
"EDITOR",
"OBSERVER",
"OWNER",
"READ_ONLY",
"READ_WRITE",
"USER"
],
"type": "string"
},
"shareRecipientType": {
"description": "The type of the recipient.",
"enum": [
"user",
"group",
"organization"
],
"type": "string"
},
"userFullName": {
"description": "The full name of the recipient user.",
"type": "string"
}
},
"required": [
"canShare",
"id",
"name",
"role",
"shareRecipientType"
],
"type": "object"
},
"type": "array"
},
"next": {
"description": "The URL pointing to the next page.",
"type": [
"string",
"null"
]
},
"previous": {
"description": "The URL pointing to the previous page.",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "The total number of items matching the condition.",
"type": "integer"
}
},
"required": [
"count",
"data",
"next",
"previous",
"totalCount"
],
"type": "object"
}
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 |
|
The URL pointing to the next page. |
| previous |
string,null |
true |
|
The URL pointing to the previous page. |
| totalCount |
integer |
true |
|
The total number of items matching the condition. |
SharingListResponse
{
"properties": {
"count": {
"description": "The number of items returned.",
"type": "integer"
},
"data": {
"description": "The access control list.",
"items": {
"properties": {
"canShare": {
"description": "Whether the recipient can share the role further.",
"type": "boolean"
},
"role": {
"description": "The role of the user on this entity.",
"type": "string"
},
"userId": {
"description": "The identifier of the user that has access to this entity.",
"type": "string"
},
"username": {
"description": "The username of the user that has access to the entity.",
"type": "string"
}
},
"required": [
"canShare",
"role",
"userId",
"username"
],
"type": "object"
},
"maxItems": 1000,
"type": "array"
},
"next": {
"description": "The URL pointing to the next page.",
"type": [
"string",
"null"
]
},
"previous": {
"description": "The URL pointing to the previous page.",
"type": [
"string",
"null"
]
}
},
"required": [
"count",
"data",
"next",
"previous"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| count |
integer |
true |
|
The number of items returned. |
| data |
[AccessControl] |
true |
maxItems: 1000
|
The access control list. |
| next |
string,null |
true |
|
The URL pointing to the next page. |
| previous |
string,null |
true |
|
The URL pointing to the previous page. |
SharingUpdateOrRemoveWithGrant
{
"properties": {
"data": {
"description": "List of sharing roles to update.",
"items": {
"properties": {
"canShare": {
"default": true,
"description": "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.",
"type": "boolean"
},
"role": {
"description": "The role to set on the entity. When it is None, the role of this user will be removedfrom this entity.",
"enum": [
"ADMIN",
"CONSUMER",
"DATA_SCIENTIST",
"EDITOR",
"OBSERVER",
"OWNER",
"READ_ONLY",
"READ_WRITE",
"USER"
],
"type": [
"string",
"null"
]
},
"username": {
"description": "The username of the user to update the access role for.",
"type": "string"
}
},
"required": [
"role",
"username"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"data"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| data |
[UserRoleWithGrant] |
true |
maxItems: 100
|
List of sharing roles to update. |
SnowflakeKeyPairCredentials
{
"properties": {
"configId": {
"description": "The ID of the saved shared credentials. If specified, cannot include user, privateKeyStr, or passphrase.",
"type": "string"
},
"credentialType": {
"description": "The type of these credentials, 'snowflake_key_pair_user_account' here.",
"enum": [
"snowflake_key_pair_user_account"
],
"type": "string"
},
"passphrase": {
"description": "Optional passphrase to decrypt private key. Cannot include this parameter if configId is specified.",
"type": "string"
},
"privateKeyStr": {
"description": "Private key for key pair authentication. Required if configId is not specified. Cannot include this parameter if configId is specified.",
"type": "string"
},
"user": {
"description": "Username for this credential. Required if configId is not specified. Cannot include this parameter if configId is specified.",
"type": "string"
}
},
"required": [
"credentialType"
],
"type": "object"
}
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 |
StandardUdfCreate
{
"properties": {
"credentialId": {
"description": "The ID of the set of credentials to use instead of username and password.",
"type": "string"
},
"functionType": {
"description": "The standard user-defined function type.",
"enum": [
"rolling_median",
"rolling_most_frequent"
],
"type": "string"
},
"schema": {
"description": "The schema to create or detect user-defined functions in.",
"type": "string"
}
},
"required": [
"functionType",
"schema"
],
"type": "object",
"x-versionadded": "v2.36"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| credentialId |
string |
false |
|
The ID of the set of credentials to use instead of username and password. |
| functionType |
string |
true |
|
The standard user-defined function type. |
| schema |
string |
true |
|
The schema to create or detect user-defined functions in. |
Enumerated Values
| Property |
Value |
| functionType |
[rolling_median, rolling_most_frequent] |
StatusIdResponse
{
"properties": {
"statusId": {
"description": "The ID that can be used with [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid] to poll for the job's status.",
"type": "string"
}
},
"required": [
"statusId"
],
"type": "object",
"x-versionadded": "v2.36"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| statusId |
string |
true |
|
The ID that can be used with [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid] to poll for the job's status. |
TableDescription
{
"properties": {
"catalog": {
"description": "The name of the catalog.",
"type": [
"string",
"null"
]
},
"name": {
"description": "The name of the table.",
"type": "string"
},
"schema": {
"description": "The schema of the table.",
"type": "string"
},
"type": {
"description": "The type of table.",
"enum": [
"TABLE",
"VIEW"
],
"type": "string"
}
},
"required": [
"name",
"type"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| catalog |
string,null |
false |
|
The name of the catalog. |
| name |
string |
true |
|
The name of the table. |
| schema |
string |
false |
|
The schema of the table. |
| type |
string |
true |
|
The type of table. |
Enumerated Values
| Property |
Value |
| type |
[TABLE, VIEW] |
UpdateDriverRequest
{
"properties": {
"baseNames": {
"description": "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'",
"items": {
"description": "Original file name of the uploaded JAR file.",
"type": "string"
},
"type": "array"
},
"canonicalName": {
"description": "User-friendly driver name.",
"type": "string"
},
"className": {
"description": "Driver class name. For example 'com.amazon.redshift.jdbc.Driver'",
"type": [
"string",
"null"
]
},
"configurationId": {
"description": "Driver configuration ID if it was provided during driver upload.",
"type": [
"string",
"null"
],
"x-versionadded": "v2.18"
},
"localJarUrls": {
"description": "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.",
"items": {
"description": "File path for the driver file. This path is returned by the driverUpload route in the 'local_url' response.",
"type": "string"
},
"minItems": 1,
"type": "array"
},
"removeConfig": {
"description": "Pass `True` to remove configuration currently associated with this driver. Note: must pass `canonicalName` and `className` if removing the configuration.",
"type": "boolean",
"x-versionadded": "v2.18"
},
"skipConfigVerification": {
"description": "Pass `True` to skip `jdbc_url` verification.",
"type": "boolean",
"x-versionadded": "v2.18"
},
"version": {
"description": "Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.",
"type": "string",
"x-versionadded": "v2.18"
}
},
"type": "object"
}
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
{
"properties": {
"canShare": {
"default": true,
"description": "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.",
"type": "boolean"
},
"role": {
"description": "The role to set on the entity. When it is None, the role of this user will be removedfrom this entity.",
"enum": [
"ADMIN",
"CONSUMER",
"DATA_SCIENTIST",
"EDITOR",
"OBSERVER",
"OWNER",
"READ_ONLY",
"READ_WRITE",
"USER"
],
"type": [
"string",
"null"
]
},
"username": {
"description": "The username of the user to update the access role for.",
"type": "string"
}
},
"required": [
"role",
"username"
],
"type": "object"
}
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 |
|
The 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] |