> For the complete documentation index, see [llms.txt](https://docs.appstrategy.com/apprules-r-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.appstrategy.com/apprules-r-documentation/platform/platform-features/system-settings/data-sources/connection-settings/data-warehouse/snowflake.md).

# Snowflake

### Connecting to Snowflake <a href="#connecting-to-snowflake" id="connecting-to-snowflake"></a>

In addition to providing authentication (see below) set the following properties to connect to a Snowflake database:

* **Url**: Both AWS and Azure instances are supported. For example:
  * AWS: <https://myaccount.region.snowflakecomputing.com>
  * Azure: <https://myaccount.region.azure.snowflakecomputing.com>

Account is only required if your Url does not conform to the usual syntax containing the account name at the beginning. Snowflake provides the Account name needed in this case.

### Authenticating to Snowflake <a href="#authenticating-to-snowflake" id="authenticating-to-snowflake"></a>

The provider supports Snowflake via the Snowflake REST SQL API. Supports Basic authentication (username + password via classic endpoint) and JWT authentication (RSA key pair via SQL API v2). Exposes databases, schemas, and tables as queryable objects with full CRUD support.

&#x20;

### Connection Properties

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">Property</td><td valign="top">Key (conn string)</td><td valign="top">Required?</td><td valign="top">Description</td></tr><tr><td valign="top">Account</td><td valign="top">Account</td><td valign="top">Yes</td><td valign="top">Snowflake account identifier, e.g. xy12345.us-east-1 (host prefix without .snowflakecomputing.com).</td></tr><tr><td valign="top">User</td><td valign="top">User</td><td valign="top">Yes</td><td valign="top">Snowflake username.</td></tr><tr><td valign="top">Password</td><td valign="top">UserPassword</td><td valign="top">Yes*</td><td valign="top">Snowflake password. *Required for Basic auth. Use UserPassword (not Password) to avoid DbConnectionStringBuilder stripping.</td></tr><tr><td valign="top">Database</td><td valign="top">Database</td><td valign="top">No</td><td valign="top">Default database context for queries.</td></tr><tr><td valign="top">Schema</td><td valign="top">Schema</td><td valign="top">No</td><td valign="top">Default schema within the database (default: PUBLIC).</td></tr><tr><td valign="top">Warehouse</td><td valign="top">Warehouse</td><td valign="top">No</td><td valign="top">Virtual warehouse to use for query execution.</td></tr><tr><td valign="top">Role</td><td valign="top">Role</td><td valign="top">No</td><td valign="top">Snowflake role to assume after login.</td></tr><tr><td valign="top">Auth Scheme</td><td valign="top">AuthScheme</td><td valign="top">No</td><td valign="top">Basic (default, uses classic endpoint) or JWT (uses SQL API v2 with RSA key pair).</td></tr><tr><td valign="top">Private Key File</td><td valign="top">PrivateKeyFile</td><td valign="top">No</td><td valign="top">Path to the RSA private key file (.p8 / PEM). Required for AuthScheme=JWT.</td></tr><tr><td valign="top">Private Key Pass</td><td valign="top">PrivateKeyPass</td><td valign="top">No</td><td valign="top">Passphrase for the encrypted private key file.</td></tr><tr><td valign="top">Timeout</td><td valign="top">Timeout</td><td valign="top">No</td><td valign="top">Request timeout in seconds (default: 60).</td></tr><tr><td valign="top">SSL Server Cert</td><td valign="top">SSLServerCert</td><td valign="top">No</td><td valign="top">* to accept all SSL certificates, or a specific certificate thumbprint.</td></tr><tr><td valign="top">Firewall Type</td><td valign="top">FirewallType</td><td valign="top">No</td><td valign="top">NONE (default), TUNNEL, SOCKS4, SOCKS5, HTTP.</td></tr><tr><td valign="top">Firewall Server</td><td valign="top">FirewallServer</td><td valign="top">No</td><td valign="top">Hostname or IP of the firewall/SOCKS proxy.</td></tr><tr><td valign="top">Firewall Port</td><td valign="top">FirewallPort</td><td valign="top">No</td><td valign="top">TCP port of the firewall/SOCKS proxy.</td></tr><tr><td valign="top">Firewall User</td><td valign="top">FirewallUser</td><td valign="top">No</td><td valign="top">Username for firewall authentication.</td></tr><tr><td valign="top">Firewall Password</td><td valign="top">FirewallPassword</td><td valign="top">No</td><td valign="top">Password for firewall authentication.</td></tr><tr><td valign="top">Proxy Auto Detect</td><td valign="top">ProxyAutoDetect</td><td valign="top">No</td><td valign="top">Auto-detect system proxy settings (default: true). Set false to specify manual proxy.</td></tr><tr><td valign="top">Proxy Server</td><td valign="top">ProxyServer</td><td valign="top">No</td><td valign="top">Hostname or IP of the HTTP/HTTPS proxy server.</td></tr><tr><td valign="top">Proxy Port</td><td valign="top">ProxyPort</td><td valign="top">No</td><td valign="top">TCP port of the proxy server.</td></tr><tr><td valign="top">Proxy Auth Scheme</td><td valign="top">ProxyAuthScheme</td><td valign="top">No</td><td valign="top">Proxy auth scheme: BASIC (default), DIGEST, NEGOTIATE, NTLM.</td></tr><tr><td valign="top">Proxy User</td><td valign="top">ProxyUser</td><td valign="top">No</td><td valign="top">Username for authenticated proxy.</td></tr><tr><td valign="top">Proxy Password</td><td valign="top">ProxyPassword</td><td valign="top">No</td><td valign="top">Password for authenticated proxy.</td></tr><tr><td valign="top">Proxy Exceptions</td><td valign="top">ProxyExceptions</td><td valign="top">No</td><td valign="top">Semicolon-separated host list that bypasses the proxy.</td></tr><tr><td valign="top">Log File</td><td valign="top">LogFile</td><td valign="top">No</td><td valign="top">Full path to the connector debug log.</td></tr><tr><td valign="top">Log Level</td><td valign="top">LogLevel</td><td valign="top">No</td><td valign="top">0 = disabled (default), 1 = write to log file.</td></tr></tbody></table>

&#x20;

### Minimum Connection Strings

#### Username + Password (Basic Auth)

Account=xy12345.us-east-1;User=myuser;UserPassword=MyPass;Database=MYDB;Warehouse=COMPUTE\_WH

&#x20;

#### RSA Key Pair (JWT Auth)

Account=xy12345.us-east-1;User=myuser;AuthScheme=JWT;PrivateKeyFile=C:\keys\rsa\_key.p8;Database=MYDB;Warehouse=COMPUTE\_WH


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.appstrategy.com/apprules-r-documentation/platform/platform-features/system-settings/data-sources/connection-settings/data-warehouse/snowflake.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
