---
title: Update Warehouse Connection Parameters
description: Update Warehouse Connection Parameters
product: general
token_estimate: 1937
---
# Update Warehouse Connection Parameters

> For AI agents: a documentation index is available at [/llms.txt](/llms.txt). Append `.md` to any page URL for markdown, or send `Accept: text/markdown`.

## Update Warehouse Connection Parameters

**PATCH** `/console/v1/wh_connections`

Full URL: `https://statsigapi.net/console/v1/wh_connections`

Update Warehouse Connection Parameters

## Authorizations

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| STATSIG-API-KEY | string | Yes | — | apiKey (header) |

## Body (application/json)

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| databricks | object | No | — | — |
| databricks.host | string | No | — | — |
| databricks.path | string | No | — | — |
| databricks.accessToken | string | No | — | — |
| databricks.stagingDatabase | string | No | — | Statsig will use this Database to save intermediate tables in the experimentation pipeline. Must be a database that the service user has write access to. |
| databricks.oauthClientID | string | No | — | Constraints: nullable |
| databricks.consoleComputePath | string | No | — | An optional separate path that Statsig will use to run interactive queries made from the Console. Constraints: nullable |
| snowflake | object | No | — | — |
| snowflake.accountName | string | No | — | — |
| snowflake.serviceUserName | string | No | — | — |
| snowflake.serviceUserPassword | string | No | — | — |
| snowflake.privateKey | string | No | — | Constraints: nullable |
| snowflake.keyPassPhrase | string | No | — | Constraints: nullable |
| snowflake.stagingDatabaseName | string | No | — | The database containing the staging schema |
| snowflake.stagingSchemaName | string | No | — | Statsig will use this Schema to save intermediate tables in the experimentation pipeline. Must be a schema that the service user has write access to. |
| snowflake.computeWarehouse | string | No | — | The warehouse that Statsig will use to run queries. Must be a warehouse that the service user has access to. |
| snowflake.consoleComputeWarehouse | string | No | — | An optional warehouse that Statsig will use to run interactive queries made from the Console. Constraints: nullable |
| bigquery | object | No | — | — |
| bigquery.privateKey | string | No | — | Private key for a first-party service account to use for the BigQuery connection. |
| bigquery.project | string | No | — | The project that Statsig will use to run queries. |
| bigquery.consoleComputeProject | string | No | — | An optional project that Statsig will use to run interactive queries made from the Console. |
| bigquery.stagingDataset | string | No | — | Statsig will use this dataset to save intermediate tables in the experimentation pipeline. Must be a dataset that the service user has write access to. |
| redshift | object | No | — | — |
| redshift.host | string | No | — | The name of the Redshift cluster. |
| redshift.port | number | No | — | The port of the Redshift cluster. Constraints: format: double |
| redshift.database | string | No | — | The database of the Redshift cluster. |
| redshift.username | string | No | — | The username of the admin of the Redshift cluster. |
| redshift.password | string | No | — | The password of the admin. |
| redshift.stagingSchema | string | No | — | The schema to use for staging tables. |
| redshift.useSshTunnel | boolean | No | — | — |
| redshift.sshUsername | string | No | — | — |
| redshift.sshPort | number | No | — | Constraints: format: double |
| redshift.sshHost | string | No | — | — |
| redshift.sshPrivateKey | string | No | — | — |
| redshift.sshPublicKey | string | No | — | — |
| redshift.verifyCA | boolean | No | — | Whether to verify CA over SSL. |
| redshift.useAssumeRole | boolean | No | — | Whether to use an IAM role to connect to the Redshift cluster. |
| redshift.roleArn | string | No | — | — |
| redshift.region | string | No | — | The AWS region of your Redshift cluster. Needed if using an IAM Role to connect. |
| athena | object | No | — | — |
| athena.region | string | No | — | The AWS region of your resources. |
| athena.bucket | string | No | — | The name of your S3 bucket. |
| athena.dataCatalog | string | No | — | The name of your Athena Data Source/Catalog. |
| athena.useCatalogInQueryContext | boolean | No | — | Whether to specify the Data Catalog when making calls to your Athena instance via the SDK. This can be helpful to avoid needing to specify the same catalog in SQL for all queries. |
| athena.database | string | No | — | The name of the database to use for staging tables. |
| athena.queryResultLocation | string | No | — | The S3 location for Athena query results. |
| athena.workgroup | string | No | — | The name of the Athena Workgroup to use for query results. |
| athena.roleArn | string | No | — | — |

## Response (application/json)

**200** — Connection updated successfully

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| message | string | No | — | — |

```json
{
  "message": "Connection updated successfully"
}
```

**403** — Insufficient permissions.

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| status | integer | Yes | — | Allowed values: 403 |
| message | string | Yes | — | — |

```json
{
  "status": 403,
  "message": "Forbidden. The request was valid, but the server is refusing action. You might not have the necessary permissions to access the resource."
}
```

## Code samples

### cURL

```bash
curl -X PATCH "https://statsigapi.net/console/v1/wh_connections" \
  -H "Content-Type: application/json" \
  -H "STATSIG-API-KEY: YOUR_API_KEY"
```

### Python

```python
import requests

response = requests.patch(
    "https://statsigapi.net/console/v1/wh_connections",
    headers={
        "Content-Type": "application/json",
        "STATSIG-API-KEY": "YOUR_API_KEY"
    }
)
data = response.json()
```

### JavaScript

```javascript
const response = await fetch("https://statsigapi.net/console/v1/wh_connections", {
  method: "PATCH",
  headers: {
    "Content-Type": "application/json",
    "STATSIG-API-KEY": "YOUR_API_KEY"
  }
});
const data = await response.json();
```

### PHP

```php
<?php
$ch = curl_init("https://statsigapi.net/console/v1/wh_connections");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Content-Type: application/json",
    "STATSIG-API-KEY: YOUR_API_KEY"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
```

### Go

```go
package main

import (
  "bytes"
  "net/http"
)

func main() {
req, _ := http.NewRequest("PATCH", "https://statsigapi.net/console/v1/wh_connections", nil)
req.Header.Set("Content-Type", "application/json")
req.Header.Set("STATSIG-API-KEY", "YOUR_API_KEY")
  client := &http.Client{}
  resp, _ := client.Do(req)
  defer resp.Body.Close()
}
```

### Java

```java
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
      .uri(URI.create("https://statsigapi.net/console/v1/wh_connections"))
      .method("PATCH", HttpRequest.BodyPublishers.noBody())
.header("Content-Type", "application/json")
      .header("STATSIG-API-KEY", "YOUR_API_KEY")
      .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
```

### Ruby

```ruby
require "net/http"
require "json"

uri = URI("https://statsigapi.net/console/v1/wh_connections")
request = Net::HTTP::Patch.new(uri)
request["Content-Type"] = "application/json"
request["STATSIG-API-KEY"] = "YOUR_API_KEY"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end
```

