Data connectivity
This page outlines how to integrate with a variety of enterprise databases, using a 'self-service' JDBC platform.
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": "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": "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"
],
"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"
],
"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": "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"
],
"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": "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"
],
"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": "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"
],
"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": "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": "User ID of the creator of this configuration.",
"type": "string"
},
"id": {
"description": "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": "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": "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 detailed list of available data sources.
Parameters
| Name |
In |
Type |
Required |
Description |
| type |
query |
string |
false |
Data source type to filter by. |
Enumerated Values
| Parameter |
Value |
| type |
[all, databases, dr-connector-v1, dr-database-v1, jdbc] |
Example responses
200 Response
{
"properties": {
"data": {
"description": "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": "Data source canonical name.",
"type": "string"
},
"creator": {
"description": "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": "Data source ID.",
"type": "string"
},
"params": {
"description": "Data source configuration.",
"oneOf": [
{
"properties": {
"catalog": {
"description": "Catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "Schema associated with the table or view in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "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": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "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": "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": "Role of the user making the request on this data source.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "Data source type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "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": "Data source canonical name.",
"type": "string"
},
"params": {
"description": "Data source configuration.",
"oneOf": [
{
"properties": {
"catalog": {
"description": "Catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "Schema associated with the table or view in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "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": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "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": "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": "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": "Data source canonical name.",
"type": "string"
},
"creator": {
"description": "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": "Data source ID.",
"type": "string"
},
"params": {
"description": "Data source configuration.",
"oneOf": [
{
"properties": {
"catalog": {
"description": "Catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "Schema associated with the table or view in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "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": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "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": "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": "Role of the user making the request on this data source.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "Data source type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "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 details of the existing data source with given ID, including SQL query or selected table and schema data, which fully describe which data to extract and from which location.
Parameters
| Name |
In |
Type |
Required |
Description |
| dataSourceId |
path |
string |
true |
The ID of the Data Source. |
Example responses
200 Response
{
"properties": {
"canonicalName": {
"description": "Data source canonical name.",
"type": "string"
},
"creator": {
"description": "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": "Data source ID.",
"type": "string"
},
"params": {
"description": "Data source configuration.",
"oneOf": [
{
"properties": {
"catalog": {
"description": "Catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "Schema associated with the table or view in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "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": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "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": "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": "Role of the user making the request on this data source.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "Data source type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "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": "Catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "Schema associated with the table or view in the database if supported.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "Table or view name in the database.",
"maxLength": 256,
"type": "string"
}
},
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "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": "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 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": "URL pointing to the next page.",
"type": [
"string",
"null"
]
},
"previous": {
"description": "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 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": "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 |
List access controls for recipients with this type. |
| dataSourceId |
path |
string |
true |
The ID of the Data Source. |
Enumerated Values
| Parameter |
Value |
| shareRecipientType |
[user, group, organization] |
Example responses
200 Response
{
"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": "Full name of the recipient user.",
"type": "string"
}
},
"required": [
"canShare",
"id",
"name",
"role",
"shareRecipientType"
],
"type": "object"
},
"type": "array"
},
"next": {
"description": "URL pointing to the next page.",
"type": [
"string",
"null"
]
},
"previous": {
"description": "URL pointing to the previous page.",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "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. One of OWNER, USER, OBSERVER.",
"type": "string"
},
"shareRecipientType": {
"description": "Describes the recipient type, either user, group, or organization.",
"enum": [
"user",
"group",
"organization"
],
"type": "string"
},
"username": {
"description": "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. One of OWNER, USER, OBSERVER.",
"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 list with details of the existing data stores available for the user.
Parameters
| Name |
In |
Type |
Required |
Description |
| offset |
query |
integer |
false |
Number of results to skip. |
| limit |
query |
integer |
false |
At most this many results are returned. The default may change without notice. |
| type |
query |
string |
false |
Includes only data stores of the specified type or any if set to all. |
| databaseType |
query |
any |
false |
Includes only data stores of the specified database type. For JDBC based data stores, the database_type value is the string between the first and the second colons of a jdbc url. For example, a snowflake jdbc url is jdbc //, the database_type is hence snowflake. If an empty string is used, or if the string contains only whitespace, no filtering occurs. |
| connectorType |
query |
any |
false |
Includes only data stores of the specified connector type. |
| showHidden |
query |
string |
false |
Specifies whether non-visible OAuth fields are shown. |
| 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 substitued. |
| 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": "List of data stores.",
"items": {
"properties": {
"associatedAuthTypes": {
"description": "Supported authentication types for the JDBC configuration.",
"items": {
"enum": [
"adls_gen2_oauth",
"azure_service_principal",
"basic",
"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": "ID of the user who created the data store.",
"type": "string"
},
"id": {
"description": "Data store ID.",
"type": "string"
},
"params": {
"description": "Data store configuration.",
"oneOf": [
{
"properties": {
"driverId": {
"description": "Driver ID.",
"type": "string"
},
"jdbcFieldSchemas": {
"default": [],
"description": "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": "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": "Name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "Value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "JDBC URL.",
"type": "string"
}
},
"required": [
"driverId"
],
"type": "object"
},
{
"properties": {
"connectorId": {
"description": "ID of the connector.",
"type": "string"
},
"fieldSchemas": {
"description": "Connector field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, a list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the parameter.",
"type": "string"
},
"description": {
"description": "Description of the parameter.",
"type": "string"
},
"name": {
"description": "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": "Connector fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "Field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"connectorId",
"fields"
],
"type": "object"
},
{
"properties": {
"driverId": {
"description": "Database Driver ID.",
"type": "string"
},
"fieldSchemas": {
"description": "Database driver field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, a list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the parameter.",
"type": "string"
},
"description": {
"description": "Description of the parameter.",
"type": "string"
},
"name": {
"description": "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": "Database driver fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "Field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"driverId",
"fields"
],
"type": "object"
}
]
},
"role": {
"description": "Role of the user making the request on this data store.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "Data store type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "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
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": "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": "Name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "Value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "JDBC URL.",
"type": "string"
}
},
"required": [
"driverId"
],
"type": "object"
},
{
"properties": {
"connectorId": {
"description": "ID of the connector.",
"type": "string"
},
"fields": {
"description": "Connector fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "Field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"connectorId",
"fields"
],
"type": "object"
},
{
"properties": {
"driverId": {
"description": "Database Driver ID.",
"type": "string"
},
"fields": {
"description": "Database driver fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "Field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"driverId",
"fields"
],
"type": "object"
}
]
},
"type": {
"description": "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": "Supported authentication types for the JDBC configuration.",
"items": {
"enum": [
"adls_gen2_oauth",
"azure_service_principal",
"basic",
"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": "ID of the user who created the data store.",
"type": "string"
},
"id": {
"description": "Data store ID.",
"type": "string"
},
"params": {
"description": "Data store configuration.",
"oneOf": [
{
"properties": {
"driverId": {
"description": "Driver ID.",
"type": "string"
},
"jdbcFieldSchemas": {
"default": [],
"description": "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": "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": "Name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "Value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "JDBC URL.",
"type": "string"
}
},
"required": [
"driverId"
],
"type": "object"
},
{
"properties": {
"connectorId": {
"description": "ID of the connector.",
"type": "string"
},
"fieldSchemas": {
"description": "Connector field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, a list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the parameter.",
"type": "string"
},
"description": {
"description": "Description of the parameter.",
"type": "string"
},
"name": {
"description": "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": "Connector fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "Field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"connectorId",
"fields"
],
"type": "object"
},
{
"properties": {
"driverId": {
"description": "Database Driver ID.",
"type": "string"
},
"fieldSchemas": {
"description": "Database driver field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, a list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the parameter.",
"type": "string"
},
"description": {
"description": "Description of the parameter.",
"type": "string"
},
"name": {
"description": "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": "Database driver fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "Field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"driverId",
"fields"
],
"type": "object"
}
]
},
"role": {
"description": "Role of the user making the request on this data store.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "Data store type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "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 |
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 substitued. |
| dataStoreId |
path |
string |
true |
ID of the data store. |
Enumerated Values
| Parameter |
Value |
| substituteUrlParameters |
[false, False, true, True] |
Example responses
200 Response
{
"properties": {
"associatedAuthTypes": {
"description": "Supported authentication types for the JDBC configuration.",
"items": {
"enum": [
"adls_gen2_oauth",
"azure_service_principal",
"basic",
"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": "ID of the user who created the data store.",
"type": "string"
},
"id": {
"description": "Data store ID.",
"type": "string"
},
"params": {
"description": "Data store configuration.",
"oneOf": [
{
"properties": {
"driverId": {
"description": "Driver ID.",
"type": "string"
},
"jdbcFieldSchemas": {
"default": [],
"description": "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": "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": "Name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "Value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "JDBC URL.",
"type": "string"
}
},
"required": [
"driverId"
],
"type": "object"
},
{
"properties": {
"connectorId": {
"description": "ID of the connector.",
"type": "string"
},
"fieldSchemas": {
"description": "Connector field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, a list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the parameter.",
"type": "string"
},
"description": {
"description": "Description of the parameter.",
"type": "string"
},
"name": {
"description": "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": "Connector fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "Field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"connectorId",
"fields"
],
"type": "object"
},
{
"properties": {
"driverId": {
"description": "Database Driver ID.",
"type": "string"
},
"fieldSchemas": {
"description": "Database driver field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, a list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the parameter.",
"type": "string"
},
"description": {
"description": "Description of the parameter.",
"type": "string"
},
"name": {
"description": "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": "Database driver fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "Field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"driverId",
"fields"
],
"type": "object"
}
]
},
"role": {
"description": "Role of the user making the request on this data store.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "Data store type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "ISO 8601-formatted date/time of the data store update.",
"type": "string"
}
},
"required": [
"canonicalName",
"creator",
"id",
"params",
"role",
"type",
"updated"
],
"type": "object"
}
Responses
Updates a data store configuration by data store ID
Operation path: PATCH /api/v2/externalDataStores/{dataStoreId}/
Authentication requirements: BearerAuth
Updates a data store configuration.
Body parameter
{
"properties": {
"canonicalName": {
"description": "The user-friendly name of the data store.",
"type": "string"
},
"params": {
"description": "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": "Name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "Value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "JDBC URL.",
"type": "string"
}
},
"type": "object"
},
{
"properties": {
"fields": {
"description": "Connector fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "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 |
ID of the data store. |
| body |
body |
DataStoreUpdate |
false |
none |
Example responses
200 Response
{
"properties": {
"associatedAuthTypes": {
"description": "Supported authentication types for the JDBC configuration.",
"items": {
"enum": [
"adls_gen2_oauth",
"azure_service_principal",
"basic",
"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": "ID of the user who created the data store.",
"type": "string"
},
"id": {
"description": "Data store ID.",
"type": "string"
},
"params": {
"description": "Data store configuration.",
"oneOf": [
{
"properties": {
"driverId": {
"description": "Driver ID.",
"type": "string"
},
"jdbcFieldSchemas": {
"default": [],
"description": "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": "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": "Name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "Value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "JDBC URL.",
"type": "string"
}
},
"required": [
"driverId"
],
"type": "object"
},
{
"properties": {
"connectorId": {
"description": "ID of the connector.",
"type": "string"
},
"fieldSchemas": {
"description": "Connector field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, a list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the parameter.",
"type": "string"
},
"description": {
"description": "Description of the parameter.",
"type": "string"
},
"name": {
"description": "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": "Connector fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "Field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"connectorId",
"fields"
],
"type": "object"
},
{
"properties": {
"driverId": {
"description": "Database Driver ID.",
"type": "string"
},
"fieldSchemas": {
"description": "Database driver field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, a list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the parameter.",
"type": "string"
},
"description": {
"description": "Description of the parameter.",
"type": "string"
},
"name": {
"description": "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": "Database driver fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "Field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"driverId",
"fields"
],
"type": "object"
}
]
},
"role": {
"description": "Role of the user making the request on this data store.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "Data store type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "ISO 8601-formatted date/time of the data store update.",
"type": "string"
}
},
"required": [
"canonicalName",
"creator",
"id",
"params",
"role",
"type",
"updated"
],
"type": "object"
}
Responses
Update data store's 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": "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": "Name of specified database catalog.",
"type": [
"string",
"null"
]
},
"credentialId": {
"description": "Id of credential mapping.",
"type": "string"
},
"password": {
"description": "Password for the db connection.",
"type": "string"
},
"query": {
"description": "Schema query.",
"type": "string"
},
"schema": {
"description": "Schema name.",
"type": "string"
},
"table": {
"description": "Table name.",
"type": "string"
},
"user": {
"description": "Username for the db connection.",
"type": "string"
}
},
"type": "object"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| dataStoreId |
path |
string |
true |
ID of the data store. |
| body |
body |
DataStoreColumnsList |
false |
none |
Example responses
200 Response
{
"properties": {
"columns": {
"description": "List of data store columns.",
"items": {
"properties": {
"dataType": {
"description": "DataType of the column.",
"type": "string"
},
"name": {
"description": "Name of the column.",
"type": "string"
},
"precision": {
"description": "Precision of the column.",
"type": [
"string",
"null"
]
},
"scale": {
"description": "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 |
Returns response with array of Column objects. |
DataStoreColumnsListResponse |
| 400 |
Bad Request |
Error thrown by DSS system when retrieving columns |
None |
| 403 |
Forbidden |
Incorrect permissions to access catalog item through DSS |
None |
Operation path: POST /api/v2/externalDataStores/{dataStoreId}/columnsInfo/
Authentication requirements: BearerAuth
Retrieves a data store's column metadata.
Body parameter
{
"properties": {
"catalog": {
"description": "Name of specified database catalog.",
"type": [
"string",
"null"
]
},
"credentialId": {
"description": "ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"password": {
"description": "Password for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
},
"schema": {
"description": "Schema name.",
"type": "string"
},
"table": {
"description": "Table name.",
"type": "string"
},
"useKerberos": {
"default": false,
"description": "Whether to use Kerberos for data store authentication.",
"type": "boolean",
"x-versionadded": "v2.19"
},
"user": {
"description": "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 |
Number of results to skip. |
| limit |
query |
integer |
false |
At most this many results are returned. The default may change without notice. |
| types |
query |
any |
false |
Includes only credentials of the specified type. Repeat the parameter for filtering on multiple statuses. |
| orderBy |
query |
string |
false |
The order to sort the credentials. Defaults to the order by the creation_date in descending order. |
| dataStoreId |
path |
string |
true |
ID of the data store. |
| body |
body |
DataStoreColumnsInfoList |
false |
none |
Enumerated Values
| Parameter |
Value |
| orderBy |
[creationDate, -creationDate] |
Example responses
200 Response
{
"properties": {
"count": {
"description": "Number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "List of data store columns meta data.",
"items": {
"properties": {
"columnDefaultValue": {
"description": "Default value of the column.",
"type": [
"string",
"null"
]
},
"comment": {
"description": "Comment of the column.",
"type": [
"string",
"null"
]
},
"dataType": {
"description": "DataType of the column.",
"type": "string"
},
"dataTypeInt": {
"description": "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": "Referred primary key.",
"properties": {
"catalog": {
"description": "Catalog name.",
"type": "string"
},
"column": {
"description": "Column name.",
"type": "string"
},
"schema": {
"description": "Schema name.",
"type": "string"
},
"table": {
"description": "Table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
},
"keyType": {
"description": "Type of this key.",
"enum": [
"1",
"2",
"3"
],
"type": "string"
},
"name": {
"description": "Name of this key.",
"type": "string"
},
"primaryKey": {
"description": "Referred primary key.",
"properties": {
"catalog": {
"description": "Catalog name.",
"type": "string"
},
"column": {
"description": "Column name.",
"type": "string"
},
"schema": {
"description": "Schema name.",
"type": "string"
},
"table": {
"description": "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": "Referred primary key.",
"properties": {
"catalog": {
"description": "Catalog name.",
"type": "string"
},
"column": {
"description": "Column name.",
"type": "string"
},
"schema": {
"description": "Schema name.",
"type": "string"
},
"table": {
"description": "Table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
},
"keyType": {
"description": "Type of this key.",
"enum": [
"1",
"2",
"3"
],
"type": "string"
},
"name": {
"description": "Name of this key.",
"type": "string"
},
"primaryKey": {
"description": "Referred primary key.",
"properties": {
"catalog": {
"description": "Catalog name.",
"type": "string"
},
"column": {
"description": "Column name.",
"type": "string"
},
"schema": {
"description": "Schema name.",
"type": "string"
},
"table": {
"description": "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": "If the column values can be null.",
"enum": [
"NO",
"UNKNOWN",
"YES"
],
"type": [
"string",
"null"
]
},
"name": {
"description": "Name of the column.",
"type": "string"
},
"precision": {
"description": "Precision of the column.",
"type": [
"integer",
"null"
]
},
"primaryKeys": {
"description": "Primary key columns of the table.",
"items": {
"type": "string"
},
"type": "array"
},
"scale": {
"description": "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": "URL pointing to the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "URL pointing to 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 |
Number of results to skip. |
| limit |
query |
integer |
false |
At most this many results are returned. The default may change without notice. |
| types |
query |
any |
false |
Includes only credentials of the specified type. Repeat the parameter for filtering on multiple statuses. |
| orderBy |
query |
string |
false |
The order to sort the credentials. Defaults to the order by the creation_date in descending order. |
| dataStoreId |
path |
string |
true |
ID of the data store. |
Enumerated Values
| Parameter |
Value |
| orderBy |
[creationDate, -creationDate] |
Example responses
200 Response
{
"properties": {
"count": {
"description": "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",
"databricks_access_token_account",
"databricks_service_principal_account",
"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": "URL pointing to the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "URL pointing to 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 |
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": "ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"password": {
"description": "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": "Username for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
}
},
"type": "object"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| dataStoreId |
path |
string |
true |
ID of the data store. |
| body |
body |
DataStoreCredentials |
false |
none |
Example responses
200 Response
{
"properties": {
"catalog": {
"description": "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": "List of catalogs associated with each retrieved schema. If no catalog is found, this value is null.",
"items": {
"description": "Catalog names for the schema associated with the data store.",
"type": [
"string",
"null"
]
},
"type": "array"
},
"schemas": {
"description": "List of schemas available in the data store.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"catalog",
"catalogs",
"schemas"
],
"type": "object"
}
Responses
Get 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 |
List access controls for recipients with this type. |
| dataStoreId |
path |
string |
true |
ID of the data store. |
Enumerated Values
| Parameter |
Value |
| shareRecipientType |
[user, group, organization] |
Example responses
200 Response
{
"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": "Full name of the recipient user.",
"type": "string"
}
},
"required": [
"canShare",
"id",
"name",
"role",
"shareRecipientType"
],
"type": "object"
},
"type": "array"
},
"next": {
"description": "URL pointing to the next page.",
"type": [
"string",
"null"
]
},
"previous": {
"description": "URL pointing to the previous page.",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "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. One of OWNER, USER, OBSERVER.",
"type": "string"
},
"shareRecipientType": {
"description": "Describes the recipient type, either user, group, or organization.",
"enum": [
"user",
"group",
"organization"
],
"type": "string"
},
"username": {
"description": "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. One of OWNER, USER, OBSERVER.",
"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 |
ID of the data store. |
| body |
body |
SharedRolesUpdateWithGrant |
false |
none |
Responses
| Status |
Meaning |
Description |
Schema |
| 204 |
No Content |
Successfully modified. |
None |
| 409 |
Conflict |
Duplicate entry for the org/group/user in roles listor the request would leave the data store without an owner. |
None |
| 422 |
Unprocessable Entity |
Request is unprocessable. For example, name is stated for not user recipient. |
None |
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 |
ID of the set of credentials to use instead of username and password. |
| functionType |
query |
string |
true |
Standard user-defined function type. |
| schema |
query |
string |
true |
The schema to create or detect user-defined functions in. |
| functionName |
query |
string |
false |
Standard user-defined function name to filter results by. |
| dataStoreId |
path |
string |
true |
ID of the data store. |
Enumerated Values
| Parameter |
Value |
| functionType |
[rolling_median, rolling_most_frequent] |
Example responses
200 Response
{
"properties": {
"detectedFunctions": {
"description": "Detected standard user-defined functions.",
"items": {
"type": "string"
},
"maxItems": 1000,
"type": "array"
},
"functionType": {
"description": "Requested standard user-defined function type.",
"type": "string"
},
"schema": {
"description": "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": "ID of the set of credentials to use instead of username and password.",
"type": "string"
},
"functionType": {
"description": "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 |
ID of the data store. |
| body |
body |
StandardUdfCreate |
false |
none |
Example responses
202 Response
{
"properties": {
"statusId": {
"description": "An 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": "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": "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 |
ID of the data store. |
| body |
body |
DetectUdfs |
false |
none |
Example responses
202 Response
{
"properties": {
"statusId": {
"description": "An 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": "ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"password": {
"description": "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": "Username for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
}
},
"type": "object"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| dataStoreId |
path |
string |
true |
ID of the data store. |
| body |
body |
DataStoreTables |
false |
none |
Example responses
200 Response
{
"properties": {
"catalog": {
"description": "Catalog associated with schemas.",
"type": [
"string",
"null"
]
},
"tables": {
"description": "List of tables in the data store.",
"items": {
"properties": {
"catalog": {
"description": "Name of the catalog.",
"type": [
"string",
"null"
]
},
"name": {
"description": "Name of the table.",
"type": "string"
},
"schema": {
"description": "Schema of the table.",
"type": "string"
},
"type": {
"description": "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 |
List of tables available in the retrieved data store. |
DataStoreTablesList |
Tests data store connection by data store ID
Operation path: POST /api/v2/externalDataStores/{dataStoreId}/test/
Authentication requirements: BearerAuth
Tests the ability to connect to a data store with specified authentication.
Body parameter
{
"properties": {
"credentialData": {
"description": "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 / 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": "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": "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": "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 clientIdand 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": "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"
}
],
"x-versionadded": "v2.23"
},
"credentialId": {
"description": "ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"password": {
"description": "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": "Username for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
}
},
"type": "object"
}
Parameters
Example responses
200 Response
{
"properties": {
"message": {
"description": "Connection attempt results.",
"type": "string"
}
},
"required": [
"message"
],
"type": "object"
}
Responses
Verifies a SQL query by data store ID
Operation path: POST /api/v2/externalDataStores/{dataStoreId}/verifySQL/
Authentication requirements: BearerAuth
Executes the SQL query on the data store, returning a small number of rows (max 999). Use this for quick query execution validation and exploring results, not for capturing an entire result set.
Body parameter
{
"properties": {
"credentialId": {
"description": "ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"maxRows": {
"description": "Maximum number of rows of data to return if successful.",
"maximum": 999,
"minimum": 0,
"type": "integer"
},
"password": {
"description": "Password for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
},
"query": {
"description": "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": "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 |
ID of the data store. |
| body |
body |
DataStoreSQLVerify |
false |
none |
Example responses
200 Response
{
"properties": {
"columns": {
"description": "List of columns for the returned set of records. Column order matches the order of values in a record.",
"items": {
"description": "Name of the column.",
"type": "string"
},
"type": "array"
},
"records": {
"description": "List of records output by the query.",
"items": {
"description": "List of values for a single database record, ordered as the columns are ordered.",
"items": {
"description": "String representation of the column's value.",
"type": "string"
},
"type": "array"
},
"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 |
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 |
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": "Number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "List of driver configurations available to the user.",
"items": {
"properties": {
"associatedAuthTypes": {
"description": "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": "User ID of the creator of this configuration.",
"type": "string"
},
"id": {
"description": "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": "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": "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": "URL pointing to the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "URL pointing to 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 |
Driver configuration ID |
Example responses
200 Response
{
"properties": {
"associatedAuthTypes": {
"description": "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": "User ID of the creator of this configuration.",
"type": "string"
},
"id": {
"description": "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": "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": "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
Schemas
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": "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 |
|
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": "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 |
|
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 |
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 / 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 / stored. |
| user |
string |
true |
|
The username for database authentication. |
Enumerated Values
| Property |
Value |
| credentialType |
basic |
ConnectorFieldSchema
{
"properties": {
"choices": {
"description": "If non-empty, a list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the parameter.",
"type": "string"
},
"description": {
"description": "Description of the parameter.",
"type": "string"
},
"name": {
"description": "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, a list of all possible values for a parameter. |
| default |
string |
true |
|
Default value of the parameter. |
| description |
string |
true |
|
Description of the parameter. |
| name |
string |
true |
|
Name of the parameter. |
| required |
boolean |
true |
|
Whether or not the parameter is required for a connection. |
| visibleByDefault |
boolean |
true |
|
Whether or not the parameter should be shown in the UI by default. |
CreateCredentialsResponse
{
"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",
"databricks_access_token_account",
"databricks_service_principal_account",
"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, databricks_access_token_account, databricks_service_principal_account, 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"
],
"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] |
| type |
[dr-database-v1, jdbc] |
CredentialsListResponse
{
"properties": {
"count": {
"description": "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",
"databricks_access_token_account",
"databricks_service_principal_account",
"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": "URL pointing to the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "URL pointing to 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 |
|
Number of items returned on this page. |
| data |
[CreateCredentialsResponse] |
true |
|
List of credentials. |
| next |
string,null(uri) |
true |
|
URL pointing to the next page (if null, there is no next page). |
| previous |
string,null(uri) |
true |
|
URL pointing to the previous page (if null, there is no previous page). |
| totalCount |
integer |
true |
|
The total number of items across all pages. |
DRConnectorV1Create
{
"properties": {
"connectorId": {
"description": "ID of the connector.",
"type": "string"
},
"fields": {
"description": "Connector fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "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 |
|
ID of the connector. |
| fields |
[DRConnectorV1Field] |
true |
|
Connector fields. |
DRConnectorV1DataSource
{
"properties": {
"dataStoreId": {
"description": "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": "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 |
|
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 |
|
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": "ID of the connector.",
"type": "string"
},
"fieldSchemas": {
"description": "Connector field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, a list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the parameter.",
"type": "string"
},
"description": {
"description": "Description of the parameter.",
"type": "string"
},
"name": {
"description": "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": "Connector fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "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 |
|
ID of the connector. |
| fieldSchemas |
[ConnectorFieldSchema] |
false |
|
Connector field schemas. |
| fields |
[DRConnectorV1Field] |
true |
|
Connector fields. |
DRConnectorV1Field
{
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "Field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| id |
string |
false |
|
Field name. |
| name |
string |
true |
|
User-friendly displayable field name. |
| value |
string |
true |
|
Field value. |
DRConnectorV1Update
{
"properties": {
"fields": {
"description": "Connector fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "Field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| fields |
[DRConnectorV1Field] |
false |
|
Connector fields. |
DataSourceCreate
{
"properties": {
"canonicalName": {
"description": "Data source canonical name.",
"type": "string"
},
"params": {
"description": "Data source configuration.",
"oneOf": [
{
"properties": {
"catalog": {
"description": "Catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "Schema associated with the table or view in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "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": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "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": "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": "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 |
|
Data source canonical name. |
| params |
any |
true |
|
Data source configuration. |
oneOf
xor
xor
continued
| Name |
Type |
Required |
Restrictions |
Description |
| type |
string |
true |
|
Data source type. |
Enumerated Values
| Property |
Value |
| type |
[dr-connector-v1, dr-database-v1, jdbc] |
DataSourceDescribePermissionsResponse
{
"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": "Data source canonical name.",
"type": "string"
},
"creator": {
"description": "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": "Data source ID.",
"type": "string"
},
"params": {
"description": "Data source configuration.",
"oneOf": [
{
"properties": {
"catalog": {
"description": "Catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "Schema associated with the table or view in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "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": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "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": "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": "Role of the user making the request on this data source.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "Data source type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "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 |
|
Data source canonical name. |
| creator |
string |
true |
|
ID of the user who created the data source. |
| driverClassType |
string |
false |
|
The type of driver used to create this data source. |
| id |
string |
true |
|
Data source ID. |
| params |
any |
true |
|
Data source configuration. |
oneOf
xor
xor
continued
| Name |
Type |
Required |
Restrictions |
Description |
| role |
string |
true |
|
Role of the user making the request on this data source. |
| type |
string |
true |
|
Data source type. |
| updated |
string |
true |
|
ISO 8601-formatted date/time of the data source update. |
Enumerated Values
| Property |
Value |
| role |
[CONSUMER, EDITOR, OWNER] |
| type |
[dr-connector-v1, dr-database-v1, jdbc] |
DataSourceListResponse
{
"properties": {
"data": {
"description": "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": "Data source canonical name.",
"type": "string"
},
"creator": {
"description": "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": "Data source ID.",
"type": "string"
},
"params": {
"description": "Data source configuration.",
"oneOf": [
{
"properties": {
"catalog": {
"description": "Catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "Schema associated with the table or view in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "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": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "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": "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": "Role of the user making the request on this data source.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "Data source type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "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 |
|
List of data sources. |
DataSourceRetrieveResponse
{
"properties": {
"canonicalName": {
"description": "Data source canonical name.",
"type": "string"
},
"creator": {
"description": "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": "Data source ID.",
"type": "string"
},
"params": {
"description": "Data source configuration.",
"oneOf": [
{
"properties": {
"catalog": {
"description": "Catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "Schema associated with the table or view in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "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": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "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": "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": "Role of the user making the request on this data source.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "Data source type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "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 |
|
Data source canonical name. |
| creator |
string |
true |
|
ID of the user who created the data source. |
| driverClassType |
string |
false |
|
The type of driver used to create this data source. |
| id |
string |
true |
|
Data source ID. |
| params |
any |
true |
|
Data source configuration. |
oneOf
xor
xor
continued
| Name |
Type |
Required |
Restrictions |
Description |
| role |
string |
true |
|
Role of the user making the request on this data source. |
| type |
string |
true |
|
Data source type. |
| updated |
string |
true |
|
ISO 8601-formatted date/time of the data source update. |
Enumerated Values
| Property |
Value |
| role |
[CONSUMER, EDITOR, OWNER] |
| type |
[dr-connector-v1, dr-database-v1, jdbc] |
DataSourceUpdate
{
"properties": {
"canonicalName": {
"description": "The data source's canonical name.",
"type": "string"
},
"params": {
"description": "Data source configuration.",
"oneOf": [
{
"properties": {
"catalog": {
"description": "Catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "Schema associated with the table or view in the database if supported.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "Table or view name in the database.",
"maxLength": 256,
"type": "string"
}
},
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "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": "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": "DataType of the column.",
"type": "string"
},
"name": {
"description": "Name of the column.",
"type": "string"
},
"precision": {
"description": "Precision of the column.",
"type": [
"string",
"null"
]
},
"scale": {
"description": "Scale of the column.",
"type": [
"string",
"null"
]
}
},
"required": [
"dataType",
"name",
"precision",
"scale"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| dataType |
string |
true |
|
DataType of the column. |
| name |
string |
true |
|
Name of the column. |
| precision |
string,null |
true |
|
Precision of the column. |
| scale |
string,null |
true |
|
Scale of the column. |
DataStoreColumnsInfoList
{
"properties": {
"catalog": {
"description": "Name of specified database catalog.",
"type": [
"string",
"null"
]
},
"credentialId": {
"description": "ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"password": {
"description": "Password for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
},
"schema": {
"description": "Schema name.",
"type": "string"
},
"table": {
"description": "Table name.",
"type": "string"
},
"useKerberos": {
"default": false,
"description": "Whether to use Kerberos for data store authentication.",
"type": "boolean",
"x-versionadded": "v2.19"
},
"user": {
"description": "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 |
|
Name of specified database catalog. |
| credentialId |
string |
false |
|
ID of the set of credentials to use instead of username and password. |
| password |
string |
false |
|
Password for data store authentication. |
| schema |
string |
false |
|
Schema name. |
| table |
string |
true |
|
Table name. |
| useKerberos |
boolean |
false |
|
Whether to use Kerberos for data store authentication. |
| user |
string |
false |
|
Username for data store authentication. |
DataStoreColumnsInfoListResponse
{
"properties": {
"count": {
"description": "Number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "List of data store columns meta data.",
"items": {
"properties": {
"columnDefaultValue": {
"description": "Default value of the column.",
"type": [
"string",
"null"
]
},
"comment": {
"description": "Comment of the column.",
"type": [
"string",
"null"
]
},
"dataType": {
"description": "DataType of the column.",
"type": "string"
},
"dataTypeInt": {
"description": "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": "Referred primary key.",
"properties": {
"catalog": {
"description": "Catalog name.",
"type": "string"
},
"column": {
"description": "Column name.",
"type": "string"
},
"schema": {
"description": "Schema name.",
"type": "string"
},
"table": {
"description": "Table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
},
"keyType": {
"description": "Type of this key.",
"enum": [
"1",
"2",
"3"
],
"type": "string"
},
"name": {
"description": "Name of this key.",
"type": "string"
},
"primaryKey": {
"description": "Referred primary key.",
"properties": {
"catalog": {
"description": "Catalog name.",
"type": "string"
},
"column": {
"description": "Column name.",
"type": "string"
},
"schema": {
"description": "Schema name.",
"type": "string"
},
"table": {
"description": "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": "Referred primary key.",
"properties": {
"catalog": {
"description": "Catalog name.",
"type": "string"
},
"column": {
"description": "Column name.",
"type": "string"
},
"schema": {
"description": "Schema name.",
"type": "string"
},
"table": {
"description": "Table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
},
"keyType": {
"description": "Type of this key.",
"enum": [
"1",
"2",
"3"
],
"type": "string"
},
"name": {
"description": "Name of this key.",
"type": "string"
},
"primaryKey": {
"description": "Referred primary key.",
"properties": {
"catalog": {
"description": "Catalog name.",
"type": "string"
},
"column": {
"description": "Column name.",
"type": "string"
},
"schema": {
"description": "Schema name.",
"type": "string"
},
"table": {
"description": "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": "If the column values can be null.",
"enum": [
"NO",
"UNKNOWN",
"YES"
],
"type": [
"string",
"null"
]
},
"name": {
"description": "Name of the column.",
"type": "string"
},
"precision": {
"description": "Precision of the column.",
"type": [
"integer",
"null"
]
},
"primaryKeys": {
"description": "Primary key columns of the table.",
"items": {
"type": "string"
},
"type": "array"
},
"scale": {
"description": "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": "URL pointing to the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "URL pointing to 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 |
|
Number of items returned on this page. |
| data |
[DataStoreExtendedColumnResponse] |
true |
|
List of data store columns meta data. |
| next |
string,null(uri) |
true |
|
URL pointing to the next page (if null, there is no next page). |
| previous |
string,null(uri) |
true |
|
URL pointing to the previous page (if null, there is no previous page). |
| totalCount |
integer |
true |
|
The total number of items across all pages. |
DataStoreColumnsList
{
"properties": {
"catalog": {
"description": "Name of specified database catalog.",
"type": [
"string",
"null"
]
},
"credentialId": {
"description": "Id of credential mapping.",
"type": "string"
},
"password": {
"description": "Password for the db connection.",
"type": "string"
},
"query": {
"description": "Schema query.",
"type": "string"
},
"schema": {
"description": "Schema name.",
"type": "string"
},
"table": {
"description": "Table name.",
"type": "string"
},
"user": {
"description": "Username for the db connection.",
"type": "string"
}
},
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| catalog |
string,null |
false |
|
Name of specified database catalog. |
| credentialId |
string |
false |
|
Id of credential mapping. |
| password |
string |
false |
|
Password for the db connection. |
| query |
string |
false |
|
Schema query. |
| schema |
string |
false |
|
Schema name. |
| table |
string |
false |
|
Table name. |
| user |
string |
false |
|
Username for the db connection. |
DataStoreColumnsListResponse
{
"properties": {
"columns": {
"description": "List of data store columns.",
"items": {
"properties": {
"dataType": {
"description": "DataType of the column.",
"type": "string"
},
"name": {
"description": "Name of the column.",
"type": "string"
},
"precision": {
"description": "Precision of the column.",
"type": [
"string",
"null"
]
},
"scale": {
"description": "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": "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": "Name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "Value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "JDBC URL.",
"type": "string"
}
},
"required": [
"driverId"
],
"type": "object"
},
{
"properties": {
"connectorId": {
"description": "ID of the connector.",
"type": "string"
},
"fields": {
"description": "Connector fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "Field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"connectorId",
"fields"
],
"type": "object"
},
{
"properties": {
"driverId": {
"description": "Database Driver ID.",
"type": "string"
},
"fields": {
"description": "Database driver fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "Field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"driverId",
"fields"
],
"type": "object"
}
]
},
"type": {
"description": "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 |
|
Data store configuration. |
oneOf
xor
xor
continued
| Name |
Type |
Required |
Restrictions |
Description |
| type |
string |
true |
|
Data store type. |
Enumerated Values
| Property |
Value |
| type |
[dr-connector-v1, dr-database-v1, jdbc] |
DataStoreCredentials
{
"properties": {
"credentialId": {
"description": "ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"password": {
"description": "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": "Username for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
}
},
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| credentialId |
string |
false |
|
ID of the set of credentials to use instead of username and password. |
| password |
string |
false |
|
Password for data store authentication. |
| useKerberos |
boolean |
false |
|
Whether to use Kerberos for data store authentication. |
| user |
string |
false |
|
Username for data store authentication. |
DataStoreCredentialsWithCredentialsTypeSupport
{
"properties": {
"credentialData": {
"description": "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 / 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": "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": "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": "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 clientIdand 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": "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"
}
],
"x-versionadded": "v2.23"
},
"credentialId": {
"description": "ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"password": {
"description": "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": "Username for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
}
},
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| credentialData |
any |
false |
|
Type of credentials to use with the data store. |
oneOf
| Name |
Type |
Required |
Restrictions |
Description |
| » anonymous |
BasicCredentials |
false |
|
none |
xor
| Name |
Type |
Required |
Restrictions |
Description |
| » anonymous |
S3Credentials |
false |
|
none |
xor
| Name |
Type |
Required |
Restrictions |
Description |
| » anonymous |
OAuthCredentials |
false |
|
none |
xor
xor
xor
xor
xor
continued
| Name |
Type |
Required |
Restrictions |
Description |
| credentialId |
string |
false |
|
ID of the set of credentials to use instead of username and password. |
| password |
string |
false |
|
Password for data store authentication. |
| useKerberos |
boolean |
false |
|
Whether to use Kerberos for data store authentication. |
| user |
string |
false |
|
Username for data store authentication. |
DataStoreDescribePermissionsResponse
{
"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": "Default value of the column.",
"type": [
"string",
"null"
]
},
"comment": {
"description": "Comment of the column.",
"type": [
"string",
"null"
]
},
"dataType": {
"description": "DataType of the column.",
"type": "string"
},
"dataTypeInt": {
"description": "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": "Referred primary key.",
"properties": {
"catalog": {
"description": "Catalog name.",
"type": "string"
},
"column": {
"description": "Column name.",
"type": "string"
},
"schema": {
"description": "Schema name.",
"type": "string"
},
"table": {
"description": "Table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
},
"keyType": {
"description": "Type of this key.",
"enum": [
"1",
"2",
"3"
],
"type": "string"
},
"name": {
"description": "Name of this key.",
"type": "string"
},
"primaryKey": {
"description": "Referred primary key.",
"properties": {
"catalog": {
"description": "Catalog name.",
"type": "string"
},
"column": {
"description": "Column name.",
"type": "string"
},
"schema": {
"description": "Schema name.",
"type": "string"
},
"table": {
"description": "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": "Referred primary key.",
"properties": {
"catalog": {
"description": "Catalog name.",
"type": "string"
},
"column": {
"description": "Column name.",
"type": "string"
},
"schema": {
"description": "Schema name.",
"type": "string"
},
"table": {
"description": "Table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
},
"keyType": {
"description": "Type of this key.",
"enum": [
"1",
"2",
"3"
],
"type": "string"
},
"name": {
"description": "Name of this key.",
"type": "string"
},
"primaryKey": {
"description": "Referred primary key.",
"properties": {
"catalog": {
"description": "Catalog name.",
"type": "string"
},
"column": {
"description": "Column name.",
"type": "string"
},
"schema": {
"description": "Schema name.",
"type": "string"
},
"table": {
"description": "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": "If the column values can be null.",
"enum": [
"NO",
"UNKNOWN",
"YES"
],
"type": [
"string",
"null"
]
},
"name": {
"description": "Name of the column.",
"type": "string"
},
"precision": {
"description": "Precision of the column.",
"type": [
"integer",
"null"
]
},
"primaryKeys": {
"description": "Primary key columns of the table.",
"items": {
"type": "string"
},
"type": "array"
},
"scale": {
"description": "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 |
|
Default value of the column. |
| comment |
string,null |
true |
|
Comment of the column. |
| dataType |
string |
true |
|
DataType of the column. |
| dataTypeInt |
integer |
true |
|
Integer value of the column data type. |
| exportedKeys |
[JdbcForeignKey] |
true |
|
The foreign key columns that reference this table's primary key columns. |
| importedKeys |
[JdbcForeignKey] |
true |
|
The primary key columns that are referenced by this table's foreign key columns . |
| isInPrimaryKey |
boolean,null |
true |
|
True if the column is in the primary key. |
| isNullable |
string,null |
true |
|
If the column values can be null. |
| name |
string |
true |
|
Name of the column. |
| precision |
integer,null |
true |
|
Precision of the column. |
| primaryKeys |
[string] |
true |
|
Primary key columns of the table. |
| scale |
integer,null |
true |
|
Scale of the column. |
Enumerated Values
| Property |
Value |
| isNullable |
[NO, UNKNOWN, YES] |
DataStoreListResponse
{
"properties": {
"data": {
"description": "List of data stores.",
"items": {
"properties": {
"associatedAuthTypes": {
"description": "Supported authentication types for the JDBC configuration.",
"items": {
"enum": [
"adls_gen2_oauth",
"azure_service_principal",
"basic",
"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": "ID of the user who created the data store.",
"type": "string"
},
"id": {
"description": "Data store ID.",
"type": "string"
},
"params": {
"description": "Data store configuration.",
"oneOf": [
{
"properties": {
"driverId": {
"description": "Driver ID.",
"type": "string"
},
"jdbcFieldSchemas": {
"default": [],
"description": "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": "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": "Name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "Value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "JDBC URL.",
"type": "string"
}
},
"required": [
"driverId"
],
"type": "object"
},
{
"properties": {
"connectorId": {
"description": "ID of the connector.",
"type": "string"
},
"fieldSchemas": {
"description": "Connector field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, a list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the parameter.",
"type": "string"
},
"description": {
"description": "Description of the parameter.",
"type": "string"
},
"name": {
"description": "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": "Connector fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "Field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"connectorId",
"fields"
],
"type": "object"
},
{
"properties": {
"driverId": {
"description": "Database Driver ID.",
"type": "string"
},
"fieldSchemas": {
"description": "Database driver field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, a list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the parameter.",
"type": "string"
},
"description": {
"description": "Description of the parameter.",
"type": "string"
},
"name": {
"description": "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": "Database driver fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "Field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"driverId",
"fields"
],
"type": "object"
}
]
},
"role": {
"description": "Role of the user making the request on this data store.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "Data store type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "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
DataStoreRetrieveResponse
{
"properties": {
"associatedAuthTypes": {
"description": "Supported authentication types for the JDBC configuration.",
"items": {
"enum": [
"adls_gen2_oauth",
"azure_service_principal",
"basic",
"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": "ID of the user who created the data store.",
"type": "string"
},
"id": {
"description": "Data store ID.",
"type": "string"
},
"params": {
"description": "Data store configuration.",
"oneOf": [
{
"properties": {
"driverId": {
"description": "Driver ID.",
"type": "string"
},
"jdbcFieldSchemas": {
"default": [],
"description": "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": "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": "Name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "Value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "JDBC URL.",
"type": "string"
}
},
"required": [
"driverId"
],
"type": "object"
},
{
"properties": {
"connectorId": {
"description": "ID of the connector.",
"type": "string"
},
"fieldSchemas": {
"description": "Connector field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, a list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the parameter.",
"type": "string"
},
"description": {
"description": "Description of the parameter.",
"type": "string"
},
"name": {
"description": "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": "Connector fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "Field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"connectorId",
"fields"
],
"type": "object"
},
{
"properties": {
"driverId": {
"description": "Database Driver ID.",
"type": "string"
},
"fieldSchemas": {
"description": "Database driver field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, a list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the parameter.",
"type": "string"
},
"description": {
"description": "Description of the parameter.",
"type": "string"
},
"name": {
"description": "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": "Database driver fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "Field value.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"driverId",
"fields"
],
"type": "object"
}
]
},
"role": {
"description": "Role of the user making the request on this data store.",
"enum": [
"CONSUMER",
"EDITOR",
"OWNER"
],
"type": "string"
},
"type": {
"description": "Data store type.",
"enum": [
"dr-connector-v1",
"dr-database-v1",
"jdbc"
],
"type": "string"
},
"updated": {
"description": "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 |
|
Supported authentication types for the JDBC configuration. |
| canonicalName |
string |
true |
|
The user-friendly name of the data store. |
| creator |
string |
true |
|
ID of the user who created the data store. |
| id |
string |
true |
|
Data store ID. |
| params |
any |
true |
|
Data store configuration. |
oneOf
xor
xor
continued
| Name |
Type |
Required |
Restrictions |
Description |
| role |
string |
true |
|
Role of the user making the request on this data store. |
| type |
string |
true |
|
Data store type. |
| updated |
string |
true |
|
ISO 8601-formatted date/time of the data store update. |
Enumerated Values
| Property |
Value |
| role |
[CONSUMER, EDITOR, OWNER] |
| type |
[dr-connector-v1, dr-database-v1, jdbc] |
DataStoreSQLVerify
{
"properties": {
"credentialId": {
"description": "ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"maxRows": {
"description": "Maximum number of rows of data to return if successful.",
"maximum": 999,
"minimum": 0,
"type": "integer"
},
"password": {
"description": "Password for data store authentication.",
"type": "string",
"x-versiondeprecated": "v2.23"
},
"query": {
"description": "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": "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 |
|
ID of the set of credentials to use instead of username and password. |
| maxRows |
integer |
true |
maximum: 999 minimum: 0
|
Maximum number of rows of data to return if successful. |
| password |
string |
false |
|
Password for data store authentication. |
| query |
string |
true |
|
SQL query to verify. |
| useKerberos |
boolean |
false |
|
Whether to use Kerberos for data store authentication. |
| user |
string |
false |
|
Username for data store authentication. |
DataStoreSQLVerifyResponse
{
"properties": {
"columns": {
"description": "List of columns for the returned set of records. Column order matches the order of values in a record.",
"items": {
"description": "Name of the column.",
"type": "string"
},
"type": "array"
},
"records": {
"description": "List of records output by the query.",
"items": {
"description": "List of values for a single database record, ordered as the columns are ordered.",
"items": {
"description": "String representation of the column's value.",
"type": "string"
},
"type": "array"
},
"type": "array"
}
},
"required": [
"columns",
"records"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| columns |
[string] |
true |
|
List of columns for the returned set of records. Column order matches the order of values in a record. |
| records |
[array] |
true |
|
List of records output by the query. |
DataStoreSchemasList
{
"properties": {
"catalog": {
"description": "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": "List of catalogs associated with each retrieved schema. If no catalog is found, this value is null.",
"items": {
"description": "Catalog names for the schema associated with the data store.",
"type": [
"string",
"null"
]
},
"type": "array"
},
"schemas": {
"description": "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 |
|
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 |
|
List of catalogs associated with each retrieved schema. If no catalog is found, this value is null. |
| schemas |
[string] |
true |
|
List of schemas available in the data store. |
DataStoreTables
{
"properties": {
"catalog": {
"description": "Only show tables in this catalog.",
"type": "string"
},
"credentialId": {
"description": "ID of the set of credentials to use instead of username and password.",
"type": "string",
"x-versionadded": "v2.19"
},
"password": {
"description": "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": "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 |
|
ID of the set of credentials to use instead of username and password. |
| password |
string |
false |
|
Password for data store authentication. |
| schema |
string |
false |
|
Only show tables in this schema. |
| useKerberos |
boolean |
false |
|
Whether to use Kerberos for data store authentication. |
| user |
string |
false |
|
Username for data store authentication. |
DataStoreTablesList
{
"properties": {
"catalog": {
"description": "Catalog associated with schemas.",
"type": [
"string",
"null"
]
},
"tables": {
"description": "List of tables in the data store.",
"items": {
"properties": {
"catalog": {
"description": "Name of the catalog.",
"type": [
"string",
"null"
]
},
"name": {
"description": "Name of the table.",
"type": "string"
},
"schema": {
"description": "Schema of the table.",
"type": "string"
},
"type": {
"description": "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 |
|
Catalog associated with schemas. |
| tables |
[TableDescription] |
true |
|
List of tables in the data store. |
DataStoreTestResponse
{
"properties": {
"message": {
"description": "Connection attempt results.",
"type": "string"
}
},
"required": [
"message"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| message |
string |
true |
|
Connection attempt results. |
DataStoreUpdate
{
"properties": {
"canonicalName": {
"description": "The user-friendly name of the data store.",
"type": "string"
},
"params": {
"description": "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": "Name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "Value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "JDBC URL.",
"type": "string"
}
},
"type": "object"
},
{
"properties": {
"fields": {
"description": "Connector fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "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 |
|
Data store configuration. |
oneOf
xor
DatabaseDataStoreCreate
{
"properties": {
"driverId": {
"description": "Database Driver ID.",
"type": "string"
},
"fields": {
"description": "Database driver fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "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 |
|
Database Driver ID. |
| fields |
[DRConnectorV1Field] |
true |
|
Database driver fields. |
DatabaseDataStoreDetails
{
"properties": {
"driverId": {
"description": "Database Driver ID.",
"type": "string"
},
"fieldSchemas": {
"description": "Database driver field schemas.",
"items": {
"properties": {
"choices": {
"description": "If non-empty, a list of all possible values for a parameter.",
"items": {
"type": "string"
},
"type": "array"
},
"default": {
"description": "Default value of the parameter.",
"type": "string"
},
"description": {
"description": "Description of the parameter.",
"type": "string"
},
"name": {
"description": "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": "Database driver fields.",
"items": {
"properties": {
"id": {
"description": "Field name.",
"type": "string"
},
"name": {
"description": "User-friendly displayable field name.",
"type": "string"
},
"value": {
"description": "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 |
|
Database Driver ID. |
| fieldSchemas |
[ConnectorFieldSchema] |
false |
|
Database driver field schemas. |
| fields |
[DRConnectorV1Field] |
true |
|
Database driver fields. |
DatabaseQueryDataSource
{
"properties": {
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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 |
|
Data store ID for this data source. |
| fetchSize |
integer |
false |
maximum: 20000 minimum: 1
|
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": "Catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "Schema associated with the table or view in the database if the data source is not query based.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "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
|
Catalog name in the database if supported. |
| dataStoreId |
string |
true |
|
Data store ID for this data source. |
| fetchSize |
integer |
false |
maximum: 20000 minimum: 1
|
User-specified fetch size. |
| partitionColumn |
string |
false |
|
The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects. |
| schema |
string |
false |
maxLength: 256
|
Schema associated with the table or view in the database if the data source is not query based. |
| table |
string |
true |
maxLength: 256
|
Table or view name in the database if the data source is not query based. |
DatabricksAccessTokenCredentials
{
"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 clientIdand 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 clientIdand 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": "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": "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 |
|
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 |
|
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": "Detected standard user-defined functions.",
"items": {
"type": "string"
},
"maxItems": 1000,
"type": "array"
},
"functionType": {
"description": "Requested standard user-defined function type.",
"type": "string"
},
"schema": {
"description": "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
|
Detected standard user-defined functions. |
| functionType |
string |
true |
|
Requested standard user-defined function type. |
| schema |
string |
true |
|
Requested schema. |
DriverConfigurationListResponse
{
"properties": {
"count": {
"description": "Number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "List of driver configurations available to the user.",
"items": {
"properties": {
"associatedAuthTypes": {
"description": "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": "User ID of the creator of this configuration.",
"type": "string"
},
"id": {
"description": "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": "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": "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": "URL pointing to the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "URL pointing to 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 |
|
Number of items returned on this page. |
| data |
[DriverConfigurationRetrieveResponse] |
true |
|
List of driver configurations available to the user. |
| next |
string,null(uri) |
true |
|
URL pointing to the next page (if null, there is no next page). |
| previous |
string,null(uri) |
true |
|
URL pointing to the previous page (if null, there is no previous page). |
| totalCount |
integer |
true |
|
The total number of items across all pages. |
DriverConfigurationRetrieveResponse
{
"properties": {
"associatedAuthTypes": {
"description": "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": "User ID of the creator of this configuration.",
"type": "string"
},
"id": {
"description": "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": "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": "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 |
|
List of authentication types supported by this driver configuration. |
| className |
string |
true |
|
Java class name of the driver to be used (e.g., org.postgresql.Driver). |
| creator |
string |
true |
|
User ID of the creator of this configuration. |
| id |
string |
true |
|
Driver configuration ID |
| jdbcFieldSchemas |
[JDBCFieldSchemas] |
true |
|
Description of which fields to show when creating a datastore, their defaults, and whether or not they are required. |
| jdbcUrlPathDelimiter |
string |
true |
|
Separator of address from path in the JDBC URL (e.g., "/"). |
| jdbcUrlPrefix |
string |
true |
|
Prefix of the JDBC URL (e.g., "jdbc:mssql://" or "jdbc:oracle:thin:@"). |
| jdbcUrlQueryDelimiter |
string |
true |
|
Separator of path from the list of query parameters in the JDBC URL (e.g., "?"). |
| jdbcUrlQueryParamDelimiter |
string |
true |
|
Separator of each set of query parameter key-value pairs in the JDBC URL (e.g., "&"). |
| jdbcUrlQueryParamKeyValueDelimiter |
string |
true |
|
Separator of the key and value in a query parameter pair (e.g., "="). |
| standardizedName |
string |
true |
|
Plain text name for the driver (e.g., PostgreSQL). |
| statements |
[string] |
false |
|
List of supported statments for this driver configuration. |
| updated |
string |
true |
|
ISO-8601 formatted time/date when this configuration was most recently updated. |
DriverListResponse
{
"properties": {
"data": {
"description": "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": "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"
],
"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 |
|
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": "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"
],
"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 |
|
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] |
| 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. |
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": "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": "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 |
|
ID of Secure configurations shared by admin.Alternative to googleConfigId (deprecated). If specified, cannot include gcpKey. |
| credentialType |
string |
true |
|
The type of these credentials, 'gcp' here. |
| gcpKey |
GCPKey |
false |
|
The Google Cloud Platform (GCP) key. Output is the downloaded JSON resulting from creating a service account User Managed Key (in the IAM & admin > Service accounts section of GCP).Required if googleConfigId/configId is not specified.Cannot include this parameter if googleConfigId/configId is specified. |
| googleConfigId |
string |
false |
|
ID of Secure configurations shared by admin. This is deprecated.Please use configId instead. If specified, cannot include gcpKey. |
Enumerated Values
| Property |
Value |
| credentialType |
gcp |
GrantAccessControlWithIdWithGrant
{
"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. One of OWNER, USER, OBSERVER.",
"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. One of OWNER, USER, OBSERVER. |
| shareRecipientType |
string |
true |
|
Describes the recipient type, either user, group, or organization. |
Enumerated Values
| Property |
Value |
| shareRecipientType |
[user, group, organization] |
GrantAccessControlWithUsernameWithGrant
{
"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. One of OWNER, USER, OBSERVER.",
"type": "string"
},
"shareRecipientType": {
"description": "Describes the recipient type, either user, group, or organization.",
"enum": [
"user",
"group",
"organization"
],
"type": "string"
},
"username": {
"description": "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. One of OWNER, USER, OBSERVER. |
| shareRecipientType |
string |
true |
|
Describes the recipient type, either user, group, or organization. |
| username |
string |
true |
|
Username of the user to update the access role for. |
Enumerated Values
| Property |
Value |
| shareRecipientType |
[user, group, organization] |
JDBCDataStoreCreate
{
"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": "Name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "Value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "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 |
|
JDBC URL. |
JDBCDataStoreDetails
{
"properties": {
"driverId": {
"description": "Driver ID.",
"type": "string"
},
"jdbcFieldSchemas": {
"default": [],
"description": "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": "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": "Name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "Value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "JDBC URL.",
"type": "string"
}
},
"required": [
"driverId"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| driverId |
string |
true |
|
Driver ID. |
| jdbcFieldSchemas |
[JDBCFieldSchemas] |
false |
maxItems: 100
|
Fields to show when creating a data store, their defaults, whether or not they are required, and more. |
| jdbcFields |
[JDBCFields] |
false |
maxItems: 100
|
The fields used to create the JDBC URL, in the form of a JSON object where parameter name/value pairs are the items in the object. For example: {"address": localhost:5432, "database": "fooBar", "connectTimeout": 10}. In most cases, all keys in jdbcFields should be defined by a schema listed in jdbcFieldSchemas from DriverConfiguration. The request will be rejected if there are required parameters (as defined by jdbcFieldSchemas) that are not provided. |
| jdbcUrl |
string |
false |
|
JDBC URL. |
JDBCDataStoreUpdate
{
"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": "Name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "Value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"maxItems": 100,
"type": "array",
"x-versionadded": "v2.18"
},
"jdbcUrl": {
"description": "JDBC URL.",
"type": "string"
}
},
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| driverId |
string |
false |
|
Driver ID. |
| jdbcFields |
[JDBCFields] |
false |
maxItems: 100
|
The fields used to create the JDBC URL, in the form of a JSON object where parameter name/value pairs are the items in the object. For example: {"address": localhost:5432, "database": "fooBar", "connectTimeout": 10}. In most cases, all keys in jdbcFields should be defined by a schema listed in jdbcFieldSchemas from DriverConfiguration. The request will be rejected if there are required parameters (as defined by jdbcFieldSchemas) that are not provided. |
| jdbcUrl |
string |
false |
|
JDBC URL. |
JDBCFieldSchemas
{
"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": "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 |
|
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": "Name of the JDBC parameter.",
"type": "string"
},
"value": {
"description": "Value of the JDBC parameter.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| name |
string |
true |
|
Name of the JDBC parameter. |
| value |
string |
true |
|
Value of the JDBC parameter. |
JdbcForeignKey
{
"properties": {
"foreignKey": {
"description": "Referred primary key.",
"properties": {
"catalog": {
"description": "Catalog name.",
"type": "string"
},
"column": {
"description": "Column name.",
"type": "string"
},
"schema": {
"description": "Schema name.",
"type": "string"
},
"table": {
"description": "Table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
},
"keyType": {
"description": "Type of this key.",
"enum": [
"1",
"2",
"3"
],
"type": "string"
},
"name": {
"description": "Name of this key.",
"type": "string"
},
"primaryKey": {
"description": "Referred primary key.",
"properties": {
"catalog": {
"description": "Catalog name.",
"type": "string"
},
"column": {
"description": "Column name.",
"type": "string"
},
"schema": {
"description": "Schema name.",
"type": "string"
},
"table": {
"description": "Table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
}
},
"required": [
"keyType",
"primaryKey"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| foreignKey |
JdbcKeyInfo |
false |
|
Referred primary key. |
| keyType |
string |
true |
|
Type of this key. |
| name |
string |
false |
|
Name of this key. |
| primaryKey |
JdbcKeyInfo |
true |
|
Referred primary key. |
Enumerated Values
| Property |
Value |
| keyType |
[1, 2, 3] |
JdbcKeyInfo
{
"description": "Referred primary key.",
"properties": {
"catalog": {
"description": "Catalog name.",
"type": "string"
},
"column": {
"description": "Column name.",
"type": "string"
},
"schema": {
"description": "Schema name.",
"type": "string"
},
"table": {
"description": "Table name.",
"type": "string"
}
},
"required": [
"catalog",
"column",
"table"
],
"type": "object"
}
Referred primary key.
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| catalog |
string |
true |
|
Catalog name. |
| column |
string |
true |
|
Column name. |
| schema |
string |
false |
|
Schema name. |
| table |
string |
true |
|
Table name. |
OAuthCredentials
{
"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": "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": "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 |
|
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 |
|
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": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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 |
|
Data store ID for this data source. |
| fetchSize |
integer |
false |
maximum: 20000 minimum: 1
|
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": "Catalog name in the database if supported.",
"maxLength": 256,
"type": "string"
},
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string"
},
"fetchSize": {
"description": "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": "Schema associated with the table or view in the database if supported.",
"maxLength": 256,
"type": "string"
},
"table": {
"description": "Table or view name in the database.",
"maxLength": 256,
"type": "string"
}
},
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| catalog |
string |
false |
maxLength: 256
|
Catalog name in the database if supported. |
| dataStoreId |
string |
false |
|
Data store ID for this data source. |
| fetchSize |
integer |
false |
maximum: 20000 minimum: 1
|
User-specified fetch size. |
| partitionColumn |
string |
false |
|
The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects. |
| schema |
string |
false |
maxLength: 256
|
Schema associated with the table or view in the database if supported. |
| table |
string |
false |
maxLength: 256
|
Table or view name in the database. |
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": "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 |
|
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. One of OWNER, USER, OBSERVER.",
"type": "string"
},
"shareRecipientType": {
"description": "Describes the recipient type, either user, group, or organization.",
"enum": [
"user",
"group",
"organization"
],
"type": "string"
},
"username": {
"description": "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. One of OWNER, USER, OBSERVER.",
"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": "Full name of the recipient user.",
"type": "string"
}
},
"required": [
"canShare",
"id",
"name",
"role",
"shareRecipientType"
],
"type": "object"
},
"type": "array"
},
"next": {
"description": "URL pointing to the next page.",
"type": [
"string",
"null"
]
},
"previous": {
"description": "URL pointing to the previous page.",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "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 |
|
URL pointing to the next page. |
| previous |
string,null |
true |
|
URL pointing to the previous page. |
| totalCount |
integer |
true |
|
Total number of items matching the condition. |
SharingListResponse
{
"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": "URL pointing to the next page.",
"type": [
"string",
"null"
]
},
"previous": {
"description": "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 |
|
URL pointing to the next page. |
| previous |
string,null |
true |
|
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": "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": "ID of the set of credentials to use instead of username and password.",
"type": "string"
},
"functionType": {
"description": "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 |
|
ID of the set of credentials to use instead of username and password. |
| functionType |
string |
true |
|
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": "An 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 |
|
An ID that can be used with [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid] to poll for the job's status. |
TableDescription
{
"properties": {
"catalog": {
"description": "Name of the catalog.",
"type": [
"string",
"null"
]
},
"name": {
"description": "Name of the table.",
"type": "string"
},
"schema": {
"description": "Schema of the table.",
"type": "string"
},
"type": {
"description": "Type of table.",
"enum": [
"TABLE",
"VIEW"
],
"type": "string"
}
},
"required": [
"name",
"type"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| catalog |
string,null |
false |
|
Name of the catalog. |
| name |
string |
true |
|
Name of the table. |
| schema |
string |
false |
|
Schema of the table. |
| type |
string |
true |
|
Type of table. |
Enumerated Values
| Property |
Value |
| type |
[TABLE, VIEW] |
UpdateDriverRequest
{
"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": "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 |
|
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] |