curl --request POST \
--url https://api.rippit.com/v1/manage_snowflake_connection \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"connection_id": "<string>",
"account": "<string>",
"user": "<string>",
"warehouse": "<string>",
"region": "<string>",
"user_role": "<string>",
"idempotency_key": "<string>"
}
'import requests
url = "https://api.rippit.com/v1/manage_snowflake_connection"
payload = {
"connection_id": "<string>",
"account": "<string>",
"user": "<string>",
"warehouse": "<string>",
"region": "<string>",
"user_role": "<string>",
"idempotency_key": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
connection_id: '<string>',
account: '<string>',
user: '<string>',
warehouse: '<string>',
region: '<string>',
user_role: '<string>',
idempotency_key: '<string>'
})
};
fetch('https://api.rippit.com/v1/manage_snowflake_connection', 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.rippit.com/v1/manage_snowflake_connection",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'connection_id' => '<string>',
'account' => '<string>',
'user' => '<string>',
'warehouse' => '<string>',
'region' => '<string>',
'user_role' => '<string>',
'idempotency_key' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.rippit.com/v1/manage_snowflake_connection"
payload := strings.NewReader("{\n \"connection_id\": \"<string>\",\n \"account\": \"<string>\",\n \"user\": \"<string>\",\n \"warehouse\": \"<string>\",\n \"region\": \"<string>\",\n \"user_role\": \"<string>\",\n \"idempotency_key\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://api.rippit.com/v1/manage_snowflake_connection")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"connection_id\": \"<string>\",\n \"account\": \"<string>\",\n \"user\": \"<string>\",\n \"warehouse\": \"<string>\",\n \"region\": \"<string>\",\n \"user_role\": \"<string>\",\n \"idempotency_key\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rippit.com/v1/manage_snowflake_connection")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"connection_id\": \"<string>\",\n \"account\": \"<string>\",\n \"user\": \"<string>\",\n \"warehouse\": \"<string>\",\n \"region\": \"<string>\",\n \"user_role\": \"<string>\",\n \"idempotency_key\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodymanage_snowflake_connection
Manage Snowflake connection
Create, update, disconnect or delete a connection to the customer’s own Snowflake account. Rippit logs in with its own key pair, so no password or private key is ever passed.
How to use:
- Run
setup_sqlfrom list_snowflake_connections in Snowflake first; create then logs in to verify. A login or permission failure comes back assetup_erroron an inactive connection: fix it in Snowflake, thenupdate. updatere-verifies; pass only the fields that change. Account, user and region can’t change on a verified connection — create a new one.updatealso reconnects a disconnected connection.- Workspace admins only; anyone else gets a 403 on every Snowflake call, so don’t retry.
curl --request POST \
--url https://api.rippit.com/v1/manage_snowflake_connection \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"connection_id": "<string>",
"account": "<string>",
"user": "<string>",
"warehouse": "<string>",
"region": "<string>",
"user_role": "<string>",
"idempotency_key": "<string>"
}
'import requests
url = "https://api.rippit.com/v1/manage_snowflake_connection"
payload = {
"connection_id": "<string>",
"account": "<string>",
"user": "<string>",
"warehouse": "<string>",
"region": "<string>",
"user_role": "<string>",
"idempotency_key": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
connection_id: '<string>',
account: '<string>',
user: '<string>',
warehouse: '<string>',
region: '<string>',
user_role: '<string>',
idempotency_key: '<string>'
})
};
fetch('https://api.rippit.com/v1/manage_snowflake_connection', 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.rippit.com/v1/manage_snowflake_connection",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'connection_id' => '<string>',
'account' => '<string>',
'user' => '<string>',
'warehouse' => '<string>',
'region' => '<string>',
'user_role' => '<string>',
'idempotency_key' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.rippit.com/v1/manage_snowflake_connection"
payload := strings.NewReader("{\n \"connection_id\": \"<string>\",\n \"account\": \"<string>\",\n \"user\": \"<string>\",\n \"warehouse\": \"<string>\",\n \"region\": \"<string>\",\n \"user_role\": \"<string>\",\n \"idempotency_key\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://api.rippit.com/v1/manage_snowflake_connection")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"connection_id\": \"<string>\",\n \"account\": \"<string>\",\n \"user\": \"<string>\",\n \"warehouse\": \"<string>\",\n \"region\": \"<string>\",\n \"user_role\": \"<string>\",\n \"idempotency_key\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rippit.com/v1/manage_snowflake_connection")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"connection_id\": \"<string>\",\n \"account\": \"<string>\",\n \"user\": \"<string>\",\n \"warehouse\": \"<string>\",\n \"region\": \"<string>\",\n \"user_role\": \"<string>\",\n \"idempotency_key\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
create a connection, update one (re-verifies login), disconnect it (pauses its imports), or delete one whose setup never finished.
create, update, disconnect, delete Required for update, disconnect and delete.
1Snowflake account identifier, e.g. "abc12345" or "myorg-myaccount". Required for create.
1 - 256Snowflake service user from the setup script. Required for create.
1 - 256Warehouse the user may run queries on. Required for create.
1 - 256Snowflake region, if the account id needs one.
1 - 256Role from the setup script.
1 - 256create only: retries with the same key return the same connection.
1 - 128Response
Tool result.
Was this page helpful?