curl --request PATCH \
--url https://api.select.dev/v2/databricks-connections/{databricks_connection_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-tenant-id: <x-tenant-id>' \
--data '
{
"name": "<string>",
"primary_workspace_url": "<string>",
"warehouse_id": "<string>",
"credentials": {
"client_id": "<string>",
"client_secret": "<string>"
},
"sync_enabled": true,
"query_sanitization_enabled": true
}
'import requests
url = "https://api.select.dev/v2/databricks-connections/{databricks_connection_id}"
payload = {
"name": "<string>",
"primary_workspace_url": "<string>",
"warehouse_id": "<string>",
"credentials": {
"client_id": "<string>",
"client_secret": "<string>"
},
"sync_enabled": True,
"query_sanitization_enabled": True
}
headers = {
"x-tenant-id": "<x-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'x-tenant-id': '<x-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '<string>',
primary_workspace_url: '<string>',
warehouse_id: '<string>',
credentials: {client_id: '<string>', client_secret: '<string>'},
sync_enabled: true,
query_sanitization_enabled: true
})
};
fetch('https://api.select.dev/v2/databricks-connections/{databricks_connection_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.select.dev/v2/databricks-connections/{databricks_connection_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'primary_workspace_url' => '<string>',
'warehouse_id' => '<string>',
'credentials' => [
'client_id' => '<string>',
'client_secret' => '<string>'
],
'sync_enabled' => true,
'query_sanitization_enabled' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-tenant-id: <x-tenant-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.select.dev/v2/databricks-connections/{databricks_connection_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"primary_workspace_url\": \"<string>\",\n \"warehouse_id\": \"<string>\",\n \"credentials\": {\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\"\n },\n \"sync_enabled\": true,\n \"query_sanitization_enabled\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-tenant-id", "<x-tenant-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.select.dev/v2/databricks-connections/{databricks_connection_id}")
.header("x-tenant-id", "<x-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"primary_workspace_url\": \"<string>\",\n \"warehouse_id\": \"<string>\",\n \"credentials\": {\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\"\n },\n \"sync_enabled\": true,\n \"query_sanitization_enabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.select.dev/v2/databricks-connections/{databricks_connection_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-tenant-id"] = '<x-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"primary_workspace_url\": \"<string>\",\n \"warehouse_id\": \"<string>\",\n \"credentials\": {\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\"\n },\n \"sync_enabled\": true,\n \"query_sanitization_enabled\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"etag": "<string>",
"name": "<string>",
"connection_id": "<string>",
"databricks_account_id": "<string>",
"primary_workspace_url": "<string>",
"warehouse_id": "<string>",
"workspace_ids": [
"<string>"
],
"sync_enabled": true,
"query_sanitization_enabled": true,
"create_time": "<string>",
"update_time": "<string>",
"metastore": "<string>",
"added_by_email": "<string>",
"last_successful_sync_time": "<string>"
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}Update a Databricks connection
curl --request PATCH \
--url https://api.select.dev/v2/databricks-connections/{databricks_connection_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-tenant-id: <x-tenant-id>' \
--data '
{
"name": "<string>",
"primary_workspace_url": "<string>",
"warehouse_id": "<string>",
"credentials": {
"client_id": "<string>",
"client_secret": "<string>"
},
"sync_enabled": true,
"query_sanitization_enabled": true
}
'import requests
url = "https://api.select.dev/v2/databricks-connections/{databricks_connection_id}"
payload = {
"name": "<string>",
"primary_workspace_url": "<string>",
"warehouse_id": "<string>",
"credentials": {
"client_id": "<string>",
"client_secret": "<string>"
},
"sync_enabled": True,
"query_sanitization_enabled": True
}
headers = {
"x-tenant-id": "<x-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'x-tenant-id': '<x-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '<string>',
primary_workspace_url: '<string>',
warehouse_id: '<string>',
credentials: {client_id: '<string>', client_secret: '<string>'},
sync_enabled: true,
query_sanitization_enabled: true
})
};
fetch('https://api.select.dev/v2/databricks-connections/{databricks_connection_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.select.dev/v2/databricks-connections/{databricks_connection_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'primary_workspace_url' => '<string>',
'warehouse_id' => '<string>',
'credentials' => [
'client_id' => '<string>',
'client_secret' => '<string>'
],
'sync_enabled' => true,
'query_sanitization_enabled' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-tenant-id: <x-tenant-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.select.dev/v2/databricks-connections/{databricks_connection_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"primary_workspace_url\": \"<string>\",\n \"warehouse_id\": \"<string>\",\n \"credentials\": {\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\"\n },\n \"sync_enabled\": true,\n \"query_sanitization_enabled\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-tenant-id", "<x-tenant-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.select.dev/v2/databricks-connections/{databricks_connection_id}")
.header("x-tenant-id", "<x-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"primary_workspace_url\": \"<string>\",\n \"warehouse_id\": \"<string>\",\n \"credentials\": {\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\"\n },\n \"sync_enabled\": true,\n \"query_sanitization_enabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.select.dev/v2/databricks-connections/{databricks_connection_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-tenant-id"] = '<x-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"primary_workspace_url\": \"<string>\",\n \"warehouse_id\": \"<string>\",\n \"credentials\": {\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\"\n },\n \"sync_enabled\": true,\n \"query_sanitization_enabled\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"etag": "<string>",
"name": "<string>",
"connection_id": "<string>",
"databricks_account_id": "<string>",
"primary_workspace_url": "<string>",
"warehouse_id": "<string>",
"workspace_ids": [
"<string>"
],
"sync_enabled": true,
"query_sanitization_enabled": true,
"create_time": "<string>",
"update_time": "<string>",
"metastore": "<string>",
"added_by_email": "<string>",
"last_successful_sync_time": "<string>"
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "<string>",
"retryable": true,
"type": "about:blank",
"details": [
{}
]
}Authorizations
Organization API key (sl_…).
Headers
The organization ID the request is scoped to.
Path Parameters
Body
A merge-patch update to an existing connection. Omitted fields are left
unchanged; null clears a field.
Mirrors DatabricksConnectionCreate except databricks_account_id, which
cannot be changed after the connection is added.
name, primary_workspace_url, warehouse_id, credentials,
sync_enabled, and query_sanitization_enabled are required when present
and cannot be cleared with null.
Rotating credentials is atomic: client_id and client_secret move
together, since DatabricksCredentials requires both.
Display name for the connection, as shown throughout SELECT.
URL of the workspace to connect through, including the scheme. It must be in the region whose usage this connection should cover.
The SQL warehouse in that workspace to run queries on. Letters, digits and hyphens only.
^[a-zA-Z0-9\-]+$The service principal SELECT authenticates as. Revalidated against Databricks before it is stored.
Show child attributes
Show child attributes
Whether SELECT is currently syncing data for this connection.
Whether query text is sanitized before SELECT stores it.
Response
Successful Response
A connection to one Databricks account.
The unique identifier of the connection.
Opaque strong ETag for this connection's configuration. Matches the ETag response header, and is what If-Match requires on a write. It changes whenever a configurable field on the connection changes.
Display name for the connection, as shown throughout SELECT.
Identifier of the connection resource this Databricks connection belongs to (see GET /v2/connections/{connection_id}). Distinct from id, which identifies this Databricks connection specifically.
The Databricks account SELECT reads usage and spend for.
URL of the workspace SELECT connects through to read the account's system tables. One account can have several connections, one per region, each reading through a workspace in its own region.
The SQL warehouse in that workspace SELECT runs its queries on.
The workspaces SELECT has found activity in for this account and region. Accumulated as they are discovered, so a workspace that has gone quiet stays listed. Empty until the first successful discovery.
Whether SELECT is currently syncing data for this connection.
Whether query text is sanitized before SELECT stores it.
When the connection was added.
When the connection was last changed.
The Unity Catalog metastore this connection reads, in cloud:region:id form. Null until the first successful validation resolves it.
Email address of the person who added the connection. Null when it was not added by a person.
When SELECT last completed a sync for this connection. Null before the first one succeeds.

