The Snowflake connector lets your AI agent act in each user's Snowflake account. Each user signs in to Snowflake once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 42 tools.
- Tools
- 42
- What they doRead · write · destructive
- 12 · 21 · 912 read21 write9 destructive
- Users sign in with
- OAuth
- OAuth app
- Your own Snowflake app
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Snowflake connection
In AgentKit > Connections, create a Snowflake connection and copy its redirect URI. The name you give it is the
connection_nameyour code passes. See Configure connections.Register an OAuth app
Snowflake connections use your own OAuth app. Register one with Snowflake and add the redirect URI you copied.
Then enter the app's Client ID and Client Secret on the Snowflake connection.
Console steps with screenshots
Register your Scalekit environment with the Snowflake connector so Scalekit handles the authentication flow and token lifecycle for you. The connection name you create will be used to identify and invoke the connection programmatically. You’ll need to create an OAuth Security Integration in your Snowflake account.
-
Set up auth redirects
-
In Scalekit dashboard, go to AgentKit > Connections > Create Connection.
-
Find Snowflake from the list of providers and click Create. Copy the redirect URI. It looks like
https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback.
-
Log into your Snowflake account (Snowsight) and run the following SQL to create an OAuth Security Integration, replacing
<redirect_uri>with the URI you copied:CREATE OR REPLACE SECURITY INTEGRATION scalekit_oauthTYPE = OAUTHOAUTH_CLIENT = CUSTOMOAUTH_CLIENT_TYPE = 'CONFIDENTIAL'OAUTH_REDIRECT_URI = '<redirect_uri>'ENABLED = TRUE;
-
-
Get client credentials
-
After creating the integration, run the following SQL to retrieve the client credentials:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('SCALEKIT_OAUTH'); -
This returns a JSON object containing:
- Client ID — value of
OAUTH_CLIENT_ID - Client Secret — value of
OAUTH_CLIENT_SECRET_2(orOAUTH_CLIENT_SECRET_1)
- Client ID — value of
-
-
Add credentials in Scalekit
-
In Scalekit dashboard, go to AgentKit > Connections and open the connection you created.
-
Enter your credentials:
- Client ID (from the SQL output)
- Client Secret (from the SQL output)

-
Click Save.
-
-
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'snowflake'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Snowflake:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'snowflake_show_primary_keys',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "snowflake"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Snowflake:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="snowflake_show_primary_keys",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolsnowflake_get_columnsQuery INFORMATION_SCHEMA.COLUMNS for column metadata.Read-onlyGet Columns
Query INFORMATION_SCHEMA.COLUMNS for column metadata.
Inputs
databasestringrequired- Database name
column_name_likestring- Optional column name pattern
limitinteger- Maximum rows
rolestring- Optional role
schemastring- Optional schema filter
tablestring- Optional table filter
warehousestring- Optional warehouse
snowflake_get_query_partitionGet a specific result partition for a Snowflake SQL API statement.Read-onlyGet Query Partition
Get a specific result partition for a Snowflake SQL API statement.
Inputs
partitionintegerrequired- Partition index to fetch (0-based)
statement_handlestringrequired- Snowflake statement handle returned by Execute Query
request_idstring- Optional request ID used when the statement was submitted
snowflake_get_query_statusGet Snowflake SQL API statement status and first partition result metadata by statement handle.Read-onlyGet Query Status
Get Snowflake SQL API statement status and first partition result metadata by statement handle.
Inputs
statement_handlestringrequired- Snowflake statement handle returned by Execute Query
request_idstring- Optional request ID used when the statement was submitted
snowflake_get_referential_constraintsQuery INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS.Read-onlyGet Referential Constraints
Query INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS.
Inputs
databasestringrequired- Database name
limitinteger- Maximum rows
rolestring- Optional role
schemastring- Optional schema filter
tablestring- Optional table filter
warehousestring- Optional warehouse
snowflake_get_schemataQuery INFORMATION_SCHEMA.SCHEMATA for schema metadata.Read-onlyGet Schemata
Query INFORMATION_SCHEMA.SCHEMATA for schema metadata.
Inputs
databasestringrequired- Database name
limitinteger- Maximum rows
rolestring- Optional role
schema_likestring- Optional schema pattern
warehousestring- Optional warehouse
snowflake_get_table_constraintsQuery INFORMATION_SCHEMA.TABLE_CONSTRAINTS.Read-onlyGet Table Constraints
Query INFORMATION_SCHEMA.TABLE_CONSTRAINTS.
Inputs
databasestringrequired- Database name
constraint_typestring- Optional constraint type filter
limitinteger- Maximum rows
rolestring- Optional role
schemastring- Optional schema filter
tablestring- Optional table filter
warehousestring- Optional warehouse
snowflake_get_tablesQuery INFORMATION_SCHEMA.TABLES for table metadata in a Snowflake database.Read-onlyGet Tables
Query INFORMATION_SCHEMA.TABLES for table metadata in a Snowflake database.
Inputs
databasestringrequired- Database name
limitinteger- Maximum number of rows
rolestring- Optional role
schemastring- Optional schema filter
table_name_likestring- Optional table name pattern
warehousestring- Optional warehouse
snowflake_show_databases_schemasRun SHOW DATABASES or SHOW SCHEMAS.Read-onlyShow Databases / Schemas
Run SHOW DATABASES or SHOW SCHEMAS.
Inputs
object_typestringrequired- Object type to showone of
databasesschemas database_namestring- Optional database scope for SHOW SCHEMAS
like_patternstring- Optional LIKE pattern
rolestring- Optional role
warehousestring- Optional warehouse
snowflake_show_grantsRun SHOW GRANTS in common modes (to role, to user, of role, on object).Read-onlyShow Grants
Run SHOW GRANTS in common modes (to role, to user, of role, on object).
Inputs
grant_viewstringrequired- SHOW GRANTS variantone of
to_roleto_userof_roleon_object object_namestring- Object name for on_object
object_typestring- Object type for on_object
rolestring- Optional execution role
role_namestring- Role name (for to_role/of_role)
user_namestring- User name (for to_user)
warehousestring- Optional warehouse
snowflake_show_imported_exported_keysRun SHOW IMPORTED KEYS or SHOW EXPORTED KEYS for a table.Read-onlyShow Imported / Exported Keys
Run SHOW IMPORTED KEYS or SHOW EXPORTED KEYS for a table. For reliable execution in this environment, use fully-qualified scope (database_name + schema_name + table_name).
Inputs
key_directionstringrequired- Which command to runone of
importedexported table_namestringrequired- Table name (use with schema_name and database_name for fully-qualified scope)
database_namestring- Optional database name (recommended with schema_name)
rolestring- Optional role
schema_namestring- Optional schema name (recommended with database_name)
warehousestring- Optional warehouse
snowflake_show_primary_keysRun SHOW PRIMARY KEYS with optional scope.Read-onlyShow Primary Keys
Run SHOW PRIMARY KEYS with optional scope. When using schema_name (or schema_name + table_name), database_name is required for fully-qualified scope.
Inputs
database_namestring- Optional database name for scope (required when schema_name is set)
rolestring- Optional role
schema_namestring- Optional schema name for scope
table_namestring- Optional table name for scope
warehousestring- Optional warehouse
snowflake_show_warehousesRun SHOW WAREHOUSES.Read-onlyShow Warehouses
Run SHOW WAREHOUSES.
Inputs
like_patternstring- Optional LIKE pattern
rolestring- Optional role
warehousestring- Optional warehouse
snowflake_alter_databaseCreate the specified database if it does not already exist, or alter its properties if it does, using the Database REST API (PUT /api/v2/databases/{name}).WriteAlter Database
Create the specified database if it does not already exist, or alter its properties if it does, using the Database REST API (PUT /api/v2/databases/{name}). Snowflake requires the full property set even when changing only one value.
- Idempotent
Inputs
database_namestringrequired- Name of the database to create or alter
commentstring- Comment to attach to the database
data_retention_time_in_daysinteger- Number of days of Time Travel history retained for objects in the database
kindstring- Database durability level: PERMANENT or TRANSIENTone of
PERMANENTTRANSIENT max_data_extension_time_in_daysinteger- Maximum number of days Snowflake can extend data retention to keep dependent streams from becoming stale
snowflake_alter_schemaCreate the specified schema if it does not already exist, or alter its properties if it does, using the Schema REST API (PUT /api/v2/databases/{database}/schemas/{name}).WriteAlter Schema
Create the specified schema if it does not already exist, or alter its properties if it does, using the Schema REST API (PUT /api/v2/databases/{database}/schemas/{name}). Snowflake requires the full property set even when changing only one value.
- Idempotent
Inputs
database_namestringrequired- Database that contains the schema
schema_namestringrequired- Name of the schema to create or alter
commentstring- Comment to attach to the schema
data_retention_time_in_daysinteger- Number of days of Time Travel history retained for objects in the schema
kindstring- Schema durability level: PERMANENT or TRANSIENTone of
PERMANENTTRANSIENT managed_accessboolean- Whether grants on objects in the schema are managed by the schema owner role
max_data_extension_time_in_daysinteger- Maximum number of days Snowflake can extend data retention to keep dependent streams from becoming stale
snowflake_alter_tableCreate the specified table if it does not already exist, or alter its properties if it does, using the Table REST API (PUT /api/v2/databases/{database}/schemas/{schema}/tables/{name}).WriteAlter Table
Create the specified table if it does not already exist, or alter its properties if it does, using the Table REST API (PUT /api/v2/databases/{database}/schemas/{schema}/tables/{name}). Snowflake requires the full property set (including all columns) even when changing only one value.
- Idempotent
Inputs
database_namestringrequired- Database that contains the table
schema_namestringrequired- Schema that contains the table
table_namestringrequired- Name of the table to create or alter
change_trackingboolean- Whether to enable change tracking on the table for use with streams
cluster_byarray- One or more columns or column expressions to use as the clustering key
columnsarray- Full ordered list of column definitions for the table. Each column is an object with at least 'name' and 'datatype', and may also include 'nullable' (boolean), 'default' (string expression), and 'comment'. Snowflake requires the complete column set on every call, even when altering just one other property.
commentstring- Comment to attach to the table
data_retention_time_in_daysinteger- Number of days of Time Travel history retained for the table
kindstring- Table durability level: PERMANENT, TRANSIENT, or TEMPORARYone of
PERMANENTTRANSIENTTEMPORARY max_data_extension_time_in_daysinteger- Maximum number of days Snowflake can extend data retention to keep dependent streams from becoming stale
snowflake_alter_warehouseCreate the specified warehouse if it does not already exist, or alter its properties if it does, using the Warehouse REST API (PUT /api/v2/warehouses/{name}).WriteAlter Warehouse
Create the specified warehouse if it does not already exist, or alter its properties if it does, using the Warehouse REST API (PUT /api/v2/warehouses/{name}). Snowflake requires the full property set even when changing only one value.
- Idempotent
Inputs
warehouse_namestringrequired- Name of the warehouse to create or alter
auto_resumestring- Whether to automatically resume the warehouse when a statement is submitted to itone of
truefalse auto_suspendinteger- Idle time in seconds before the warehouse automatically suspends
commentstring- Comment to attach to the warehouse
max_cluster_countinteger- Maximum number of clusters for a multi-cluster warehouse
min_cluster_countinteger- Minimum number of clusters for a multi-cluster warehouse
resource_monitorstring- Name of an existing resource monitor to assign to the warehouse
scaling_policystring- Scaling policy for a multi-cluster warehouse: STANDARD or ECONOMYone of
STANDARDECONOMY wait_for_completionstring- Whether to block the response until an in-progress resize finishes provisioningone of
truefalse warehouse_sizestring- Compute size of the warehouseone of
XSMALLSMALLMEDIUMLARGEXLARGEXXLARGEXXXLARGEX4LARGEX5LARGEX6LARGE warehouse_typestring- Type of warehouse: STANDARD or SNOWPARK-OPTIMIZEDone of
STANDARDSNOWPARK-OPTIMIZED
snowflake_clone_databaseCreate a new database as a zero-copy clone of an existing database, optionally as of a past point in time, using the Database REST API (POST /api/v2/databases/{source_database_name}:clone).WriteClone Database
Create a new database as a zero-copy clone of an existing database, optionally as of a past point in time, using the Database REST API (POST /api/v2/databases/{source_database_name}:clone). Equivalent to CREATE DATABASE ... CLONE ...
Inputs
database_namestringrequired- Name for the new database produced by the clone
source_database_namestringrequired- Name of the existing database to clone from
commentstring- Comment to attach to the new database
create_modestring- Behavior when a database with this name already existsone of
errorIfExistsorReplaceifNotExists point_of_timeobject- Time Travel reference identifying the historical state of the source database to clone
snowflake_clone_tableCreate a new table as a zero-copy clone of an existing table, optionally as of a past point in time and optionally into a different database/schema, using the Table REST API (POST /api/v2/databases/{database}/schemas/{schema}/tables/{source_table_name}:clone).WriteClone Table
Create a new table as a zero-copy clone of an existing table, optionally as of a past point in time and optionally into a different database/schema, using the Table REST API (POST /api/v2/databases/{database}/schemas/{schema}/tables/{source_table_name}:clone). Equivalent to CREATE TABLE ... CLONE ...
Inputs
database_namestringrequired- Database that contains the source table
schema_namestringrequired- Schema that contains the source table
source_table_namestringrequired- Name of the existing table to clone from
table_namestringrequired- Name for the new table produced by the clone
commentstring- Comment to attach to the new table
copy_grantsboolean- Whether to retain any explicit grants on an existing table of the same name when create_mode is orReplace
create_modestring- Behavior when a table with the new name already existsone of
errorIfExistsorReplaceifNotExists point_of_timeobject- Time Travel reference identifying the historical state of the source table to clone
target_databasestring- Database for the newly created table. Defaults to the source table's database.
target_schemastring- Schema for the newly created table. Defaults to the source table's schema.
snowflake_create_databaseCreate a new Snowflake database using the Database REST API (POST /api/v2/databases).WriteCreate Database
Create a new Snowflake database using the Database REST API (POST /api/v2/databases). Equivalent to CREATE DATABASE.
Inputs
database_namestringrequired- Name of the new database
commentstring- Comment to attach to the database
create_modestring- Behavior when a database with this name already existsone of
errorIfExistsorReplaceifNotExists data_retention_time_in_daysinteger- Number of days of Time Travel history retained for objects in the database
kindstring- Database durability level: PERMANENT or TRANSIENTone of
PERMANENTTRANSIENT max_data_extension_time_in_daysinteger- Maximum number of days Snowflake can extend data retention to keep dependent streams from becoming stale
snowflake_create_roleCreate a new Snowflake account role using the Role REST API (POST /api/v2/roles).WriteCreate Role
Create a new Snowflake account role using the Role REST API (POST /api/v2/roles). Equivalent to CREATE ROLE.
Inputs
role_namestringrequired- Name of the new role
commentstring- Comment to attach to the role
create_modestring- Behavior when a role with this name already existsone of
errorIfExistsorReplaceifNotExists
snowflake_create_schemaCreate a new schema inside a Snowflake database using the Schema REST API (POST /api/v2/databases/{database}/schemas).WriteCreate Schema
Create a new schema inside a Snowflake database using the Schema REST API (POST /api/v2/databases/{database}/schemas). Equivalent to CREATE SCHEMA.
Inputs
database_namestringrequired- Database the new schema will belong to
schema_namestringrequired- Name of the new schema
commentstring- Comment to attach to the schema
create_modestring- Behavior when a schema with this name already existsone of
errorIfExistsorReplaceifNotExists data_retention_time_in_daysinteger- Number of days of Time Travel history retained for objects in the schema
kindstring- Schema durability level: PERMANENT or TRANSIENTone of
PERMANENTTRANSIENT managed_accessboolean- Whether grants on objects in the schema are managed by the schema owner role
max_data_extension_time_in_daysinteger- Maximum number of days Snowflake can extend data retention to keep dependent streams from becoming stale
snowflake_create_tableCreate a new table in a Snowflake schema using the Table REST API (POST /api/v2/databases/{database}/schemas/{schema}/tables).WriteCreate Table
Create a new table in a Snowflake schema using the Table REST API (POST /api/v2/databases/{database}/schemas/{schema}/tables). Equivalent to CREATE TABLE.
Inputs
columnsarrayrequired- Ordered list of column definitions for the new table. Each column is an object with at least 'name' and 'datatype', and may also include 'nullable' (boolean), 'default' (string expression), and 'comment'.
database_namestringrequired- Database that will contain the new table
schema_namestringrequired- Schema that will contain the new table
table_namestringrequired- Name of the new table
change_trackingboolean- Whether to enable change tracking on the table for use with streams
cluster_byarray- One or more columns or column expressions to use as the clustering key
commentstring- Comment to attach to the table
copy_grantsboolean- Whether to retain any explicit grants on an existing table of the same name when create_mode is orReplace
create_modestring- Behavior when a table with this name already existsone of
errorIfExistsorReplaceifNotExists data_retention_time_in_daysinteger- Number of days of Time Travel history retained for the table
kindstring- Table durability level: PERMANENT, TRANSIENT, or TEMPORARYone of
PERMANENTTRANSIENTTEMPORARY
snowflake_create_userCreate a new Snowflake user using the User REST API (POST /api/v2/users).WriteCreate User
Create a new Snowflake user using the User REST API (POST /api/v2/users). Equivalent to CREATE USER.
Inputs
user_namestringrequired- Login identifier for the new user
commentstring- Comment to attach to the user
create_modestring- Behavior when a user with this name already existsone of
errorIfExistsorReplaceifNotExists default_namespacestring- Database (and optionally schema) used by default for this user's sessions
default_rolestring- Role used by default for this user's sessions
default_warehousestring- Warehouse used by default for this user's sessions
disabledboolean- Whether the user account is created in a disabled state
display_namestring- Name shown for the user in Snowsight
emailstring- Email address of the user
login_namestring- Name the user types to log in
must_change_passwordboolean- Whether the user must set a new password at next login
passwordstring- Initial password for the user
user_typestring- Type of user: PERSON, SERVICE, or LEGACY_SERVICEone of
PERSONSERVICELEGACY_SERVICE
snowflake_create_warehouseCreate a new Snowflake virtual warehouse using the Warehouse REST API (POST /api/v2/warehouses).WriteCreate Warehouse
Create a new Snowflake virtual warehouse using the Warehouse REST API (POST /api/v2/warehouses). Equivalent to CREATE WAREHOUSE.
Inputs
warehouse_namestringrequired- Name of the new warehouse
auto_resumestring- Whether to automatically resume the warehouse when a statement is submitted to itone of
truefalse auto_suspendinteger- Idle time in seconds before the warehouse automatically suspends
commentstring- Comment to attach to the warehouse
create_modestring- Behavior when a warehouse with this name already existsone of
errorIfExistsorReplaceifNotExists initially_suspendedstring- Whether the warehouse is created in the Suspended state instead of starting immediatelyone of
truefalse max_cluster_countinteger- Maximum number of clusters for a multi-cluster warehouse
min_cluster_countinteger- Minimum number of clusters for a multi-cluster warehouse
resource_monitorstring- Name of an existing resource monitor to assign to the warehouse
scaling_policystring- Scaling policy for a multi-cluster warehouse: STANDARD or ECONOMYone of
STANDARDECONOMY warehouse_sizestring- Compute size of the warehouseone of
XSMALLSMALLMEDIUMLARGEXLARGEXXLARGEXXXLARGEX4LARGEX5LARGEX6LARGE warehouse_typestring- Type of warehouse: STANDARD or SNOWPARK-OPTIMIZEDone of
STANDARDSNOWPARK-OPTIMIZED
snowflake_execute_queryExecute one or more SQL statements against Snowflake using the SQL API.WriteExecute Query
Execute one or more SQL statements against Snowflake using the SQL API. Requires a valid Snowflake OAuth2 connection. Use semicolons to submit multiple statements.
Inputs
statementstringrequired- SQL statement to execute. Use semicolons to send multiple statements in one request.
asyncboolean- Execute statement asynchronously and return a statement handledefault
false bindingsobject- Bind variables object for '?' placeholders in the SQL statement
databasestring- Database to use when executing the statement
nullableboolean- When false, SQL NULL values are returned as the string "null"
parametersobject- Statement-level Snowflake parameters as a JSON object
request_idstring- Unique request identifier (UUID) used for idempotent retries
retryboolean- Set true when resubmitting a previously sent request with the same request_id
rolestring- Role to use when executing the statement
schemastring- Schema to use when executing the statement
timeoutinteger- Maximum number of seconds to wait for statement execution
warehousestring- Warehouse to use when executing the statement
snowflake_grant_privilege_to_roleRun GRANT <privileges> ON <object_type> <object_name> TO ROLE <role_name> via the SQL statements API, optionally WITH GRANT OPTION.WriteGrant Privilege to Role
Run GRANT <privileges> ON <object_type> <object_name> TO ROLE <role_name> via the SQL statements API, optionally WITH GRANT OPTION. Grants one or more privileges on a specific securable object to an account role. Re-running with the same privileges/object/role is a no-op.
- Idempotent
Inputs
object_namestringrequired- Fully-qualified name of the object to grant privileges on
object_typestringrequired- Type of the securable object the privileges apply to
privilegesarrayrequired- One or more privileges to grant, e.g. ["SELECT", "INSERT"] or ["ALL PRIVILEGES"]. Valid values depend on object_type.
role_namestringrequired- Name of the role that will receive the privileges
rolestring- Optional execution role
warehousestring- Optional warehouse to execute the statement on
with_grant_optionboolean- Whether the receiving role can in turn grant these privileges to other roles
snowflake_grant_role_to_userRun GRANT ROLE <role_name> TO USER <user_name> via the SQL statements API.WriteGrant Role to User
Run GRANT ROLE <role_name> TO USER <user_name> via the SQL statements API. Grants an existing account role to an existing user, giving that user the role's privileges. Re-running with the same role/user is a no-op.
- Idempotent
Inputs
role_namestringrequired- Name of the existing role to grant
user_namestringrequired- Login name of the user who will receive the role
rolestring- Optional execution role
warehousestring- Optional warehouse to execute the statement on
snowflake_rename_warehouseRename a Snowflake warehouse to a new, unique identifier using the Warehouse REST API (POST /api/v2/warehouses/{name}:rename).WriteRename Warehouse
Rename a Snowflake warehouse to a new, unique identifier using the Warehouse REST API (POST /api/v2/warehouses/{name}:rename). Equivalent to ALTER WAREHOUSE ... RENAME TO ...
Inputs
current_namestringrequired- Current name of the warehouse to rename
new_namestringrequired- New name for the warehouse
if_existsboolean- Whether to suppress the not-found error if the warehouse does not exist
snowflake_resume_warehouseBring a suspended Snowflake warehouse back to a running state by provisioning compute resources (POST /api/v2/warehouses/{name}:resume).WriteResume Warehouse
Bring a suspended Snowflake warehouse back to a running state by provisioning compute resources (POST /api/v2/warehouses/{name}:resume). Equivalent to ALTER WAREHOUSE ... RESUME.
- Idempotent
Inputs
warehouse_namestringrequired- Name of the warehouse to resume
snowflake_suspend_warehouseSuspend a running Snowflake warehouse, releasing its compute resources (POST /api/v2/warehouses/{name}:suspend).WriteSuspend Warehouse
Suspend a running Snowflake warehouse, releasing its compute resources (POST /api/v2/warehouses/{name}:suspend). Equivalent to ALTER WAREHOUSE ... SUSPEND.
- Idempotent
Inputs
warehouse_namestringrequired- Name of the warehouse to suspend
snowflake_undrop_databaseRestore a recently dropped Snowflake database from Time Travel using the Database REST API (POST /api/v2/databases/{name}:undrop).WriteUndrop Database
Restore a recently dropped Snowflake database from Time Travel using the Database REST API (POST /api/v2/databases/{name}:undrop). Equivalent to UNDROP DATABASE.
Inputs
database_namestringrequired- Name of the dropped database to restore
snowflake_undrop_schemaRestore a recently dropped schema from Time Travel using the Schema REST API (POST /api/v2/databases/{database}/schemas/{name}:undrop).WriteUndrop Schema
Restore a recently dropped schema from Time Travel using the Schema REST API (POST /api/v2/databases/{database}/schemas/{name}:undrop). Equivalent to UNDROP SCHEMA.
Inputs
database_namestringrequired- Database that contains the dropped schema
schema_namestringrequired- Name of the dropped schema to restore
snowflake_undrop_tableRestore a recently dropped table from Time Travel using the Table REST API (POST /api/v2/databases/{database}/schemas/{schema}/tables/{name}:undrop).WriteUndrop Table
Restore a recently dropped table from Time Travel using the Table REST API (POST /api/v2/databases/{database}/schemas/{schema}/tables/{name}:undrop). Equivalent to UNDROP TABLE.
Inputs
database_namestringrequired- Database that contains the dropped table
schema_namestringrequired- Schema that contains the dropped table
table_namestringrequired- Name of the dropped table to restore
snowflake_cancel_queryCancel a running Snowflake SQL API statement by statement handle.DestructiveCancel Query
Cancel a running Snowflake SQL API statement by statement handle.
- Idempotent
Inputs
statement_handlestringrequired- Snowflake statement handle to cancel
request_idstring- Optional request ID used when the statement was submitted
snowflake_drop_databasePermanently remove a Snowflake database using the Database REST API (DELETE /api/v2/databases/{name}).DestructiveDrop Database
Permanently remove a Snowflake database using the Database REST API (DELETE /api/v2/databases/{name}). Equivalent to DROP DATABASE.
- Idempotent
Inputs
database_namestringrequired- Name of the database to drop
if_existsboolean- Whether to suppress the not-found error if the database does not exist
restrictboolean- Whether to block the drop if foreign keys outside this database depend on it
snowflake_drop_rolePermanently remove a Snowflake account role using the Role REST API (DELETE /api/v2/roles/{name}).DestructiveDrop Role
Permanently remove a Snowflake account role using the Role REST API (DELETE /api/v2/roles/{name}). Equivalent to DROP ROLE.
- Idempotent
Inputs
role_namestringrequired- Name of the role to drop
if_existsboolean- Whether to suppress the not-found error if the role does not exist
snowflake_drop_schemaPermanently remove a schema from a Snowflake database using the Schema REST API (DELETE /api/v2/databases/{database}/schemas/{name}).DestructiveDrop Schema
Permanently remove a schema from a Snowflake database using the Schema REST API (DELETE /api/v2/databases/{database}/schemas/{name}). Equivalent to DROP SCHEMA.
- Idempotent
Inputs
database_namestringrequired- Database that contains the schema
schema_namestringrequired- Name of the schema to drop
if_existsboolean- Whether to suppress the not-found error if the schema does not exist
restrictboolean- Whether to block the drop if foreign keys outside this schema depend on it
snowflake_drop_tablePermanently remove a table from a Snowflake schema using the Table REST API (DELETE /api/v2/databases/{database}/schemas/{schema}/tables/{name}).DestructiveDrop Table
Permanently remove a table from a Snowflake schema using the Table REST API (DELETE /api/v2/databases/{database}/schemas/{schema}/tables/{name}). Equivalent to DROP TABLE.
- Idempotent
Inputs
database_namestringrequired- Database that contains the table
schema_namestringrequired- Schema that contains the table
table_namestringrequired- Name of the table to drop
if_existsboolean- Whether to suppress the not-found error if the table does not exist
snowflake_drop_userPermanently remove a Snowflake user using the User REST API (DELETE /api/v2/users/{name}).DestructiveDrop User
Permanently remove a Snowflake user using the User REST API (DELETE /api/v2/users/{name}). Equivalent to DROP USER.
- Idempotent
Inputs
user_namestringrequired- Login identifier of the user to drop
if_existsboolean- Whether to suppress the not-found error if the user does not exist
snowflake_drop_warehousePermanently remove a Snowflake virtual warehouse using the Warehouse REST API (DELETE /api/v2/warehouses/{name}).DestructiveDrop Warehouse
Permanently remove a Snowflake virtual warehouse using the Warehouse REST API (DELETE /api/v2/warehouses/{name}). Equivalent to DROP WAREHOUSE.
- Idempotent
Inputs
warehouse_namestringrequired- Name of the warehouse to drop
if_existsboolean- Whether to suppress the not-found error if the warehouse does not exist
snowflake_revoke_privilege_from_roleRun REVOKE [GRANT OPTION FOR] <privileges> ON <object_type> <object_name> FROM ROLE <role_name> [RESTRICT | CASCADE] via the SQL statements API.DestructiveRevoke Privilege from Role
Run REVOKE [GRANT OPTION FOR] <privileges> ON <object_type> <object_name> FROM ROLE <role_name> [RESTRICT | CASCADE] via the SQL statements API. Removes one or more previously granted privileges on a specific securable object from an account role. Re-running once the privileges are no longer granted is a no-op.
- Idempotent
Inputs
object_namestringrequired- Fully-qualified name of the object to revoke privileges on
object_typestringrequired- Type of the securable object the privileges apply to
privilegesarrayrequired- One or more privileges to revoke, e.g. ["SELECT", "INSERT"] or ["ALL PRIVILEGES"]. Valid values depend on object_type.
role_namestringrequired- Name of the role to revoke the privileges from
cascade_optionstring- How to handle privileges the role in turn granted to others: RESTRICT fails if any exist, CASCADE revokes them tooone of
RESTRICTCASCADE grant_option_onlyboolean- When true, only revokes the grant option (the ability to re-grant), leaving the underlying privilege grant intact
rolestring- Optional execution role
warehousestring- Optional warehouse to execute the statement on
snowflake_revoke_role_from_userRun REVOKE ROLE <role_name> FROM USER <user_name> via the SQL statements API.DestructiveRevoke Role from User
Run REVOKE ROLE <role_name> FROM USER <user_name> via the SQL statements API. Removes a previously granted account role from a user. Re-running once the role is no longer granted is a no-op.
- Idempotent
Inputs
role_namestringrequired- Name of the role to revoke
user_namestringrequired- Login name of the user to remove the role from
rolestring- Optional execution role
warehousestring- Optional warehouse to execute the statement on
No tools match.
Workflows
Don’t worry about your Snowflake account domain in the path. Scalekit automatically resolves {{domain}} from the connected account’s configuration. For example, a request with path="/api/v2/statements" will be sent to https://myorg-myaccount.snowflakecomputing.com/api/v2/statements automatically.
Proxy API call
const result = await actions.request({ connectionName: 'snowflake', identifier: 'user_123', path: '/api/v2/statements', method: 'POST',});console.log(result);result = actions.request( connection_name='snowflake', identifier='user_123', path="/api/v2/statements", method="POST")print(result)Execute a tool
const result = await actions.executeTool({ connector: 'snowflake', identifier: 'user_123', toolName: 'snowflake_cancel_query', toolInput: {},});console.log(result);result = actions.execute_tool( tool_input={}, tool_name='snowflake_cancel_query', connection_name='snowflake', identifier='user_123',)print(result)