Skip to content

Data connectivity

This page outlines how to integrate with a variety of enterprise databases, using a 'self-service' JDBC platform.

List all ACL management connections

Operation path: GET /api/v2/aclConnections/

Authentication requirements: BearerAuth

A list of all ACL management connections for the user organization.

Parameters

Name In Type Required Description
offset query integer false The number of results to skip.
limit query integer false At most this many results are returned. The default may change without notice.

Example responses

200 Response

{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer",
      "x-versionadded": "v2.43"
    },
    "data": {
      "description": "The list of ACL management connections for the user organization.",
      "items": {
        "properties": {
          "adminEmail": {
            "default": null,
            "description": "The user to impersonate for the admin-level operations. Currently only applicable to Google Drive.",
            "type": [
              "string",
              "null"
            ]
          },
          "dataStoreId": {
            "description": "The ACL management connection ID.",
            "type": "string"
          },
          "domain": {
            "default": null,
            "description": "The custom domain for the connection. Currently only applicable to SharePoint.",
            "type": [
              "string",
              "null"
            ]
          },
          "externalConnectorType": {
            "description": "The data provider being configured.",
            "enum": [
              "gdrive",
              "sharepoint"
            ],
            "type": "string"
          }
        },
        "required": [
          "dataStoreId",
          "externalConnectorType"
        ],
        "type": "object",
        "x-versionadded": "v2.43"
      },
      "maxItems": 100,
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.43"
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.43"
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer",
      "x-versionadded": "v2.43"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object",
  "x-versionadded": "v2.43"
}

Responses

Status Meaning Description Schema
200 OK none ACLAdminConnectionList

Define the connection as ACL management

Operation path: PUT /api/v2/aclConnections/

Authentication requirements: BearerAuth

Create or update the ACL management connection. Default credentials must be defined for the data store in advance.

Body parameter

{
  "properties": {
    "adminEmail": {
      "default": null,
      "description": "The user to impersonate for the admin-level operations. Currently only applicable to Google Drive.",
      "type": [
        "string",
        "null"
      ]
    },
    "dataStoreId": {
      "description": "The ACL management connection ID.",
      "type": "string"
    },
    "domain": {
      "default": null,
      "description": "The custom domain for the connection. Currently only applicable to SharePoint.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "dataStoreId"
  ],
  "type": "object",
  "x-versionadded": "v2.43"
}

Parameters

Name In Type Required Description
body body ACLAdminConnectionBase false none

Example responses

200 Response

{
  "properties": {
    "adminEmail": {
      "default": null,
      "description": "The user to impersonate for the admin-level operations. Currently only applicable to Google Drive.",
      "type": [
        "string",
        "null"
      ]
    },
    "dataStoreId": {
      "description": "The ACL management connection ID.",
      "type": "string"
    },
    "domain": {
      "default": null,
      "description": "The custom domain for the connection. Currently only applicable to SharePoint.",
      "type": [
        "string",
        "null"
      ]
    },
    "externalConnectorType": {
      "description": "The data provider being configured.",
      "enum": [
        "gdrive",
        "sharepoint"
      ],
      "type": "string"
    }
  },
  "required": [
    "dataStoreId",
    "externalConnectorType"
  ],
  "type": "object",
  "x-versionadded": "v2.43"
}

Responses

Status Meaning Description Schema
200 OK none ACLAdminConnectionResponse

Deactivate ACL management by data store ID

Operation path: DELETE /api/v2/aclConnections/{dataStoreId}/

Authentication requirements: BearerAuth

Parameters

Name In Type Required Description
dataStoreId path string true The ACL management connection ID.

Responses

Status Meaning Description Schema
204 No Content none None

Create a data stage

Operation path: POST /api/v2/dataStages/

Authentication requirements: BearerAuth

Create a data stage.

Body parameter

{
  "properties": {
    "filename": {
      "description": "The filename associated with the stage.",
      "type": "string"
    }
  },
  "required": [
    "filename"
  ],
  "type": "object",
  "x-versionadded": "v2.35"
}

Parameters

Name In Type Required Description
body body CreateDataStageRequest false none

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

Status Meaning Description Schema
201 Created Created data stage CreateDataStageResponse
403 Forbidden Permission denied. None
422 Unprocessable Entity The request cannot be processed. None

Finalize a data stage by data stage ID

Operation path: POST /api/v2/dataStages/{dataStageId}/finalize/

Authentication requirements: BearerAuth

Finalize a data stage.

Parameters

Name In Type Required Description
dataStageId path string true The ID of the data stage.

Example responses

200 Response

{
  "properties": {
    "parts": {
      "description": "The size of the part.",
      "items": {
        "properties": {
          "checksum": {
            "description": "The checksum of the part.",
            "type": "string"
          },
          "number": {
            "description": "The number of the part.",
            "type": "integer"
          },
          "size": {
            "description": "The size of the part.",
            "type": "integer"
          }
        },
        "required": [
          "checksum",
          "number",
          "size"
        ],
        "type": "object",
        "x-versionadded": "v2.35"
      },
      "maxItems": 1000,
      "minItems": 1,
      "type": "array"
    }
  },
  "required": [
    "parts"
  ],
  "type": "object",
  "x-versionadded": "v2.35"
}

Responses

Status Meaning Description Schema
200 OK Finalize data stage DataStageFinalizeResponse
403 Forbidden Permission denied. None
404 Not Found The entity is not found. None
406 Not Acceptable The request is not acceptable. None
409 Conflict The request conflicts with the server state. None
410 Gone The requested entity has been deleted. None
422 Unprocessable Entity The request cannot be processed. None

Upload a part by data stage ID

Operation path: PUT /api/v2/dataStages/{dataStageId}/parts/{partNumber}/

Authentication requirements: BearerAuth

Upload a part to the data stage.

Body parameter

{
  "properties": {
    "file": {
      "description": "The part file to upload to the data stage.",
      "format": "binary",
      "type": "string"
    }
  },
  "required": [
    "file"
  ],
  "type": "object",
  "x-versionadded": "v2.35"
}

Parameters

Name In Type Required Description
dataStageId path string true The ID of the data stage.
partNumber path integer true The part number associated with the part.
body body PartUploadRequest false none

Example responses

200 Response

{
  "properties": {
    "checksum": {
      "description": "The checksum of the part.",
      "type": "string"
    },
    "size": {
      "description": "The size of the part.",
      "type": "integer"
    }
  },
  "required": [
    "checksum",
    "size"
  ],
  "type": "object",
  "x-versionadded": "v2.35"
}

Responses

Status Meaning Description Schema
200 OK Upload part to a data stage PartUploadResponse
403 Forbidden Permission denied. None
404 Not Found The entity is not found. None
409 Conflict The request conflicts with the server state. None
410 Gone The requested entity has been deleted. None
422 Unprocessable Entity The request cannot be processed. None

Upload JDBC driver

Operation path: POST /api/v2/externalDataDriverFile/

Authentication requirements: BearerAuth

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

Body parameter

{
  "properties": {
    "file": {
      "description": "JDBC driver JAR file to upload.",
      "format": "binary",
      "type": "string"
    }
  },
  "required": [
    "file"
  ],
  "type": "object"
}

Parameters

Name In Type Required Description
body body DriverUploadRequest false none

Example responses

200 Response

{
  "properties": {
    "localUrl": {
      "description": "URL of uploaded driver file.",
      "type": "string"
    }
  },
  "required": [
    "localUrl"
  ],
  "type": "object"
}

Responses

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

List drivers

Operation path: GET /api/v2/externalDataDrivers/

Authentication requirements: BearerAuth

Fetch all drivers a user has access to.

Parameters

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

Enumerated Values

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

Example responses

200 Response

{
  "properties": {
    "data": {
      "description": "The list of drivers.",
      "items": {
        "properties": {
          "associatedAuthTypes": {
            "description": "Authentication types associated with this connector configuration.",
            "items": {
              "enum": [
                "basic",
                "googleOauthUserAccount",
                "snowflakeKeyPairUserAccount",
                "snowflakeOauthUserAccount"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "baseNames": {
            "description": "Original file name(s) of the uploaded JAR file(s). If there are multiple JAR files required for the driver, each of the original file names should be present in the list in the same order as found in 'localJarUrls'",
            "items": {
              "description": "Original file name of the uploaded JAR file.",
              "type": "string"
            },
            "type": "array"
          },
          "canonicalName": {
            "description": "User-friendly driver name.",
            "type": "string"
          },
          "className": {
            "description": "Driver class name. For example 'com.amazon.redshift.jdbc.Driver'",
            "type": [
              "string",
              "null"
            ]
          },
          "configurationId": {
            "description": "Driver configuration ID if it was provided during driver upload.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.18"
          },
          "creator": {
            "description": "The ID of the user who uploaded the driver.",
            "type": "string"
          },
          "databaseDriver": {
            "description": "The type of database of the driver. Only required of 'dr-database-v1' drivers.",
            "enum": [
              "bigquery-v1",
              "databricks-v1",
              "datasphere-v1",
              "trino-v1"
            ],
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.30"
          },
          "id": {
            "description": "Driver ID.",
            "type": "string"
          },
          "type": {
            "default": "jdbc",
            "description": "Driver type. Either 'jdbc' or 'dr-database-v1'.",
            "enum": [
              "dr-database-v1",
              "jdbc"
            ],
            "type": "string",
            "x-versionadded": "v2.30"
          },
          "version": {
            "description": "Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.",
            "type": "string",
            "x-versionadded": "v2.18"
          }
        },
        "required": [
          "creator",
          "id"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "data"
  ],
  "type": "object"
}

Responses

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

Create a new JDBC driver

Operation path: POST /api/v2/externalDataDrivers/

Authentication requirements: BearerAuth

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

Body parameter

{
  "properties": {
    "baseNames": {
      "description": "Original file name(s) of the uploaded JAR file(s). If there are multiple JAR files required for the driver, each of the original file names should be present in the list in the same order as found in 'localJarUrls'",
      "items": {
        "description": "Original file name of the uploaded JAR file.",
        "type": "string"
      },
      "type": "array"
    },
    "canonicalName": {
      "description": "User-friendly driver name.",
      "type": "string"
    },
    "className": {
      "description": "Driver class name. For example 'com.amazon.redshift.jdbc.Driver'",
      "type": [
        "string",
        "null"
      ]
    },
    "configurationId": {
      "description": "Driver configuration ID if it was provided during driver upload.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.18"
    },
    "databaseDriver": {
      "description": "The type of database of the driver. Only required of 'dr-database-v1' drivers.",
      "enum": [
        "bigquery-v1",
        "databricks-v1",
        "datasphere-v1",
        "trino-v1"
      ],
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.30"
    },
    "localJarUrls": {
      "description": "File path(s) for the driver files.This path is returned in the response as 'local_url' by the driverUpload route.If there are multiple JAR files required for the driver, each uploaded JAR must be present in this list. If specified, values will replace any previous settings.",
      "items": {
        "description": "File path for the driver file. This path is returned by the driverUpload route in the 'local_url' response.",
        "type": "string"
      },
      "minItems": 1,
      "type": "array"
    },
    "type": {
      "default": "jdbc",
      "description": "Driver type. Either 'jdbc' or 'dr-database-v1'.",
      "enum": [
        "dr-database-v1",
        "jdbc"
      ],
      "type": "string",
      "x-versionadded": "v2.30"
    },
    "version": {
      "description": "Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.",
      "type": "string",
      "x-versionadded": "v2.18"
    }
  },
  "type": "object"
}

Parameters

Name In Type Required Description
body body CreateDriverRequest false none

Example responses

200 Response

{
  "properties": {
    "associatedAuthTypes": {
      "description": "Authentication types associated with this connector configuration.",
      "items": {
        "enum": [
          "basic",
          "googleOauthUserAccount",
          "snowflakeKeyPairUserAccount",
          "snowflakeOauthUserAccount"
        ],
        "type": "string"
      },
      "type": "array"
    },
    "baseNames": {
      "description": "Original file name(s) of the uploaded JAR file(s). If there are multiple JAR files required for the driver, each of the original file names should be present in the list in the same order as found in 'localJarUrls'",
      "items": {
        "description": "Original file name of the uploaded JAR file.",
        "type": "string"
      },
      "type": "array"
    },
    "canonicalName": {
      "description": "User-friendly driver name.",
      "type": "string"
    },
    "className": {
      "description": "Driver class name. For example 'com.amazon.redshift.jdbc.Driver'",
      "type": [
        "string",
        "null"
      ]
    },
    "configurationId": {
      "description": "Driver configuration ID if it was provided during driver upload.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.18"
    },
    "creator": {
      "description": "The ID of the user who uploaded the driver.",
      "type": "string"
    },
    "databaseDriver": {
      "description": "The type of database of the driver. Only required of 'dr-database-v1' drivers.",
      "enum": [
        "bigquery-v1",
        "databricks-v1",
        "datasphere-v1",
        "trino-v1"
      ],
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.30"
    },
    "id": {
      "description": "Driver ID.",
      "type": "string"
    },
    "type": {
      "default": "jdbc",
      "description": "Driver type. Either 'jdbc' or 'dr-database-v1'.",
      "enum": [
        "dr-database-v1",
        "jdbc"
      ],
      "type": "string",
      "x-versionadded": "v2.30"
    },
    "version": {
      "description": "Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.",
      "type": "string",
      "x-versionadded": "v2.18"
    }
  },
  "required": [
    "creator",
    "id"
  ],
  "type": "object"
}

Responses

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

Delete the driver by driver ID

Operation path: DELETE /api/v2/externalDataDrivers/{driverId}/

Authentication requirements: BearerAuth

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

Parameters

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

Responses

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

Retrieve driver details by driver ID

Operation path: GET /api/v2/externalDataDrivers/{driverId}/

Authentication requirements: BearerAuth

Retrieve driver details by ID.

Parameters

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

Example responses

200 Response

{
  "properties": {
    "associatedAuthTypes": {
      "description": "Authentication types associated with this connector configuration.",
      "items": {
        "enum": [
          "basic",
          "googleOauthUserAccount",
          "snowflakeKeyPairUserAccount",
          "snowflakeOauthUserAccount"
        ],
        "type": "string"
      },
      "type": "array"
    },
    "baseNames": {
      "description": "Original file name(s) of the uploaded JAR file(s). If there are multiple JAR files required for the driver, each of the original file names should be present in the list in the same order as found in 'localJarUrls'",
      "items": {
        "description": "Original file name of the uploaded JAR file.",
        "type": "string"
      },
      "type": "array"
    },
    "canonicalName": {
      "description": "User-friendly driver name.",
      "type": "string"
    },
    "className": {
      "description": "Driver class name. For example 'com.amazon.redshift.jdbc.Driver'",
      "type": [
        "string",
        "null"
      ]
    },
    "configurationId": {
      "description": "Driver configuration ID if it was provided during driver upload.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.18"
    },
    "creator": {
      "description": "The ID of the user who uploaded the driver.",
      "type": "string"
    },
    "databaseDriver": {
      "description": "The type of database of the driver. Only required of 'dr-database-v1' drivers.",
      "enum": [
        "bigquery-v1",
        "databricks-v1",
        "datasphere-v1",
        "trino-v1"
      ],
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.30"
    },
    "id": {
      "description": "Driver ID.",
      "type": "string"
    },
    "type": {
      "default": "jdbc",
      "description": "Driver type. Either 'jdbc' or 'dr-database-v1'.",
      "enum": [
        "dr-database-v1",
        "jdbc"
      ],
      "type": "string",
      "x-versionadded": "v2.30"
    },
    "version": {
      "description": "Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.",
      "type": "string",
      "x-versionadded": "v2.18"
    }
  },
  "required": [
    "creator",
    "id"
  ],
  "type": "object"
}

Responses

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

Update properties of an existing JDBC Driver by driver ID

Operation path: PATCH /api/v2/externalDataDrivers/{driverId}/

Authentication requirements: BearerAuth

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

Body parameter

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

Parameters

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

Example responses

200 Response

{
  "properties": {
    "associatedAuthTypes": {
      "description": "Authentication types associated with this connector configuration.",
      "items": {
        "enum": [
          "basic",
          "googleOauthUserAccount",
          "snowflakeKeyPairUserAccount",
          "snowflakeOauthUserAccount"
        ],
        "type": "string"
      },
      "type": "array"
    },
    "baseNames": {
      "description": "Original file name(s) of the uploaded JAR file(s). If there are multiple JAR files required for the driver, each of the original file names should be present in the list in the same order as found in 'localJarUrls'",
      "items": {
        "description": "Original file name of the uploaded JAR file.",
        "type": "string"
      },
      "type": "array"
    },
    "canonicalName": {
      "description": "User-friendly driver name.",
      "type": "string"
    },
    "className": {
      "description": "Driver class name. For example 'com.amazon.redshift.jdbc.Driver'",
      "type": [
        "string",
        "null"
      ]
    },
    "configurationId": {
      "description": "Driver configuration ID if it was provided during driver upload.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.18"
    },
    "creator": {
      "description": "The ID of the user who uploaded the driver.",
      "type": "string"
    },
    "databaseDriver": {
      "description": "The type of database of the driver. Only required of 'dr-database-v1' drivers.",
      "enum": [
        "bigquery-v1",
        "databricks-v1",
        "datasphere-v1",
        "trino-v1"
      ],
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.30"
    },
    "id": {
      "description": "Driver ID.",
      "type": "string"
    },
    "type": {
      "default": "jdbc",
      "description": "Driver type. Either 'jdbc' or 'dr-database-v1'.",
      "enum": [
        "dr-database-v1",
        "jdbc"
      ],
      "type": "string",
      "x-versionadded": "v2.30"
    },
    "version": {
      "description": "Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.",
      "type": "string",
      "x-versionadded": "v2.18"
    }
  },
  "required": [
    "creator",
    "id"
  ],
  "type": "object"
}

Responses

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

Driver configuration details by driver ID

Operation path: GET /api/v2/externalDataDrivers/{driverId}/configuration/

Authentication requirements: BearerAuth

Retrieve the driver configuration with the specified ID.

Parameters

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

Example responses

200 Response

{
  "properties": {
    "associatedAuthTypes": {
      "description": "The list of authentication types supported by this driver configuration.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "className": {
      "description": "Java class name of the driver to be used (e.g., org.postgresql.Driver).",
      "type": "string"
    },
    "creator": {
      "description": "The user ID of the creator of this configuration.",
      "type": "string"
    },
    "id": {
      "description": "The driver configuration ID.",
      "type": "string"
    },
    "jdbcFieldSchemas": {
      "description": "Description of which fields to show when creating a datastore, their defaults, and whether or not they are required.",
      "items": {
        "properties": {
          "choices": {
            "default": [],
            "description": "If non-empty, a list of all possible values for this parameter.",
            "items": {
              "description": "Possible value for this parameter.",
              "type": "string"
            },
            "type": "array"
          },
          "default": {
            "description": "Default value of the JDBC parameter.",
            "type": "string"
          },
          "description": {
            "default": "",
            "description": "Description of this parameter.",
            "type": "string"
          },
          "index": {
            "description": "Sort order within one `kind`.",
            "type": "integer"
          },
          "kind": {
            "description": "Use of this parameter in constructing the JDBC URL.",
            "enum": [
              "ADDRESS",
              "EXTENDED_PATH_PARAM",
              "PATH_PARAM",
              "QUERY_PARAM"
            ],
            "type": "string"
          },
          "name": {
            "description": "The name of the JDBC parameter.",
            "type": "string"
          },
          "required": {
            "description": "Whether or not the parameter is required for a connection.",
            "type": "boolean"
          },
          "visibleByDefault": {
            "description": "Whether or not the parameter should be shown in the UI by default.",
            "type": "boolean"
          }
        },
        "required": [
          "choices",
          "default",
          "description",
          "kind",
          "name",
          "required",
          "visibleByDefault"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "jdbcUrlPathDelimiter": {
      "description": "Separator of address from path in the JDBC URL (e.g., \"/\").",
      "type": "string"
    },
    "jdbcUrlPrefix": {
      "description": "Prefix of the JDBC URL (e.g., \"jdbc:mssql://\" or \"jdbc:oracle:thin:@\").",
      "type": "string"
    },
    "jdbcUrlQueryDelimiter": {
      "description": "Separator of path from the list of query parameters in the JDBC URL (e.g., \"?\").",
      "type": "string"
    },
    "jdbcUrlQueryParamDelimiter": {
      "description": "Separator of each set of query parameter key-value pairs in the JDBC URL (e.g., \"&\").",
      "type": "string"
    },
    "jdbcUrlQueryParamKeyValueDelimiter": {
      "description": "Separator of the key and value in a query parameter pair (e.g., \"=\").",
      "type": "string"
    },
    "standardizedName": {
      "description": "The plain text name for the driver (e.g., PostgreSQL).",
      "type": "string"
    },
    "statements": {
      "description": "List of supported statments for this driver configuration.",
      "items": {
        "enum": [
          "insert",
          "update",
          "upsert"
        ],
        "type": "string"
      },
      "type": "array"
    },
    "updated": {
      "description": "ISO-8601 formatted time/date when this configuration was most recently updated.",
      "type": "string"
    }
  },
  "required": [
    "associatedAuthTypes",
    "className",
    "creator",
    "id",
    "jdbcFieldSchemas",
    "jdbcUrlPathDelimiter",
    "jdbcUrlPrefix",
    "jdbcUrlQueryDelimiter",
    "jdbcUrlQueryParamDelimiter",
    "jdbcUrlQueryParamKeyValueDelimiter",
    "standardizedName",
    "updated"
  ],
  "type": "object"
}

Responses

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

List data sources

Operation path: GET /api/v2/externalDataSources/

Authentication requirements: BearerAuth

Return the detailed list of available data sources.

Parameters

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

Enumerated Values

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

Example responses

200 Response

{
  "properties": {
    "data": {
      "description": "The list of data sources.",
      "items": {
        "properties": {
          "canDelete": {
            "description": "True if the user can delete the data source.",
            "type": "boolean",
            "x-versionadded": "v2.23"
          },
          "canShare": {
            "description": "True if the user can share the data source.",
            "type": "boolean",
            "x-versionadded": "v2.22"
          },
          "canonicalName": {
            "description": "The data source canonical name.",
            "type": "string"
          },
          "creator": {
            "description": "The ID of the user who created the data source.",
            "type": "string"
          },
          "driverClassType": {
            "description": "The type of driver used to create this data source.",
            "type": "string"
          },
          "id": {
            "description": "The data source ID.",
            "type": "string"
          },
          "params": {
            "description": "The data source configuration.",
            "oneOf": [
              {
                "properties": {
                  "catalog": {
                    "description": "The catalog name in the database if supported.",
                    "maxLength": 256,
                    "type": "string"
                  },
                  "dataStoreId": {
                    "description": "The data store ID for this data source.",
                    "type": "string"
                  },
                  "fetchSize": {
                    "description": "The user-specified fetch size.",
                    "maximum": 20000,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "partitionColumn": {
                    "description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
                    "type": "string"
                  },
                  "schema": {
                    "description": "The schema associated with the table or view in the database if the data source is not query based.",
                    "maxLength": 256,
                    "type": "string"
                  },
                  "table": {
                    "description": "The table or view name in the database if the data source is not query based.",
                    "maxLength": 256,
                    "type": "string"
                  }
                },
                "required": [
                  "dataStoreId",
                  "table"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "dataStoreId": {
                    "description": "The data store ID for this data source.",
                    "type": "string"
                  },
                  "fetchSize": {
                    "description": "The user-specified fetch size.",
                    "maximum": 20000,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "query": {
                    "description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
                    "maxLength": 320000,
                    "type": "string"
                  }
                },
                "required": [
                  "dataStoreId",
                  "query"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "dataStoreId": {
                    "description": "The data store ID for this data source.",
                    "type": "string",
                    "x-versionadded": "v2.22"
                  },
                  "filter": {
                    "description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
                    "maxLength": 320000,
                    "type": "string",
                    "x-versionadded": "v2.39"
                  },
                  "path": {
                    "description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
                    "type": "string",
                    "x-versionadded": "v2.22"
                  }
                },
                "required": [
                  "dataStoreId",
                  "path"
                ],
                "type": "object"
              }
            ]
          },
          "role": {
            "description": "The role of the user making the request on this data source.",
            "enum": [
              "CONSUMER",
              "EDITOR",
              "OWNER"
            ],
            "type": "string"
          },
          "type": {
            "description": "The data source type.",
            "enum": [
              "dr-connector-v1",
              "dr-database-v1",
              "jdbc"
            ],
            "type": "string"
          },
          "updated": {
            "description": "The ISO 8601-formatted date/time of the data source update.",
            "type": "string"
          }
        },
        "required": [
          "canDelete",
          "canShare",
          "canonicalName",
          "creator",
          "id",
          "params",
          "role",
          "type",
          "updated"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "data"
  ],
  "type": "object"
}

Responses

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

Create a data source

Operation path: POST /api/v2/externalDataSources/

Authentication requirements: BearerAuth

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

Body parameter

{
  "properties": {
    "canonicalName": {
      "description": "The data source canonical name.",
      "type": "string"
    },
    "params": {
      "description": "The data source configuration.",
      "oneOf": [
        {
          "properties": {
            "catalog": {
              "description": "The catalog name in the database if supported.",
              "maxLength": 256,
              "type": "string"
            },
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string"
            },
            "fetchSize": {
              "description": "The user-specified fetch size.",
              "maximum": 20000,
              "minimum": 1,
              "type": "integer"
            },
            "partitionColumn": {
              "description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
              "type": "string"
            },
            "schema": {
              "description": "The schema associated with the table or view in the database if the data source is not query based.",
              "maxLength": 256,
              "type": "string"
            },
            "table": {
              "description": "The table or view name in the database if the data source is not query based.",
              "maxLength": 256,
              "type": "string"
            }
          },
          "required": [
            "dataStoreId",
            "table"
          ],
          "type": "object"
        },
        {
          "properties": {
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string"
            },
            "fetchSize": {
              "description": "The user-specified fetch size.",
              "maximum": 20000,
              "minimum": 1,
              "type": "integer"
            },
            "query": {
              "description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
              "maxLength": 320000,
              "type": "string"
            }
          },
          "required": [
            "dataStoreId",
            "query"
          ],
          "type": "object"
        },
        {
          "properties": {
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string",
              "x-versionadded": "v2.22"
            },
            "filter": {
              "description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
              "maxLength": 320000,
              "type": "string",
              "x-versionadded": "v2.39"
            },
            "path": {
              "description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
              "type": "string",
              "x-versionadded": "v2.22"
            }
          },
          "required": [
            "dataStoreId",
            "path"
          ],
          "type": "object"
        }
      ]
    },
    "type": {
      "description": "The data source type.",
      "enum": [
        "dr-connector-v1",
        "dr-database-v1",
        "jdbc"
      ],
      "type": "string"
    }
  },
  "required": [
    "canonicalName",
    "params",
    "type"
  ],
  "type": "object"
}

Parameters

Name In Type Required Description
body body DataSourceCreate false none

Example responses

200 Response

{
  "properties": {
    "canonicalName": {
      "description": "The data source canonical name.",
      "type": "string"
    },
    "creator": {
      "description": "The ID of the user who created the data source.",
      "type": "string"
    },
    "driverClassType": {
      "description": "The type of driver used to create this data source.",
      "type": "string"
    },
    "id": {
      "description": "The data source ID.",
      "type": "string"
    },
    "params": {
      "description": "The data source configuration.",
      "oneOf": [
        {
          "properties": {
            "catalog": {
              "description": "The catalog name in the database if supported.",
              "maxLength": 256,
              "type": "string"
            },
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string"
            },
            "fetchSize": {
              "description": "The user-specified fetch size.",
              "maximum": 20000,
              "minimum": 1,
              "type": "integer"
            },
            "partitionColumn": {
              "description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
              "type": "string"
            },
            "schema": {
              "description": "The schema associated with the table or view in the database if the data source is not query based.",
              "maxLength": 256,
              "type": "string"
            },
            "table": {
              "description": "The table or view name in the database if the data source is not query based.",
              "maxLength": 256,
              "type": "string"
            }
          },
          "required": [
            "dataStoreId",
            "table"
          ],
          "type": "object"
        },
        {
          "properties": {
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string"
            },
            "fetchSize": {
              "description": "The user-specified fetch size.",
              "maximum": 20000,
              "minimum": 1,
              "type": "integer"
            },
            "query": {
              "description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
              "maxLength": 320000,
              "type": "string"
            }
          },
          "required": [
            "dataStoreId",
            "query"
          ],
          "type": "object"
        },
        {
          "properties": {
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string",
              "x-versionadded": "v2.22"
            },
            "filter": {
              "description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
              "maxLength": 320000,
              "type": "string",
              "x-versionadded": "v2.39"
            },
            "path": {
              "description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
              "type": "string",
              "x-versionadded": "v2.22"
            }
          },
          "required": [
            "dataStoreId",
            "path"
          ],
          "type": "object"
        }
      ]
    },
    "role": {
      "description": "The role of the user making the request on this data source.",
      "enum": [
        "CONSUMER",
        "EDITOR",
        "OWNER"
      ],
      "type": "string"
    },
    "type": {
      "description": "The data source type.",
      "enum": [
        "dr-connector-v1",
        "dr-database-v1",
        "jdbc"
      ],
      "type": "string"
    },
    "updated": {
      "description": "The ISO 8601-formatted date/time of the data source update.",
      "type": "string"
    }
  },
  "required": [
    "canonicalName",
    "creator",
    "id",
    "params",
    "role",
    "type",
    "updated"
  ],
  "type": "object"
}

Responses

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

Delete the data source by data source ID

Operation path: DELETE /api/v2/externalDataSources/{dataSourceId}/

Authentication requirements: BearerAuth

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

Parameters

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

Responses

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

Data source details by data source ID

Operation path: GET /api/v2/externalDataSources/{dataSourceId}/

Authentication requirements: BearerAuth

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

Parameters

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

Example responses

200 Response

{
  "properties": {
    "canonicalName": {
      "description": "The data source canonical name.",
      "type": "string"
    },
    "creator": {
      "description": "The ID of the user who created the data source.",
      "type": "string"
    },
    "driverClassType": {
      "description": "The type of driver used to create this data source.",
      "type": "string"
    },
    "id": {
      "description": "The data source ID.",
      "type": "string"
    },
    "params": {
      "description": "The data source configuration.",
      "oneOf": [
        {
          "properties": {
            "catalog": {
              "description": "The catalog name in the database if supported.",
              "maxLength": 256,
              "type": "string"
            },
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string"
            },
            "fetchSize": {
              "description": "The user-specified fetch size.",
              "maximum": 20000,
              "minimum": 1,
              "type": "integer"
            },
            "partitionColumn": {
              "description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
              "type": "string"
            },
            "schema": {
              "description": "The schema associated with the table or view in the database if the data source is not query based.",
              "maxLength": 256,
              "type": "string"
            },
            "table": {
              "description": "The table or view name in the database if the data source is not query based.",
              "maxLength": 256,
              "type": "string"
            }
          },
          "required": [
            "dataStoreId",
            "table"
          ],
          "type": "object"
        },
        {
          "properties": {
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string"
            },
            "fetchSize": {
              "description": "The user-specified fetch size.",
              "maximum": 20000,
              "minimum": 1,
              "type": "integer"
            },
            "query": {
              "description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
              "maxLength": 320000,
              "type": "string"
            }
          },
          "required": [
            "dataStoreId",
            "query"
          ],
          "type": "object"
        },
        {
          "properties": {
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string",
              "x-versionadded": "v2.22"
            },
            "filter": {
              "description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
              "maxLength": 320000,
              "type": "string",
              "x-versionadded": "v2.39"
            },
            "path": {
              "description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
              "type": "string",
              "x-versionadded": "v2.22"
            }
          },
          "required": [
            "dataStoreId",
            "path"
          ],
          "type": "object"
        }
      ]
    },
    "role": {
      "description": "The role of the user making the request on this data source.",
      "enum": [
        "CONSUMER",
        "EDITOR",
        "OWNER"
      ],
      "type": "string"
    },
    "type": {
      "description": "The data source type.",
      "enum": [
        "dr-connector-v1",
        "dr-database-v1",
        "jdbc"
      ],
      "type": "string"
    },
    "updated": {
      "description": "The ISO 8601-formatted date/time of the data source update.",
      "type": "string"
    }
  },
  "required": [
    "canonicalName",
    "creator",
    "id",
    "params",
    "role",
    "type",
    "updated"
  ],
  "type": "object"
}

Responses

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

Update the data source by data source ID

Operation path: PATCH /api/v2/externalDataSources/{dataSourceId}/

Authentication requirements: BearerAuth

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

Body parameter

{
  "properties": {
    "canonicalName": {
      "description": "The data source's canonical name.",
      "type": "string"
    },
    "params": {
      "description": "Data source configuration.",
      "oneOf": [
        {
          "properties": {
            "catalog": {
              "description": "The catalog name in the database if supported.",
              "maxLength": 256,
              "type": "string"
            },
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string"
            },
            "fetchSize": {
              "description": "The user-specified fetch size.",
              "maximum": 20000,
              "minimum": 1,
              "type": "integer"
            },
            "partitionColumn": {
              "description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
              "type": "string"
            },
            "schema": {
              "description": "The schema associated with the table or view in the database if supported.",
              "maxLength": 256,
              "type": "string"
            },
            "table": {
              "description": "The table or view name in the database.",
              "maxLength": 256,
              "type": "string"
            }
          },
          "type": "object"
        },
        {
          "properties": {
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string"
            },
            "fetchSize": {
              "description": "The user-specified fetch size.",
              "maximum": 20000,
              "minimum": 1,
              "type": "integer"
            },
            "query": {
              "description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
              "maxLength": 320000,
              "type": "string"
            }
          },
          "type": "object"
        },
        {
          "properties": {
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string",
              "x-versionadded": "v2.22"
            },
            "filter": {
              "description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
              "maxLength": 320000,
              "type": "string",
              "x-versionadded": "v2.39"
            },
            "path": {
              "description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
              "type": "string",
              "x-versionadded": "v2.22"
            }
          },
          "type": "object"
        }
      ]
    }
  },
  "type": "object"
}

Parameters

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

Responses

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

Get the data source's access control list by data source ID

Operation path: GET /api/v2/externalDataSources/{dataSourceId}/accessControl/

Authentication requirements: BearerAuth

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

Parameters

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

Example responses

200 Response

{
  "properties": {
    "count": {
      "description": "The number of items returned.",
      "type": "integer"
    },
    "data": {
      "description": "The access control list.",
      "items": {
        "properties": {
          "canShare": {
            "description": "Whether the recipient can share the role further.",
            "type": "boolean"
          },
          "role": {
            "description": "The role of the user on this entity.",
            "type": "string"
          },
          "userId": {
            "description": "The identifier of the user that has access to this entity.",
            "type": "string"
          },
          "username": {
            "description": "The username of the user that has access to the entity.",
            "type": "string"
          }
        },
        "required": [
          "canShare",
          "role",
          "userId",
          "username"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "The URL pointing to the next page.",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL pointing to the previous page.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "count",
    "data",
    "next",
    "previous"
  ],
  "type": "object"
}

Responses

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

Update the data source's access controls by data source ID

Operation path: PATCH /api/v2/externalDataSources/{dataSourceId}/accessControl/

Authentication requirements: BearerAuth

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

Body parameter

{
  "properties": {
    "data": {
      "description": "List of sharing roles to update.",
      "items": {
        "properties": {
          "canShare": {
            "default": true,
            "description": "Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If `role` is `NO_ROLE` `canShare` is ignored.",
            "type": "boolean"
          },
          "role": {
            "description": "The role to set on the entity. When it is None, the role of this user will be removedfrom this entity.",
            "enum": [
              "ADMIN",
              "CONSUMER",
              "DATA_SCIENTIST",
              "EDITOR",
              "OBSERVER",
              "OWNER",
              "READ_ONLY",
              "READ_WRITE",
              "USER"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "username": {
            "description": "The username of the user to update the access role for.",
            "type": "string"
          }
        },
        "required": [
          "role",
          "username"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array"
    }
  },
  "required": [
    "data"
  ],
  "type": "object"
}

Parameters

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

Responses

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

Describe data source permissions by data source ID

Operation path: GET /api/v2/externalDataSources/{dataSourceId}/permissions/

Authentication requirements: BearerAuth

Describe what permissions current user has for given data source.

Parameters

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

Example responses

200 Response

{
  "properties": {
    "canCreatePredictions": {
      "description": "True if the user can create predictions from the data source.",
      "type": "boolean"
    },
    "canCreateProject": {
      "description": "True if the user can create project from the data source.",
      "type": "boolean"
    },
    "canDelete": {
      "description": "True if the user can delete the data source.",
      "type": "boolean"
    },
    "canEdit": {
      "description": "True if the user can edit data source info.",
      "type": "boolean"
    },
    "canSetRoles": {
      "description": "Roles the user can grant or revoke from other users, groups, or organizations.",
      "items": {
        "description": "The role the user can grant or revoke from users, groups or organizations.",
        "enum": [
          "OWNER",
          "EDITOR",
          "CONSUMER"
        ],
        "type": "string"
      },
      "type": "array"
    },
    "canShare": {
      "description": "True if the user can share the data source.",
      "type": "boolean"
    },
    "canView": {
      "description": "True if the user can view data source info.",
      "type": "boolean"
    },
    "dataSourceId": {
      "description": "The ID of the data source.",
      "type": "string"
    },
    "userId": {
      "description": "The ID of the user identified by username.",
      "type": "string"
    },
    "username": {
      "description": "`username` of a user with access to this data source.",
      "type": "string"
    }
  },
  "required": [
    "canCreatePredictions",
    "canCreateProject",
    "canDelete",
    "canEdit",
    "canSetRoles",
    "canShare",
    "canView",
    "dataSourceId",
    "userId",
    "username"
  ],
  "type": "object"
}

Responses

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

Retrieve shared roles by id

Operation path: GET /api/v2/externalDataSources/{dataSourceId}/sharedRoles/

Authentication requirements: BearerAuth

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

Parameters

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

Enumerated Values

Parameter Value
shareRecipientType [user, group, organization]

Example responses

200 Response

{
  "properties": {
    "count": {
      "description": "The number of items returned.",
      "type": "integer"
    },
    "data": {
      "description": "The access control list.",
      "items": {
        "properties": {
          "canShare": {
            "description": "Whether the recipient can share the role further.",
            "type": "boolean"
          },
          "id": {
            "description": "The identifier of the recipient.",
            "type": "string"
          },
          "name": {
            "description": "The name of the recipient.",
            "type": "string"
          },
          "role": {
            "description": "The role of the recipient on this entity.",
            "enum": [
              "ADMIN",
              "CONSUMER",
              "DATA_SCIENTIST",
              "EDITOR",
              "OBSERVER",
              "OWNER",
              "READ_ONLY",
              "READ_WRITE",
              "USER"
            ],
            "type": "string"
          },
          "shareRecipientType": {
            "description": "The type of the recipient.",
            "enum": [
              "user",
              "group",
              "organization"
            ],
            "type": "string"
          },
          "userFullName": {
            "description": "The full name of the recipient user.",
            "type": "string"
          }
        },
        "required": [
          "canShare",
          "id",
          "name",
          "role",
          "shareRecipientType"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "next": {
      "description": "The URL pointing to the next page.",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL pointing to the previous page.",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items matching the condition.",
      "type": "integer"
    }
  },
  "required": [
    "count",
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object"
}

Responses

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

Modify data source shared roles by data source ID

Operation path: PATCH /api/v2/externalDataSources/{dataSourceId}/sharedRoles/

Authentication requirements: BearerAuth

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

Body parameter

{
  "properties": {
    "operation": {
      "description": "Name of the action being taken. The only operation is 'updateRoles'.",
      "enum": [
        "updateRoles"
      ],
      "type": "string"
    },
    "roles": {
      "description": "An array of RoleRequest objects. May contain at most 100 such objects.",
      "items": {
        "oneOf": [
          {
            "properties": {
              "canShare": {
                "default": true,
                "description": "Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If `role` is `NO_ROLE` `canShare` is ignored.",
                "type": "boolean"
              },
              "role": {
                "description": "The role of the recipient on this entity.",
                "enum": [
                  "ADMIN",
                  "CONSUMER",
                  "DATA_SCIENTIST",
                  "EDITOR",
                  "NO_ROLE",
                  "OBSERVER",
                  "OWNER",
                  "READ_ONLY",
                  "READ_WRITE",
                  "USER"
                ],
                "type": "string"
              },
              "shareRecipientType": {
                "description": "Describes the recipient type, either user, group, or organization.",
                "enum": [
                  "user",
                  "group",
                  "organization"
                ],
                "type": "string"
              },
              "username": {
                "description": "The username of the user to update the access role for.",
                "type": "string"
              }
            },
            "required": [
              "role",
              "shareRecipientType",
              "username"
            ],
            "type": "object"
          },
          {
            "properties": {
              "canShare": {
                "default": true,
                "description": "Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If `role` is `NO_ROLE` `canShare` is ignored.",
                "type": "boolean"
              },
              "id": {
                "description": "The ID of the recipient.",
                "type": "string"
              },
              "role": {
                "description": "The role of the recipient on this entity.",
                "enum": [
                  "ADMIN",
                  "CONSUMER",
                  "DATA_SCIENTIST",
                  "EDITOR",
                  "NO_ROLE",
                  "OBSERVER",
                  "OWNER",
                  "READ_ONLY",
                  "READ_WRITE",
                  "USER"
                ],
                "type": "string"
              },
              "shareRecipientType": {
                "description": "Describes the recipient type, either user, group, or organization.",
                "enum": [
                  "user",
                  "group",
                  "organization"
                ],
                "type": "string"
              }
            },
            "required": [
              "id",
              "role",
              "shareRecipientType"
            ],
            "type": "object"
          }
        ]
      },
      "maxItems": 100,
      "minItems": 1,
      "type": "array"
    }
  },
  "required": [
    "operation",
    "roles"
  ],
  "type": "object"
}

Parameters

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

Responses

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

List data stores

Operation path: GET /api/v2/externalDataStores/

Authentication requirements: BearerAuth

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

Parameters

Name In Type Required Description
offset query integer false The number of results to skip.
limit query integer false At most this many results are returned. The default may change without notice.
type query string false Includes only data stores of the specified type or any if set to all.
databaseType query any false Includes only data stores of the specified database type. For JDBC based data stores, the database_type value is the string between the first and the second colons of a jdbc url. For example, a snowflake jdbc url is jdbc❄//, the database_type is hence snowflake. If an empty string is used, or if the string contains only whitespace, no filtering occurs.
connectorType query any false Includes only data stores of the specified connector type.
showHidden query string false Specifies whether non-visible OAuth fields are shown.
name query string false Search for data stores whose canonicalName matches or contains the specified name.The search is case insensitive.
substituteUrlParameters query string false Specifies whether dynamic parameters in the URL will be substituted.
dataType query string false Includes only data stores which support the specified data type or all data stores if set to all.

Enumerated Values

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

Example responses

200 Response

{
  "properties": {
    "data": {
      "description": "The list of data stores.",
      "items": {
        "properties": {
          "associatedAuthTypes": {
            "description": "The supported authentication types for the JDBC configuration.",
            "items": {
              "enum": [
                "adls_gen2_oauth",
                "azure_service_principal",
                "basic",
                "box_jwt",
                "databricks_access_token_account",
                "databricks_service_principal_account",
                "gcp",
                "google_oauth_user_account",
                "kerberos",
                "oauth",
                "s3",
                "snowflake_key_pair_user_account",
                "snowflake_oauth_user_account"
              ],
              "type": "string"
            },
            "type": "array",
            "x-versionadded": "v2.20"
          },
          "canonicalName": {
            "description": "The user-friendly name of the data store.",
            "type": "string"
          },
          "creator": {
            "description": "The ID of the user who created the data store.",
            "type": "string"
          },
          "id": {
            "description": "The data store ID.",
            "type": "string"
          },
          "params": {
            "description": "The data store configuration.",
            "oneOf": [
              {
                "properties": {
                  "driverId": {
                    "description": "The driver ID.",
                    "type": "string"
                  },
                  "jdbcFieldSchemas": {
                    "default": [],
                    "description": "The fields to show when creating a data store, their defaults, whether or not they are required, and more.",
                    "items": {
                      "properties": {
                        "choices": {
                          "default": [],
                          "description": "If non-empty, a list of all possible values for this parameter.",
                          "items": {
                            "description": "Possible value for this parameter.",
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "default": {
                          "description": "Default value of the JDBC parameter.",
                          "type": "string"
                        },
                        "description": {
                          "default": "",
                          "description": "Description of this parameter.",
                          "type": "string"
                        },
                        "index": {
                          "description": "Sort order within one `kind`.",
                          "type": "integer"
                        },
                        "kind": {
                          "description": "Use of this parameter in constructing the JDBC URL.",
                          "enum": [
                            "ADDRESS",
                            "EXTENDED_PATH_PARAM",
                            "PATH_PARAM",
                            "QUERY_PARAM"
                          ],
                          "type": "string"
                        },
                        "name": {
                          "description": "The name of the JDBC parameter.",
                          "type": "string"
                        },
                        "required": {
                          "description": "Whether or not the parameter is required for a connection.",
                          "type": "boolean"
                        },
                        "visibleByDefault": {
                          "description": "Whether or not the parameter should be shown in the UI by default.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "choices",
                        "default",
                        "description",
                        "kind",
                        "name",
                        "required",
                        "visibleByDefault"
                      ],
                      "type": "object"
                    },
                    "maxItems": 100,
                    "type": "array"
                  },
                  "jdbcFields": {
                    "description": "The fields used to create the JDBC URL, in the form of a JSON object where parameter name/value pairs are the items in the object. For example: `{\"address\": localhost:5432, \"database\": \"fooBar\", \"connectTimeout\": 10}`. In most cases, all keys in `jdbcFields` should be defined by a schema listed in `jdbcFieldSchemas` from `DriverConfiguration`. The request will be rejected if there are required parameters (as defined by `jdbcFieldSchemas`) that are not provided.",
                    "items": {
                      "properties": {
                        "name": {
                          "description": "The name of the JDBC parameter.",
                          "type": "string"
                        },
                        "value": {
                          "description": "The value of the JDBC parameter.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "name",
                        "value"
                      ],
                      "type": "object"
                    },
                    "maxItems": 100,
                    "type": "array",
                    "x-versionadded": "v2.18"
                  },
                  "jdbcUrl": {
                    "description": "The JDBC URL.",
                    "type": "string"
                  }
                },
                "required": [
                  "driverId"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "connectorId": {
                    "description": "The ID of the connector.",
                    "type": "string"
                  },
                  "fieldSchemas": {
                    "description": "The connector field schemas.",
                    "items": {
                      "properties": {
                        "choices": {
                          "description": "If non-empty, the list of all possible values for a parameter.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "default": {
                          "description": "The default value of the parameter.",
                          "type": "string"
                        },
                        "description": {
                          "description": "The description of the parameter.",
                          "type": "string"
                        },
                        "name": {
                          "description": "The name of the parameter.",
                          "type": "string"
                        },
                        "required": {
                          "description": "Whether or not the parameter is required for a connection.",
                          "type": "boolean"
                        },
                        "visibleByDefault": {
                          "description": "Whether or not the parameter should be shown in the UI by default.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "choices",
                        "default",
                        "description",
                        "name",
                        "required",
                        "visibleByDefault"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "fields": {
                    "description": "The connector fields.",
                    "items": {
                      "properties": {
                        "id": {
                          "description": "The field name.",
                          "type": "string"
                        },
                        "name": {
                          "description": "The user-friendly displayable field name.",
                          "type": "string"
                        },
                        "value": {
                          "description": "The field value.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "name",
                        "value"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "connectorId",
                  "fields"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "driverId": {
                    "description": "The database driver ID.",
                    "type": "string"
                  },
                  "fieldSchemas": {
                    "description": "The database driver field schemas.",
                    "items": {
                      "properties": {
                        "choices": {
                          "description": "If non-empty, the list of all possible values for a parameter.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "default": {
                          "description": "The default value of the parameter.",
                          "type": "string"
                        },
                        "description": {
                          "description": "The description of the parameter.",
                          "type": "string"
                        },
                        "name": {
                          "description": "The name of the parameter.",
                          "type": "string"
                        },
                        "required": {
                          "description": "Whether or not the parameter is required for a connection.",
                          "type": "boolean"
                        },
                        "visibleByDefault": {
                          "description": "Whether or not the parameter should be shown in the UI by default.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "choices",
                        "default",
                        "description",
                        "name",
                        "required",
                        "visibleByDefault"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "fields": {
                    "description": "The database driver fields.",
                    "items": {
                      "properties": {
                        "id": {
                          "description": "The field name.",
                          "type": "string"
                        },
                        "name": {
                          "description": "The user-friendly displayable field name.",
                          "type": "string"
                        },
                        "value": {
                          "description": "The field value.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "name",
                        "value"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "driverId",
                  "fields"
                ],
                "type": "object"
              }
            ]
          },
          "role": {
            "description": "The role of the user making the request on this data store.",
            "enum": [
              "CONSUMER",
              "EDITOR",
              "OWNER"
            ],
            "type": "string"
          },
          "type": {
            "description": "The data store type.",
            "enum": [
              "dr-connector-v1",
              "dr-database-v1",
              "jdbc"
            ],
            "type": "string"
          },
          "updated": {
            "description": "The ISO 8601-formatted date/time of the data store update.",
            "type": "string"
          }
        },
        "required": [
          "canonicalName",
          "creator",
          "id",
          "params",
          "role",
          "type",
          "updated"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "data"
  ],
  "type": "object"
}

Responses

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

Create a data store

Operation path: POST /api/v2/externalDataStores/

Authentication requirements: BearerAuth

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

Body parameter

{
  "properties": {
    "canonicalName": {
      "description": "The user-friendly name of the data store.",
      "type": "string"
    },
    "params": {
      "description": "The data store configuration.",
      "oneOf": [
        {
          "properties": {
            "driverId": {
              "description": "Driver ID.",
              "type": "string"
            },
            "jdbcFields": {
              "description": "The fields used to create the JDBC URL, in the form of a JSON object where parameter name/value pairs are the items in the object. For example: `{\"address\": localhost:5432, \"database\": \"fooBar\", \"connectTimeout\": 10}`. In most cases, all keys in `jdbcFields` should be defined by a schema listed in `jdbcFieldSchemas` from `DriverConfiguration`. The request will be rejected if there are required parameters (as defined by `jdbcFieldSchemas`) that are not provided.",
              "items": {
                "properties": {
                  "name": {
                    "description": "The name of the JDBC parameter.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The value of the JDBC parameter.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "maxItems": 100,
              "type": "array",
              "x-versionadded": "v2.18"
            },
            "jdbcUrl": {
              "description": "The JDBC URL.",
              "type": "string"
            }
          },
          "required": [
            "driverId"
          ],
          "type": "object"
        },
        {
          "properties": {
            "connectorId": {
              "description": "The ID of the connector.",
              "type": "string"
            },
            "fields": {
              "description": "The connector fields.",
              "items": {
                "properties": {
                  "id": {
                    "description": "The field name.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The user-friendly displayable field name.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The field value.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "type": "array"
            }
          },
          "required": [
            "connectorId",
            "fields"
          ],
          "type": "object"
        },
        {
          "properties": {
            "driverId": {
              "description": "The database driver ID.",
              "type": "string"
            },
            "fields": {
              "description": "The database driver fields.",
              "items": {
                "properties": {
                  "id": {
                    "description": "The field name.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The user-friendly displayable field name.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The field value.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "type": "array"
            }
          },
          "required": [
            "driverId",
            "fields"
          ],
          "type": "object"
        }
      ]
    },
    "type": {
      "description": "The data store type.",
      "enum": [
        "dr-connector-v1",
        "dr-database-v1",
        "jdbc"
      ],
      "type": "string"
    }
  },
  "required": [
    "canonicalName",
    "params",
    "type"
  ],
  "type": "object"
}

Parameters

Name In Type Required Description
body body DataStoreCreate false none

Example responses

200 Response

{
  "properties": {
    "associatedAuthTypes": {
      "description": "The supported authentication types for the JDBC configuration.",
      "items": {
        "enum": [
          "adls_gen2_oauth",
          "azure_service_principal",
          "basic",
          "box_jwt",
          "databricks_access_token_account",
          "databricks_service_principal_account",
          "gcp",
          "google_oauth_user_account",
          "kerberos",
          "oauth",
          "s3",
          "snowflake_key_pair_user_account",
          "snowflake_oauth_user_account"
        ],
        "type": "string"
      },
      "type": "array",
      "x-versionadded": "v2.20"
    },
    "canonicalName": {
      "description": "The user-friendly name of the data store.",
      "type": "string"
    },
    "creator": {
      "description": "The ID of the user who created the data store.",
      "type": "string"
    },
    "id": {
      "description": "The data store ID.",
      "type": "string"
    },
    "params": {
      "description": "The data store configuration.",
      "oneOf": [
        {
          "properties": {
            "driverId": {
              "description": "The driver ID.",
              "type": "string"
            },
            "jdbcFieldSchemas": {
              "default": [],
              "description": "The fields to show when creating a data store, their defaults, whether or not they are required, and more.",
              "items": {
                "properties": {
                  "choices": {
                    "default": [],
                    "description": "If non-empty, a list of all possible values for this parameter.",
                    "items": {
                      "description": "Possible value for this parameter.",
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "default": {
                    "description": "Default value of the JDBC parameter.",
                    "type": "string"
                  },
                  "description": {
                    "default": "",
                    "description": "Description of this parameter.",
                    "type": "string"
                  },
                  "index": {
                    "description": "Sort order within one `kind`.",
                    "type": "integer"
                  },
                  "kind": {
                    "description": "Use of this parameter in constructing the JDBC URL.",
                    "enum": [
                      "ADDRESS",
                      "EXTENDED_PATH_PARAM",
                      "PATH_PARAM",
                      "QUERY_PARAM"
                    ],
                    "type": "string"
                  },
                  "name": {
                    "description": "The name of the JDBC parameter.",
                    "type": "string"
                  },
                  "required": {
                    "description": "Whether or not the parameter is required for a connection.",
                    "type": "boolean"
                  },
                  "visibleByDefault": {
                    "description": "Whether or not the parameter should be shown in the UI by default.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "choices",
                  "default",
                  "description",
                  "kind",
                  "name",
                  "required",
                  "visibleByDefault"
                ],
                "type": "object"
              },
              "maxItems": 100,
              "type": "array"
            },
            "jdbcFields": {
              "description": "The fields used to create the JDBC URL, in the form of a JSON object where parameter name/value pairs are the items in the object. For example: `{\"address\": localhost:5432, \"database\": \"fooBar\", \"connectTimeout\": 10}`. In most cases, all keys in `jdbcFields` should be defined by a schema listed in `jdbcFieldSchemas` from `DriverConfiguration`. The request will be rejected if there are required parameters (as defined by `jdbcFieldSchemas`) that are not provided.",
              "items": {
                "properties": {
                  "name": {
                    "description": "The name of the JDBC parameter.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The value of the JDBC parameter.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "maxItems": 100,
              "type": "array",
              "x-versionadded": "v2.18"
            },
            "jdbcUrl": {
              "description": "The JDBC URL.",
              "type": "string"
            }
          },
          "required": [
            "driverId"
          ],
          "type": "object"
        },
        {
          "properties": {
            "connectorId": {
              "description": "The ID of the connector.",
              "type": "string"
            },
            "fieldSchemas": {
              "description": "The connector field schemas.",
              "items": {
                "properties": {
                  "choices": {
                    "description": "If non-empty, the list of all possible values for a parameter.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "default": {
                    "description": "The default value of the parameter.",
                    "type": "string"
                  },
                  "description": {
                    "description": "The description of the parameter.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The name of the parameter.",
                    "type": "string"
                  },
                  "required": {
                    "description": "Whether or not the parameter is required for a connection.",
                    "type": "boolean"
                  },
                  "visibleByDefault": {
                    "description": "Whether or not the parameter should be shown in the UI by default.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "choices",
                  "default",
                  "description",
                  "name",
                  "required",
                  "visibleByDefault"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "fields": {
              "description": "The connector fields.",
              "items": {
                "properties": {
                  "id": {
                    "description": "The field name.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The user-friendly displayable field name.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The field value.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "type": "array"
            }
          },
          "required": [
            "connectorId",
            "fields"
          ],
          "type": "object"
        },
        {
          "properties": {
            "driverId": {
              "description": "The database driver ID.",
              "type": "string"
            },
            "fieldSchemas": {
              "description": "The database driver field schemas.",
              "items": {
                "properties": {
                  "choices": {
                    "description": "If non-empty, the list of all possible values for a parameter.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "default": {
                    "description": "The default value of the parameter.",
                    "type": "string"
                  },
                  "description": {
                    "description": "The description of the parameter.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The name of the parameter.",
                    "type": "string"
                  },
                  "required": {
                    "description": "Whether or not the parameter is required for a connection.",
                    "type": "boolean"
                  },
                  "visibleByDefault": {
                    "description": "Whether or not the parameter should be shown in the UI by default.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "choices",
                  "default",
                  "description",
                  "name",
                  "required",
                  "visibleByDefault"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "fields": {
              "description": "The database driver fields.",
              "items": {
                "properties": {
                  "id": {
                    "description": "The field name.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The user-friendly displayable field name.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The field value.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "type": "array"
            }
          },
          "required": [
            "driverId",
            "fields"
          ],
          "type": "object"
        }
      ]
    },
    "role": {
      "description": "The role of the user making the request on this data store.",
      "enum": [
        "CONSUMER",
        "EDITOR",
        "OWNER"
      ],
      "type": "string"
    },
    "type": {
      "description": "The data store type.",
      "enum": [
        "dr-connector-v1",
        "dr-database-v1",
        "jdbc"
      ],
      "type": "string"
    },
    "updated": {
      "description": "The ISO 8601-formatted date/time of the data store update.",
      "type": "string"
    }
  },
  "required": [
    "canonicalName",
    "creator",
    "id",
    "params",
    "role",
    "type",
    "updated"
  ],
  "type": "object"
}

Responses

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

Delete the data store by data store ID

Operation path: DELETE /api/v2/externalDataStores/{dataStoreId}/

Authentication requirements: BearerAuth

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

Parameters

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

Responses

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

Data store details by data store ID

Operation path: GET /api/v2/externalDataStores/{dataStoreId}/

Authentication requirements: BearerAuth

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

Parameters

Name In Type Required Description
substituteUrlParameters query string false Specifies whether dynamic parameters in the URL will be substituted.
dataStoreId path string true The ID of the data store.

Enumerated Values

Parameter Value
substituteUrlParameters [false, False, true, True]

Example responses

200 Response

{
  "properties": {
    "associatedAuthTypes": {
      "description": "The supported authentication types for the JDBC configuration.",
      "items": {
        "enum": [
          "adls_gen2_oauth",
          "azure_service_principal",
          "basic",
          "box_jwt",
          "databricks_access_token_account",
          "databricks_service_principal_account",
          "gcp",
          "google_oauth_user_account",
          "kerberos",
          "oauth",
          "s3",
          "snowflake_key_pair_user_account",
          "snowflake_oauth_user_account"
        ],
        "type": "string"
      },
      "type": "array",
      "x-versionadded": "v2.20"
    },
    "canonicalName": {
      "description": "The user-friendly name of the data store.",
      "type": "string"
    },
    "creator": {
      "description": "The ID of the user who created the data store.",
      "type": "string"
    },
    "id": {
      "description": "The data store ID.",
      "type": "string"
    },
    "params": {
      "description": "The data store configuration.",
      "oneOf": [
        {
          "properties": {
            "driverId": {
              "description": "The driver ID.",
              "type": "string"
            },
            "jdbcFieldSchemas": {
              "default": [],
              "description": "The fields to show when creating a data store, their defaults, whether or not they are required, and more.",
              "items": {
                "properties": {
                  "choices": {
                    "default": [],
                    "description": "If non-empty, a list of all possible values for this parameter.",
                    "items": {
                      "description": "Possible value for this parameter.",
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "default": {
                    "description": "Default value of the JDBC parameter.",
                    "type": "string"
                  },
                  "description": {
                    "default": "",
                    "description": "Description of this parameter.",
                    "type": "string"
                  },
                  "index": {
                    "description": "Sort order within one `kind`.",
                    "type": "integer"
                  },
                  "kind": {
                    "description": "Use of this parameter in constructing the JDBC URL.",
                    "enum": [
                      "ADDRESS",
                      "EXTENDED_PATH_PARAM",
                      "PATH_PARAM",
                      "QUERY_PARAM"
                    ],
                    "type": "string"
                  },
                  "name": {
                    "description": "The name of the JDBC parameter.",
                    "type": "string"
                  },
                  "required": {
                    "description": "Whether or not the parameter is required for a connection.",
                    "type": "boolean"
                  },
                  "visibleByDefault": {
                    "description": "Whether or not the parameter should be shown in the UI by default.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "choices",
                  "default",
                  "description",
                  "kind",
                  "name",
                  "required",
                  "visibleByDefault"
                ],
                "type": "object"
              },
              "maxItems": 100,
              "type": "array"
            },
            "jdbcFields": {
              "description": "The fields used to create the JDBC URL, in the form of a JSON object where parameter name/value pairs are the items in the object. For example: `{\"address\": localhost:5432, \"database\": \"fooBar\", \"connectTimeout\": 10}`. In most cases, all keys in `jdbcFields` should be defined by a schema listed in `jdbcFieldSchemas` from `DriverConfiguration`. The request will be rejected if there are required parameters (as defined by `jdbcFieldSchemas`) that are not provided.",
              "items": {
                "properties": {
                  "name": {
                    "description": "The name of the JDBC parameter.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The value of the JDBC parameter.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "maxItems": 100,
              "type": "array",
              "x-versionadded": "v2.18"
            },
            "jdbcUrl": {
              "description": "The JDBC URL.",
              "type": "string"
            }
          },
          "required": [
            "driverId"
          ],
          "type": "object"
        },
        {
          "properties": {
            "connectorId": {
              "description": "The ID of the connector.",
              "type": "string"
            },
            "fieldSchemas": {
              "description": "The connector field schemas.",
              "items": {
                "properties": {
                  "choices": {
                    "description": "If non-empty, the list of all possible values for a parameter.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "default": {
                    "description": "The default value of the parameter.",
                    "type": "string"
                  },
                  "description": {
                    "description": "The description of the parameter.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The name of the parameter.",
                    "type": "string"
                  },
                  "required": {
                    "description": "Whether or not the parameter is required for a connection.",
                    "type": "boolean"
                  },
                  "visibleByDefault": {
                    "description": "Whether or not the parameter should be shown in the UI by default.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "choices",
                  "default",
                  "description",
                  "name",
                  "required",
                  "visibleByDefault"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "fields": {
              "description": "The connector fields.",
              "items": {
                "properties": {
                  "id": {
                    "description": "The field name.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The user-friendly displayable field name.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The field value.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "type": "array"
            }
          },
          "required": [
            "connectorId",
            "fields"
          ],
          "type": "object"
        },
        {
          "properties": {
            "driverId": {
              "description": "The database driver ID.",
              "type": "string"
            },
            "fieldSchemas": {
              "description": "The database driver field schemas.",
              "items": {
                "properties": {
                  "choices": {
                    "description": "If non-empty, the list of all possible values for a parameter.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "default": {
                    "description": "The default value of the parameter.",
                    "type": "string"
                  },
                  "description": {
                    "description": "The description of the parameter.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The name of the parameter.",
                    "type": "string"
                  },
                  "required": {
                    "description": "Whether or not the parameter is required for a connection.",
                    "type": "boolean"
                  },
                  "visibleByDefault": {
                    "description": "Whether or not the parameter should be shown in the UI by default.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "choices",
                  "default",
                  "description",
                  "name",
                  "required",
                  "visibleByDefault"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "fields": {
              "description": "The database driver fields.",
              "items": {
                "properties": {
                  "id": {
                    "description": "The field name.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The user-friendly displayable field name.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The field value.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "type": "array"
            }
          },
          "required": [
            "driverId",
            "fields"
          ],
          "type": "object"
        }
      ]
    },
    "role": {
      "description": "The role of the user making the request on this data store.",
      "enum": [
        "CONSUMER",
        "EDITOR",
        "OWNER"
      ],
      "type": "string"
    },
    "type": {
      "description": "The data store type.",
      "enum": [
        "dr-connector-v1",
        "dr-database-v1",
        "jdbc"
      ],
      "type": "string"
    },
    "updated": {
      "description": "The ISO 8601-formatted date/time of the data store update.",
      "type": "string"
    }
  },
  "required": [
    "canonicalName",
    "creator",
    "id",
    "params",
    "role",
    "type",
    "updated"
  ],
  "type": "object"
}

Responses

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

Update a data store configuration by data store ID

Operation path: PATCH /api/v2/externalDataStores/{dataStoreId}/

Authentication requirements: BearerAuth

Update a data store configuration.

Body parameter

{
  "properties": {
    "canonicalName": {
      "description": "The user-friendly name of the data store.",
      "type": "string"
    },
    "params": {
      "description": "The data store configuration.",
      "oneOf": [
        {
          "properties": {
            "driverId": {
              "description": "The driver ID.",
              "type": "string"
            },
            "jdbcFields": {
              "description": "The fields used to create the JDBC URL, in the form of a JSON object where parameter name/value pairs are the items in the object. For example: `{\"address\": localhost:5432, \"database\": \"fooBar\", \"connectTimeout\": 10}`. In most cases, all keys in `jdbcFields` should be defined by a schema listed in `jdbcFieldSchemas` from `DriverConfiguration`. The request will be rejected if there are required parameters (as defined by `jdbcFieldSchemas`) that are not provided.",
              "items": {
                "properties": {
                  "name": {
                    "description": "The name of the JDBC parameter.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The value of the JDBC parameter.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "maxItems": 100,
              "type": "array",
              "x-versionadded": "v2.18"
            },
            "jdbcUrl": {
              "description": "The JDBC URL.",
              "type": "string"
            }
          },
          "type": "object"
        },
        {
          "properties": {
            "fields": {
              "description": "The connector fields.",
              "items": {
                "properties": {
                  "id": {
                    "description": "The field name.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The user-friendly displayable field name.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The field value.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      ]
    }
  },
  "type": "object"
}

Parameters

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

Example responses

200 Response

{
  "properties": {
    "associatedAuthTypes": {
      "description": "The supported authentication types for the JDBC configuration.",
      "items": {
        "enum": [
          "adls_gen2_oauth",
          "azure_service_principal",
          "basic",
          "box_jwt",
          "databricks_access_token_account",
          "databricks_service_principal_account",
          "gcp",
          "google_oauth_user_account",
          "kerberos",
          "oauth",
          "s3",
          "snowflake_key_pair_user_account",
          "snowflake_oauth_user_account"
        ],
        "type": "string"
      },
      "type": "array",
      "x-versionadded": "v2.20"
    },
    "canonicalName": {
      "description": "The user-friendly name of the data store.",
      "type": "string"
    },
    "creator": {
      "description": "The ID of the user who created the data store.",
      "type": "string"
    },
    "id": {
      "description": "The data store ID.",
      "type": "string"
    },
    "params": {
      "description": "The data store configuration.",
      "oneOf": [
        {
          "properties": {
            "driverId": {
              "description": "The driver ID.",
              "type": "string"
            },
            "jdbcFieldSchemas": {
              "default": [],
              "description": "The fields to show when creating a data store, their defaults, whether or not they are required, and more.",
              "items": {
                "properties": {
                  "choices": {
                    "default": [],
                    "description": "If non-empty, a list of all possible values for this parameter.",
                    "items": {
                      "description": "Possible value for this parameter.",
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "default": {
                    "description": "Default value of the JDBC parameter.",
                    "type": "string"
                  },
                  "description": {
                    "default": "",
                    "description": "Description of this parameter.",
                    "type": "string"
                  },
                  "index": {
                    "description": "Sort order within one `kind`.",
                    "type": "integer"
                  },
                  "kind": {
                    "description": "Use of this parameter in constructing the JDBC URL.",
                    "enum": [
                      "ADDRESS",
                      "EXTENDED_PATH_PARAM",
                      "PATH_PARAM",
                      "QUERY_PARAM"
                    ],
                    "type": "string"
                  },
                  "name": {
                    "description": "The name of the JDBC parameter.",
                    "type": "string"
                  },
                  "required": {
                    "description": "Whether or not the parameter is required for a connection.",
                    "type": "boolean"
                  },
                  "visibleByDefault": {
                    "description": "Whether or not the parameter should be shown in the UI by default.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "choices",
                  "default",
                  "description",
                  "kind",
                  "name",
                  "required",
                  "visibleByDefault"
                ],
                "type": "object"
              },
              "maxItems": 100,
              "type": "array"
            },
            "jdbcFields": {
              "description": "The fields used to create the JDBC URL, in the form of a JSON object where parameter name/value pairs are the items in the object. For example: `{\"address\": localhost:5432, \"database\": \"fooBar\", \"connectTimeout\": 10}`. In most cases, all keys in `jdbcFields` should be defined by a schema listed in `jdbcFieldSchemas` from `DriverConfiguration`. The request will be rejected if there are required parameters (as defined by `jdbcFieldSchemas`) that are not provided.",
              "items": {
                "properties": {
                  "name": {
                    "description": "The name of the JDBC parameter.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The value of the JDBC parameter.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "maxItems": 100,
              "type": "array",
              "x-versionadded": "v2.18"
            },
            "jdbcUrl": {
              "description": "The JDBC URL.",
              "type": "string"
            }
          },
          "required": [
            "driverId"
          ],
          "type": "object"
        },
        {
          "properties": {
            "connectorId": {
              "description": "The ID of the connector.",
              "type": "string"
            },
            "fieldSchemas": {
              "description": "The connector field schemas.",
              "items": {
                "properties": {
                  "choices": {
                    "description": "If non-empty, the list of all possible values for a parameter.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "default": {
                    "description": "The default value of the parameter.",
                    "type": "string"
                  },
                  "description": {
                    "description": "The description of the parameter.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The name of the parameter.",
                    "type": "string"
                  },
                  "required": {
                    "description": "Whether or not the parameter is required for a connection.",
                    "type": "boolean"
                  },
                  "visibleByDefault": {
                    "description": "Whether or not the parameter should be shown in the UI by default.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "choices",
                  "default",
                  "description",
                  "name",
                  "required",
                  "visibleByDefault"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "fields": {
              "description": "The connector fields.",
              "items": {
                "properties": {
                  "id": {
                    "description": "The field name.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The user-friendly displayable field name.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The field value.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "type": "array"
            }
          },
          "required": [
            "connectorId",
            "fields"
          ],
          "type": "object"
        },
        {
          "properties": {
            "driverId": {
              "description": "The database driver ID.",
              "type": "string"
            },
            "fieldSchemas": {
              "description": "The database driver field schemas.",
              "items": {
                "properties": {
                  "choices": {
                    "description": "If non-empty, the list of all possible values for a parameter.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "default": {
                    "description": "The default value of the parameter.",
                    "type": "string"
                  },
                  "description": {
                    "description": "The description of the parameter.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The name of the parameter.",
                    "type": "string"
                  },
                  "required": {
                    "description": "Whether or not the parameter is required for a connection.",
                    "type": "boolean"
                  },
                  "visibleByDefault": {
                    "description": "Whether or not the parameter should be shown in the UI by default.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "choices",
                  "default",
                  "description",
                  "name",
                  "required",
                  "visibleByDefault"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "fields": {
              "description": "The database driver fields.",
              "items": {
                "properties": {
                  "id": {
                    "description": "The field name.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The user-friendly displayable field name.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The field value.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "type": "array"
            }
          },
          "required": [
            "driverId",
            "fields"
          ],
          "type": "object"
        }
      ]
    },
    "role": {
      "description": "The role of the user making the request on this data store.",
      "enum": [
        "CONSUMER",
        "EDITOR",
        "OWNER"
      ],
      "type": "string"
    },
    "type": {
      "description": "The data store type.",
      "enum": [
        "dr-connector-v1",
        "dr-database-v1",
        "jdbc"
      ],
      "type": "string"
    },
    "updated": {
      "description": "The ISO 8601-formatted date/time of the data store update.",
      "type": "string"
    }
  },
  "required": [
    "canonicalName",
    "creator",
    "id",
    "params",
    "role",
    "type",
    "updated"
  ],
  "type": "object"
}

Responses

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

Update the data store's access controls by data store ID

Operation path: PATCH /api/v2/externalDataStores/{dataStoreId}/accessControl/

Authentication requirements: BearerAuth

Set roles for users on this data store.

Body parameter

{
  "properties": {
    "data": {
      "description": "List of sharing roles to update.",
      "items": {
        "properties": {
          "canShare": {
            "default": true,
            "description": "Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If `role` is `NO_ROLE` `canShare` is ignored.",
            "type": "boolean"
          },
          "role": {
            "description": "The role to set on the entity. When it is None, the role of this user will be removedfrom this entity.",
            "enum": [
              "ADMIN",
              "CONSUMER",
              "DATA_SCIENTIST",
              "EDITOR",
              "OBSERVER",
              "OWNER",
              "READ_ONLY",
              "READ_WRITE",
              "USER"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "username": {
            "description": "The username of the user to update the access role for.",
            "type": "string"
          }
        },
        "required": [
          "role",
          "username"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array"
    }
  },
  "required": [
    "data"
  ],
  "type": "object"
}

Parameters

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

Responses

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

Retrieves a data store's data columns by data store ID

Operation path: POST /api/v2/externalDataStores/{dataStoreId}/columns/

Authentication requirements: BearerAuth

Retrieves a data store's data columns.

Body parameter

{
  "properties": {
    "catalog": {
      "description": "The name of the specified database catalog.",
      "type": [
        "string",
        "null"
      ]
    },
    "credentialId": {
      "description": "The ID of the credential mapping.",
      "type": "string"
    },
    "password": {
      "description": "The password for the db connection.",
      "type": "string"
    },
    "query": {
      "description": "The schema query.",
      "type": "string"
    },
    "schema": {
      "description": "The schema name.",
      "type": "string"
    },
    "table": {
      "description": "The table name.",
      "type": "string"
    },
    "user": {
      "description": "The username for the db connection.",
      "type": "string"
    }
  },
  "type": "object"
}

Parameters

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

Example responses

200 Response

{
  "properties": {
    "columns": {
      "description": "The list of data store columns.",
      "items": {
        "properties": {
          "dataType": {
            "description": "The data type of the column.",
            "type": "string"
          },
          "name": {
            "description": "The name of the column.",
            "type": "string"
          },
          "precision": {
            "description": "The precision of the column.",
            "type": [
              "string",
              "null"
            ]
          },
          "scale": {
            "description": "The scale of the column.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "dataType",
          "name",
          "precision",
          "scale"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "columns"
  ],
  "type": "object"
}

Responses

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

Retrieves a data store's column metadata by data store ID

Operation path: POST /api/v2/externalDataStores/{dataStoreId}/columnsInfo/

Authentication requirements: BearerAuth

Retrieves a data store's column metadata.

Body parameter

{
  "properties": {
    "catalog": {
      "description": "The name of the specified database catalog.",
      "type": [
        "string",
        "null"
      ]
    },
    "credentialId": {
      "description": "The ID of the set of credentials to use instead of username and password.",
      "type": "string",
      "x-versionadded": "v2.19"
    },
    "password": {
      "description": "The password for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    },
    "schema": {
      "description": "The schema name.",
      "type": "string"
    },
    "table": {
      "description": "The table name.",
      "type": "string"
    },
    "useKerberos": {
      "default": false,
      "description": "Whether to use Kerberos for data store authentication.",
      "type": "boolean",
      "x-versionadded": "v2.19"
    },
    "user": {
      "description": "The username for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    }
  },
  "required": [
    "table"
  ],
  "type": "object"
}

Parameters

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

Enumerated Values

Parameter Value
orderBy [creationDate, -creationDate]

Example responses

200 Response

{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer"
    },
    "data": {
      "description": "The list of data store columns metadata.",
      "items": {
        "properties": {
          "columnDefaultValue": {
            "description": "The default value of the column.",
            "type": [
              "string",
              "null"
            ]
          },
          "comment": {
            "description": "The comment of the column.",
            "type": [
              "string",
              "null"
            ]
          },
          "dataType": {
            "description": "The data type of the column.",
            "type": "string"
          },
          "dataTypeInt": {
            "description": "The integer value of the column data type.",
            "type": "integer"
          },
          "exportedKeys": {
            "description": "The foreign key columns that reference this table's primary key columns.",
            "items": {
              "properties": {
                "foreignKey": {
                  "description": "The referred primary key.",
                  "properties": {
                    "catalog": {
                      "description": "The catalog name.",
                      "type": "string"
                    },
                    "column": {
                      "description": "The column name.",
                      "type": "string"
                    },
                    "schema": {
                      "description": "The schema name.",
                      "type": "string"
                    },
                    "table": {
                      "description": "The table name.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "catalog",
                    "column",
                    "table"
                  ],
                  "type": "object"
                },
                "keyType": {
                  "description": "The type of this key.",
                  "enum": [
                    "1",
                    "2",
                    "3"
                  ],
                  "type": "string"
                },
                "name": {
                  "description": "The name of this key.",
                  "type": "string"
                },
                "primaryKey": {
                  "description": "The referred primary key.",
                  "properties": {
                    "catalog": {
                      "description": "The catalog name.",
                      "type": "string"
                    },
                    "column": {
                      "description": "The column name.",
                      "type": "string"
                    },
                    "schema": {
                      "description": "The schema name.",
                      "type": "string"
                    },
                    "table": {
                      "description": "The table name.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "catalog",
                    "column",
                    "table"
                  ],
                  "type": "object"
                }
              },
              "required": [
                "keyType",
                "primaryKey"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "importedKeys": {
            "description": "The primary key columns that are referenced by this table's foreign key columns.",
            "items": {
              "properties": {
                "foreignKey": {
                  "description": "The referred primary key.",
                  "properties": {
                    "catalog": {
                      "description": "The catalog name.",
                      "type": "string"
                    },
                    "column": {
                      "description": "The column name.",
                      "type": "string"
                    },
                    "schema": {
                      "description": "The schema name.",
                      "type": "string"
                    },
                    "table": {
                      "description": "The table name.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "catalog",
                    "column",
                    "table"
                  ],
                  "type": "object"
                },
                "keyType": {
                  "description": "The type of this key.",
                  "enum": [
                    "1",
                    "2",
                    "3"
                  ],
                  "type": "string"
                },
                "name": {
                  "description": "The name of this key.",
                  "type": "string"
                },
                "primaryKey": {
                  "description": "The referred primary key.",
                  "properties": {
                    "catalog": {
                      "description": "The catalog name.",
                      "type": "string"
                    },
                    "column": {
                      "description": "The column name.",
                      "type": "string"
                    },
                    "schema": {
                      "description": "The schema name.",
                      "type": "string"
                    },
                    "table": {
                      "description": "The table name.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "catalog",
                    "column",
                    "table"
                  ],
                  "type": "object"
                }
              },
              "required": [
                "keyType",
                "primaryKey"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "isInPrimaryKey": {
            "description": "True if the column is in the primary key.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "isNullable": {
            "description": "Whether the column values can be null.",
            "enum": [
              "NO",
              "UNKNOWN",
              "YES"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "The name of the column.",
            "type": "string"
          },
          "precision": {
            "description": "The precision of the column.",
            "type": [
              "integer",
              "null"
            ]
          },
          "primaryKeys": {
            "description": "The primary key columns of the table.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "scale": {
            "description": "The scale of the column.",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "columnDefaultValue",
          "comment",
          "dataType",
          "dataTypeInt",
          "exportedKeys",
          "importedKeys",
          "isInPrimaryKey",
          "isNullable",
          "name",
          "precision",
          "primaryKeys",
          "scale"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object"
}

Responses

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

List credentials associated by data store ID

Operation path: GET /api/v2/externalDataStores/{dataStoreId}/credentials/

Authentication requirements: BearerAuth

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

Parameters

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

Enumerated Values

Parameter Value
orderBy [creationDate, -creationDate]

Example responses

200 Response

{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer"
    },
    "data": {
      "description": "List of credentials.",
      "items": {
        "properties": {
          "creationDate": {
            "description": "ISO-8601 formatted date/time when these credentials were created.",
            "format": "date-time",
            "type": "string"
          },
          "credentialId": {
            "description": "ID of these credentials.",
            "type": "string"
          },
          "credentialType": {
            "default": "basic",
            "description": "Type of credentials.",
            "enum": [
              "adls_gen2_oauth",
              "api_token",
              "azure",
              "azure_oauth",
              "azure_service_principal",
              "basic",
              "bearer",
              "box_jwt",
              "databricks_access_token_account",
              "databricks_service_principal_account",
              "external_oauth_provider",
              "gcp",
              "oauth",
              "rsa",
              "s3",
              "sap_oauth",
              "snowflake_key_pair_user_account",
              "snowflake_oauth_user_account",
              "tableau_access_token"
            ],
            "type": "string"
          },
          "description": {
            "description": "Description of these credentials.",
            "type": "string"
          },
          "name": {
            "description": "Name of these credentials.",
            "type": "string"
          }
        },
        "required": [
          "creationDate",
          "credentialId",
          "name"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object"
}

Responses

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

Describe data store permissions by data store ID

Operation path: GET /api/v2/externalDataStores/{dataStoreId}/permissions/

Authentication requirements: BearerAuth

Describe what permissions current user has for given data store.

Parameters

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

Example responses

200 Response

{
  "properties": {
    "canCreateDataSource": {
      "description": "True if the user can create data source from this data store.",
      "type": "boolean"
    },
    "canDelete": {
      "description": "True if the user can delete the data store.",
      "type": "boolean"
    },
    "canEdit": {
      "description": "True if the user can edit data store info.",
      "type": "boolean"
    },
    "canScanDatabase": {
      "description": "True if the user can scan data store database.",
      "type": "boolean"
    },
    "canSetRoles": {
      "description": "Roles the user can grant or revoke from other users, groups, or organizations.",
      "items": {
        "description": "The role the user can grant or revoke from users, groups or organizations.",
        "enum": [
          "OWNER",
          "EDITOR",
          "CONSUMER"
        ],
        "type": "string"
      },
      "type": "array"
    },
    "canShare": {
      "description": "True if the user can share the data store.",
      "type": "boolean"
    },
    "canTestConnection": {
      "description": "True if the user can test data store database connection.",
      "type": "boolean"
    },
    "canView": {
      "description": "True if the user can view data store info.",
      "type": "boolean"
    },
    "dataStoreId": {
      "description": "The ID of the data store.",
      "type": "string"
    },
    "userId": {
      "description": "The ID of the user identified by username.",
      "type": "string"
    },
    "username": {
      "description": "`username` of a user with access to this data store.",
      "type": "string"
    }
  },
  "required": [
    "canCreateDataSource",
    "canDelete",
    "canEdit",
    "canScanDatabase",
    "canSetRoles",
    "canShare",
    "canTestConnection",
    "canView",
    "dataStoreId",
    "userId",
    "username"
  ],
  "type": "object"
}

Responses

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

Retrieves a data store's data schemas by data store ID

Operation path: POST /api/v2/externalDataStores/{dataStoreId}/schemas/

Authentication requirements: BearerAuth

Retrieves a data store's data schemas.

Body parameter

{
  "properties": {
    "credentialId": {
      "description": "The ID of the set of credentials to use instead of username and password.",
      "type": "string",
      "x-versionadded": "v2.19"
    },
    "password": {
      "description": "The password for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    },
    "useKerberos": {
      "default": false,
      "description": "Whether to use Kerberos for data store authentication.",
      "type": "boolean",
      "x-versionadded": "v2.19"
    },
    "user": {
      "description": "The username for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    }
  },
  "type": "object"
}

Parameters

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

Example responses

200 Response

{
  "properties": {
    "catalog": {
      "description": "The name of the catalog associated with the schemas. If more than one catalog is queried, the returned value will be the catalog name for the first record returned.",
      "type": "string"
    },
    "catalogs": {
      "description": "The list of catalogs associated with each retrieved schema. If no catalog is found, this value is null.",
      "items": {
        "description": "The catalog names for the schema associated with the data store.",
        "type": [
          "string",
          "null"
        ]
      },
      "type": "array"
    },
    "schemas": {
      "description": "The list of schemas available in the data store.",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "catalog",
    "catalogs",
    "schemas"
  ],
  "type": "object"
}

Responses

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

Get the data store's access control list by data store ID

Operation path: GET /api/v2/externalDataStores/{dataStoreId}/sharedRoles/

Authentication requirements: BearerAuth

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

Parameters

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

Enumerated Values

Parameter Value
shareRecipientType [user, group, organization]

Example responses

200 Response

{
  "properties": {
    "count": {
      "description": "The number of items returned.",
      "type": "integer"
    },
    "data": {
      "description": "The access control list.",
      "items": {
        "properties": {
          "canShare": {
            "description": "Whether the recipient can share the role further.",
            "type": "boolean"
          },
          "id": {
            "description": "The identifier of the recipient.",
            "type": "string"
          },
          "name": {
            "description": "The name of the recipient.",
            "type": "string"
          },
          "role": {
            "description": "The role of the recipient on this entity.",
            "enum": [
              "ADMIN",
              "CONSUMER",
              "DATA_SCIENTIST",
              "EDITOR",
              "OBSERVER",
              "OWNER",
              "READ_ONLY",
              "READ_WRITE",
              "USER"
            ],
            "type": "string"
          },
          "shareRecipientType": {
            "description": "The type of the recipient.",
            "enum": [
              "user",
              "group",
              "organization"
            ],
            "type": "string"
          },
          "userFullName": {
            "description": "The full name of the recipient user.",
            "type": "string"
          }
        },
        "required": [
          "canShare",
          "id",
          "name",
          "role",
          "shareRecipientType"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "next": {
      "description": "The URL pointing to the next page.",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL pointing to the previous page.",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items matching the condition.",
      "type": "integer"
    }
  },
  "required": [
    "count",
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object"
}

Responses

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

Modify data store shared roles by data store ID

Operation path: PATCH /api/v2/externalDataStores/{dataStoreId}/sharedRoles/

Authentication requirements: BearerAuth

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

Body parameter

{
  "properties": {
    "operation": {
      "description": "Name of the action being taken. The only operation is 'updateRoles'.",
      "enum": [
        "updateRoles"
      ],
      "type": "string"
    },
    "roles": {
      "description": "An array of RoleRequest objects. May contain at most 100 such objects.",
      "items": {
        "oneOf": [
          {
            "properties": {
              "canShare": {
                "default": true,
                "description": "Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If `role` is `NO_ROLE` `canShare` is ignored.",
                "type": "boolean"
              },
              "role": {
                "description": "The role of the recipient on this entity.",
                "enum": [
                  "ADMIN",
                  "CONSUMER",
                  "DATA_SCIENTIST",
                  "EDITOR",
                  "NO_ROLE",
                  "OBSERVER",
                  "OWNER",
                  "READ_ONLY",
                  "READ_WRITE",
                  "USER"
                ],
                "type": "string"
              },
              "shareRecipientType": {
                "description": "Describes the recipient type, either user, group, or organization.",
                "enum": [
                  "user",
                  "group",
                  "organization"
                ],
                "type": "string"
              },
              "username": {
                "description": "The username of the user to update the access role for.",
                "type": "string"
              }
            },
            "required": [
              "role",
              "shareRecipientType",
              "username"
            ],
            "type": "object"
          },
          {
            "properties": {
              "canShare": {
                "default": true,
                "description": "Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If `role` is `NO_ROLE` `canShare` is ignored.",
                "type": "boolean"
              },
              "id": {
                "description": "The ID of the recipient.",
                "type": "string"
              },
              "role": {
                "description": "The role of the recipient on this entity.",
                "enum": [
                  "ADMIN",
                  "CONSUMER",
                  "DATA_SCIENTIST",
                  "EDITOR",
                  "NO_ROLE",
                  "OBSERVER",
                  "OWNER",
                  "READ_ONLY",
                  "READ_WRITE",
                  "USER"
                ],
                "type": "string"
              },
              "shareRecipientType": {
                "description": "Describes the recipient type, either user, group, or organization.",
                "enum": [
                  "user",
                  "group",
                  "organization"
                ],
                "type": "string"
              }
            },
            "required": [
              "id",
              "role",
              "shareRecipientType"
            ],
            "type": "object"
          }
        ]
      },
      "maxItems": 100,
      "minItems": 1,
      "type": "array"
    }
  },
  "required": [
    "operation",
    "roles"
  ],
  "type": "object"
}

Parameters

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

Responses

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

Retrieve detected standard user-defined functions by data store ID

Operation path: GET /api/v2/externalDataStores/{dataStoreId}/standardUserDefinedFunctions/

Authentication requirements: BearerAuth

Retrieve detected standard user-defined functions. Raise a 404 error if detection needs to be run first. Results might not be up-to-date; run detection with the force=True option to refresh them.

Parameters

Name In Type Required Description
credentialId query string false The ID of the set of credentials to use instead of username and password.
functionType query string true The standard user-defined function type.
schema query string true The schema to create or detect user-defined functions in.
functionName query string false The standard user-defined function name to filter results by.
dataStoreId path string true The ID of the data store.

Enumerated Values

Parameter Value
functionType [rolling_median, rolling_most_frequent]

Example responses

200 Response

{
  "properties": {
    "detectedFunctions": {
      "description": "The detected standard user-defined functions.",
      "items": {
        "type": "string"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "functionType": {
      "description": "The requested standard user-defined function type.",
      "type": "string"
    },
    "schema": {
      "description": "The requested schema.",
      "type": "string"
    }
  },
  "required": [
    "detectedFunctions",
    "functionType",
    "schema"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}

Responses

Status Meaning Description Schema
200 OK Return detected standard user-defined functions for the given data store, credentials, function type, and schema. DetectedStandardUdfsRetrieveResponse

Start a job to create a standard user-defined function of the given type by data store ID

Operation path: POST /api/v2/externalDataStores/{dataStoreId}/standardUserDefinedFunctions/

Authentication requirements: BearerAuth

Start the creation of the standard user-defined function. Since this is an asynchronous process, this endpoint returns a status ID to use with the status endpoint as well as a location header that includes URL that can be polled for status. Once completed, the status URL redirects to the endpoint with the created function name.

Body parameter

{
  "properties": {
    "credentialId": {
      "description": "The ID of the set of credentials to use instead of username and password.",
      "type": "string"
    },
    "functionType": {
      "description": "The standard user-defined function type.",
      "enum": [
        "rolling_median",
        "rolling_most_frequent"
      ],
      "type": "string"
    },
    "schema": {
      "description": "The schema to create or detect user-defined functions in.",
      "type": "string"
    }
  },
  "required": [
    "functionType",
    "schema"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}

Parameters

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

Example responses

202 Response

{
  "properties": {
    "statusId": {
      "description": "The ID that can be used with [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid] to poll for the job's status.",
      "type": "string"
    }
  },
  "required": [
    "statusId"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}

Responses

Status Meaning Description Schema
202 Accepted none StatusIdResponse

Start the job that detects standard user-defined functions for the given data store, credentials by data store ID

Operation path: POST /api/v2/externalDataStores/{dataStoreId}/standardUserDefinedFunctions/detect/

Authentication requirements: BearerAuth

Start the detection process for the standard user-defined functions. Since this is an asynchronous process this endpoint returns a status ID to use with the status endpoint as well as a location header that includes the URL that can be polled for status. Once completed, the status URL redirects to the endpoint with the detected function names.

Body parameter

{
  "properties": {
    "credentialId": {
      "description": "The ID of the set of credentials to use instead of username and password.",
      "type": "string"
    },
    "force": {
      "default": false,
      "description": "Forces detection to be submitted, even if a cache with detected standard user-defined functions for given parameters is already present.",
      "type": "boolean"
    },
    "functionType": {
      "description": "The standard user-defined function type.",
      "enum": [
        "rolling_median",
        "rolling_most_frequent"
      ],
      "type": "string"
    },
    "schema": {
      "description": "The schema to create or detect user-defined functions in.",
      "type": "string"
    }
  },
  "required": [
    "force",
    "functionType",
    "schema"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}

Parameters

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

Example responses

202 Response

{
  "properties": {
    "statusId": {
      "description": "The ID that can be used with [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid] to poll for the job's status.",
      "type": "string"
    }
  },
  "required": [
    "statusId"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}

Responses

Status Meaning Description Schema
202 Accepted none StatusIdResponse

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

Operation path: POST /api/v2/externalDataStores/{dataStoreId}/tables/

Authentication requirements: BearerAuth

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

Body parameter

{
  "properties": {
    "catalog": {
      "description": "Only show tables in this catalog.",
      "type": "string"
    },
    "credentialId": {
      "description": "The ID of the set of credentials to use instead of username and password.",
      "type": "string",
      "x-versionadded": "v2.19"
    },
    "password": {
      "description": "The password for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    },
    "schema": {
      "description": "Only show tables in this schema.",
      "type": "string"
    },
    "useKerberos": {
      "default": false,
      "description": "Whether to use Kerberos for data store authentication.",
      "type": "boolean",
      "x-versionadded": "v2.19"
    },
    "user": {
      "description": "The username for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    }
  },
  "type": "object"
}

Parameters

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

Example responses

200 Response

{
  "properties": {
    "catalog": {
      "description": "The catalog associated with schemas.",
      "type": [
        "string",
        "null"
      ]
    },
    "tables": {
      "description": "The list of tables in the data store.",
      "items": {
        "properties": {
          "catalog": {
            "description": "The name of the catalog.",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "The name of the table.",
            "type": "string"
          },
          "schema": {
            "description": "The schema of the table.",
            "type": "string"
          },
          "type": {
            "description": "The type of table.",
            "enum": [
              "TABLE",
              "VIEW"
            ],
            "type": "string"
          }
        },
        "required": [
          "name",
          "type"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "catalog",
    "tables"
  ],
  "type": "object"
}

Responses

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

Test data store connection by data store ID

Operation path: POST /api/v2/externalDataStores/{dataStoreId}/test/

Authentication requirements: BearerAuth

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

Body parameter

{
  "properties": {
    "credentialData": {
      "description": "The type of credentials to use with the data store.",
      "oneOf": [
        {
          "properties": {
            "credentialType": {
              "description": "The type of these credentials, 'basic' here.",
              "enum": [
                "basic"
              ],
              "type": "string"
            },
            "password": {
              "description": "The password for database authentication. The password is encrypted at rest and never saved or stored.",
              "type": "string"
            },
            "user": {
              "description": "The username for database authentication.",
              "type": "string"
            }
          },
          "required": [
            "credentialType",
            "password",
            "user"
          ],
          "type": "object"
        },
        {
          "properties": {
            "awsAccessKeyId": {
              "description": "The S3 AWS access key ID. Required if configId is not specified.Cannot include this parameter if configId is specified.",
              "type": "string"
            },
            "awsSecretAccessKey": {
              "description": "The S3 AWS secret access key. Required if configId is not specified.Cannot include this parameter if configId is specified.",
              "type": "string"
            },
            "awsSessionToken": {
              "default": null,
              "description": "The S3 AWS session token for AWS temporary credentials.Cannot include this parameter if configId is specified.",
              "type": [
                "string",
                "null"
              ]
            },
            "configId": {
              "description": "The ID of secure configurations of credentials shared by admin. If specified, cannot include awsAccessKeyId, awsSecretAccessKey or awsSessionToken.",
              "type": "string"
            },
            "credentialType": {
              "description": "The type of these credentials, 's3' here.",
              "enum": [
                "s3"
              ],
              "type": "string"
            }
          },
          "required": [
            "credentialType"
          ],
          "type": "object"
        },
        {
          "properties": {
            "credentialType": {
              "description": "The type of these credentials, 'oauth' here.",
              "enum": [
                "oauth"
              ],
              "type": "string"
            },
            "oauthAccessToken": {
              "default": null,
              "description": "The OAuth access token.",
              "type": [
                "string",
                "null"
              ]
            },
            "oauthClientId": {
              "default": null,
              "description": "The OAuth client ID.",
              "type": [
                "string",
                "null"
              ]
            },
            "oauthClientSecret": {
              "default": null,
              "description": "The OAuth client secret.",
              "type": [
                "string",
                "null"
              ]
            },
            "oauthRefreshToken": {
              "description": "The OAuth refresh token.",
              "type": "string"
            }
          },
          "required": [
            "credentialType",
            "oauthRefreshToken"
          ],
          "type": "object"
        },
        {
          "properties": {
            "configId": {
              "description": "The ID of the saved shared credentials. If specified, cannot include user, privateKeyStr, or passphrase.",
              "type": "string"
            },
            "credentialType": {
              "description": "The type of these credentials, 'snowflake_key_pair_user_account' here.",
              "enum": [
                "snowflake_key_pair_user_account"
              ],
              "type": "string"
            },
            "passphrase": {
              "description": "Optional passphrase to decrypt private key. Cannot include this parameter if configId is specified.",
              "type": "string"
            },
            "privateKeyStr": {
              "description": "Private key for key pair authentication. Required if configId is not specified. Cannot include this parameter if configId is specified.",
              "type": "string"
            },
            "user": {
              "description": "Username for this credential. Required if configId is not specified. Cannot include this parameter if configId is specified.",
              "type": "string"
            }
          },
          "required": [
            "credentialType"
          ],
          "type": "object"
        },
        {
          "properties": {
            "configId": {
              "description": "The ID of secure configurations shared by admin. Alternative to googleConfigId (deprecated). If specified, cannot include gcpKey.",
              "type": "string"
            },
            "credentialType": {
              "description": "The type of these credentials, 'gcp' here.",
              "enum": [
                "gcp"
              ],
              "type": "string"
            },
            "gcpKey": {
              "description": "The Google Cloud Platform (GCP) key. Output is the downloaded JSON resulting from creating a service account *User Managed Key*  (in the *IAM & admin > Service accounts section* of GCP).Required if googleConfigId/configId is not specified.Cannot include this parameter if googleConfigId/configId is specified.",
              "properties": {
                "authProviderX509CertUrl": {
                  "description": "Auth provider X509 certificate URL.",
                  "format": "uri",
                  "type": "string"
                },
                "authUri": {
                  "description": "Auth URI.",
                  "format": "uri",
                  "type": "string"
                },
                "clientEmail": {
                  "description": "Client email address.",
                  "type": "string"
                },
                "clientId": {
                  "description": "Client ID.",
                  "type": "string"
                },
                "clientX509CertUrl": {
                  "description": "Client X509 certificate URL.",
                  "format": "uri",
                  "type": "string"
                },
                "privateKey": {
                  "description": "Private key.",
                  "type": "string"
                },
                "privateKeyId": {
                  "description": "Private key ID",
                  "type": "string"
                },
                "projectId": {
                  "description": "Project ID.",
                  "type": "string"
                },
                "tokenUri": {
                  "description": "Token URI.",
                  "format": "uri",
                  "type": "string"
                },
                "type": {
                  "description": "GCP account type.",
                  "enum": [
                    "service_account"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            },
            "googleConfigId": {
              "description": "The ID of secure configurations shared by admin. This is deprecated. Please use configId instead. If specified, cannot include gcpKey.",
              "type": "string"
            }
          },
          "required": [
            "credentialType"
          ],
          "type": "object"
        },
        {
          "properties": {
            "credentialType": {
              "description": "The type of these credentials, 'databricks_access_token_account' here.",
              "enum": [
                "databricks_access_token_account"
              ],
              "type": "string"
            },
            "databricksAccessToken": {
              "description": "Databricks personal access token.",
              "minLength": 1,
              "type": "string"
            }
          },
          "required": [
            "credentialType",
            "databricksAccessToken"
          ],
          "type": "object"
        },
        {
          "properties": {
            "clientId": {
              "description": "Client ID for Databricks service principal.",
              "minLength": 1,
              "type": "string"
            },
            "clientSecret": {
              "description": "Client secret for Databricks service principal.",
              "minLength": 1,
              "type": "string"
            },
            "configId": {
              "description": "The ID of the saved shared credentials. If specified, cannot include clientId and clientSecret.",
              "type": "string"
            },
            "credentialType": {
              "description": "The type of these credentials, 'databricks_service_principal_account' here.",
              "enum": [
                "databricks_service_principal_account"
              ],
              "type": "string"
            }
          },
          "required": [
            "credentialType"
          ],
          "type": "object"
        },
        {
          "properties": {
            "azureTenantId": {
              "description": "Tenant ID of the Azure AD service principal.",
              "type": "string"
            },
            "clientId": {
              "description": "Client ID of the Azure AD service principal.",
              "type": "string"
            },
            "clientSecret": {
              "description": "Client Secret of the Azure AD service principal.",
              "type": "string"
            },
            "configId": {
              "description": "The ID of secure configurations of credentials shared by admin.",
              "type": "string",
              "x-versionadded": "v2.35"
            },
            "credentialType": {
              "description": "The type of these credentials, 'azure_service_principal' here.",
              "enum": [
                "azure_service_principal"
              ],
              "type": "string"
            }
          },
          "required": [
            "credentialType"
          ],
          "type": "object"
        },
        {
          "properties": {
            "authenticationId": {
              "description": "The authentication ID for external OAuth provider. Used to retrieve tokens from DataRobot OAuth service.",
              "type": "string"
            },
            "credentialType": {
              "description": "The type of these credentials, 'external_oauth_provider' here.",
              "enum": [
                "external_oauth_provider"
              ],
              "type": "string"
            }
          },
          "required": [
            "authenticationId",
            "credentialType"
          ],
          "type": "object"
        },
        {
          "properties": {
            "clientId": {
              "description": "Box JWT client ID.",
              "type": "string",
              "x-versionadded": "v2.41"
            },
            "clientSecret": {
              "description": "Box JWT client secret.",
              "type": "string",
              "x-versionadded": "v2.41"
            },
            "configId": {
              "description": "ID of secure configuration to share Box JWT credentials by admin.",
              "type": "string",
              "x-versionadded": "v2.41"
            },
            "credentialType": {
              "description": "Credentials type.",
              "enum": [
                "box_jwt"
              ],
              "type": "string",
              "x-versionadded": "v2.41"
            },
            "enterpriseId": {
              "description": "Box enterprise identifier.",
              "type": "string",
              "x-versionadded": "v2.41"
            },
            "passphrase": {
              "description": "Passphrase for the Box JWT private key.",
              "minLength": 1,
              "type": "string",
              "x-versionadded": "v2.41"
            },
            "privateKeyStr": {
              "description": "RSA private key for Box JWT.",
              "minLength": 1,
              "type": "string",
              "x-versionadded": "v2.41"
            },
            "publicKeyId": {
              "description": "Box public key identifier.",
              "type": "string",
              "x-versionadded": "v2.41"
            }
          },
          "required": [
            "credentialType"
          ],
          "type": "object",
          "x-versionadded": "v2.42"
        }
      ],
      "x-versionadded": "v2.23"
    },
    "credentialId": {
      "description": "The ID of the set of credentials to use instead of username and password.",
      "type": "string",
      "x-versionadded": "v2.19"
    },
    "password": {
      "description": "The password for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    },
    "useKerberos": {
      "default": false,
      "description": "Whether to use Kerberos for data store authentication.",
      "type": "boolean",
      "x-versionadded": "v2.19"
    },
    "user": {
      "description": "The username for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    }
  },
  "type": "object"
}

Parameters

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

Example responses

200 Response

{
  "properties": {
    "message": {
      "description": "The connection attempt results.",
      "type": "string"
    }
  },
  "required": [
    "message"
  ],
  "type": "object"
}

Responses

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

Verify a SQL query by data store ID

Operation path: POST /api/v2/externalDataStores/{dataStoreId}/verifySQL/

Authentication requirements: BearerAuth

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

Body parameter

{
  "properties": {
    "credentialId": {
      "description": "The ID of the set of credentials to use instead of username and password.",
      "type": "string",
      "x-versionadded": "v2.19"
    },
    "maxRows": {
      "description": "The maximum number of rows of data to return if successful.",
      "maximum": 999,
      "minimum": 0,
      "type": "integer"
    },
    "password": {
      "description": "The password for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    },
    "query": {
      "description": "The SQL query to verify.",
      "type": "string"
    },
    "useKerberos": {
      "default": false,
      "description": "Whether to use Kerberos for data store authentication.",
      "type": "boolean",
      "x-versionadded": "v2.19"
    },
    "user": {
      "description": "The username for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    }
  },
  "required": [
    "maxRows",
    "query"
  ],
  "type": "object"
}

Parameters

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

Example responses

200 Response

{
  "properties": {
    "columns": {
      "description": "The list of columns for the returned set of records. Column order matches the order of values in a record.",
      "items": {
        "description": "The name of the column.",
        "type": "string"
      },
      "maxItems": 20000,
      "type": "array"
    },
    "records": {
      "description": "The list of records output by the query.",
      "items": {
        "description": "The list of values for a single database record, ordered as the columns are ordered.",
        "items": {
          "description": "The string representation of the column's value.",
          "type": "string"
        },
        "type": "array"
      },
      "maxItems": 10000,
      "type": "array"
    }
  },
  "required": [
    "columns",
    "records"
  ],
  "type": "object"
}

Responses

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

List available driver configurations

Operation path: GET /api/v2/externalDriverConfigurations/

Authentication requirements: BearerAuth

Retrieve matching driver configurations based on query.

Parameters

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

Enumerated Values

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

Example responses

200 Response

{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer"
    },
    "data": {
      "description": "List of driver configurations available to the user.",
      "items": {
        "properties": {
          "associatedAuthTypes": {
            "description": "The list of authentication types supported by this driver configuration.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "className": {
            "description": "Java class name of the driver to be used (e.g., org.postgresql.Driver).",
            "type": "string"
          },
          "creator": {
            "description": "The user ID of the creator of this configuration.",
            "type": "string"
          },
          "id": {
            "description": "The driver configuration ID.",
            "type": "string"
          },
          "jdbcFieldSchemas": {
            "description": "Description of which fields to show when creating a datastore, their defaults, and whether or not they are required.",
            "items": {
              "properties": {
                "choices": {
                  "default": [],
                  "description": "If non-empty, a list of all possible values for this parameter.",
                  "items": {
                    "description": "Possible value for this parameter.",
                    "type": "string"
                  },
                  "type": "array"
                },
                "default": {
                  "description": "Default value of the JDBC parameter.",
                  "type": "string"
                },
                "description": {
                  "default": "",
                  "description": "Description of this parameter.",
                  "type": "string"
                },
                "index": {
                  "description": "Sort order within one `kind`.",
                  "type": "integer"
                },
                "kind": {
                  "description": "Use of this parameter in constructing the JDBC URL.",
                  "enum": [
                    "ADDRESS",
                    "EXTENDED_PATH_PARAM",
                    "PATH_PARAM",
                    "QUERY_PARAM"
                  ],
                  "type": "string"
                },
                "name": {
                  "description": "The name of the JDBC parameter.",
                  "type": "string"
                },
                "required": {
                  "description": "Whether or not the parameter is required for a connection.",
                  "type": "boolean"
                },
                "visibleByDefault": {
                  "description": "Whether or not the parameter should be shown in the UI by default.",
                  "type": "boolean"
                }
              },
              "required": [
                "choices",
                "default",
                "description",
                "kind",
                "name",
                "required",
                "visibleByDefault"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "jdbcUrlPathDelimiter": {
            "description": "Separator of address from path in the JDBC URL (e.g., \"/\").",
            "type": "string"
          },
          "jdbcUrlPrefix": {
            "description": "Prefix of the JDBC URL (e.g., \"jdbc:mssql://\" or \"jdbc:oracle:thin:@\").",
            "type": "string"
          },
          "jdbcUrlQueryDelimiter": {
            "description": "Separator of path from the list of query parameters in the JDBC URL (e.g., \"?\").",
            "type": "string"
          },
          "jdbcUrlQueryParamDelimiter": {
            "description": "Separator of each set of query parameter key-value pairs in the JDBC URL (e.g., \"&\").",
            "type": "string"
          },
          "jdbcUrlQueryParamKeyValueDelimiter": {
            "description": "Separator of the key and value in a query parameter pair (e.g., \"=\").",
            "type": "string"
          },
          "standardizedName": {
            "description": "The plain text name for the driver (e.g., PostgreSQL).",
            "type": "string"
          },
          "statements": {
            "description": "List of supported statments for this driver configuration.",
            "items": {
              "enum": [
                "insert",
                "update",
                "upsert"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "updated": {
            "description": "ISO-8601 formatted time/date when this configuration was most recently updated.",
            "type": "string"
          }
        },
        "required": [
          "associatedAuthTypes",
          "className",
          "creator",
          "id",
          "jdbcFieldSchemas",
          "jdbcUrlPathDelimiter",
          "jdbcUrlPrefix",
          "jdbcUrlQueryDelimiter",
          "jdbcUrlQueryParamDelimiter",
          "jdbcUrlQueryParamKeyValueDelimiter",
          "standardizedName",
          "updated"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object"
}

Responses

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

Driver configuration details by configuration ID

Operation path: GET /api/v2/externalDriverConfigurations/{configurationId}/

Authentication requirements: BearerAuth

Retrieve the driver configuration with the specified ID.

Parameters

Name In Type Required Description
configurationId path string true The driver configuration ID.

Example responses

200 Response

{
  "properties": {
    "associatedAuthTypes": {
      "description": "The list of authentication types supported by this driver configuration.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "className": {
      "description": "Java class name of the driver to be used (e.g., org.postgresql.Driver).",
      "type": "string"
    },
    "creator": {
      "description": "The user ID of the creator of this configuration.",
      "type": "string"
    },
    "id": {
      "description": "The driver configuration ID.",
      "type": "string"
    },
    "jdbcFieldSchemas": {
      "description": "Description of which fields to show when creating a datastore, their defaults, and whether or not they are required.",
      "items": {
        "properties": {
          "choices": {
            "default": [],
            "description": "If non-empty, a list of all possible values for this parameter.",
            "items": {
              "description": "Possible value for this parameter.",
              "type": "string"
            },
            "type": "array"
          },
          "default": {
            "description": "Default value of the JDBC parameter.",
            "type": "string"
          },
          "description": {
            "default": "",
            "description": "Description of this parameter.",
            "type": "string"
          },
          "index": {
            "description": "Sort order within one `kind`.",
            "type": "integer"
          },
          "kind": {
            "description": "Use of this parameter in constructing the JDBC URL.",
            "enum": [
              "ADDRESS",
              "EXTENDED_PATH_PARAM",
              "PATH_PARAM",
              "QUERY_PARAM"
            ],
            "type": "string"
          },
          "name": {
            "description": "The name of the JDBC parameter.",
            "type": "string"
          },
          "required": {
            "description": "Whether or not the parameter is required for a connection.",
            "type": "boolean"
          },
          "visibleByDefault": {
            "description": "Whether or not the parameter should be shown in the UI by default.",
            "type": "boolean"
          }
        },
        "required": [
          "choices",
          "default",
          "description",
          "kind",
          "name",
          "required",
          "visibleByDefault"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "jdbcUrlPathDelimiter": {
      "description": "Separator of address from path in the JDBC URL (e.g., \"/\").",
      "type": "string"
    },
    "jdbcUrlPrefix": {
      "description": "Prefix of the JDBC URL (e.g., \"jdbc:mssql://\" or \"jdbc:oracle:thin:@\").",
      "type": "string"
    },
    "jdbcUrlQueryDelimiter": {
      "description": "Separator of path from the list of query parameters in the JDBC URL (e.g., \"?\").",
      "type": "string"
    },
    "jdbcUrlQueryParamDelimiter": {
      "description": "Separator of each set of query parameter key-value pairs in the JDBC URL (e.g., \"&\").",
      "type": "string"
    },
    "jdbcUrlQueryParamKeyValueDelimiter": {
      "description": "Separator of the key and value in a query parameter pair (e.g., \"=\").",
      "type": "string"
    },
    "standardizedName": {
      "description": "The plain text name for the driver (e.g., PostgreSQL).",
      "type": "string"
    },
    "statements": {
      "description": "List of supported statments for this driver configuration.",
      "items": {
        "enum": [
          "insert",
          "update",
          "upsert"
        ],
        "type": "string"
      },
      "type": "array"
    },
    "updated": {
      "description": "ISO-8601 formatted time/date when this configuration was most recently updated.",
      "type": "string"
    }
  },
  "required": [
    "associatedAuthTypes",
    "className",
    "creator",
    "id",
    "jdbcFieldSchemas",
    "jdbcUrlPathDelimiter",
    "jdbcUrlPrefix",
    "jdbcUrlQueryDelimiter",
    "jdbcUrlQueryParamDelimiter",
    "jdbcUrlQueryParamKeyValueDelimiter",
    "standardizedName",
    "updated"
  ],
  "type": "object"
}

Responses

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

Preview data

Operation path: POST /api/v2/jdbcDataPreview/

Authentication requirements: BearerAuth

Execute SQL against the selected JDBC URL and return a row-limited preview. Specify credentials and connection parameters in the JDBC URL and/or in the parameters field.

Body parameter

{
  "properties": {
    "jdbcUrl": {
      "description": "The JDBC URL.",
      "type": "string"
    },
    "maxRows": {
      "default": 1000,
      "description": "The row limit for the preview. The default is 1,000 rows, and a maximum of 10,000 per request.",
      "maximum": 10000,
      "minimum": 0,
      "type": "integer"
    },
    "parameters": {
      "description": "Optional connection parameters and credential properties as key-value pairs (e.g. user, password, ssl, timeout).",
      "type": "object",
      "x-versionadded": "v2.43"
    },
    "sql": {
      "description": "The SQL to execute (e.g. SELECT ...).",
      "maxLength": 320000,
      "type": "string"
    }
  },
  "required": [
    "jdbcUrl",
    "sql"
  ],
  "type": "object",
  "x-versionadded": "v2.43"
}

Parameters

Name In Type Required Description
body body JdbcDataPreview false none

Example responses

200 Response

{
  "properties": {
    "columns": {
      "description": "The list of columns for the returned set of records. Column order matches the order of values in a record.",
      "items": {
        "description": "The name of the column.",
        "type": "string"
      },
      "maxItems": 20000,
      "type": "array"
    },
    "records": {
      "description": "The list of records output by the query.",
      "items": {
        "description": "The list of values for a single database record, ordered as the columns are ordered.",
        "items": {
          "description": "The string representation of the column's value.",
          "type": "string"
        },
        "type": "array"
      },
      "maxItems": 10000,
      "type": "array"
    },
    "resultSchema": {
      "description": "The JDBC result schema.",
      "items": {
        "description": "The JDBC result column description.",
        "properties": {
          "dataType": {
            "description": "The data type of the column.",
            "type": "string"
          },
          "dataTypeInt": {
            "description": "The integer value of the column data type.",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "description": "The name of the column.",
            "type": "string"
          },
          "precision": {
            "description": "The precision of the column.",
            "type": [
              "integer",
              "null"
            ]
          },
          "scale": {
            "description": "The scale of the column.",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "dataType",
          "dataTypeInt",
          "name",
          "precision",
          "scale"
        ],
        "type": "object",
        "x-versionadded": "v2.43"
      },
      "maxItems": 20000,
      "type": "array"
    }
  },
  "required": [
    "columns",
    "records",
    "resultSchema"
  ],
  "type": "object",
  "x-versionadded": "v2.43"
}

Responses

Status Meaning Description Schema
200 OK Returns columns, records, and resultSchema matching the data preview shape. DataStorePreviewResponse

Schemas

ACLAdminConnectionBase

{
  "properties": {
    "adminEmail": {
      "default": null,
      "description": "The user to impersonate for the admin-level operations. Currently only applicable to Google Drive.",
      "type": [
        "string",
        "null"
      ]
    },
    "dataStoreId": {
      "description": "The ACL management connection ID.",
      "type": "string"
    },
    "domain": {
      "default": null,
      "description": "The custom domain for the connection. Currently only applicable to SharePoint.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "dataStoreId"
  ],
  "type": "object",
  "x-versionadded": "v2.43"
}

Properties

Name Type Required Restrictions Description
adminEmail string,null false The user to impersonate for the admin-level operations. Currently only applicable to Google Drive.
dataStoreId string true The ACL management connection ID.
domain string,null false The custom domain for the connection. Currently only applicable to SharePoint.

ACLAdminConnectionList

{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer",
      "x-versionadded": "v2.43"
    },
    "data": {
      "description": "The list of ACL management connections for the user organization.",
      "items": {
        "properties": {
          "adminEmail": {
            "default": null,
            "description": "The user to impersonate for the admin-level operations. Currently only applicable to Google Drive.",
            "type": [
              "string",
              "null"
            ]
          },
          "dataStoreId": {
            "description": "The ACL management connection ID.",
            "type": "string"
          },
          "domain": {
            "default": null,
            "description": "The custom domain for the connection. Currently only applicable to SharePoint.",
            "type": [
              "string",
              "null"
            ]
          },
          "externalConnectorType": {
            "description": "The data provider being configured.",
            "enum": [
              "gdrive",
              "sharepoint"
            ],
            "type": "string"
          }
        },
        "required": [
          "dataStoreId",
          "externalConnectorType"
        ],
        "type": "object",
        "x-versionadded": "v2.43"
      },
      "maxItems": 100,
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.43"
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.43"
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer",
      "x-versionadded": "v2.43"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object",
  "x-versionadded": "v2.43"
}

Properties

Name Type Required Restrictions Description
count integer false The number of items returned on this page.
data [ACLAdminConnectionResponse] true maxItems: 100
The list of ACL management connections for the user organization.
next string,null(uri) true The URL of the next page (if null, there is no next page).
previous string,null(uri) true The URL of the previous page (if null, there is no previous page).
totalCount integer true The total number of items across all pages.

ACLAdminConnectionResponse

{
  "properties": {
    "adminEmail": {
      "default": null,
      "description": "The user to impersonate for the admin-level operations. Currently only applicable to Google Drive.",
      "type": [
        "string",
        "null"
      ]
    },
    "dataStoreId": {
      "description": "The ACL management connection ID.",
      "type": "string"
    },
    "domain": {
      "default": null,
      "description": "The custom domain for the connection. Currently only applicable to SharePoint.",
      "type": [
        "string",
        "null"
      ]
    },
    "externalConnectorType": {
      "description": "The data provider being configured.",
      "enum": [
        "gdrive",
        "sharepoint"
      ],
      "type": "string"
    }
  },
  "required": [
    "dataStoreId",
    "externalConnectorType"
  ],
  "type": "object",
  "x-versionadded": "v2.43"
}

Properties

Name Type Required Restrictions Description
adminEmail string,null false The user to impersonate for the admin-level operations. Currently only applicable to Google Drive.
dataStoreId string true The ACL management connection ID.
domain string,null false The custom domain for the connection. Currently only applicable to SharePoint.
externalConnectorType string true The data provider being configured.

Enumerated Values

Property Value
externalConnectorType [gdrive, sharepoint]

AccessControl

{
  "properties": {
    "canShare": {
      "description": "Whether the recipient can share the role further.",
      "type": "boolean"
    },
    "role": {
      "description": "The role of the user on this entity.",
      "type": "string"
    },
    "userId": {
      "description": "The identifier of the user that has access to this entity.",
      "type": "string"
    },
    "username": {
      "description": "The username of the user that has access to the entity.",
      "type": "string"
    }
  },
  "required": [
    "canShare",
    "role",
    "userId",
    "username"
  ],
  "type": "object"
}

Properties

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

AccessControlWithGrant

{
  "properties": {
    "canShare": {
      "description": "Whether the recipient can share the role further.",
      "type": "boolean"
    },
    "id": {
      "description": "The identifier of the recipient.",
      "type": "string"
    },
    "name": {
      "description": "The name of the recipient.",
      "type": "string"
    },
    "role": {
      "description": "The role of the recipient on this entity.",
      "enum": [
        "ADMIN",
        "CONSUMER",
        "DATA_SCIENTIST",
        "EDITOR",
        "OBSERVER",
        "OWNER",
        "READ_ONLY",
        "READ_WRITE",
        "USER"
      ],
      "type": "string"
    },
    "shareRecipientType": {
      "description": "The type of the recipient.",
      "enum": [
        "user",
        "group",
        "organization"
      ],
      "type": "string"
    },
    "userFullName": {
      "description": "The full name of the recipient user.",
      "type": "string"
    }
  },
  "required": [
    "canShare",
    "id",
    "name",
    "role",
    "shareRecipientType"
  ],
  "type": "object"
}

Properties

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

Enumerated Values

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

AzureServicePrincipalCredentials

{
  "properties": {
    "azureTenantId": {
      "description": "Tenant ID of the Azure AD service principal.",
      "type": "string"
    },
    "clientId": {
      "description": "Client ID of the Azure AD service principal.",
      "type": "string"
    },
    "clientSecret": {
      "description": "Client Secret of the Azure AD service principal.",
      "type": "string"
    },
    "configId": {
      "description": "The ID of secure configurations of credentials shared by admin.",
      "type": "string",
      "x-versionadded": "v2.35"
    },
    "credentialType": {
      "description": "The type of these credentials, 'azure_service_principal' here.",
      "enum": [
        "azure_service_principal"
      ],
      "type": "string"
    }
  },
  "required": [
    "credentialType"
  ],
  "type": "object"
}

Properties

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

Enumerated Values

Property Value
credentialType azure_service_principal

BOXJWTCredentialsFields

{
  "properties": {
    "clientId": {
      "description": "Box JWT client ID.",
      "type": "string",
      "x-versionadded": "v2.41"
    },
    "clientSecret": {
      "description": "Box JWT client secret.",
      "type": "string",
      "x-versionadded": "v2.41"
    },
    "configId": {
      "description": "ID of secure configuration to share Box JWT credentials by admin.",
      "type": "string",
      "x-versionadded": "v2.41"
    },
    "credentialType": {
      "description": "Credentials type.",
      "enum": [
        "box_jwt"
      ],
      "type": "string",
      "x-versionadded": "v2.41"
    },
    "enterpriseId": {
      "description": "Box enterprise identifier.",
      "type": "string",
      "x-versionadded": "v2.41"
    },
    "passphrase": {
      "description": "Passphrase for the Box JWT private key.",
      "minLength": 1,
      "type": "string",
      "x-versionadded": "v2.41"
    },
    "privateKeyStr": {
      "description": "RSA private key for Box JWT.",
      "minLength": 1,
      "type": "string",
      "x-versionadded": "v2.41"
    },
    "publicKeyId": {
      "description": "Box public key identifier.",
      "type": "string",
      "x-versionadded": "v2.41"
    }
  },
  "required": [
    "credentialType"
  ],
  "type": "object",
  "x-versionadded": "v2.42"
}

Properties

Name Type Required Restrictions Description
clientId string false Box JWT client ID.
clientSecret string false Box JWT client secret.
configId string false ID of secure configuration to share Box JWT credentials by admin.
credentialType string true Credentials type.
enterpriseId string false Box enterprise identifier.
passphrase string false minLength: 1
minLength: 1
Passphrase for the Box JWT private key.
privateKeyStr string false minLength: 1
minLength: 1
RSA private key for Box JWT.
publicKeyId string false Box public key identifier.

Enumerated Values

Property Value
credentialType box_jwt

BasicCredentials

{
  "properties": {
    "credentialType": {
      "description": "The type of these credentials, 'basic' here.",
      "enum": [
        "basic"
      ],
      "type": "string"
    },
    "password": {
      "description": "The password for database authentication. The password is encrypted at rest and never saved or stored.",
      "type": "string"
    },
    "user": {
      "description": "The username for database authentication.",
      "type": "string"
    }
  },
  "required": [
    "credentialType",
    "password",
    "user"
  ],
  "type": "object"
}

Properties

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

Enumerated Values

Property Value
credentialType basic

ConnectorFieldSchema

{
  "properties": {
    "choices": {
      "description": "If non-empty, the list of all possible values for a parameter.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "default": {
      "description": "The default value of the parameter.",
      "type": "string"
    },
    "description": {
      "description": "The description of the parameter.",
      "type": "string"
    },
    "name": {
      "description": "The name of the parameter.",
      "type": "string"
    },
    "required": {
      "description": "Whether or not the parameter is required for a connection.",
      "type": "boolean"
    },
    "visibleByDefault": {
      "description": "Whether or not the parameter should be shown in the UI by default.",
      "type": "boolean"
    }
  },
  "required": [
    "choices",
    "default",
    "description",
    "name",
    "required",
    "visibleByDefault"
  ],
  "type": "object"
}

Properties

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

CreateCredentialsResponse

{
  "properties": {
    "creationDate": {
      "description": "ISO-8601 formatted date/time when these credentials were created.",
      "format": "date-time",
      "type": "string"
    },
    "credentialId": {
      "description": "ID of these credentials.",
      "type": "string"
    },
    "credentialType": {
      "default": "basic",
      "description": "Type of credentials.",
      "enum": [
        "adls_gen2_oauth",
        "api_token",
        "azure",
        "azure_oauth",
        "azure_service_principal",
        "basic",
        "bearer",
        "box_jwt",
        "databricks_access_token_account",
        "databricks_service_principal_account",
        "external_oauth_provider",
        "gcp",
        "oauth",
        "rsa",
        "s3",
        "sap_oauth",
        "snowflake_key_pair_user_account",
        "snowflake_oauth_user_account",
        "tableau_access_token"
      ],
      "type": "string"
    },
    "description": {
      "description": "Description of these credentials.",
      "type": "string"
    },
    "name": {
      "description": "Name of these credentials.",
      "type": "string"
    }
  },
  "required": [
    "creationDate",
    "credentialId",
    "name"
  ],
  "type": "object"
}

Properties

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

Enumerated Values

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

CreateDataStageRequest

{
  "properties": {
    "filename": {
      "description": "The filename associated with the stage.",
      "type": "string"
    }
  },
  "required": [
    "filename"
  ],
  "type": "object",
  "x-versionadded": "v2.35"
}

Properties

Name Type Required Restrictions Description
filename string true The filename associated with the stage.

CreateDataStageResponse

{
  "properties": {
    "id": {
      "description": "The ID of the data stage object.",
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "type": "object",
  "x-versionadded": "v2.35"
}

Properties

Name Type Required Restrictions Description
id string true The ID of the data stage object.

CreateDriverRequest

{
  "properties": {
    "baseNames": {
      "description": "Original file name(s) of the uploaded JAR file(s). If there are multiple JAR files required for the driver, each of the original file names should be present in the list in the same order as found in 'localJarUrls'",
      "items": {
        "description": "Original file name of the uploaded JAR file.",
        "type": "string"
      },
      "type": "array"
    },
    "canonicalName": {
      "description": "User-friendly driver name.",
      "type": "string"
    },
    "className": {
      "description": "Driver class name. For example 'com.amazon.redshift.jdbc.Driver'",
      "type": [
        "string",
        "null"
      ]
    },
    "configurationId": {
      "description": "Driver configuration ID if it was provided during driver upload.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.18"
    },
    "databaseDriver": {
      "description": "The type of database of the driver. Only required of 'dr-database-v1' drivers.",
      "enum": [
        "bigquery-v1",
        "databricks-v1",
        "datasphere-v1",
        "trino-v1"
      ],
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.30"
    },
    "localJarUrls": {
      "description": "File path(s) for the driver files.This path is returned in the response as 'local_url' by the driverUpload route.If there are multiple JAR files required for the driver, each uploaded JAR must be present in this list. If specified, values will replace any previous settings.",
      "items": {
        "description": "File path for the driver file. This path is returned by the driverUpload route in the 'local_url' response.",
        "type": "string"
      },
      "minItems": 1,
      "type": "array"
    },
    "type": {
      "default": "jdbc",
      "description": "Driver type. Either 'jdbc' or 'dr-database-v1'.",
      "enum": [
        "dr-database-v1",
        "jdbc"
      ],
      "type": "string",
      "x-versionadded": "v2.30"
    },
    "version": {
      "description": "Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.",
      "type": "string",
      "x-versionadded": "v2.18"
    }
  },
  "type": "object"
}

Properties

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

Enumerated Values

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

CredentialsListResponse

{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer"
    },
    "data": {
      "description": "List of credentials.",
      "items": {
        "properties": {
          "creationDate": {
            "description": "ISO-8601 formatted date/time when these credentials were created.",
            "format": "date-time",
            "type": "string"
          },
          "credentialId": {
            "description": "ID of these credentials.",
            "type": "string"
          },
          "credentialType": {
            "default": "basic",
            "description": "Type of credentials.",
            "enum": [
              "adls_gen2_oauth",
              "api_token",
              "azure",
              "azure_oauth",
              "azure_service_principal",
              "basic",
              "bearer",
              "box_jwt",
              "databricks_access_token_account",
              "databricks_service_principal_account",
              "external_oauth_provider",
              "gcp",
              "oauth",
              "rsa",
              "s3",
              "sap_oauth",
              "snowflake_key_pair_user_account",
              "snowflake_oauth_user_account",
              "tableau_access_token"
            ],
            "type": "string"
          },
          "description": {
            "description": "Description of these credentials.",
            "type": "string"
          },
          "name": {
            "description": "Name of these credentials.",
            "type": "string"
          }
        },
        "required": [
          "creationDate",
          "credentialId",
          "name"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object"
}

Properties

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

DRConnectorV1Create

{
  "properties": {
    "connectorId": {
      "description": "The ID of the connector.",
      "type": "string"
    },
    "fields": {
      "description": "The connector fields.",
      "items": {
        "properties": {
          "id": {
            "description": "The field name.",
            "type": "string"
          },
          "name": {
            "description": "The user-friendly displayable field name.",
            "type": "string"
          },
          "value": {
            "description": "The field value.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "connectorId",
    "fields"
  ],
  "type": "object"
}

Properties

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

DRConnectorV1DataSource

{
  "properties": {
    "dataStoreId": {
      "description": "The data store ID for this data source.",
      "type": "string",
      "x-versionadded": "v2.22"
    },
    "filter": {
      "description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
      "maxLength": 320000,
      "type": "string",
      "x-versionadded": "v2.39"
    },
    "path": {
      "description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
      "type": "string",
      "x-versionadded": "v2.22"
    }
  },
  "required": [
    "dataStoreId",
    "path"
  ],
  "type": "object"
}

Properties

Name Type Required Restrictions Description
dataStoreId string true The data store ID for this data source.
filter string false maxLength: 320000
An optional filter string for narrowing results, which overrides path when specified. Only supported by the Jira connector.
path string true The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like /foldername/filename.csv.

DRConnectorV1Details

{
  "properties": {
    "connectorId": {
      "description": "The ID of the connector.",
      "type": "string"
    },
    "fieldSchemas": {
      "description": "The connector field schemas.",
      "items": {
        "properties": {
          "choices": {
            "description": "If non-empty, the list of all possible values for a parameter.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "default": {
            "description": "The default value of the parameter.",
            "type": "string"
          },
          "description": {
            "description": "The description of the parameter.",
            "type": "string"
          },
          "name": {
            "description": "The name of the parameter.",
            "type": "string"
          },
          "required": {
            "description": "Whether or not the parameter is required for a connection.",
            "type": "boolean"
          },
          "visibleByDefault": {
            "description": "Whether or not the parameter should be shown in the UI by default.",
            "type": "boolean"
          }
        },
        "required": [
          "choices",
          "default",
          "description",
          "name",
          "required",
          "visibleByDefault"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "fields": {
      "description": "The connector fields.",
      "items": {
        "properties": {
          "id": {
            "description": "The field name.",
            "type": "string"
          },
          "name": {
            "description": "The user-friendly displayable field name.",
            "type": "string"
          },
          "value": {
            "description": "The field value.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "connectorId",
    "fields"
  ],
  "type": "object"
}

Properties

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

DRConnectorV1Field

{
  "properties": {
    "id": {
      "description": "The field name.",
      "type": "string"
    },
    "name": {
      "description": "The user-friendly displayable field name.",
      "type": "string"
    },
    "value": {
      "description": "The field value.",
      "type": "string"
    }
  },
  "required": [
    "name",
    "value"
  ],
  "type": "object"
}

Properties

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

DRConnectorV1Update

{
  "properties": {
    "fields": {
      "description": "The connector fields.",
      "items": {
        "properties": {
          "id": {
            "description": "The field name.",
            "type": "string"
          },
          "name": {
            "description": "The user-friendly displayable field name.",
            "type": "string"
          },
          "value": {
            "description": "The field value.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "type": "object"
}

Properties

Name Type Required Restrictions Description
fields [DRConnectorV1Field] false The connector fields.

DataSourceCreate

{
  "properties": {
    "canonicalName": {
      "description": "The data source canonical name.",
      "type": "string"
    },
    "params": {
      "description": "The data source configuration.",
      "oneOf": [
        {
          "properties": {
            "catalog": {
              "description": "The catalog name in the database if supported.",
              "maxLength": 256,
              "type": "string"
            },
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string"
            },
            "fetchSize": {
              "description": "The user-specified fetch size.",
              "maximum": 20000,
              "minimum": 1,
              "type": "integer"
            },
            "partitionColumn": {
              "description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
              "type": "string"
            },
            "schema": {
              "description": "The schema associated with the table or view in the database if the data source is not query based.",
              "maxLength": 256,
              "type": "string"
            },
            "table": {
              "description": "The table or view name in the database if the data source is not query based.",
              "maxLength": 256,
              "type": "string"
            }
          },
          "required": [
            "dataStoreId",
            "table"
          ],
          "type": "object"
        },
        {
          "properties": {
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string"
            },
            "fetchSize": {
              "description": "The user-specified fetch size.",
              "maximum": 20000,
              "minimum": 1,
              "type": "integer"
            },
            "query": {
              "description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
              "maxLength": 320000,
              "type": "string"
            }
          },
          "required": [
            "dataStoreId",
            "query"
          ],
          "type": "object"
        },
        {
          "properties": {
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string",
              "x-versionadded": "v2.22"
            },
            "filter": {
              "description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
              "maxLength": 320000,
              "type": "string",
              "x-versionadded": "v2.39"
            },
            "path": {
              "description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
              "type": "string",
              "x-versionadded": "v2.22"
            }
          },
          "required": [
            "dataStoreId",
            "path"
          ],
          "type": "object"
        }
      ]
    },
    "type": {
      "description": "The data source type.",
      "enum": [
        "dr-connector-v1",
        "dr-database-v1",
        "jdbc"
      ],
      "type": "string"
    }
  },
  "required": [
    "canonicalName",
    "params",
    "type"
  ],
  "type": "object"
}

Properties

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

oneOf

Name Type Required Restrictions Description
» anonymous DatabaseTableDataSource false none

xor

Name Type Required Restrictions Description
» anonymous DatabaseQueryDataSource false none

xor

Name Type Required Restrictions Description
» anonymous DRConnectorV1DataSource false none

continued

Name Type Required Restrictions Description
type string true The data source type.

Enumerated Values

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

DataSourceDescribePermissionsResponse

{
  "properties": {
    "canCreatePredictions": {
      "description": "True if the user can create predictions from the data source.",
      "type": "boolean"
    },
    "canCreateProject": {
      "description": "True if the user can create project from the data source.",
      "type": "boolean"
    },
    "canDelete": {
      "description": "True if the user can delete the data source.",
      "type": "boolean"
    },
    "canEdit": {
      "description": "True if the user can edit data source info.",
      "type": "boolean"
    },
    "canSetRoles": {
      "description": "Roles the user can grant or revoke from other users, groups, or organizations.",
      "items": {
        "description": "The role the user can grant or revoke from users, groups or organizations.",
        "enum": [
          "OWNER",
          "EDITOR",
          "CONSUMER"
        ],
        "type": "string"
      },
      "type": "array"
    },
    "canShare": {
      "description": "True if the user can share the data source.",
      "type": "boolean"
    },
    "canView": {
      "description": "True if the user can view data source info.",
      "type": "boolean"
    },
    "dataSourceId": {
      "description": "The ID of the data source.",
      "type": "string"
    },
    "userId": {
      "description": "The ID of the user identified by username.",
      "type": "string"
    },
    "username": {
      "description": "`username` of a user with access to this data source.",
      "type": "string"
    }
  },
  "required": [
    "canCreatePredictions",
    "canCreateProject",
    "canDelete",
    "canEdit",
    "canSetRoles",
    "canShare",
    "canView",
    "dataSourceId",
    "userId",
    "username"
  ],
  "type": "object"
}

Properties

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

DataSourceInList

{
  "properties": {
    "canDelete": {
      "description": "True if the user can delete the data source.",
      "type": "boolean",
      "x-versionadded": "v2.23"
    },
    "canShare": {
      "description": "True if the user can share the data source.",
      "type": "boolean",
      "x-versionadded": "v2.22"
    },
    "canonicalName": {
      "description": "The data source canonical name.",
      "type": "string"
    },
    "creator": {
      "description": "The ID of the user who created the data source.",
      "type": "string"
    },
    "driverClassType": {
      "description": "The type of driver used to create this data source.",
      "type": "string"
    },
    "id": {
      "description": "The data source ID.",
      "type": "string"
    },
    "params": {
      "description": "The data source configuration.",
      "oneOf": [
        {
          "properties": {
            "catalog": {
              "description": "The catalog name in the database if supported.",
              "maxLength": 256,
              "type": "string"
            },
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string"
            },
            "fetchSize": {
              "description": "The user-specified fetch size.",
              "maximum": 20000,
              "minimum": 1,
              "type": "integer"
            },
            "partitionColumn": {
              "description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
              "type": "string"
            },
            "schema": {
              "description": "The schema associated with the table or view in the database if the data source is not query based.",
              "maxLength": 256,
              "type": "string"
            },
            "table": {
              "description": "The table or view name in the database if the data source is not query based.",
              "maxLength": 256,
              "type": "string"
            }
          },
          "required": [
            "dataStoreId",
            "table"
          ],
          "type": "object"
        },
        {
          "properties": {
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string"
            },
            "fetchSize": {
              "description": "The user-specified fetch size.",
              "maximum": 20000,
              "minimum": 1,
              "type": "integer"
            },
            "query": {
              "description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
              "maxLength": 320000,
              "type": "string"
            }
          },
          "required": [
            "dataStoreId",
            "query"
          ],
          "type": "object"
        },
        {
          "properties": {
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string",
              "x-versionadded": "v2.22"
            },
            "filter": {
              "description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
              "maxLength": 320000,
              "type": "string",
              "x-versionadded": "v2.39"
            },
            "path": {
              "description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
              "type": "string",
              "x-versionadded": "v2.22"
            }
          },
          "required": [
            "dataStoreId",
            "path"
          ],
          "type": "object"
        }
      ]
    },
    "role": {
      "description": "The role of the user making the request on this data source.",
      "enum": [
        "CONSUMER",
        "EDITOR",
        "OWNER"
      ],
      "type": "string"
    },
    "type": {
      "description": "The data source type.",
      "enum": [
        "dr-connector-v1",
        "dr-database-v1",
        "jdbc"
      ],
      "type": "string"
    },
    "updated": {
      "description": "The ISO 8601-formatted date/time of the data source update.",
      "type": "string"
    }
  },
  "required": [
    "canDelete",
    "canShare",
    "canonicalName",
    "creator",
    "id",
    "params",
    "role",
    "type",
    "updated"
  ],
  "type": "object"
}

Properties

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

oneOf

Name Type Required Restrictions Description
» anonymous DatabaseTableDataSource false none

xor

Name Type Required Restrictions Description
» anonymous DatabaseQueryDataSource false none

xor

Name Type Required Restrictions Description
» anonymous DRConnectorV1DataSource false none

continued

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

Enumerated Values

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

DataSourceListResponse

{
  "properties": {
    "data": {
      "description": "The list of data sources.",
      "items": {
        "properties": {
          "canDelete": {
            "description": "True if the user can delete the data source.",
            "type": "boolean",
            "x-versionadded": "v2.23"
          },
          "canShare": {
            "description": "True if the user can share the data source.",
            "type": "boolean",
            "x-versionadded": "v2.22"
          },
          "canonicalName": {
            "description": "The data source canonical name.",
            "type": "string"
          },
          "creator": {
            "description": "The ID of the user who created the data source.",
            "type": "string"
          },
          "driverClassType": {
            "description": "The type of driver used to create this data source.",
            "type": "string"
          },
          "id": {
            "description": "The data source ID.",
            "type": "string"
          },
          "params": {
            "description": "The data source configuration.",
            "oneOf": [
              {
                "properties": {
                  "catalog": {
                    "description": "The catalog name in the database if supported.",
                    "maxLength": 256,
                    "type": "string"
                  },
                  "dataStoreId": {
                    "description": "The data store ID for this data source.",
                    "type": "string"
                  },
                  "fetchSize": {
                    "description": "The user-specified fetch size.",
                    "maximum": 20000,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "partitionColumn": {
                    "description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
                    "type": "string"
                  },
                  "schema": {
                    "description": "The schema associated with the table or view in the database if the data source is not query based.",
                    "maxLength": 256,
                    "type": "string"
                  },
                  "table": {
                    "description": "The table or view name in the database if the data source is not query based.",
                    "maxLength": 256,
                    "type": "string"
                  }
                },
                "required": [
                  "dataStoreId",
                  "table"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "dataStoreId": {
                    "description": "The data store ID for this data source.",
                    "type": "string"
                  },
                  "fetchSize": {
                    "description": "The user-specified fetch size.",
                    "maximum": 20000,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "query": {
                    "description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
                    "maxLength": 320000,
                    "type": "string"
                  }
                },
                "required": [
                  "dataStoreId",
                  "query"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "dataStoreId": {
                    "description": "The data store ID for this data source.",
                    "type": "string",
                    "x-versionadded": "v2.22"
                  },
                  "filter": {
                    "description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
                    "maxLength": 320000,
                    "type": "string",
                    "x-versionadded": "v2.39"
                  },
                  "path": {
                    "description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
                    "type": "string",
                    "x-versionadded": "v2.22"
                  }
                },
                "required": [
                  "dataStoreId",
                  "path"
                ],
                "type": "object"
              }
            ]
          },
          "role": {
            "description": "The role of the user making the request on this data source.",
            "enum": [
              "CONSUMER",
              "EDITOR",
              "OWNER"
            ],
            "type": "string"
          },
          "type": {
            "description": "The data source type.",
            "enum": [
              "dr-connector-v1",
              "dr-database-v1",
              "jdbc"
            ],
            "type": "string"
          },
          "updated": {
            "description": "The ISO 8601-formatted date/time of the data source update.",
            "type": "string"
          }
        },
        "required": [
          "canDelete",
          "canShare",
          "canonicalName",
          "creator",
          "id",
          "params",
          "role",
          "type",
          "updated"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "data"
  ],
  "type": "object"
}

Properties

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

DataSourceRetrieveResponse

{
  "properties": {
    "canonicalName": {
      "description": "The data source canonical name.",
      "type": "string"
    },
    "creator": {
      "description": "The ID of the user who created the data source.",
      "type": "string"
    },
    "driverClassType": {
      "description": "The type of driver used to create this data source.",
      "type": "string"
    },
    "id": {
      "description": "The data source ID.",
      "type": "string"
    },
    "params": {
      "description": "The data source configuration.",
      "oneOf": [
        {
          "properties": {
            "catalog": {
              "description": "The catalog name in the database if supported.",
              "maxLength": 256,
              "type": "string"
            },
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string"
            },
            "fetchSize": {
              "description": "The user-specified fetch size.",
              "maximum": 20000,
              "minimum": 1,
              "type": "integer"
            },
            "partitionColumn": {
              "description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
              "type": "string"
            },
            "schema": {
              "description": "The schema associated with the table or view in the database if the data source is not query based.",
              "maxLength": 256,
              "type": "string"
            },
            "table": {
              "description": "The table or view name in the database if the data source is not query based.",
              "maxLength": 256,
              "type": "string"
            }
          },
          "required": [
            "dataStoreId",
            "table"
          ],
          "type": "object"
        },
        {
          "properties": {
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string"
            },
            "fetchSize": {
              "description": "The user-specified fetch size.",
              "maximum": 20000,
              "minimum": 1,
              "type": "integer"
            },
            "query": {
              "description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
              "maxLength": 320000,
              "type": "string"
            }
          },
          "required": [
            "dataStoreId",
            "query"
          ],
          "type": "object"
        },
        {
          "properties": {
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string",
              "x-versionadded": "v2.22"
            },
            "filter": {
              "description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
              "maxLength": 320000,
              "type": "string",
              "x-versionadded": "v2.39"
            },
            "path": {
              "description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
              "type": "string",
              "x-versionadded": "v2.22"
            }
          },
          "required": [
            "dataStoreId",
            "path"
          ],
          "type": "object"
        }
      ]
    },
    "role": {
      "description": "The role of the user making the request on this data source.",
      "enum": [
        "CONSUMER",
        "EDITOR",
        "OWNER"
      ],
      "type": "string"
    },
    "type": {
      "description": "The data source type.",
      "enum": [
        "dr-connector-v1",
        "dr-database-v1",
        "jdbc"
      ],
      "type": "string"
    },
    "updated": {
      "description": "The ISO 8601-formatted date/time of the data source update.",
      "type": "string"
    }
  },
  "required": [
    "canonicalName",
    "creator",
    "id",
    "params",
    "role",
    "type",
    "updated"
  ],
  "type": "object"
}

Properties

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

oneOf

Name Type Required Restrictions Description
» anonymous DatabaseTableDataSource false none

xor

Name Type Required Restrictions Description
» anonymous DatabaseQueryDataSource false none

xor

Name Type Required Restrictions Description
» anonymous DRConnectorV1DataSource false none

continued

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

Enumerated Values

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

DataSourceUpdate

{
  "properties": {
    "canonicalName": {
      "description": "The data source's canonical name.",
      "type": "string"
    },
    "params": {
      "description": "Data source configuration.",
      "oneOf": [
        {
          "properties": {
            "catalog": {
              "description": "The catalog name in the database if supported.",
              "maxLength": 256,
              "type": "string"
            },
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string"
            },
            "fetchSize": {
              "description": "The user-specified fetch size.",
              "maximum": 20000,
              "minimum": 1,
              "type": "integer"
            },
            "partitionColumn": {
              "description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
              "type": "string"
            },
            "schema": {
              "description": "The schema associated with the table or view in the database if supported.",
              "maxLength": 256,
              "type": "string"
            },
            "table": {
              "description": "The table or view name in the database.",
              "maxLength": 256,
              "type": "string"
            }
          },
          "type": "object"
        },
        {
          "properties": {
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string"
            },
            "fetchSize": {
              "description": "The user-specified fetch size.",
              "maximum": 20000,
              "minimum": 1,
              "type": "integer"
            },
            "query": {
              "description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
              "maxLength": 320000,
              "type": "string"
            }
          },
          "type": "object"
        },
        {
          "properties": {
            "dataStoreId": {
              "description": "The data store ID for this data source.",
              "type": "string",
              "x-versionadded": "v2.22"
            },
            "filter": {
              "description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
              "maxLength": 320000,
              "type": "string",
              "x-versionadded": "v2.39"
            },
            "path": {
              "description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
              "type": "string",
              "x-versionadded": "v2.22"
            }
          },
          "type": "object"
        }
      ]
    }
  },
  "type": "object"
}

Properties

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

oneOf

Name Type Required Restrictions Description
» anonymous OptionalDatabaseTableDataSource false none

xor

Name Type Required Restrictions Description
» anonymous OptionalDatabaseQueryDataSource false none

xor

Name Type Required Restrictions Description
» anonymous OptionalDRConnectorV1DataSource false none

DataStageFinalizeResponse

{
  "properties": {
    "parts": {
      "description": "The size of the part.",
      "items": {
        "properties": {
          "checksum": {
            "description": "The checksum of the part.",
            "type": "string"
          },
          "number": {
            "description": "The number of the part.",
            "type": "integer"
          },
          "size": {
            "description": "The size of the part.",
            "type": "integer"
          }
        },
        "required": [
          "checksum",
          "number",
          "size"
        ],
        "type": "object",
        "x-versionadded": "v2.35"
      },
      "maxItems": 1000,
      "minItems": 1,
      "type": "array"
    }
  },
  "required": [
    "parts"
  ],
  "type": "object",
  "x-versionadded": "v2.35"
}

Properties

Name Type Required Restrictions Description
parts [PartFinalizeResponse] true maxItems: 1000
minItems: 1
The size of the part.

DataStoreColumnResponse

{
  "properties": {
    "dataType": {
      "description": "The data type of the column.",
      "type": "string"
    },
    "name": {
      "description": "The name of the column.",
      "type": "string"
    },
    "precision": {
      "description": "The precision of the column.",
      "type": [
        "string",
        "null"
      ]
    },
    "scale": {
      "description": "The scale of the column.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "dataType",
    "name",
    "precision",
    "scale"
  ],
  "type": "object"
}

Properties

Name Type Required Restrictions Description
dataType string true The data type of the column.
name string true The name of the column.
precision string,null true The precision of the column.
scale string,null true The scale of the column.

DataStoreColumnsInfoList

{
  "properties": {
    "catalog": {
      "description": "The name of the specified database catalog.",
      "type": [
        "string",
        "null"
      ]
    },
    "credentialId": {
      "description": "The ID of the set of credentials to use instead of username and password.",
      "type": "string",
      "x-versionadded": "v2.19"
    },
    "password": {
      "description": "The password for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    },
    "schema": {
      "description": "The schema name.",
      "type": "string"
    },
    "table": {
      "description": "The table name.",
      "type": "string"
    },
    "useKerberos": {
      "default": false,
      "description": "Whether to use Kerberos for data store authentication.",
      "type": "boolean",
      "x-versionadded": "v2.19"
    },
    "user": {
      "description": "The username for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    }
  },
  "required": [
    "table"
  ],
  "type": "object"
}

Properties

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

DataStoreColumnsInfoListResponse

{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer"
    },
    "data": {
      "description": "The list of data store columns metadata.",
      "items": {
        "properties": {
          "columnDefaultValue": {
            "description": "The default value of the column.",
            "type": [
              "string",
              "null"
            ]
          },
          "comment": {
            "description": "The comment of the column.",
            "type": [
              "string",
              "null"
            ]
          },
          "dataType": {
            "description": "The data type of the column.",
            "type": "string"
          },
          "dataTypeInt": {
            "description": "The integer value of the column data type.",
            "type": "integer"
          },
          "exportedKeys": {
            "description": "The foreign key columns that reference this table's primary key columns.",
            "items": {
              "properties": {
                "foreignKey": {
                  "description": "The referred primary key.",
                  "properties": {
                    "catalog": {
                      "description": "The catalog name.",
                      "type": "string"
                    },
                    "column": {
                      "description": "The column name.",
                      "type": "string"
                    },
                    "schema": {
                      "description": "The schema name.",
                      "type": "string"
                    },
                    "table": {
                      "description": "The table name.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "catalog",
                    "column",
                    "table"
                  ],
                  "type": "object"
                },
                "keyType": {
                  "description": "The type of this key.",
                  "enum": [
                    "1",
                    "2",
                    "3"
                  ],
                  "type": "string"
                },
                "name": {
                  "description": "The name of this key.",
                  "type": "string"
                },
                "primaryKey": {
                  "description": "The referred primary key.",
                  "properties": {
                    "catalog": {
                      "description": "The catalog name.",
                      "type": "string"
                    },
                    "column": {
                      "description": "The column name.",
                      "type": "string"
                    },
                    "schema": {
                      "description": "The schema name.",
                      "type": "string"
                    },
                    "table": {
                      "description": "The table name.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "catalog",
                    "column",
                    "table"
                  ],
                  "type": "object"
                }
              },
              "required": [
                "keyType",
                "primaryKey"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "importedKeys": {
            "description": "The primary key columns that are referenced by this table's foreign key columns.",
            "items": {
              "properties": {
                "foreignKey": {
                  "description": "The referred primary key.",
                  "properties": {
                    "catalog": {
                      "description": "The catalog name.",
                      "type": "string"
                    },
                    "column": {
                      "description": "The column name.",
                      "type": "string"
                    },
                    "schema": {
                      "description": "The schema name.",
                      "type": "string"
                    },
                    "table": {
                      "description": "The table name.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "catalog",
                    "column",
                    "table"
                  ],
                  "type": "object"
                },
                "keyType": {
                  "description": "The type of this key.",
                  "enum": [
                    "1",
                    "2",
                    "3"
                  ],
                  "type": "string"
                },
                "name": {
                  "description": "The name of this key.",
                  "type": "string"
                },
                "primaryKey": {
                  "description": "The referred primary key.",
                  "properties": {
                    "catalog": {
                      "description": "The catalog name.",
                      "type": "string"
                    },
                    "column": {
                      "description": "The column name.",
                      "type": "string"
                    },
                    "schema": {
                      "description": "The schema name.",
                      "type": "string"
                    },
                    "table": {
                      "description": "The table name.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "catalog",
                    "column",
                    "table"
                  ],
                  "type": "object"
                }
              },
              "required": [
                "keyType",
                "primaryKey"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "isInPrimaryKey": {
            "description": "True if the column is in the primary key.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "isNullable": {
            "description": "Whether the column values can be null.",
            "enum": [
              "NO",
              "UNKNOWN",
              "YES"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "The name of the column.",
            "type": "string"
          },
          "precision": {
            "description": "The precision of the column.",
            "type": [
              "integer",
              "null"
            ]
          },
          "primaryKeys": {
            "description": "The primary key columns of the table.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "scale": {
            "description": "The scale of the column.",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "columnDefaultValue",
          "comment",
          "dataType",
          "dataTypeInt",
          "exportedKeys",
          "importedKeys",
          "isInPrimaryKey",
          "isNullable",
          "name",
          "precision",
          "primaryKeys",
          "scale"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object"
}

Properties

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

DataStoreColumnsList

{
  "properties": {
    "catalog": {
      "description": "The name of the specified database catalog.",
      "type": [
        "string",
        "null"
      ]
    },
    "credentialId": {
      "description": "The ID of the credential mapping.",
      "type": "string"
    },
    "password": {
      "description": "The password for the db connection.",
      "type": "string"
    },
    "query": {
      "description": "The schema query.",
      "type": "string"
    },
    "schema": {
      "description": "The schema name.",
      "type": "string"
    },
    "table": {
      "description": "The table name.",
      "type": "string"
    },
    "user": {
      "description": "The username for the db connection.",
      "type": "string"
    }
  },
  "type": "object"
}

Properties

Name Type Required Restrictions Description
catalog string,null false The name of the specified database catalog.
credentialId string false The ID of the credential mapping.
password string false The password for the db connection.
query string false The schema query.
schema string false The schema name.
table string false The table name.
user string false The username for the db connection.

DataStoreColumnsListResponse

{
  "properties": {
    "columns": {
      "description": "The list of data store columns.",
      "items": {
        "properties": {
          "dataType": {
            "description": "The data type of the column.",
            "type": "string"
          },
          "name": {
            "description": "The name of the column.",
            "type": "string"
          },
          "precision": {
            "description": "The precision of the column.",
            "type": [
              "string",
              "null"
            ]
          },
          "scale": {
            "description": "The scale of the column.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "dataType",
          "name",
          "precision",
          "scale"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "columns"
  ],
  "type": "object"
}

Properties

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

DataStoreCreate

{
  "properties": {
    "canonicalName": {
      "description": "The user-friendly name of the data store.",
      "type": "string"
    },
    "params": {
      "description": "The data store configuration.",
      "oneOf": [
        {
          "properties": {
            "driverId": {
              "description": "Driver ID.",
              "type": "string"
            },
            "jdbcFields": {
              "description": "The fields used to create the JDBC URL, in the form of a JSON object where parameter name/value pairs are the items in the object. For example: `{\"address\": localhost:5432, \"database\": \"fooBar\", \"connectTimeout\": 10}`. In most cases, all keys in `jdbcFields` should be defined by a schema listed in `jdbcFieldSchemas` from `DriverConfiguration`. The request will be rejected if there are required parameters (as defined by `jdbcFieldSchemas`) that are not provided.",
              "items": {
                "properties": {
                  "name": {
                    "description": "The name of the JDBC parameter.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The value of the JDBC parameter.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "maxItems": 100,
              "type": "array",
              "x-versionadded": "v2.18"
            },
            "jdbcUrl": {
              "description": "The JDBC URL.",
              "type": "string"
            }
          },
          "required": [
            "driverId"
          ],
          "type": "object"
        },
        {
          "properties": {
            "connectorId": {
              "description": "The ID of the connector.",
              "type": "string"
            },
            "fields": {
              "description": "The connector fields.",
              "items": {
                "properties": {
                  "id": {
                    "description": "The field name.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The user-friendly displayable field name.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The field value.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "type": "array"
            }
          },
          "required": [
            "connectorId",
            "fields"
          ],
          "type": "object"
        },
        {
          "properties": {
            "driverId": {
              "description": "The database driver ID.",
              "type": "string"
            },
            "fields": {
              "description": "The database driver fields.",
              "items": {
                "properties": {
                  "id": {
                    "description": "The field name.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The user-friendly displayable field name.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The field value.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "type": "array"
            }
          },
          "required": [
            "driverId",
            "fields"
          ],
          "type": "object"
        }
      ]
    },
    "type": {
      "description": "The data store type.",
      "enum": [
        "dr-connector-v1",
        "dr-database-v1",
        "jdbc"
      ],
      "type": "string"
    }
  },
  "required": [
    "canonicalName",
    "params",
    "type"
  ],
  "type": "object"
}

Properties

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

oneOf

Name Type Required Restrictions Description
» anonymous JDBCDataStoreCreate false none

xor

Name Type Required Restrictions Description
» anonymous DRConnectorV1Create false none

xor

Name Type Required Restrictions Description
» anonymous DatabaseDataStoreCreate false none

continued

Name Type Required Restrictions Description
type string true The data store type.

Enumerated Values

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

DataStoreCredentials

{
  "properties": {
    "credentialId": {
      "description": "The ID of the set of credentials to use instead of username and password.",
      "type": "string",
      "x-versionadded": "v2.19"
    },
    "password": {
      "description": "The password for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    },
    "useKerberos": {
      "default": false,
      "description": "Whether to use Kerberos for data store authentication.",
      "type": "boolean",
      "x-versionadded": "v2.19"
    },
    "user": {
      "description": "The username for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    }
  },
  "type": "object"
}

Properties

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

DataStoreCredentialsWithCredentialsTypeSupport

{
  "properties": {
    "credentialData": {
      "description": "The type of credentials to use with the data store.",
      "oneOf": [
        {
          "properties": {
            "credentialType": {
              "description": "The type of these credentials, 'basic' here.",
              "enum": [
                "basic"
              ],
              "type": "string"
            },
            "password": {
              "description": "The password for database authentication. The password is encrypted at rest and never saved or stored.",
              "type": "string"
            },
            "user": {
              "description": "The username for database authentication.",
              "type": "string"
            }
          },
          "required": [
            "credentialType",
            "password",
            "user"
          ],
          "type": "object"
        },
        {
          "properties": {
            "awsAccessKeyId": {
              "description": "The S3 AWS access key ID. Required if configId is not specified.Cannot include this parameter if configId is specified.",
              "type": "string"
            },
            "awsSecretAccessKey": {
              "description": "The S3 AWS secret access key. Required if configId is not specified.Cannot include this parameter if configId is specified.",
              "type": "string"
            },
            "awsSessionToken": {
              "default": null,
              "description": "The S3 AWS session token for AWS temporary credentials.Cannot include this parameter if configId is specified.",
              "type": [
                "string",
                "null"
              ]
            },
            "configId": {
              "description": "The ID of secure configurations of credentials shared by admin. If specified, cannot include awsAccessKeyId, awsSecretAccessKey or awsSessionToken.",
              "type": "string"
            },
            "credentialType": {
              "description": "The type of these credentials, 's3' here.",
              "enum": [
                "s3"
              ],
              "type": "string"
            }
          },
          "required": [
            "credentialType"
          ],
          "type": "object"
        },
        {
          "properties": {
            "credentialType": {
              "description": "The type of these credentials, 'oauth' here.",
              "enum": [
                "oauth"
              ],
              "type": "string"
            },
            "oauthAccessToken": {
              "default": null,
              "description": "The OAuth access token.",
              "type": [
                "string",
                "null"
              ]
            },
            "oauthClientId": {
              "default": null,
              "description": "The OAuth client ID.",
              "type": [
                "string",
                "null"
              ]
            },
            "oauthClientSecret": {
              "default": null,
              "description": "The OAuth client secret.",
              "type": [
                "string",
                "null"
              ]
            },
            "oauthRefreshToken": {
              "description": "The OAuth refresh token.",
              "type": "string"
            }
          },
          "required": [
            "credentialType",
            "oauthRefreshToken"
          ],
          "type": "object"
        },
        {
          "properties": {
            "configId": {
              "description": "The ID of the saved shared credentials. If specified, cannot include user, privateKeyStr, or passphrase.",
              "type": "string"
            },
            "credentialType": {
              "description": "The type of these credentials, 'snowflake_key_pair_user_account' here.",
              "enum": [
                "snowflake_key_pair_user_account"
              ],
              "type": "string"
            },
            "passphrase": {
              "description": "Optional passphrase to decrypt private key. Cannot include this parameter if configId is specified.",
              "type": "string"
            },
            "privateKeyStr": {
              "description": "Private key for key pair authentication. Required if configId is not specified. Cannot include this parameter if configId is specified.",
              "type": "string"
            },
            "user": {
              "description": "Username for this credential. Required if configId is not specified. Cannot include this parameter if configId is specified.",
              "type": "string"
            }
          },
          "required": [
            "credentialType"
          ],
          "type": "object"
        },
        {
          "properties": {
            "configId": {
              "description": "The ID of secure configurations shared by admin. Alternative to googleConfigId (deprecated). If specified, cannot include gcpKey.",
              "type": "string"
            },
            "credentialType": {
              "description": "The type of these credentials, 'gcp' here.",
              "enum": [
                "gcp"
              ],
              "type": "string"
            },
            "gcpKey": {
              "description": "The Google Cloud Platform (GCP) key. Output is the downloaded JSON resulting from creating a service account *User Managed Key*  (in the *IAM & admin > Service accounts section* of GCP).Required if googleConfigId/configId is not specified.Cannot include this parameter if googleConfigId/configId is specified.",
              "properties": {
                "authProviderX509CertUrl": {
                  "description": "Auth provider X509 certificate URL.",
                  "format": "uri",
                  "type": "string"
                },
                "authUri": {
                  "description": "Auth URI.",
                  "format": "uri",
                  "type": "string"
                },
                "clientEmail": {
                  "description": "Client email address.",
                  "type": "string"
                },
                "clientId": {
                  "description": "Client ID.",
                  "type": "string"
                },
                "clientX509CertUrl": {
                  "description": "Client X509 certificate URL.",
                  "format": "uri",
                  "type": "string"
                },
                "privateKey": {
                  "description": "Private key.",
                  "type": "string"
                },
                "privateKeyId": {
                  "description": "Private key ID",
                  "type": "string"
                },
                "projectId": {
                  "description": "Project ID.",
                  "type": "string"
                },
                "tokenUri": {
                  "description": "Token URI.",
                  "format": "uri",
                  "type": "string"
                },
                "type": {
                  "description": "GCP account type.",
                  "enum": [
                    "service_account"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            },
            "googleConfigId": {
              "description": "The ID of secure configurations shared by admin. This is deprecated. Please use configId instead. If specified, cannot include gcpKey.",
              "type": "string"
            }
          },
          "required": [
            "credentialType"
          ],
          "type": "object"
        },
        {
          "properties": {
            "credentialType": {
              "description": "The type of these credentials, 'databricks_access_token_account' here.",
              "enum": [
                "databricks_access_token_account"
              ],
              "type": "string"
            },
            "databricksAccessToken": {
              "description": "Databricks personal access token.",
              "minLength": 1,
              "type": "string"
            }
          },
          "required": [
            "credentialType",
            "databricksAccessToken"
          ],
          "type": "object"
        },
        {
          "properties": {
            "clientId": {
              "description": "Client ID for Databricks service principal.",
              "minLength": 1,
              "type": "string"
            },
            "clientSecret": {
              "description": "Client secret for Databricks service principal.",
              "minLength": 1,
              "type": "string"
            },
            "configId": {
              "description": "The ID of the saved shared credentials. If specified, cannot include clientId and clientSecret.",
              "type": "string"
            },
            "credentialType": {
              "description": "The type of these credentials, 'databricks_service_principal_account' here.",
              "enum": [
                "databricks_service_principal_account"
              ],
              "type": "string"
            }
          },
          "required": [
            "credentialType"
          ],
          "type": "object"
        },
        {
          "properties": {
            "azureTenantId": {
              "description": "Tenant ID of the Azure AD service principal.",
              "type": "string"
            },
            "clientId": {
              "description": "Client ID of the Azure AD service principal.",
              "type": "string"
            },
            "clientSecret": {
              "description": "Client Secret of the Azure AD service principal.",
              "type": "string"
            },
            "configId": {
              "description": "The ID of secure configurations of credentials shared by admin.",
              "type": "string",
              "x-versionadded": "v2.35"
            },
            "credentialType": {
              "description": "The type of these credentials, 'azure_service_principal' here.",
              "enum": [
                "azure_service_principal"
              ],
              "type": "string"
            }
          },
          "required": [
            "credentialType"
          ],
          "type": "object"
        },
        {
          "properties": {
            "authenticationId": {
              "description": "The authentication ID for external OAuth provider. Used to retrieve tokens from DataRobot OAuth service.",
              "type": "string"
            },
            "credentialType": {
              "description": "The type of these credentials, 'external_oauth_provider' here.",
              "enum": [
                "external_oauth_provider"
              ],
              "type": "string"
            }
          },
          "required": [
            "authenticationId",
            "credentialType"
          ],
          "type": "object"
        },
        {
          "properties": {
            "clientId": {
              "description": "Box JWT client ID.",
              "type": "string",
              "x-versionadded": "v2.41"
            },
            "clientSecret": {
              "description": "Box JWT client secret.",
              "type": "string",
              "x-versionadded": "v2.41"
            },
            "configId": {
              "description": "ID of secure configuration to share Box JWT credentials by admin.",
              "type": "string",
              "x-versionadded": "v2.41"
            },
            "credentialType": {
              "description": "Credentials type.",
              "enum": [
                "box_jwt"
              ],
              "type": "string",
              "x-versionadded": "v2.41"
            },
            "enterpriseId": {
              "description": "Box enterprise identifier.",
              "type": "string",
              "x-versionadded": "v2.41"
            },
            "passphrase": {
              "description": "Passphrase for the Box JWT private key.",
              "minLength": 1,
              "type": "string",
              "x-versionadded": "v2.41"
            },
            "privateKeyStr": {
              "description": "RSA private key for Box JWT.",
              "minLength": 1,
              "type": "string",
              "x-versionadded": "v2.41"
            },
            "publicKeyId": {
              "description": "Box public key identifier.",
              "type": "string",
              "x-versionadded": "v2.41"
            }
          },
          "required": [
            "credentialType"
          ],
          "type": "object",
          "x-versionadded": "v2.42"
        }
      ],
      "x-versionadded": "v2.23"
    },
    "credentialId": {
      "description": "The ID of the set of credentials to use instead of username and password.",
      "type": "string",
      "x-versionadded": "v2.19"
    },
    "password": {
      "description": "The password for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    },
    "useKerberos": {
      "default": false,
      "description": "Whether to use Kerberos for data store authentication.",
      "type": "boolean",
      "x-versionadded": "v2.19"
    },
    "user": {
      "description": "The username for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    }
  },
  "type": "object"
}

Properties

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

oneOf

Name Type Required Restrictions Description
» anonymous BasicCredentials false none

xor

Name Type Required Restrictions Description
» anonymous S3Credentials false none

xor

Name Type Required Restrictions Description
» anonymous OAuthCredentials false none

xor

Name Type Required Restrictions Description
» anonymous SnowflakeKeyPairCredentials false none

xor

Name Type Required Restrictions Description
» anonymous GoogleServiceAccountCredentials false none

xor

Name Type Required Restrictions Description
» anonymous DatabricksAccessTokenCredentials false none

xor

Name Type Required Restrictions Description
» anonymous DatabricksServicePrincipalCredentials false none

xor

Name Type Required Restrictions Description
» anonymous AzureServicePrincipalCredentials false none

xor

Name Type Required Restrictions Description
» anonymous ExternalOAuthProviderCredentials false none

xor

Name Type Required Restrictions Description
» anonymous BOXJWTCredentialsFields false none

continued

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

DataStoreDescribePermissionsResponse

{
  "properties": {
    "canCreateDataSource": {
      "description": "True if the user can create data source from this data store.",
      "type": "boolean"
    },
    "canDelete": {
      "description": "True if the user can delete the data store.",
      "type": "boolean"
    },
    "canEdit": {
      "description": "True if the user can edit data store info.",
      "type": "boolean"
    },
    "canScanDatabase": {
      "description": "True if the user can scan data store database.",
      "type": "boolean"
    },
    "canSetRoles": {
      "description": "Roles the user can grant or revoke from other users, groups, or organizations.",
      "items": {
        "description": "The role the user can grant or revoke from users, groups or organizations.",
        "enum": [
          "OWNER",
          "EDITOR",
          "CONSUMER"
        ],
        "type": "string"
      },
      "type": "array"
    },
    "canShare": {
      "description": "True if the user can share the data store.",
      "type": "boolean"
    },
    "canTestConnection": {
      "description": "True if the user can test data store database connection.",
      "type": "boolean"
    },
    "canView": {
      "description": "True if the user can view data store info.",
      "type": "boolean"
    },
    "dataStoreId": {
      "description": "The ID of the data store.",
      "type": "string"
    },
    "userId": {
      "description": "The ID of the user identified by username.",
      "type": "string"
    },
    "username": {
      "description": "`username` of a user with access to this data store.",
      "type": "string"
    }
  },
  "required": [
    "canCreateDataSource",
    "canDelete",
    "canEdit",
    "canScanDatabase",
    "canSetRoles",
    "canShare",
    "canTestConnection",
    "canView",
    "dataStoreId",
    "userId",
    "username"
  ],
  "type": "object"
}

Properties

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

DataStoreExtendedColumnResponse

{
  "properties": {
    "columnDefaultValue": {
      "description": "The default value of the column.",
      "type": [
        "string",
        "null"
      ]
    },
    "comment": {
      "description": "The comment of the column.",
      "type": [
        "string",
        "null"
      ]
    },
    "dataType": {
      "description": "The data type of the column.",
      "type": "string"
    },
    "dataTypeInt": {
      "description": "The integer value of the column data type.",
      "type": "integer"
    },
    "exportedKeys": {
      "description": "The foreign key columns that reference this table's primary key columns.",
      "items": {
        "properties": {
          "foreignKey": {
            "description": "The referred primary key.",
            "properties": {
              "catalog": {
                "description": "The catalog name.",
                "type": "string"
              },
              "column": {
                "description": "The column name.",
                "type": "string"
              },
              "schema": {
                "description": "The schema name.",
                "type": "string"
              },
              "table": {
                "description": "The table name.",
                "type": "string"
              }
            },
            "required": [
              "catalog",
              "column",
              "table"
            ],
            "type": "object"
          },
          "keyType": {
            "description": "The type of this key.",
            "enum": [
              "1",
              "2",
              "3"
            ],
            "type": "string"
          },
          "name": {
            "description": "The name of this key.",
            "type": "string"
          },
          "primaryKey": {
            "description": "The referred primary key.",
            "properties": {
              "catalog": {
                "description": "The catalog name.",
                "type": "string"
              },
              "column": {
                "description": "The column name.",
                "type": "string"
              },
              "schema": {
                "description": "The schema name.",
                "type": "string"
              },
              "table": {
                "description": "The table name.",
                "type": "string"
              }
            },
            "required": [
              "catalog",
              "column",
              "table"
            ],
            "type": "object"
          }
        },
        "required": [
          "keyType",
          "primaryKey"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "importedKeys": {
      "description": "The primary key columns that are referenced by this table's foreign key columns.",
      "items": {
        "properties": {
          "foreignKey": {
            "description": "The referred primary key.",
            "properties": {
              "catalog": {
                "description": "The catalog name.",
                "type": "string"
              },
              "column": {
                "description": "The column name.",
                "type": "string"
              },
              "schema": {
                "description": "The schema name.",
                "type": "string"
              },
              "table": {
                "description": "The table name.",
                "type": "string"
              }
            },
            "required": [
              "catalog",
              "column",
              "table"
            ],
            "type": "object"
          },
          "keyType": {
            "description": "The type of this key.",
            "enum": [
              "1",
              "2",
              "3"
            ],
            "type": "string"
          },
          "name": {
            "description": "The name of this key.",
            "type": "string"
          },
          "primaryKey": {
            "description": "The referred primary key.",
            "properties": {
              "catalog": {
                "description": "The catalog name.",
                "type": "string"
              },
              "column": {
                "description": "The column name.",
                "type": "string"
              },
              "schema": {
                "description": "The schema name.",
                "type": "string"
              },
              "table": {
                "description": "The table name.",
                "type": "string"
              }
            },
            "required": [
              "catalog",
              "column",
              "table"
            ],
            "type": "object"
          }
        },
        "required": [
          "keyType",
          "primaryKey"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "isInPrimaryKey": {
      "description": "True if the column is in the primary key.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "isNullable": {
      "description": "Whether the column values can be null.",
      "enum": [
        "NO",
        "UNKNOWN",
        "YES"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "name": {
      "description": "The name of the column.",
      "type": "string"
    },
    "precision": {
      "description": "The precision of the column.",
      "type": [
        "integer",
        "null"
      ]
    },
    "primaryKeys": {
      "description": "The primary key columns of the table.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "scale": {
      "description": "The scale of the column.",
      "type": [
        "integer",
        "null"
      ]
    }
  },
  "required": [
    "columnDefaultValue",
    "comment",
    "dataType",
    "dataTypeInt",
    "exportedKeys",
    "importedKeys",
    "isInPrimaryKey",
    "isNullable",
    "name",
    "precision",
    "primaryKeys",
    "scale"
  ],
  "type": "object"
}

Properties

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

Enumerated Values

Property Value
isNullable [NO, UNKNOWN, YES]

DataStoreListResponse

{
  "properties": {
    "data": {
      "description": "The list of data stores.",
      "items": {
        "properties": {
          "associatedAuthTypes": {
            "description": "The supported authentication types for the JDBC configuration.",
            "items": {
              "enum": [
                "adls_gen2_oauth",
                "azure_service_principal",
                "basic",
                "box_jwt",
                "databricks_access_token_account",
                "databricks_service_principal_account",
                "gcp",
                "google_oauth_user_account",
                "kerberos",
                "oauth",
                "s3",
                "snowflake_key_pair_user_account",
                "snowflake_oauth_user_account"
              ],
              "type": "string"
            },
            "type": "array",
            "x-versionadded": "v2.20"
          },
          "canonicalName": {
            "description": "The user-friendly name of the data store.",
            "type": "string"
          },
          "creator": {
            "description": "The ID of the user who created the data store.",
            "type": "string"
          },
          "id": {
            "description": "The data store ID.",
            "type": "string"
          },
          "params": {
            "description": "The data store configuration.",
            "oneOf": [
              {
                "properties": {
                  "driverId": {
                    "description": "The driver ID.",
                    "type": "string"
                  },
                  "jdbcFieldSchemas": {
                    "default": [],
                    "description": "The fields to show when creating a data store, their defaults, whether or not they are required, and more.",
                    "items": {
                      "properties": {
                        "choices": {
                          "default": [],
                          "description": "If non-empty, a list of all possible values for this parameter.",
                          "items": {
                            "description": "Possible value for this parameter.",
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "default": {
                          "description": "Default value of the JDBC parameter.",
                          "type": "string"
                        },
                        "description": {
                          "default": "",
                          "description": "Description of this parameter.",
                          "type": "string"
                        },
                        "index": {
                          "description": "Sort order within one `kind`.",
                          "type": "integer"
                        },
                        "kind": {
                          "description": "Use of this parameter in constructing the JDBC URL.",
                          "enum": [
                            "ADDRESS",
                            "EXTENDED_PATH_PARAM",
                            "PATH_PARAM",
                            "QUERY_PARAM"
                          ],
                          "type": "string"
                        },
                        "name": {
                          "description": "The name of the JDBC parameter.",
                          "type": "string"
                        },
                        "required": {
                          "description": "Whether or not the parameter is required for a connection.",
                          "type": "boolean"
                        },
                        "visibleByDefault": {
                          "description": "Whether or not the parameter should be shown in the UI by default.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "choices",
                        "default",
                        "description",
                        "kind",
                        "name",
                        "required",
                        "visibleByDefault"
                      ],
                      "type": "object"
                    },
                    "maxItems": 100,
                    "type": "array"
                  },
                  "jdbcFields": {
                    "description": "The fields used to create the JDBC URL, in the form of a JSON object where parameter name/value pairs are the items in the object. For example: `{\"address\": localhost:5432, \"database\": \"fooBar\", \"connectTimeout\": 10}`. In most cases, all keys in `jdbcFields` should be defined by a schema listed in `jdbcFieldSchemas` from `DriverConfiguration`. The request will be rejected if there are required parameters (as defined by `jdbcFieldSchemas`) that are not provided.",
                    "items": {
                      "properties": {
                        "name": {
                          "description": "The name of the JDBC parameter.",
                          "type": "string"
                        },
                        "value": {
                          "description": "The value of the JDBC parameter.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "name",
                        "value"
                      ],
                      "type": "object"
                    },
                    "maxItems": 100,
                    "type": "array",
                    "x-versionadded": "v2.18"
                  },
                  "jdbcUrl": {
                    "description": "The JDBC URL.",
                    "type": "string"
                  }
                },
                "required": [
                  "driverId"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "connectorId": {
                    "description": "The ID of the connector.",
                    "type": "string"
                  },
                  "fieldSchemas": {
                    "description": "The connector field schemas.",
                    "items": {
                      "properties": {
                        "choices": {
                          "description": "If non-empty, the list of all possible values for a parameter.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "default": {
                          "description": "The default value of the parameter.",
                          "type": "string"
                        },
                        "description": {
                          "description": "The description of the parameter.",
                          "type": "string"
                        },
                        "name": {
                          "description": "The name of the parameter.",
                          "type": "string"
                        },
                        "required": {
                          "description": "Whether or not the parameter is required for a connection.",
                          "type": "boolean"
                        },
                        "visibleByDefault": {
                          "description": "Whether or not the parameter should be shown in the UI by default.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "choices",
                        "default",
                        "description",
                        "name",
                        "required",
                        "visibleByDefault"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "fields": {
                    "description": "The connector fields.",
                    "items": {
                      "properties": {
                        "id": {
                          "description": "The field name.",
                          "type": "string"
                        },
                        "name": {
                          "description": "The user-friendly displayable field name.",
                          "type": "string"
                        },
                        "value": {
                          "description": "The field value.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "name",
                        "value"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "connectorId",
                  "fields"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "driverId": {
                    "description": "The database driver ID.",
                    "type": "string"
                  },
                  "fieldSchemas": {
                    "description": "The database driver field schemas.",
                    "items": {
                      "properties": {
                        "choices": {
                          "description": "If non-empty, the list of all possible values for a parameter.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "default": {
                          "description": "The default value of the parameter.",
                          "type": "string"
                        },
                        "description": {
                          "description": "The description of the parameter.",
                          "type": "string"
                        },
                        "name": {
                          "description": "The name of the parameter.",
                          "type": "string"
                        },
                        "required": {
                          "description": "Whether or not the parameter is required for a connection.",
                          "type": "boolean"
                        },
                        "visibleByDefault": {
                          "description": "Whether or not the parameter should be shown in the UI by default.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "choices",
                        "default",
                        "description",
                        "name",
                        "required",
                        "visibleByDefault"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "fields": {
                    "description": "The database driver fields.",
                    "items": {
                      "properties": {
                        "id": {
                          "description": "The field name.",
                          "type": "string"
                        },
                        "name": {
                          "description": "The user-friendly displayable field name.",
                          "type": "string"
                        },
                        "value": {
                          "description": "The field value.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "name",
                        "value"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "driverId",
                  "fields"
                ],
                "type": "object"
              }
            ]
          },
          "role": {
            "description": "The role of the user making the request on this data store.",
            "enum": [
              "CONSUMER",
              "EDITOR",
              "OWNER"
            ],
            "type": "string"
          },
          "type": {
            "description": "The data store type.",
            "enum": [
              "dr-connector-v1",
              "dr-database-v1",
              "jdbc"
            ],
            "type": "string"
          },
          "updated": {
            "description": "The ISO 8601-formatted date/time of the data store update.",
            "type": "string"
          }
        },
        "required": [
          "canonicalName",
          "creator",
          "id",
          "params",
          "role",
          "type",
          "updated"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "data"
  ],
  "type": "object"
}

Properties

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

DataStorePreviewResponse

{
  "properties": {
    "columns": {
      "description": "The list of columns for the returned set of records. Column order matches the order of values in a record.",
      "items": {
        "description": "The name of the column.",
        "type": "string"
      },
      "maxItems": 20000,
      "type": "array"
    },
    "records": {
      "description": "The list of records output by the query.",
      "items": {
        "description": "The list of values for a single database record, ordered as the columns are ordered.",
        "items": {
          "description": "The string representation of the column's value.",
          "type": "string"
        },
        "type": "array"
      },
      "maxItems": 10000,
      "type": "array"
    },
    "resultSchema": {
      "description": "The JDBC result schema.",
      "items": {
        "description": "The JDBC result column description.",
        "properties": {
          "dataType": {
            "description": "The data type of the column.",
            "type": "string"
          },
          "dataTypeInt": {
            "description": "The integer value of the column data type.",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "description": "The name of the column.",
            "type": "string"
          },
          "precision": {
            "description": "The precision of the column.",
            "type": [
              "integer",
              "null"
            ]
          },
          "scale": {
            "description": "The scale of the column.",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "dataType",
          "dataTypeInt",
          "name",
          "precision",
          "scale"
        ],
        "type": "object",
        "x-versionadded": "v2.43"
      },
      "maxItems": 20000,
      "type": "array"
    }
  },
  "required": [
    "columns",
    "records",
    "resultSchema"
  ],
  "type": "object",
  "x-versionadded": "v2.43"
}

Properties

Name Type Required Restrictions Description
columns [string] true maxItems: 20000
The list of columns for the returned set of records. Column order matches the order of values in a record.
records [array] true maxItems: 10000
The list of records output by the query.
resultSchema [DataStoreResultSchemaResponse] true maxItems: 20000
The JDBC result schema.

DataStoreResultSchemaResponse

{
  "description": "The JDBC result column description.",
  "properties": {
    "dataType": {
      "description": "The data type of the column.",
      "type": "string"
    },
    "dataTypeInt": {
      "description": "The integer value of the column data type.",
      "type": [
        "integer",
        "null"
      ]
    },
    "name": {
      "description": "The name of the column.",
      "type": "string"
    },
    "precision": {
      "description": "The precision of the column.",
      "type": [
        "integer",
        "null"
      ]
    },
    "scale": {
      "description": "The scale of the column.",
      "type": [
        "integer",
        "null"
      ]
    }
  },
  "required": [
    "dataType",
    "dataTypeInt",
    "name",
    "precision",
    "scale"
  ],
  "type": "object",
  "x-versionadded": "v2.43"
}

The JDBC result column description.

Properties

Name Type Required Restrictions Description
dataType string true The data type of the column.
dataTypeInt integer,null true The integer value of the column data type.
name string true The name of the column.
precision integer,null true The precision of the column.
scale integer,null true The scale of the column.

DataStoreRetrieveResponse

{
  "properties": {
    "associatedAuthTypes": {
      "description": "The supported authentication types for the JDBC configuration.",
      "items": {
        "enum": [
          "adls_gen2_oauth",
          "azure_service_principal",
          "basic",
          "box_jwt",
          "databricks_access_token_account",
          "databricks_service_principal_account",
          "gcp",
          "google_oauth_user_account",
          "kerberos",
          "oauth",
          "s3",
          "snowflake_key_pair_user_account",
          "snowflake_oauth_user_account"
        ],
        "type": "string"
      },
      "type": "array",
      "x-versionadded": "v2.20"
    },
    "canonicalName": {
      "description": "The user-friendly name of the data store.",
      "type": "string"
    },
    "creator": {
      "description": "The ID of the user who created the data store.",
      "type": "string"
    },
    "id": {
      "description": "The data store ID.",
      "type": "string"
    },
    "params": {
      "description": "The data store configuration.",
      "oneOf": [
        {
          "properties": {
            "driverId": {
              "description": "The driver ID.",
              "type": "string"
            },
            "jdbcFieldSchemas": {
              "default": [],
              "description": "The fields to show when creating a data store, their defaults, whether or not they are required, and more.",
              "items": {
                "properties": {
                  "choices": {
                    "default": [],
                    "description": "If non-empty, a list of all possible values for this parameter.",
                    "items": {
                      "description": "Possible value for this parameter.",
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "default": {
                    "description": "Default value of the JDBC parameter.",
                    "type": "string"
                  },
                  "description": {
                    "default": "",
                    "description": "Description of this parameter.",
                    "type": "string"
                  },
                  "index": {
                    "description": "Sort order within one `kind`.",
                    "type": "integer"
                  },
                  "kind": {
                    "description": "Use of this parameter in constructing the JDBC URL.",
                    "enum": [
                      "ADDRESS",
                      "EXTENDED_PATH_PARAM",
                      "PATH_PARAM",
                      "QUERY_PARAM"
                    ],
                    "type": "string"
                  },
                  "name": {
                    "description": "The name of the JDBC parameter.",
                    "type": "string"
                  },
                  "required": {
                    "description": "Whether or not the parameter is required for a connection.",
                    "type": "boolean"
                  },
                  "visibleByDefault": {
                    "description": "Whether or not the parameter should be shown in the UI by default.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "choices",
                  "default",
                  "description",
                  "kind",
                  "name",
                  "required",
                  "visibleByDefault"
                ],
                "type": "object"
              },
              "maxItems": 100,
              "type": "array"
            },
            "jdbcFields": {
              "description": "The fields used to create the JDBC URL, in the form of a JSON object where parameter name/value pairs are the items in the object. For example: `{\"address\": localhost:5432, \"database\": \"fooBar\", \"connectTimeout\": 10}`. In most cases, all keys in `jdbcFields` should be defined by a schema listed in `jdbcFieldSchemas` from `DriverConfiguration`. The request will be rejected if there are required parameters (as defined by `jdbcFieldSchemas`) that are not provided.",
              "items": {
                "properties": {
                  "name": {
                    "description": "The name of the JDBC parameter.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The value of the JDBC parameter.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "maxItems": 100,
              "type": "array",
              "x-versionadded": "v2.18"
            },
            "jdbcUrl": {
              "description": "The JDBC URL.",
              "type": "string"
            }
          },
          "required": [
            "driverId"
          ],
          "type": "object"
        },
        {
          "properties": {
            "connectorId": {
              "description": "The ID of the connector.",
              "type": "string"
            },
            "fieldSchemas": {
              "description": "The connector field schemas.",
              "items": {
                "properties": {
                  "choices": {
                    "description": "If non-empty, the list of all possible values for a parameter.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "default": {
                    "description": "The default value of the parameter.",
                    "type": "string"
                  },
                  "description": {
                    "description": "The description of the parameter.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The name of the parameter.",
                    "type": "string"
                  },
                  "required": {
                    "description": "Whether or not the parameter is required for a connection.",
                    "type": "boolean"
                  },
                  "visibleByDefault": {
                    "description": "Whether or not the parameter should be shown in the UI by default.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "choices",
                  "default",
                  "description",
                  "name",
                  "required",
                  "visibleByDefault"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "fields": {
              "description": "The connector fields.",
              "items": {
                "properties": {
                  "id": {
                    "description": "The field name.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The user-friendly displayable field name.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The field value.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "type": "array"
            }
          },
          "required": [
            "connectorId",
            "fields"
          ],
          "type": "object"
        },
        {
          "properties": {
            "driverId": {
              "description": "The database driver ID.",
              "type": "string"
            },
            "fieldSchemas": {
              "description": "The database driver field schemas.",
              "items": {
                "properties": {
                  "choices": {
                    "description": "If non-empty, the list of all possible values for a parameter.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "default": {
                    "description": "The default value of the parameter.",
                    "type": "string"
                  },
                  "description": {
                    "description": "The description of the parameter.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The name of the parameter.",
                    "type": "string"
                  },
                  "required": {
                    "description": "Whether or not the parameter is required for a connection.",
                    "type": "boolean"
                  },
                  "visibleByDefault": {
                    "description": "Whether or not the parameter should be shown in the UI by default.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "choices",
                  "default",
                  "description",
                  "name",
                  "required",
                  "visibleByDefault"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "fields": {
              "description": "The database driver fields.",
              "items": {
                "properties": {
                  "id": {
                    "description": "The field name.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The user-friendly displayable field name.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The field value.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "type": "array"
            }
          },
          "required": [
            "driverId",
            "fields"
          ],
          "type": "object"
        }
      ]
    },
    "role": {
      "description": "The role of the user making the request on this data store.",
      "enum": [
        "CONSUMER",
        "EDITOR",
        "OWNER"
      ],
      "type": "string"
    },
    "type": {
      "description": "The data store type.",
      "enum": [
        "dr-connector-v1",
        "dr-database-v1",
        "jdbc"
      ],
      "type": "string"
    },
    "updated": {
      "description": "The ISO 8601-formatted date/time of the data store update.",
      "type": "string"
    }
  },
  "required": [
    "canonicalName",
    "creator",
    "id",
    "params",
    "role",
    "type",
    "updated"
  ],
  "type": "object"
}

Properties

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

oneOf

Name Type Required Restrictions Description
» anonymous JDBCDataStoreDetails false none

xor

Name Type Required Restrictions Description
» anonymous DRConnectorV1Details false none

xor

Name Type Required Restrictions Description
» anonymous DatabaseDataStoreDetails false none

continued

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

Enumerated Values

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

DataStoreSQLVerify

{
  "properties": {
    "credentialId": {
      "description": "The ID of the set of credentials to use instead of username and password.",
      "type": "string",
      "x-versionadded": "v2.19"
    },
    "maxRows": {
      "description": "The maximum number of rows of data to return if successful.",
      "maximum": 999,
      "minimum": 0,
      "type": "integer"
    },
    "password": {
      "description": "The password for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    },
    "query": {
      "description": "The SQL query to verify.",
      "type": "string"
    },
    "useKerberos": {
      "default": false,
      "description": "Whether to use Kerberos for data store authentication.",
      "type": "boolean",
      "x-versionadded": "v2.19"
    },
    "user": {
      "description": "The username for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    }
  },
  "required": [
    "maxRows",
    "query"
  ],
  "type": "object"
}

Properties

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

DataStoreSQLVerifyResponse

{
  "properties": {
    "columns": {
      "description": "The list of columns for the returned set of records. Column order matches the order of values in a record.",
      "items": {
        "description": "The name of the column.",
        "type": "string"
      },
      "maxItems": 20000,
      "type": "array"
    },
    "records": {
      "description": "The list of records output by the query.",
      "items": {
        "description": "The list of values for a single database record, ordered as the columns are ordered.",
        "items": {
          "description": "The string representation of the column's value.",
          "type": "string"
        },
        "type": "array"
      },
      "maxItems": 10000,
      "type": "array"
    }
  },
  "required": [
    "columns",
    "records"
  ],
  "type": "object"
}

Properties

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

DataStoreSchemasList

{
  "properties": {
    "catalog": {
      "description": "The name of the catalog associated with the schemas. If more than one catalog is queried, the returned value will be the catalog name for the first record returned.",
      "type": "string"
    },
    "catalogs": {
      "description": "The list of catalogs associated with each retrieved schema. If no catalog is found, this value is null.",
      "items": {
        "description": "The catalog names for the schema associated with the data store.",
        "type": [
          "string",
          "null"
        ]
      },
      "type": "array"
    },
    "schemas": {
      "description": "The list of schemas available in the data store.",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "catalog",
    "catalogs",
    "schemas"
  ],
  "type": "object"
}

Properties

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

DataStoreTables

{
  "properties": {
    "catalog": {
      "description": "Only show tables in this catalog.",
      "type": "string"
    },
    "credentialId": {
      "description": "The ID of the set of credentials to use instead of username and password.",
      "type": "string",
      "x-versionadded": "v2.19"
    },
    "password": {
      "description": "The password for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    },
    "schema": {
      "description": "Only show tables in this schema.",
      "type": "string"
    },
    "useKerberos": {
      "default": false,
      "description": "Whether to use Kerberos for data store authentication.",
      "type": "boolean",
      "x-versionadded": "v2.19"
    },
    "user": {
      "description": "The username for data store authentication.",
      "type": "string",
      "x-versiondeprecated": "v2.23"
    }
  },
  "type": "object"
}

Properties

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

DataStoreTablesList

{
  "properties": {
    "catalog": {
      "description": "The catalog associated with schemas.",
      "type": [
        "string",
        "null"
      ]
    },
    "tables": {
      "description": "The list of tables in the data store.",
      "items": {
        "properties": {
          "catalog": {
            "description": "The name of the catalog.",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "The name of the table.",
            "type": "string"
          },
          "schema": {
            "description": "The schema of the table.",
            "type": "string"
          },
          "type": {
            "description": "The type of table.",
            "enum": [
              "TABLE",
              "VIEW"
            ],
            "type": "string"
          }
        },
        "required": [
          "name",
          "type"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "catalog",
    "tables"
  ],
  "type": "object"
}

Properties

Name Type Required Restrictions Description
catalog string,null true The catalog associated with schemas.
tables [TableDescription] true The list of tables in the data store.

DataStoreTestResponse

{
  "properties": {
    "message": {
      "description": "The connection attempt results.",
      "type": "string"
    }
  },
  "required": [
    "message"
  ],
  "type": "object"
}

Properties

Name Type Required Restrictions Description
message string true The connection attempt results.

DataStoreUpdate

{
  "properties": {
    "canonicalName": {
      "description": "The user-friendly name of the data store.",
      "type": "string"
    },
    "params": {
      "description": "The data store configuration.",
      "oneOf": [
        {
          "properties": {
            "driverId": {
              "description": "The driver ID.",
              "type": "string"
            },
            "jdbcFields": {
              "description": "The fields used to create the JDBC URL, in the form of a JSON object where parameter name/value pairs are the items in the object. For example: `{\"address\": localhost:5432, \"database\": \"fooBar\", \"connectTimeout\": 10}`. In most cases, all keys in `jdbcFields` should be defined by a schema listed in `jdbcFieldSchemas` from `DriverConfiguration`. The request will be rejected if there are required parameters (as defined by `jdbcFieldSchemas`) that are not provided.",
              "items": {
                "properties": {
                  "name": {
                    "description": "The name of the JDBC parameter.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The value of the JDBC parameter.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "maxItems": 100,
              "type": "array",
              "x-versionadded": "v2.18"
            },
            "jdbcUrl": {
              "description": "The JDBC URL.",
              "type": "string"
            }
          },
          "type": "object"
        },
        {
          "properties": {
            "fields": {
              "description": "The connector fields.",
              "items": {
                "properties": {
                  "id": {
                    "description": "The field name.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The user-friendly displayable field name.",
                    "type": "string"
                  },
                  "value": {
                    "description": "The field value.",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      ]
    }
  },
  "type": "object"
}

Properties

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

oneOf

Name Type Required Restrictions Description
» anonymous JDBCDataStoreUpdate false none

xor

Name Type Required Restrictions Description
» anonymous DRConnectorV1Update false none

DatabaseDataStoreCreate

{
  "properties": {
    "driverId": {
      "description": "The database driver ID.",
      "type": "string"
    },
    "fields": {
      "description": "The database driver fields.",
      "items": {
        "properties": {
          "id": {
            "description": "The field name.",
            "type": "string"
          },
          "name": {
            "description": "The user-friendly displayable field name.",
            "type": "string"
          },
          "value": {
            "description": "The field value.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "driverId",
    "fields"
  ],
  "type": "object"
}

Properties

Name Type Required Restrictions Description
driverId string true The database driver ID.
fields [DRConnectorV1Field] true The database driver fields.

DatabaseDataStoreDetails

{
  "properties": {
    "driverId": {
      "description": "The database driver ID.",
      "type": "string"
    },
    "fieldSchemas": {
      "description": "The database driver field schemas.",
      "items": {
        "properties": {
          "choices": {
            "description": "If non-empty, the list of all possible values for a parameter.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "default": {
            "description": "The default value of the parameter.",
            "type": "string"
          },
          "description": {
            "description": "The description of the parameter.",
            "type": "string"
          },
          "name": {
            "description": "The name of the parameter.",
            "type": "string"
          },
          "required": {
            "description": "Whether or not the parameter is required for a connection.",
            "type": "boolean"
          },
          "visibleByDefault": {
            "description": "Whether or not the parameter should be shown in the UI by default.",
            "type": "boolean"
          }
        },
        "required": [
          "choices",
          "default",
          "description",
          "name",
          "required",
          "visibleByDefault"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "fields": {
      "description": "The database driver fields.",
      "items": {
        "properties": {
          "id": {
            "description": "The field name.",
            "type": "string"
          },
          "name": {
            "description": "The user-friendly displayable field name.",
            "type": "string"
          },
          "value": {
            "description": "The field value.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "driverId",
    "fields"
  ],
  "type": "object"
}

Properties

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

DatabaseQueryDataSource

{
  "properties": {
    "dataStoreId": {
      "description": "The data store ID for this data source.",
      "type": "string"
    },
    "fetchSize": {
      "description": "The user-specified fetch size.",
      "maximum": 20000,
      "minimum": 1,
      "type": "integer"
    },
    "query": {
      "description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
      "maxLength": 320000,
      "type": "string"
    }
  },
  "required": [
    "dataStoreId",
    "query"
  ],
  "type": "object"
}

Properties

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

DatabaseTableDataSource

{
  "properties": {
    "catalog": {
      "description": "The catalog name in the database if supported.",
      "maxLength": 256,
      "type": "string"
    },
    "dataStoreId": {
      "description": "The data store ID for this data source.",
      "type": "string"
    },
    "fetchSize": {
      "description": "The user-specified fetch size.",
      "maximum": 20000,
      "minimum": 1,
      "type": "integer"
    },
    "partitionColumn": {
      "description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
      "type": "string"
    },
    "schema": {
      "description": "The schema associated with the table or view in the database if the data source is not query based.",
      "maxLength": 256,
      "type": "string"
    },
    "table": {
      "description": "The table or view name in the database if the data source is not query based.",
      "maxLength": 256,
      "type": "string"
    }
  },
  "required": [
    "dataStoreId",
    "table"
  ],
  "type": "object"
}

Properties

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

DatabricksAccessTokenCredentials

{
  "properties": {
    "credentialType": {
      "description": "The type of these credentials, 'databricks_access_token_account' here.",
      "enum": [
        "databricks_access_token_account"
      ],
      "type": "string"
    },
    "databricksAccessToken": {
      "description": "Databricks personal access token.",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "credentialType",
    "databricksAccessToken"
  ],
  "type": "object"
}

Properties

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

Enumerated Values

Property Value
credentialType databricks_access_token_account

DatabricksServicePrincipalCredentials

{
  "properties": {
    "clientId": {
      "description": "Client ID for Databricks service principal.",
      "minLength": 1,
      "type": "string"
    },
    "clientSecret": {
      "description": "Client secret for Databricks service principal.",
      "minLength": 1,
      "type": "string"
    },
    "configId": {
      "description": "The ID of the saved shared credentials. If specified, cannot include clientId and clientSecret.",
      "type": "string"
    },
    "credentialType": {
      "description": "The type of these credentials, 'databricks_service_principal_account' here.",
      "enum": [
        "databricks_service_principal_account"
      ],
      "type": "string"
    }
  },
  "required": [
    "credentialType"
  ],
  "type": "object"
}

Properties

Name Type Required Restrictions Description
clientId string false minLength: 1
minLength: 1
Client ID for Databricks service principal.
clientSecret string false minLength: 1
minLength: 1
Client secret for Databricks service principal.
configId string false The ID of the saved shared credentials. If specified, cannot include clientId and clientSecret.
credentialType string true The type of these credentials, 'databricks_service_principal_account' here.

Enumerated Values

Property Value
credentialType databricks_service_principal_account

DetectUdfs

{
  "properties": {
    "credentialId": {
      "description": "The ID of the set of credentials to use instead of username and password.",
      "type": "string"
    },
    "force": {
      "default": false,
      "description": "Forces detection to be submitted, even if a cache with detected standard user-defined functions for given parameters is already present.",
      "type": "boolean"
    },
    "functionType": {
      "description": "The standard user-defined function type.",
      "enum": [
        "rolling_median",
        "rolling_most_frequent"
      ],
      "type": "string"
    },
    "schema": {
      "description": "The schema to create or detect user-defined functions in.",
      "type": "string"
    }
  },
  "required": [
    "force",
    "functionType",
    "schema"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}

Properties

Name Type Required Restrictions Description
credentialId string false The ID of the set of credentials to use instead of username and password.
force boolean true Forces detection to be submitted, even if a cache with detected standard user-defined functions for given parameters is already present.
functionType string true The standard user-defined function type.
schema string true The schema to create or detect user-defined functions in.

Enumerated Values

Property Value
functionType [rolling_median, rolling_most_frequent]

DetectedStandardUdfsRetrieveResponse

{
  "properties": {
    "detectedFunctions": {
      "description": "The detected standard user-defined functions.",
      "items": {
        "type": "string"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "functionType": {
      "description": "The requested standard user-defined function type.",
      "type": "string"
    },
    "schema": {
      "description": "The requested schema.",
      "type": "string"
    }
  },
  "required": [
    "detectedFunctions",
    "functionType",
    "schema"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}

Properties

Name Type Required Restrictions Description
detectedFunctions [string] true maxItems: 1000
The detected standard user-defined functions.
functionType string true The requested standard user-defined function type.
schema string true The requested schema.

DriverConfigurationListResponse

{
  "properties": {
    "count": {
      "description": "The number of items returned on this page.",
      "type": "integer"
    },
    "data": {
      "description": "List of driver configurations available to the user.",
      "items": {
        "properties": {
          "associatedAuthTypes": {
            "description": "The list of authentication types supported by this driver configuration.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "className": {
            "description": "Java class name of the driver to be used (e.g., org.postgresql.Driver).",
            "type": "string"
          },
          "creator": {
            "description": "The user ID of the creator of this configuration.",
            "type": "string"
          },
          "id": {
            "description": "The driver configuration ID.",
            "type": "string"
          },
          "jdbcFieldSchemas": {
            "description": "Description of which fields to show when creating a datastore, their defaults, and whether or not they are required.",
            "items": {
              "properties": {
                "choices": {
                  "default": [],
                  "description": "If non-empty, a list of all possible values for this parameter.",
                  "items": {
                    "description": "Possible value for this parameter.",
                    "type": "string"
                  },
                  "type": "array"
                },
                "default": {
                  "description": "Default value of the JDBC parameter.",
                  "type": "string"
                },
                "description": {
                  "default": "",
                  "description": "Description of this parameter.",
                  "type": "string"
                },
                "index": {
                  "description": "Sort order within one `kind`.",
                  "type": "integer"
                },
                "kind": {
                  "description": "Use of this parameter in constructing the JDBC URL.",
                  "enum": [
                    "ADDRESS",
                    "EXTENDED_PATH_PARAM",
                    "PATH_PARAM",
                    "QUERY_PARAM"
                  ],
                  "type": "string"
                },
                "name": {
                  "description": "The name of the JDBC parameter.",
                  "type": "string"
                },
                "required": {
                  "description": "Whether or not the parameter is required for a connection.",
                  "type": "boolean"
                },
                "visibleByDefault": {
                  "description": "Whether or not the parameter should be shown in the UI by default.",
                  "type": "boolean"
                }
              },
              "required": [
                "choices",
                "default",
                "description",
                "kind",
                "name",
                "required",
                "visibleByDefault"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "jdbcUrlPathDelimiter": {
            "description": "Separator of address from path in the JDBC URL (e.g., \"/\").",
            "type": "string"
          },
          "jdbcUrlPrefix": {
            "description": "Prefix of the JDBC URL (e.g., \"jdbc:mssql://\" or \"jdbc:oracle:thin:@\").",
            "type": "string"
          },
          "jdbcUrlQueryDelimiter": {
            "description": "Separator of path from the list of query parameters in the JDBC URL (e.g., \"?\").",
            "type": "string"
          },
          "jdbcUrlQueryParamDelimiter": {
            "description": "Separator of each set of query parameter key-value pairs in the JDBC URL (e.g., \"&\").",
            "type": "string"
          },
          "jdbcUrlQueryParamKeyValueDelimiter": {
            "description": "Separator of the key and value in a query parameter pair (e.g., \"=\").",
            "type": "string"
          },
          "standardizedName": {
            "description": "The plain text name for the driver (e.g., PostgreSQL).",
            "type": "string"
          },
          "statements": {
            "description": "List of supported statments for this driver configuration.",
            "items": {
              "enum": [
                "insert",
                "update",
                "upsert"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "updated": {
            "description": "ISO-8601 formatted time/date when this configuration was most recently updated.",
            "type": "string"
          }
        },
        "required": [
          "associatedAuthTypes",
          "className",
          "creator",
          "id",
          "jdbcFieldSchemas",
          "jdbcUrlPathDelimiter",
          "jdbcUrlPrefix",
          "jdbcUrlQueryDelimiter",
          "jdbcUrlQueryParamDelimiter",
          "jdbcUrlQueryParamKeyValueDelimiter",
          "standardizedName",
          "updated"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "next": {
      "description": "The URL of the next page (if null, there is no next page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL of the previous page (if null, there is no previous page).",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items across all pages.",
      "type": "integer"
    }
  },
  "required": [
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object"
}

Properties

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

DriverConfigurationRetrieveResponse

{
  "properties": {
    "associatedAuthTypes": {
      "description": "The list of authentication types supported by this driver configuration.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "className": {
      "description": "Java class name of the driver to be used (e.g., org.postgresql.Driver).",
      "type": "string"
    },
    "creator": {
      "description": "The user ID of the creator of this configuration.",
      "type": "string"
    },
    "id": {
      "description": "The driver configuration ID.",
      "type": "string"
    },
    "jdbcFieldSchemas": {
      "description": "Description of which fields to show when creating a datastore, their defaults, and whether or not they are required.",
      "items": {
        "properties": {
          "choices": {
            "default": [],
            "description": "If non-empty, a list of all possible values for this parameter.",
            "items": {
              "description": "Possible value for this parameter.",
              "type": "string"
            },
            "type": "array"
          },
          "default": {
            "description": "Default value of the JDBC parameter.",
            "type": "string"
          },
          "description": {
            "default": "",
            "description": "Description of this parameter.",
            "type": "string"
          },
          "index": {
            "description": "Sort order within one `kind`.",
            "type": "integer"
          },
          "kind": {
            "description": "Use of this parameter in constructing the JDBC URL.",
            "enum": [
              "ADDRESS",
              "EXTENDED_PATH_PARAM",
              "PATH_PARAM",
              "QUERY_PARAM"
            ],
            "type": "string"
          },
          "name": {
            "description": "The name of the JDBC parameter.",
            "type": "string"
          },
          "required": {
            "description": "Whether or not the parameter is required for a connection.",
            "type": "boolean"
          },
          "visibleByDefault": {
            "description": "Whether or not the parameter should be shown in the UI by default.",
            "type": "boolean"
          }
        },
        "required": [
          "choices",
          "default",
          "description",
          "kind",
          "name",
          "required",
          "visibleByDefault"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "jdbcUrlPathDelimiter": {
      "description": "Separator of address from path in the JDBC URL (e.g., \"/\").",
      "type": "string"
    },
    "jdbcUrlPrefix": {
      "description": "Prefix of the JDBC URL (e.g., \"jdbc:mssql://\" or \"jdbc:oracle:thin:@\").",
      "type": "string"
    },
    "jdbcUrlQueryDelimiter": {
      "description": "Separator of path from the list of query parameters in the JDBC URL (e.g., \"?\").",
      "type": "string"
    },
    "jdbcUrlQueryParamDelimiter": {
      "description": "Separator of each set of query parameter key-value pairs in the JDBC URL (e.g., \"&\").",
      "type": "string"
    },
    "jdbcUrlQueryParamKeyValueDelimiter": {
      "description": "Separator of the key and value in a query parameter pair (e.g., \"=\").",
      "type": "string"
    },
    "standardizedName": {
      "description": "The plain text name for the driver (e.g., PostgreSQL).",
      "type": "string"
    },
    "statements": {
      "description": "List of supported statments for this driver configuration.",
      "items": {
        "enum": [
          "insert",
          "update",
          "upsert"
        ],
        "type": "string"
      },
      "type": "array"
    },
    "updated": {
      "description": "ISO-8601 formatted time/date when this configuration was most recently updated.",
      "type": "string"
    }
  },
  "required": [
    "associatedAuthTypes",
    "className",
    "creator",
    "id",
    "jdbcFieldSchemas",
    "jdbcUrlPathDelimiter",
    "jdbcUrlPrefix",
    "jdbcUrlQueryDelimiter",
    "jdbcUrlQueryParamDelimiter",
    "jdbcUrlQueryParamKeyValueDelimiter",
    "standardizedName",
    "updated"
  ],
  "type": "object"
}

Properties

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

DriverListResponse

{
  "properties": {
    "data": {
      "description": "The list of drivers.",
      "items": {
        "properties": {
          "associatedAuthTypes": {
            "description": "Authentication types associated with this connector configuration.",
            "items": {
              "enum": [
                "basic",
                "googleOauthUserAccount",
                "snowflakeKeyPairUserAccount",
                "snowflakeOauthUserAccount"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "baseNames": {
            "description": "Original file name(s) of the uploaded JAR file(s). If there are multiple JAR files required for the driver, each of the original file names should be present in the list in the same order as found in 'localJarUrls'",
            "items": {
              "description": "Original file name of the uploaded JAR file.",
              "type": "string"
            },
            "type": "array"
          },
          "canonicalName": {
            "description": "User-friendly driver name.",
            "type": "string"
          },
          "className": {
            "description": "Driver class name. For example 'com.amazon.redshift.jdbc.Driver'",
            "type": [
              "string",
              "null"
            ]
          },
          "configurationId": {
            "description": "Driver configuration ID if it was provided during driver upload.",
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.18"
          },
          "creator": {
            "description": "The ID of the user who uploaded the driver.",
            "type": "string"
          },
          "databaseDriver": {
            "description": "The type of database of the driver. Only required of 'dr-database-v1' drivers.",
            "enum": [
              "bigquery-v1",
              "databricks-v1",
              "datasphere-v1",
              "trino-v1"
            ],
            "type": [
              "string",
              "null"
            ],
            "x-versionadded": "v2.30"
          },
          "id": {
            "description": "Driver ID.",
            "type": "string"
          },
          "type": {
            "default": "jdbc",
            "description": "Driver type. Either 'jdbc' or 'dr-database-v1'.",
            "enum": [
              "dr-database-v1",
              "jdbc"
            ],
            "type": "string",
            "x-versionadded": "v2.30"
          },
          "version": {
            "description": "Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.",
            "type": "string",
            "x-versionadded": "v2.18"
          }
        },
        "required": [
          "creator",
          "id"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "data"
  ],
  "type": "object"
}

Properties

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

DriverResponse

{
  "properties": {
    "associatedAuthTypes": {
      "description": "Authentication types associated with this connector configuration.",
      "items": {
        "enum": [
          "basic",
          "googleOauthUserAccount",
          "snowflakeKeyPairUserAccount",
          "snowflakeOauthUserAccount"
        ],
        "type": "string"
      },
      "type": "array"
    },
    "baseNames": {
      "description": "Original file name(s) of the uploaded JAR file(s). If there are multiple JAR files required for the driver, each of the original file names should be present in the list in the same order as found in 'localJarUrls'",
      "items": {
        "description": "Original file name of the uploaded JAR file.",
        "type": "string"
      },
      "type": "array"
    },
    "canonicalName": {
      "description": "User-friendly driver name.",
      "type": "string"
    },
    "className": {
      "description": "Driver class name. For example 'com.amazon.redshift.jdbc.Driver'",
      "type": [
        "string",
        "null"
      ]
    },
    "configurationId": {
      "description": "Driver configuration ID if it was provided during driver upload.",
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.18"
    },
    "creator": {
      "description": "The ID of the user who uploaded the driver.",
      "type": "string"
    },
    "databaseDriver": {
      "description": "The type of database of the driver. Only required of 'dr-database-v1' drivers.",
      "enum": [
        "bigquery-v1",
        "databricks-v1",
        "datasphere-v1",
        "trino-v1"
      ],
      "type": [
        "string",
        "null"
      ],
      "x-versionadded": "v2.30"
    },
    "id": {
      "description": "Driver ID.",
      "type": "string"
    },
    "type": {
      "default": "jdbc",
      "description": "Driver type. Either 'jdbc' or 'dr-database-v1'.",
      "enum": [
        "dr-database-v1",
        "jdbc"
      ],
      "type": "string",
      "x-versionadded": "v2.30"
    },
    "version": {
      "description": "Driver version, which is used to construct the canonical name if driver configuration ID was provided during driver upload.",
      "type": "string",
      "x-versionadded": "v2.18"
    }
  },
  "required": [
    "creator",
    "id"
  ],
  "type": "object"
}

Properties

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

Enumerated Values

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

DriverUploadRequest

{
  "properties": {
    "file": {
      "description": "JDBC driver JAR file to upload.",
      "format": "binary",
      "type": "string"
    }
  },
  "required": [
    "file"
  ],
  "type": "object"
}

Properties

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

DriverUploadResponse

{
  "properties": {
    "localUrl": {
      "description": "URL of uploaded driver file.",
      "type": "string"
    }
  },
  "required": [
    "localUrl"
  ],
  "type": "object"
}

Properties

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

ExternalOAuthProviderCredentials

{
  "properties": {
    "authenticationId": {
      "description": "The authentication ID for external OAuth provider. Used to retrieve tokens from DataRobot OAuth service.",
      "type": "string"
    },
    "credentialType": {
      "description": "The type of these credentials, 'external_oauth_provider' here.",
      "enum": [
        "external_oauth_provider"
      ],
      "type": "string"
    }
  },
  "required": [
    "authenticationId",
    "credentialType"
  ],
  "type": "object"
}

Properties

Name Type Required Restrictions Description
authenticationId string true The authentication ID for external OAuth provider. Used to retrieve tokens from DataRobot OAuth service.
credentialType string true The type of these credentials, 'external_oauth_provider' here.

Enumerated Values

Property Value
credentialType external_oauth_provider

GCPKey

{
  "description": "The Google Cloud Platform (GCP) key. Output is the downloaded JSON resulting from creating a service account *User Managed Key*  (in the *IAM & admin > Service accounts section* of GCP).Required if googleConfigId/configId is not specified.Cannot include this parameter if googleConfigId/configId is specified.",
  "properties": {
    "authProviderX509CertUrl": {
      "description": "Auth provider X509 certificate URL.",
      "format": "uri",
      "type": "string"
    },
    "authUri": {
      "description": "Auth URI.",
      "format": "uri",
      "type": "string"
    },
    "clientEmail": {
      "description": "Client email address.",
      "type": "string"
    },
    "clientId": {
      "description": "Client ID.",
      "type": "string"
    },
    "clientX509CertUrl": {
      "description": "Client X509 certificate URL.",
      "format": "uri",
      "type": "string"
    },
    "privateKey": {
      "description": "Private key.",
      "type": "string"
    },
    "privateKeyId": {
      "description": "Private key ID",
      "type": "string"
    },
    "projectId": {
      "description": "Project ID.",
      "type": "string"
    },
    "tokenUri": {
      "description": "Token URI.",
      "format": "uri",
      "type": "string"
    },
    "type": {
      "description": "GCP account type.",
      "enum": [
        "service_account"
      ],
      "type": "string"
    }
  },
  "required": [
    "type"
  ],
  "type": "object"
}

The Google Cloud Platform (GCP) key. Output is the downloaded JSON resulting from creating a service account User Managed Key (in the IAM & admin > Service accounts section of GCP).Required if googleConfigId/configId is not specified.Cannot include this parameter if googleConfigId/configId is specified.

Properties

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

Enumerated Values

Property Value
type service_account

GoogleServiceAccountCredentials

{
  "properties": {
    "configId": {
      "description": "The ID of secure configurations shared by admin. Alternative to googleConfigId (deprecated). If specified, cannot include gcpKey.",
      "type": "string"
    },
    "credentialType": {
      "description": "The type of these credentials, 'gcp' here.",
      "enum": [
        "gcp"
      ],
      "type": "string"
    },
    "gcpKey": {
      "description": "The Google Cloud Platform (GCP) key. Output is the downloaded JSON resulting from creating a service account *User Managed Key*  (in the *IAM & admin > Service accounts section* of GCP).Required if googleConfigId/configId is not specified.Cannot include this parameter if googleConfigId/configId is specified.",
      "properties": {
        "authProviderX509CertUrl": {
          "description": "Auth provider X509 certificate URL.",
          "format": "uri",
          "type": "string"
        },
        "authUri": {
          "description": "Auth URI.",
          "format": "uri",
          "type": "string"
        },
        "clientEmail": {
          "description": "Client email address.",
          "type": "string"
        },
        "clientId": {
          "description": "Client ID.",
          "type": "string"
        },
        "clientX509CertUrl": {
          "description": "Client X509 certificate URL.",
          "format": "uri",
          "type": "string"
        },
        "privateKey": {
          "description": "Private key.",
          "type": "string"
        },
        "privateKeyId": {
          "description": "Private key ID",
          "type": "string"
        },
        "projectId": {
          "description": "Project ID.",
          "type": "string"
        },
        "tokenUri": {
          "description": "Token URI.",
          "format": "uri",
          "type": "string"
        },
        "type": {
          "description": "GCP account type.",
          "enum": [
            "service_account"
          ],
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    },
    "googleConfigId": {
      "description": "The ID of secure configurations shared by admin. This is deprecated. Please use configId instead. If specified, cannot include gcpKey.",
      "type": "string"
    }
  },
  "required": [
    "credentialType"
  ],
  "type": "object"
}

Properties

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

Enumerated Values

Property Value
credentialType gcp

GrantAccessControlWithIdWithGrant

{
  "properties": {
    "canShare": {
      "default": true,
      "description": "Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If `role` is `NO_ROLE` `canShare` is ignored.",
      "type": "boolean"
    },
    "id": {
      "description": "The ID of the recipient.",
      "type": "string"
    },
    "role": {
      "description": "The role of the recipient on this entity.",
      "enum": [
        "ADMIN",
        "CONSUMER",
        "DATA_SCIENTIST",
        "EDITOR",
        "NO_ROLE",
        "OBSERVER",
        "OWNER",
        "READ_ONLY",
        "READ_WRITE",
        "USER"
      ],
      "type": "string"
    },
    "shareRecipientType": {
      "description": "Describes the recipient type, either user, group, or organization.",
      "enum": [
        "user",
        "group",
        "organization"
      ],
      "type": "string"
    }
  },
  "required": [
    "id",
    "role",
    "shareRecipientType"
  ],
  "type": "object"
}

Properties

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

Enumerated Values

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

GrantAccessControlWithUsernameWithGrant

{
  "properties": {
    "canShare": {
      "default": true,
      "description": "Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If `role` is `NO_ROLE` `canShare` is ignored.",
      "type": "boolean"
    },
    "role": {
      "description": "The role of the recipient on this entity.",
      "enum": [
        "ADMIN",
        "CONSUMER",
        "DATA_SCIENTIST",
        "EDITOR",
        "NO_ROLE",
        "OBSERVER",
        "OWNER",
        "READ_ONLY",
        "READ_WRITE",
        "USER"
      ],
      "type": "string"
    },
    "shareRecipientType": {
      "description": "Describes the recipient type, either user, group, or organization.",
      "enum": [
        "user",
        "group",
        "organization"
      ],
      "type": "string"
    },
    "username": {
      "description": "The username of the user to update the access role for.",
      "type": "string"
    }
  },
  "required": [
    "role",
    "shareRecipientType",
    "username"
  ],
  "type": "object"
}

Properties

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

Enumerated Values

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

JDBCDataStoreCreate

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

Properties

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

JDBCDataStoreDetails

{
  "properties": {
    "driverId": {
      "description": "The driver ID.",
      "type": "string"
    },
    "jdbcFieldSchemas": {
      "default": [],
      "description": "The fields to show when creating a data store, their defaults, whether or not they are required, and more.",
      "items": {
        "properties": {
          "choices": {
            "default": [],
            "description": "If non-empty, a list of all possible values for this parameter.",
            "items": {
              "description": "Possible value for this parameter.",
              "type": "string"
            },
            "type": "array"
          },
          "default": {
            "description": "Default value of the JDBC parameter.",
            "type": "string"
          },
          "description": {
            "default": "",
            "description": "Description of this parameter.",
            "type": "string"
          },
          "index": {
            "description": "Sort order within one `kind`.",
            "type": "integer"
          },
          "kind": {
            "description": "Use of this parameter in constructing the JDBC URL.",
            "enum": [
              "ADDRESS",
              "EXTENDED_PATH_PARAM",
              "PATH_PARAM",
              "QUERY_PARAM"
            ],
            "type": "string"
          },
          "name": {
            "description": "The name of the JDBC parameter.",
            "type": "string"
          },
          "required": {
            "description": "Whether or not the parameter is required for a connection.",
            "type": "boolean"
          },
          "visibleByDefault": {
            "description": "Whether or not the parameter should be shown in the UI by default.",
            "type": "boolean"
          }
        },
        "required": [
          "choices",
          "default",
          "description",
          "kind",
          "name",
          "required",
          "visibleByDefault"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array"
    },
    "jdbcFields": {
      "description": "The fields used to create the JDBC URL, in the form of a JSON object where parameter name/value pairs are the items in the object. For example: `{\"address\": localhost:5432, \"database\": \"fooBar\", \"connectTimeout\": 10}`. In most cases, all keys in `jdbcFields` should be defined by a schema listed in `jdbcFieldSchemas` from `DriverConfiguration`. The request will be rejected if there are required parameters (as defined by `jdbcFieldSchemas`) that are not provided.",
      "items": {
        "properties": {
          "name": {
            "description": "The name of the JDBC parameter.",
            "type": "string"
          },
          "value": {
            "description": "The value of the JDBC parameter.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array",
      "x-versionadded": "v2.18"
    },
    "jdbcUrl": {
      "description": "The JDBC URL.",
      "type": "string"
    }
  },
  "required": [
    "driverId"
  ],
  "type": "object"
}

Properties

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

JDBCDataStoreUpdate

{
  "properties": {
    "driverId": {
      "description": "The driver ID.",
      "type": "string"
    },
    "jdbcFields": {
      "description": "The fields used to create the JDBC URL, in the form of a JSON object where parameter name/value pairs are the items in the object. For example: `{\"address\": localhost:5432, \"database\": \"fooBar\", \"connectTimeout\": 10}`. In most cases, all keys in `jdbcFields` should be defined by a schema listed in `jdbcFieldSchemas` from `DriverConfiguration`. The request will be rejected if there are required parameters (as defined by `jdbcFieldSchemas`) that are not provided.",
      "items": {
        "properties": {
          "name": {
            "description": "The name of the JDBC parameter.",
            "type": "string"
          },
          "value": {
            "description": "The value of the JDBC parameter.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array",
      "x-versionadded": "v2.18"
    },
    "jdbcUrl": {
      "description": "The JDBC URL.",
      "type": "string"
    }
  },
  "type": "object"
}

Properties

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

JDBCFieldSchemas

{
  "properties": {
    "choices": {
      "default": [],
      "description": "If non-empty, a list of all possible values for this parameter.",
      "items": {
        "description": "Possible value for this parameter.",
        "type": "string"
      },
      "type": "array"
    },
    "default": {
      "description": "Default value of the JDBC parameter.",
      "type": "string"
    },
    "description": {
      "default": "",
      "description": "Description of this parameter.",
      "type": "string"
    },
    "index": {
      "description": "Sort order within one `kind`.",
      "type": "integer"
    },
    "kind": {
      "description": "Use of this parameter in constructing the JDBC URL.",
      "enum": [
        "ADDRESS",
        "EXTENDED_PATH_PARAM",
        "PATH_PARAM",
        "QUERY_PARAM"
      ],
      "type": "string"
    },
    "name": {
      "description": "The name of the JDBC parameter.",
      "type": "string"
    },
    "required": {
      "description": "Whether or not the parameter is required for a connection.",
      "type": "boolean"
    },
    "visibleByDefault": {
      "description": "Whether or not the parameter should be shown in the UI by default.",
      "type": "boolean"
    }
  },
  "required": [
    "choices",
    "default",
    "description",
    "kind",
    "name",
    "required",
    "visibleByDefault"
  ],
  "type": "object"
}

Properties

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

Enumerated Values

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

JDBCFields

{
  "properties": {
    "name": {
      "description": "The name of the JDBC parameter.",
      "type": "string"
    },
    "value": {
      "description": "The value of the JDBC parameter.",
      "type": "string"
    }
  },
  "required": [
    "name",
    "value"
  ],
  "type": "object"
}

Properties

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

JdbcConnectionParameters

{
  "description": "Optional connection parameters and credential properties as key-value pairs (e.g. user, password, ssl, timeout).",
  "type": "object",
  "x-versionadded": "v2.43"
}

Optional connection parameters and credential properties as key-value pairs (e.g. user, password, ssl, timeout).

Properties

None

JdbcDataPreview

{
  "properties": {
    "jdbcUrl": {
      "description": "The JDBC URL.",
      "type": "string"
    },
    "maxRows": {
      "default": 1000,
      "description": "The row limit for the preview. The default is 1,000 rows, and a maximum of 10,000 per request.",
      "maximum": 10000,
      "minimum": 0,
      "type": "integer"
    },
    "parameters": {
      "description": "Optional connection parameters and credential properties as key-value pairs (e.g. user, password, ssl, timeout).",
      "type": "object",
      "x-versionadded": "v2.43"
    },
    "sql": {
      "description": "The SQL to execute (e.g. SELECT ...).",
      "maxLength": 320000,
      "type": "string"
    }
  },
  "required": [
    "jdbcUrl",
    "sql"
  ],
  "type": "object",
  "x-versionadded": "v2.43"
}

Properties

Name Type Required Restrictions Description
jdbcUrl string true The JDBC URL.
maxRows integer false maximum: 10000
minimum: 0
The row limit for the preview. The default is 1,000 rows, and a maximum of 10,000 per request.
parameters JdbcConnectionParameters false Optional connection parameters and credential properties as key-value pairs (e.g. user, password, ssl, timeout).
sql string true maxLength: 320000
The SQL to execute (e.g. SELECT ...).

JdbcForeignKey

{
  "properties": {
    "foreignKey": {
      "description": "The referred primary key.",
      "properties": {
        "catalog": {
          "description": "The catalog name.",
          "type": "string"
        },
        "column": {
          "description": "The column name.",
          "type": "string"
        },
        "schema": {
          "description": "The schema name.",
          "type": "string"
        },
        "table": {
          "description": "The table name.",
          "type": "string"
        }
      },
      "required": [
        "catalog",
        "column",
        "table"
      ],
      "type": "object"
    },
    "keyType": {
      "description": "The type of this key.",
      "enum": [
        "1",
        "2",
        "3"
      ],
      "type": "string"
    },
    "name": {
      "description": "The name of this key.",
      "type": "string"
    },
    "primaryKey": {
      "description": "The referred primary key.",
      "properties": {
        "catalog": {
          "description": "The catalog name.",
          "type": "string"
        },
        "column": {
          "description": "The column name.",
          "type": "string"
        },
        "schema": {
          "description": "The schema name.",
          "type": "string"
        },
        "table": {
          "description": "The table name.",
          "type": "string"
        }
      },
      "required": [
        "catalog",
        "column",
        "table"
      ],
      "type": "object"
    }
  },
  "required": [
    "keyType",
    "primaryKey"
  ],
  "type": "object"
}

Properties

Name Type Required Restrictions Description
foreignKey JdbcKeyInfo false The referred primary key.
keyType string true The type of this key.
name string false The name of this key.
primaryKey JdbcKeyInfo true The referred primary key.

Enumerated Values

Property Value
keyType [1, 2, 3]

JdbcKeyInfo

{
  "description": "The referred primary key.",
  "properties": {
    "catalog": {
      "description": "The catalog name.",
      "type": "string"
    },
    "column": {
      "description": "The column name.",
      "type": "string"
    },
    "schema": {
      "description": "The schema name.",
      "type": "string"
    },
    "table": {
      "description": "The table name.",
      "type": "string"
    }
  },
  "required": [
    "catalog",
    "column",
    "table"
  ],
  "type": "object"
}

The referred primary key.

Properties

Name Type Required Restrictions Description
catalog string true The catalog name.
column string true The column name.
schema string false The schema name.
table string true The table name.

OAuthCredentials

{
  "properties": {
    "credentialType": {
      "description": "The type of these credentials, 'oauth' here.",
      "enum": [
        "oauth"
      ],
      "type": "string"
    },
    "oauthAccessToken": {
      "default": null,
      "description": "The OAuth access token.",
      "type": [
        "string",
        "null"
      ]
    },
    "oauthClientId": {
      "default": null,
      "description": "The OAuth client ID.",
      "type": [
        "string",
        "null"
      ]
    },
    "oauthClientSecret": {
      "default": null,
      "description": "The OAuth client secret.",
      "type": [
        "string",
        "null"
      ]
    },
    "oauthRefreshToken": {
      "description": "The OAuth refresh token.",
      "type": "string"
    }
  },
  "required": [
    "credentialType",
    "oauthRefreshToken"
  ],
  "type": "object"
}

Properties

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

Enumerated Values

Property Value
credentialType oauth

OptionalDRConnectorV1DataSource

{
  "properties": {
    "dataStoreId": {
      "description": "The data store ID for this data source.",
      "type": "string",
      "x-versionadded": "v2.22"
    },
    "filter": {
      "description": "An optional filter string for narrowing results, which overrides `path` when specified. Only supported by the Jira connector.",
      "maxLength": 320000,
      "type": "string",
      "x-versionadded": "v2.39"
    },
    "path": {
      "description": "The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like `/foldername/filename.csv`.",
      "type": "string",
      "x-versionadded": "v2.22"
    }
  },
  "type": "object"
}

Properties

Name Type Required Restrictions Description
dataStoreId string false The data store ID for this data source.
filter string false maxLength: 320000
An optional filter string for narrowing results, which overrides path when specified. Only supported by the Jira connector.
path string false The path to the dataset within whatever filesystem data source is using. For example, for S3 the path will look something like /foldername/filename.csv.

OptionalDatabaseQueryDataSource

{
  "properties": {
    "dataStoreId": {
      "description": "The data store ID for this data source.",
      "type": "string"
    },
    "fetchSize": {
      "description": "The user-specified fetch size.",
      "maximum": 20000,
      "minimum": 1,
      "type": "integer"
    },
    "query": {
      "description": "The user-specified SQL query. If this is used, then catalog, schema and table will not be used.",
      "maxLength": 320000,
      "type": "string"
    }
  },
  "type": "object"
}

Properties

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

OptionalDatabaseTableDataSource

{
  "properties": {
    "catalog": {
      "description": "The catalog name in the database if supported.",
      "maxLength": 256,
      "type": "string"
    },
    "dataStoreId": {
      "description": "The data store ID for this data source.",
      "type": "string"
    },
    "fetchSize": {
      "description": "The user-specified fetch size.",
      "maximum": 20000,
      "minimum": 1,
      "type": "integer"
    },
    "partitionColumn": {
      "description": "The name of the partition column. It is needed to allow parallel execution for the 10GB+ projects.",
      "type": "string"
    },
    "schema": {
      "description": "The schema associated with the table or view in the database if supported.",
      "maxLength": 256,
      "type": "string"
    },
    "table": {
      "description": "The table or view name in the database.",
      "maxLength": 256,
      "type": "string"
    }
  },
  "type": "object"
}

Properties

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

PartFinalizeResponse

{
  "properties": {
    "checksum": {
      "description": "The checksum of the part.",
      "type": "string"
    },
    "number": {
      "description": "The number of the part.",
      "type": "integer"
    },
    "size": {
      "description": "The size of the part.",
      "type": "integer"
    }
  },
  "required": [
    "checksum",
    "number",
    "size"
  ],
  "type": "object",
  "x-versionadded": "v2.35"
}

Properties

Name Type Required Restrictions Description
checksum string true The checksum of the part.
number integer true The number of the part.
size integer true The size of the part.

PartUploadRequest

{
  "properties": {
    "file": {
      "description": "The part file to upload to the data stage.",
      "format": "binary",
      "type": "string"
    }
  },
  "required": [
    "file"
  ],
  "type": "object",
  "x-versionadded": "v2.35"
}

Properties

Name Type Required Restrictions Description
file string(binary) true The part file to upload to the data stage.

PartUploadResponse

{
  "properties": {
    "checksum": {
      "description": "The checksum of the part.",
      "type": "string"
    },
    "size": {
      "description": "The size of the part.",
      "type": "integer"
    }
  },
  "required": [
    "checksum",
    "size"
  ],
  "type": "object",
  "x-versionadded": "v2.35"
}

Properties

Name Type Required Restrictions Description
checksum string true The checksum of the part.
size integer true The size of the part.

S3Credentials

{
  "properties": {
    "awsAccessKeyId": {
      "description": "The S3 AWS access key ID. Required if configId is not specified.Cannot include this parameter if configId is specified.",
      "type": "string"
    },
    "awsSecretAccessKey": {
      "description": "The S3 AWS secret access key. Required if configId is not specified.Cannot include this parameter if configId is specified.",
      "type": "string"
    },
    "awsSessionToken": {
      "default": null,
      "description": "The S3 AWS session token for AWS temporary credentials.Cannot include this parameter if configId is specified.",
      "type": [
        "string",
        "null"
      ]
    },
    "configId": {
      "description": "The ID of secure configurations of credentials shared by admin. If specified, cannot include awsAccessKeyId, awsSecretAccessKey or awsSessionToken.",
      "type": "string"
    },
    "credentialType": {
      "description": "The type of these credentials, 's3' here.",
      "enum": [
        "s3"
      ],
      "type": "string"
    }
  },
  "required": [
    "credentialType"
  ],
  "type": "object"
}

Properties

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

Enumerated Values

Property Value
credentialType s3

SharedRolesUpdateWithGrant

{
  "properties": {
    "operation": {
      "description": "Name of the action being taken. The only operation is 'updateRoles'.",
      "enum": [
        "updateRoles"
      ],
      "type": "string"
    },
    "roles": {
      "description": "An array of RoleRequest objects. May contain at most 100 such objects.",
      "items": {
        "oneOf": [
          {
            "properties": {
              "canShare": {
                "default": true,
                "description": "Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If `role` is `NO_ROLE` `canShare` is ignored.",
                "type": "boolean"
              },
              "role": {
                "description": "The role of the recipient on this entity.",
                "enum": [
                  "ADMIN",
                  "CONSUMER",
                  "DATA_SCIENTIST",
                  "EDITOR",
                  "NO_ROLE",
                  "OBSERVER",
                  "OWNER",
                  "READ_ONLY",
                  "READ_WRITE",
                  "USER"
                ],
                "type": "string"
              },
              "shareRecipientType": {
                "description": "Describes the recipient type, either user, group, or organization.",
                "enum": [
                  "user",
                  "group",
                  "organization"
                ],
                "type": "string"
              },
              "username": {
                "description": "The username of the user to update the access role for.",
                "type": "string"
              }
            },
            "required": [
              "role",
              "shareRecipientType",
              "username"
            ],
            "type": "object"
          },
          {
            "properties": {
              "canShare": {
                "default": true,
                "description": "Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If `role` is `NO_ROLE` `canShare` is ignored.",
                "type": "boolean"
              },
              "id": {
                "description": "The ID of the recipient.",
                "type": "string"
              },
              "role": {
                "description": "The role of the recipient on this entity.",
                "enum": [
                  "ADMIN",
                  "CONSUMER",
                  "DATA_SCIENTIST",
                  "EDITOR",
                  "NO_ROLE",
                  "OBSERVER",
                  "OWNER",
                  "READ_ONLY",
                  "READ_WRITE",
                  "USER"
                ],
                "type": "string"
              },
              "shareRecipientType": {
                "description": "Describes the recipient type, either user, group, or organization.",
                "enum": [
                  "user",
                  "group",
                  "organization"
                ],
                "type": "string"
              }
            },
            "required": [
              "id",
              "role",
              "shareRecipientType"
            ],
            "type": "object"
          }
        ]
      },
      "maxItems": 100,
      "minItems": 1,
      "type": "array"
    }
  },
  "required": [
    "operation",
    "roles"
  ],
  "type": "object"
}

Properties

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

oneOf

Name Type Required Restrictions Description
» anonymous GrantAccessControlWithUsernameWithGrant false none

xor

Name Type Required Restrictions Description
» anonymous GrantAccessControlWithIdWithGrant false none

Enumerated Values

Property Value
operation updateRoles

SharedRolesWithGrantListResponse

{
  "properties": {
    "count": {
      "description": "The number of items returned.",
      "type": "integer"
    },
    "data": {
      "description": "The access control list.",
      "items": {
        "properties": {
          "canShare": {
            "description": "Whether the recipient can share the role further.",
            "type": "boolean"
          },
          "id": {
            "description": "The identifier of the recipient.",
            "type": "string"
          },
          "name": {
            "description": "The name of the recipient.",
            "type": "string"
          },
          "role": {
            "description": "The role of the recipient on this entity.",
            "enum": [
              "ADMIN",
              "CONSUMER",
              "DATA_SCIENTIST",
              "EDITOR",
              "OBSERVER",
              "OWNER",
              "READ_ONLY",
              "READ_WRITE",
              "USER"
            ],
            "type": "string"
          },
          "shareRecipientType": {
            "description": "The type of the recipient.",
            "enum": [
              "user",
              "group",
              "organization"
            ],
            "type": "string"
          },
          "userFullName": {
            "description": "The full name of the recipient user.",
            "type": "string"
          }
        },
        "required": [
          "canShare",
          "id",
          "name",
          "role",
          "shareRecipientType"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "next": {
      "description": "The URL pointing to the next page.",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL pointing to the previous page.",
      "type": [
        "string",
        "null"
      ]
    },
    "totalCount": {
      "description": "The total number of items matching the condition.",
      "type": "integer"
    }
  },
  "required": [
    "count",
    "data",
    "next",
    "previous",
    "totalCount"
  ],
  "type": "object"
}

Properties

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

SharingListResponse

{
  "properties": {
    "count": {
      "description": "The number of items returned.",
      "type": "integer"
    },
    "data": {
      "description": "The access control list.",
      "items": {
        "properties": {
          "canShare": {
            "description": "Whether the recipient can share the role further.",
            "type": "boolean"
          },
          "role": {
            "description": "The role of the user on this entity.",
            "type": "string"
          },
          "userId": {
            "description": "The identifier of the user that has access to this entity.",
            "type": "string"
          },
          "username": {
            "description": "The username of the user that has access to the entity.",
            "type": "string"
          }
        },
        "required": [
          "canShare",
          "role",
          "userId",
          "username"
        ],
        "type": "object"
      },
      "maxItems": 1000,
      "type": "array"
    },
    "next": {
      "description": "The URL pointing to the next page.",
      "type": [
        "string",
        "null"
      ]
    },
    "previous": {
      "description": "The URL pointing to the previous page.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "count",
    "data",
    "next",
    "previous"
  ],
  "type": "object"
}

Properties

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

SharingUpdateOrRemoveWithGrant

{
  "properties": {
    "data": {
      "description": "List of sharing roles to update.",
      "items": {
        "properties": {
          "canShare": {
            "default": true,
            "description": "Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If `role` is `NO_ROLE` `canShare` is ignored.",
            "type": "boolean"
          },
          "role": {
            "description": "The role to set on the entity. When it is None, the role of this user will be removedfrom this entity.",
            "enum": [
              "ADMIN",
              "CONSUMER",
              "DATA_SCIENTIST",
              "EDITOR",
              "OBSERVER",
              "OWNER",
              "READ_ONLY",
              "READ_WRITE",
              "USER"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "username": {
            "description": "The username of the user to update the access role for.",
            "type": "string"
          }
        },
        "required": [
          "role",
          "username"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array"
    }
  },
  "required": [
    "data"
  ],
  "type": "object"
}

Properties

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

SnowflakeKeyPairCredentials

{
  "properties": {
    "configId": {
      "description": "The ID of the saved shared credentials. If specified, cannot include user, privateKeyStr, or passphrase.",
      "type": "string"
    },
    "credentialType": {
      "description": "The type of these credentials, 'snowflake_key_pair_user_account' here.",
      "enum": [
        "snowflake_key_pair_user_account"
      ],
      "type": "string"
    },
    "passphrase": {
      "description": "Optional passphrase to decrypt private key. Cannot include this parameter if configId is specified.",
      "type": "string"
    },
    "privateKeyStr": {
      "description": "Private key for key pair authentication. Required if configId is not specified. Cannot include this parameter if configId is specified.",
      "type": "string"
    },
    "user": {
      "description": "Username for this credential. Required if configId is not specified. Cannot include this parameter if configId is specified.",
      "type": "string"
    }
  },
  "required": [
    "credentialType"
  ],
  "type": "object"
}

Properties

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

Enumerated Values

Property Value
credentialType snowflake_key_pair_user_account

StandardUdfCreate

{
  "properties": {
    "credentialId": {
      "description": "The ID of the set of credentials to use instead of username and password.",
      "type": "string"
    },
    "functionType": {
      "description": "The standard user-defined function type.",
      "enum": [
        "rolling_median",
        "rolling_most_frequent"
      ],
      "type": "string"
    },
    "schema": {
      "description": "The schema to create or detect user-defined functions in.",
      "type": "string"
    }
  },
  "required": [
    "functionType",
    "schema"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}

Properties

Name Type Required Restrictions Description
credentialId string false The ID of the set of credentials to use instead of username and password.
functionType string true The standard user-defined function type.
schema string true The schema to create or detect user-defined functions in.

Enumerated Values

Property Value
functionType [rolling_median, rolling_most_frequent]

StatusIdResponse

{
  "properties": {
    "statusId": {
      "description": "The ID that can be used with [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid] to poll for the job's status.",
      "type": "string"
    }
  },
  "required": [
    "statusId"
  ],
  "type": "object",
  "x-versionadded": "v2.36"
}

Properties

Name Type Required Restrictions Description
statusId string true The ID that can be used with [GET /api/v2/status/{statusId}/][get-apiv2statusstatusid] to poll for the job's status.

TableDescription

{
  "properties": {
    "catalog": {
      "description": "The name of the catalog.",
      "type": [
        "string",
        "null"
      ]
    },
    "name": {
      "description": "The name of the table.",
      "type": "string"
    },
    "schema": {
      "description": "The schema of the table.",
      "type": "string"
    },
    "type": {
      "description": "The type of table.",
      "enum": [
        "TABLE",
        "VIEW"
      ],
      "type": "string"
    }
  },
  "required": [
    "name",
    "type"
  ],
  "type": "object"
}

Properties

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

Enumerated Values

Property Value
type [TABLE, VIEW]

UpdateDriverRequest

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

Properties

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

UserRoleWithGrant

{
  "properties": {
    "canShare": {
      "default": true,
      "description": "Whether the org/group/user should be able to share with others.If true, the org/group/user will be able to grant any role up to and includingtheir own to other orgs/groups/user. If `role` is `NO_ROLE` `canShare` is ignored.",
      "type": "boolean"
    },
    "role": {
      "description": "The role to set on the entity. When it is None, the role of this user will be removedfrom this entity.",
      "enum": [
        "ADMIN",
        "CONSUMER",
        "DATA_SCIENTIST",
        "EDITOR",
        "OBSERVER",
        "OWNER",
        "READ_ONLY",
        "READ_WRITE",
        "USER"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "username": {
      "description": "The username of the user to update the access role for.",
      "type": "string"
    }
  },
  "required": [
    "role",
    "username"
  ],
  "type": "object"
}

Properties

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

Enumerated Values

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