Snowflake Connector¶
Connect Snowflake with key-pair (JWT) credentials. providerConfigKey is snowflake-jwt.
Base URL¶
Authentication¶
Required Scopes: connectors:read, connectors:write, connectors:sync
Connect¶
POST /connect/integrations/connect-session
{
"providerConfigKey": "snowflake-jwt",
"credentials": {
"subdomain": "xy12345",
"accountIdentifier": "xy12345",
"userName": "SVC_EXAMPLE",
"privateKey": "-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----"
},
"metadata": {
"warehouse": "COMPUTE_WH",
"database": "ANALYTICS",
"role": "PUBLIC",
"schema": null
}
}
Required credentials: subdomain, accountIdentifier, userName, privateKey. Required metadata: warehouse, database. role and schema are optional.
An empty connect-session body returns 400 credentials.subdomain is required.
curl --request POST \
--url "${BASE_URL}/connect/integrations/connect-session" \
--header "Authorization: Bearer <token>" \
--header "Content-Type: application/json" \
--data '{
"providerConfigKey": "snowflake-jwt",
"credentials": {
"subdomain": "xy12345",
"accountIdentifier": "xy12345",
"userName": "SVC_EXAMPLE",
"privateKey": "<PEM>"
},
"metadata": {
"warehouse": "COMPUTE_WH",
"database": "ANALYTICS"
}
}'
Response: { "success": true, "connectionId": "..." }
Never log or commit the private key.
List connections¶
GET /connect/integrations/connections?providerConfigKey=snowflake-jwt
Sync¶
POST /sync/enqueue
Summary¶
| Method | Path |
|---|---|
| POST | /connect/integrations/connect-session |
| GET | /connect/integrations/connections?providerConfigKey=snowflake-jwt |
| POST | /sync/enqueue |