Data Connectivity
This page outlines how to integrate with a variety of enterprise databases, using a 'self-service' JDBC platform.
POST /api/v2/dataStages/
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
POST /api/v2/dataStages/{dataStageId}/finalize/
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
PUT /api/v2/dataStages/{dataStageId}/parts/{partNumber}/
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
POST /api/v2/externalDataDriverFile/
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
GET /api/v2/externalDataDrivers/
Fetch all drivers a user has access to.
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
POST /api/v2/externalDataDrivers/
Create a new JDBC driver. To create connections from fields, rather than supplying a JDBC URL, use 'configurationId'. When using 'configurationId', do not include 'canonicalName' or 'className' as they are part of the driver configuration. Specifying a 'version' is required as it is used in the construction of the canonicalName.
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 |
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
DELETE /api/v2/externalDataDrivers/{driverId}/
Delete the driver with given ID if it is not used by any data store or data source.
Parameters
Name |
In |
Type |
Required |
Description |
driverId |
path |
string |
true |
Driver ID. |
Responses
Status |
Meaning |
Description |
Schema |
204 |
No Content |
Driver deleted successfully. |
None |
409 |
Conflict |
Driver is in use by one or more data store or data source |
None |
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
GET /api/v2/externalDataDrivers/{driverId}/
Retrieve driver details by ID.
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 |
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
PATCH /api/v2/externalDataDrivers/{driverId}/
Update properties of an existing JDBC driver. To change the canonicalName and className, you must first remove the driver configuration, if it exists, as its properties will otherwise override name changes.
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 |
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
GET /api/v2/externalDataDrivers/{driverId}/configuration/
Retrieve the driver configuration with the specified ID.
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
GET /api/v2/externalDataSources/
Return detailed list of available data sources.
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": 64000,
"type": "string"
}
},
"required": [
"dataStoreId",
"query"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
POST /api/v2/externalDataSources/
Create a fully configured source of data which could be used for datasets and projects creation.A data source
specifies, via SQL query or selected table and schema data, which data to extract from the data connection
(the location of data within a given endpoint) to use for modeling or predictions. A data source
has one data connection
and one connector
but can have many datasets
.
To test the SQL query before creating the data source,use POST /api/v2/externalDataStores/{dataStoreId}/verifySQL/.
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": 64000,
"type": "string"
}
},
"required": [
"dataStoreId",
"query"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"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": 64000,
"type": "string"
}
},
"required": [
"dataStoreId",
"query"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
DELETE /api/v2/externalDataSources/{dataSourceId}/
Delete the data source with given ID if it is not used by any dataset.
Parameters
Name |
In |
Type |
Required |
Description |
dataSourceId |
path |
string |
true |
The ID of the Data Source. |
Responses
Status |
Meaning |
Description |
Schema |
204 |
No Content |
Data source deleted successfully. |
None |
409 |
Conflict |
Data source is in use by one or more datasets |
None |
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
GET /api/v2/externalDataSources/{dataSourceId}/
Return details of the existing data source with given ID, including SQL query or selected table and schema data, which fully describe which data to extract and from which location.
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": 64000,
"type": "string"
}
},
"required": [
"dataStoreId",
"query"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
PATCH /api/v2/externalDataSources/{dataSourceId}/
Update the data source with given ID.
To test the SQL query before updating the data source,use POST /api/v2/externalDataStores/{dataStoreId}/verifySQL/.
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 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": 64000,
"type": "string"
}
},
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"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 |
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
GET /api/v2/externalDataSources/{dataSourceId}/accessControl/
Get a list of users, groups and organizations who have access to this data source and their roles.
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 |
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
PATCH /api/v2/externalDataSources/{dataSourceId}/accessControl/
Set roles for users on this data source. Note that when granting access to a data source, access to the corresponding data store as a "CONSUMER" will also be granted.
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 |
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
GET /api/v2/externalDataSources/{dataSourceId}/permissions/
Describe what permissions current user has for given data source.
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
GET /api/v2/externalDataSources/{dataSourceId}/sharedRoles/
Get a list of users, groups and organizations who have access to this data source and their roles.
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
PATCH /api/v2/externalDataSources/{dataSourceId}/sharedRoles/
Grant access, remove access or update roles for organizations, groups or users on this data source. Up to 100 roles may be set per array in a single request.
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 |
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
GET /api/v2/externalDataStores/
Return list with details of the existing data stores available for the user.
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. |
Enumerated Values
Parameter |
Value |
type |
[all , databases , dr-connector-v1 , dr-database-v1 , jdbc ] |
showHidden |
[false , False , true , True ] |
substituteUrlParameters |
[false , False , true , True ] |
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
POST /api/v2/externalDataStores/
Create a data store which includes a name and a driver ID or a connector ID. The driver would be configured by a JDBC URL or by jdbc fields; The connector would be configured by connection fields.
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
DELETE /api/v2/externalDataStores/{dataStoreId}/
Delete the data store with given ID if it is not used by any data source.
Parameters
Name |
In |
Type |
Required |
Description |
dataStoreId |
path |
string |
true |
ID of the data store. |
Responses
Status |
Meaning |
Description |
Schema |
204 |
No Content |
Data store deleted successfully. |
None |
409 |
Conflict |
Data store is in use by one or more data source |
None |
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
GET /api/v2/externalDataStores/{dataStoreId}/
A configured connection to a database - it has a name and a specified driver. The driver may be specified by a JDBC URL or connection parameters if the driver was created with the parameter configuration.
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
PATCH /api/v2/externalDataStores/{dataStoreId}/
Updates a data store configuration.
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
PATCH /api/v2/externalDataStores/{dataStoreId}/accessControl/
Set roles for users on this data store.
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 |
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
POST /api/v2/externalDataStores/{dataStoreId}/columns/
Retrieves a data store's data columns.
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 |
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
POST /api/v2/externalDataStores/{dataStoreId}/columnsInfo/
Retrieves a data store's column metadata.
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
GET /api/v2/externalDataStores/{dataStoreId}/credentials/
Returns a list of credentials associated with the specified data store.
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_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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
GET /api/v2/externalDataStores/{dataStoreId}/permissions/
Describe what permissions current user has for given data store.
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
POST /api/v2/externalDataStores/{dataStoreId}/schemas/
Retrieves a data store's data schemas.
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
GET /api/v2/externalDataStores/{dataStoreId}/sharedRoles/
Get a list of users who have access to this data store and their roles on the data store.
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
PATCH /api/v2/externalDataStores/{dataStoreId}/sharedRoles/
Grant access, remove access or update roles for organizations, groups or users on this data store. Up to 100 roles may be set per array in a single request.
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 |
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
GET /api/v2/externalDataStores/{dataStoreId}/standardUserDefinedFunctions/
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 |
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
POST /api/v2/externalDataStores/{dataStoreId}/standardUserDefinedFunctions/
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
POST /api/v2/externalDataStores/{dataStoreId}/standardUserDefinedFunctions/detect/
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
POST /api/v2/externalDataStores/{dataStoreId}/tables/
Retrieves a data store's database tables (including views).
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 |
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
POST /api/v2/externalDataStores/{dataStoreId}/test/
Tests the ability to connect to a data store with specified authentication.
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
POST /api/v2/externalDataStores/{dataStoreId}/verifySQL/
Executes the SQL query on the data store, returning a small number of rows (max 999). Use this for quick query execution validation and exploring results, not for capturing an entire result set.
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 |
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
GET /api/v2/externalDriverConfigurations/
Retrieve matching driver configurations based on query.
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
GET /api/v2/externalDriverConfigurations/{configurationId}/
Retrieve the driver configuration with the specified ID.
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
To perform this operation, you must be authenticated by means of one of the following methods:
BearerAuth
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_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_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_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"
},
"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. |
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": 64000,
"type": "string"
}
},
"required": [
"dataStoreId",
"query"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"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": 64000,
"type": "string"
}
},
"required": [
"dataStoreId",
"query"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"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": 64000,
"type": "string"
}
},
"required": [
"dataStoreId",
"query"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"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": 64000,
"type": "string"
}
},
"required": [
"dataStoreId",
"query"
],
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"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": "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 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": 64000,
"type": "string"
}
},
"type": "object"
},
{
"properties": {
"dataStoreId": {
"description": "Data store ID for this data source.",
"type": "string",
"x-versionadded": "v2.22"
},
"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 |
|
Data source 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": 64000,
"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: 64000
|
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"
},
"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. |
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": 64000,
"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: 64000
|
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}/ 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 ] |