Skip to content
Scalekit Docs
Talk to an EngineerDashboard

Snowflake Key Pair Auth connector

Bearer TokenAnalyticsDatabases

Connect to Snowflake via Public Private Key Pair to manage and analyze your data warehouse workloads

Snowflake Key Pair Auth connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. 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>
  3. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'snowflakekeyauth'
    const identifier = 'user_123'
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'snowflakekeyauth_cancel_query',
    toolInput: { statement_handle: 'YOUR_STATEMENT_HANDLE' },
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Table undrop, drop, clone — Restore a recently dropped table from Time Travel using the Table REST API (POST /api/v2/databases/{database}/schemas/{schema}/tables/{name}:undrop)
  • Schema undrop, drop, alter — Restore a recently dropped schema from Time Travel using the Schema REST API (POST /api/v2/databases/{database}/schemas/{name}:undrop)
  • Database undrop, drop, clone — Restore a recently dropped Snowflake database from Time Travel using the Database REST API (POST /api/v2/databases/{name}:undrop)
  • Warehouse suspend, resume, rename — Suspend a running Snowflake warehouse, releasing its compute resources (POST /api/v2/warehouses/{name}:suspend)
  • User revoke role from, grant role to, drop — Run REVOKE ROLE <role_name> FROM USER <user_name> via the SQL statements API
  • Role revoke privilege from, grant privilege to, drop — Run REVOKE [GRANT OPTION FOR] <privileges> ON <object_type> <object_name> FROM ROLE <role_name> [RESTRICT | CASCADE] via the SQL statements API

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: 'snowflakekeyauth',
identifier: 'user_123',
path: '/api/v2/statements',
method: 'POST',
body: { statement: 'SELECT CURRENT_USER()', timeout: 60 },
});
console.log(result);
Execute a tool
const result = await actions.executeTool({
connector: 'snowflakekeyauth',
identifier: 'user_123',
toolName: 'snowflakekeyauth_cancel_query',
toolInput: {},
});
console.log(result);

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

snowflakekeyauth_alter_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.5 params

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.

NameTypeRequiredDescription
database_namestringrequiredName of the database to create or alter
commentstringoptionalComment to attach to the database
data_retention_time_in_daysintegeroptionalNumber of days of Time Travel history retained for objects in the database
kindstringoptionalDatabase durability level: PERMANENT or TRANSIENT
max_data_extension_time_in_daysintegeroptionalMaximum number of days Snowflake can extend data retention to keep dependent streams from becoming stale
snowflakekeyauth_alter_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.7 params

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.

NameTypeRequiredDescription
database_namestringrequiredDatabase that contains the schema
schema_namestringrequiredName of the schema to create or alter
commentstringoptionalComment to attach to the schema
data_retention_time_in_daysintegeroptionalNumber of days of Time Travel history retained for objects in the schema
kindstringoptionalSchema durability level: PERMANENT or TRANSIENT
managed_accessbooleanoptionalWhether grants on objects in the schema are managed by the schema owner role
max_data_extension_time_in_daysintegeroptionalMaximum number of days Snowflake can extend data retention to keep dependent streams from becoming stale
snowflakekeyauth_alter_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.10 params

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.

NameTypeRequiredDescription
database_namestringrequiredDatabase that contains the table
schema_namestringrequiredSchema that contains the table
table_namestringrequiredName of the table to create or alter
change_trackingbooleanoptionalWhether to enable change tracking on the table for use with streams
cluster_byarrayoptionalOne or more columns or column expressions to use as the clustering key
columnsarrayoptionalFull 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.
commentstringoptionalComment to attach to the table
data_retention_time_in_daysintegeroptionalNumber of days of Time Travel history retained for the table
kindstringoptionalTable durability level: PERMANENT, TRANSIENT, or TEMPORARY
max_data_extension_time_in_daysintegeroptionalMaximum number of days Snowflake can extend data retention to keep dependent streams from becoming stale
snowflakekeyauth_alter_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.11 params

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.

NameTypeRequiredDescription
warehouse_namestringrequiredName of the warehouse to create or alter
auto_resumestringoptionalWhether to automatically resume the warehouse when a statement is submitted to it
auto_suspendintegeroptionalIdle time in seconds before the warehouse automatically suspends
commentstringoptionalComment to attach to the warehouse
max_cluster_countintegeroptionalMaximum number of clusters for a multi-cluster warehouse
min_cluster_countintegeroptionalMinimum number of clusters for a multi-cluster warehouse
resource_monitorstringoptionalName of an existing resource monitor to assign to the warehouse
scaling_policystringoptionalScaling policy for a multi-cluster warehouse: STANDARD or ECONOMY
wait_for_completionstringoptionalWhether to block the response until an in-progress resize finishes provisioning
warehouse_sizestringoptionalCompute size of the warehouse
warehouse_typestringoptionalType of warehouse: STANDARD or SNOWPARK-OPTIMIZED
snowflakekeyauth_cancel_query#Cancel a running Snowflake SQL API statement by statement handle.2 params

Cancel a running Snowflake SQL API statement by statement handle.

NameTypeRequiredDescription
statement_handlestringrequiredSnowflake statement handle to cancel
request_idstringoptionalOptional request ID used when the statement was submitted
snowflakekeyauth_clone_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 ...5 params

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 ...

NameTypeRequiredDescription
database_namestringrequiredName for the new database produced by the clone
source_database_namestringrequiredName of the existing database to clone from
commentstringoptionalComment to attach to the new database
create_modestringoptionalBehavior when a database with this name already exists
point_of_timeobjectoptionalTime Travel reference identifying the historical state of the source database to clone
snowflakekeyauth_clone_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 ...10 params

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 ...

NameTypeRequiredDescription
database_namestringrequiredDatabase that contains the source table
schema_namestringrequiredSchema that contains the source table
source_table_namestringrequiredName of the existing table to clone from
table_namestringrequiredName for the new table produced by the clone
commentstringoptionalComment to attach to the new table
copy_grantsbooleanoptionalWhether to retain any explicit grants on an existing table of the same name when create_mode is orReplace
create_modestringoptionalBehavior when a table with the new name already exists
point_of_timeobjectoptionalTime Travel reference identifying the historical state of the source table to clone
target_databasestringoptionalDatabase for the newly created table. Defaults to the source table's database.
target_schemastringoptionalSchema for the newly created table. Defaults to the source table's schema.
snowflakekeyauth_create_database#Create a new Snowflake database using the Database REST API (POST /api/v2/databases). Equivalent to CREATE DATABASE.6 params

Create a new Snowflake database using the Database REST API (POST /api/v2/databases). Equivalent to CREATE DATABASE.

NameTypeRequiredDescription
database_namestringrequiredName of the new database
commentstringoptionalComment to attach to the database
create_modestringoptionalBehavior when a database with this name already exists
data_retention_time_in_daysintegeroptionalNumber of days of Time Travel history retained for objects in the database
kindstringoptionalDatabase durability level: PERMANENT or TRANSIENT
max_data_extension_time_in_daysintegeroptionalMaximum number of days Snowflake can extend data retention to keep dependent streams from becoming stale
snowflakekeyauth_create_role#Create a new Snowflake account role using the Role REST API (POST /api/v2/roles). Equivalent to CREATE ROLE.3 params

Create a new Snowflake account role using the Role REST API (POST /api/v2/roles). Equivalent to CREATE ROLE.

NameTypeRequiredDescription
role_namestringrequiredName of the new role
commentstringoptionalComment to attach to the role
create_modestringoptionalBehavior when a role with this name already exists
snowflakekeyauth_create_schema#Create a new schema inside a Snowflake database using the Schema REST API (POST /api/v2/databases/{database}/schemas). Equivalent to CREATE SCHEMA.8 params

Create a new schema inside a Snowflake database using the Schema REST API (POST /api/v2/databases/{database}/schemas). Equivalent to CREATE SCHEMA.

NameTypeRequiredDescription
database_namestringrequiredDatabase the new schema will belong to
schema_namestringrequiredName of the new schema
commentstringoptionalComment to attach to the schema
create_modestringoptionalBehavior when a schema with this name already exists
data_retention_time_in_daysintegeroptionalNumber of days of Time Travel history retained for objects in the schema
kindstringoptionalSchema durability level: PERMANENT or TRANSIENT
managed_accessbooleanoptionalWhether grants on objects in the schema are managed by the schema owner role
max_data_extension_time_in_daysintegeroptionalMaximum number of days Snowflake can extend data retention to keep dependent streams from becoming stale
snowflakekeyauth_create_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.11 params

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.

NameTypeRequiredDescription
columnsarrayrequiredOrdered 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_namestringrequiredDatabase that will contain the new table
schema_namestringrequiredSchema that will contain the new table
table_namestringrequiredName of the new table
change_trackingbooleanoptionalWhether to enable change tracking on the table for use with streams
cluster_byarrayoptionalOne or more columns or column expressions to use as the clustering key
commentstringoptionalComment to attach to the table
copy_grantsbooleanoptionalWhether to retain any explicit grants on an existing table of the same name when create_mode is orReplace
create_modestringoptionalBehavior when a table with this name already exists
data_retention_time_in_daysintegeroptionalNumber of days of Time Travel history retained for the table
kindstringoptionalTable durability level: PERMANENT, TRANSIENT, or TEMPORARY
snowflakekeyauth_create_user#Create a new Snowflake user using the User REST API (POST /api/v2/users). Equivalent to CREATE USER.13 params

Create a new Snowflake user using the User REST API (POST /api/v2/users). Equivalent to CREATE USER.

NameTypeRequiredDescription
user_namestringrequiredLogin identifier for the new user
commentstringoptionalComment to attach to the user
create_modestringoptionalBehavior when a user with this name already exists
default_namespacestringoptionalDatabase (and optionally schema) used by default for this user's sessions
default_rolestringoptionalRole used by default for this user's sessions
default_warehousestringoptionalWarehouse used by default for this user's sessions
disabledbooleanoptionalWhether the user account is created in a disabled state
display_namestringoptionalName shown for the user in Snowsight
emailstringoptionalEmail address of the user
login_namestringoptionalName the user types to log in
must_change_passwordbooleanoptionalWhether the user must set a new password at next login
passwordstringoptionalInitial password for the user
user_typestringoptionalType of user: PERSON, SERVICE, or LEGACY_SERVICE
snowflakekeyauth_create_warehouse#Create a new Snowflake virtual warehouse using the Warehouse REST API (POST /api/v2/warehouses). Equivalent to CREATE WAREHOUSE.12 params

Create a new Snowflake virtual warehouse using the Warehouse REST API (POST /api/v2/warehouses). Equivalent to CREATE WAREHOUSE.

NameTypeRequiredDescription
warehouse_namestringrequiredName of the new warehouse
auto_resumestringoptionalWhether to automatically resume the warehouse when a statement is submitted to it
auto_suspendintegeroptionalIdle time in seconds before the warehouse automatically suspends
commentstringoptionalComment to attach to the warehouse
create_modestringoptionalBehavior when a warehouse with this name already exists
initially_suspendedstringoptionalWhether the warehouse is created in the Suspended state instead of starting immediately
max_cluster_countintegeroptionalMaximum number of clusters for a multi-cluster warehouse
min_cluster_countintegeroptionalMinimum number of clusters for a multi-cluster warehouse
resource_monitorstringoptionalName of an existing resource monitor to assign to the warehouse
scaling_policystringoptionalScaling policy for a multi-cluster warehouse: STANDARD or ECONOMY
warehouse_sizestringoptionalCompute size of the warehouse
warehouse_typestringoptionalType of warehouse: STANDARD or SNOWPARK-OPTIMIZED
snowflakekeyauth_drop_database#Permanently remove a Snowflake database using the Database REST API (DELETE /api/v2/databases/{name}). Equivalent to DROP DATABASE.3 params

Permanently remove a Snowflake database using the Database REST API (DELETE /api/v2/databases/{name}). Equivalent to DROP DATABASE.

NameTypeRequiredDescription
database_namestringrequiredName of the database to drop
if_existsbooleanoptionalWhether to suppress the not-found error if the database does not exist
restrictbooleanoptionalWhether to block the drop if foreign keys outside this database depend on it
snowflakekeyauth_drop_role#Permanently remove a Snowflake account role using the Role REST API (DELETE /api/v2/roles/{name}). Equivalent to DROP ROLE.2 params

Permanently remove a Snowflake account role using the Role REST API (DELETE /api/v2/roles/{name}). Equivalent to DROP ROLE.

NameTypeRequiredDescription
role_namestringrequiredName of the role to drop
if_existsbooleanoptionalWhether to suppress the not-found error if the role does not exist
snowflakekeyauth_drop_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.4 params

Permanently remove a schema from a Snowflake database using the Schema REST API (DELETE /api/v2/databases/{database}/schemas/{name}). Equivalent to DROP SCHEMA.

NameTypeRequiredDescription
database_namestringrequiredDatabase that contains the schema
schema_namestringrequiredName of the schema to drop
if_existsbooleanoptionalWhether to suppress the not-found error if the schema does not exist
restrictbooleanoptionalWhether to block the drop if foreign keys outside this schema depend on it
snowflakekeyauth_drop_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.4 params

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.

NameTypeRequiredDescription
database_namestringrequiredDatabase that contains the table
schema_namestringrequiredSchema that contains the table
table_namestringrequiredName of the table to drop
if_existsbooleanoptionalWhether to suppress the not-found error if the table does not exist
snowflakekeyauth_drop_user#Permanently remove a Snowflake user using the User REST API (DELETE /api/v2/users/{name}). Equivalent to DROP USER.2 params

Permanently remove a Snowflake user using the User REST API (DELETE /api/v2/users/{name}). Equivalent to DROP USER.

NameTypeRequiredDescription
user_namestringrequiredLogin identifier of the user to drop
if_existsbooleanoptionalWhether to suppress the not-found error if the user does not exist
snowflakekeyauth_drop_warehouse#Permanently remove a Snowflake virtual warehouse using the Warehouse REST API (DELETE /api/v2/warehouses/{name}). Equivalent to DROP WAREHOUSE.2 params

Permanently remove a Snowflake virtual warehouse using the Warehouse REST API (DELETE /api/v2/warehouses/{name}). Equivalent to DROP WAREHOUSE.

NameTypeRequiredDescription
warehouse_namestringrequiredName of the warehouse to drop
if_existsbooleanoptionalWhether to suppress the not-found error if the warehouse does not exist
snowflakekeyauth_execute_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. Before referencing a table or column, confirm it exists — call snowflakekeyauth_get_tables and snowflakekeyauth_get_columns rather than guessing identifiers; an unknown identifier fails with SQL compilation error 000904. Before querying a schema you have not confirmed access to, especially shared or system schemas like SNOWFLAKE.ACCOUNT_USAGE, call snowflakekeyauth_show_grants or set the database/schema/role parameters explicitly — an inaccessible or nonexistent schema fails with error 002003. Match function arguments to their expected type (for example, TO_NUMBER expects a numeric-convertible string) to avoid error 001007.12 params

Execute one or more SQL statements against Snowflake using the SQL API. Requires a valid Snowflake OAuth2 connection. Use semicolons to submit multiple statements. Before referencing a table or column, confirm it exists — call snowflakekeyauth_get_tables and snowflakekeyauth_get_columns rather than guessing identifiers; an unknown identifier fails with SQL compilation error 000904. Before querying a schema you have not confirmed access to, especially shared or system schemas like SNOWFLAKE.ACCOUNT_USAGE, call snowflakekeyauth_show_grants or set the database/schema/role parameters explicitly — an inaccessible or nonexistent schema fails with error 002003. Match function arguments to their expected type (for example, TO_NUMBER expects a numeric-convertible string) to avoid error 001007.

NameTypeRequiredDescription
statementstringrequiredSQL statement to execute. Use semicolons to send multiple statements in one request.
asyncbooleanoptionalExecute statement asynchronously and return a statement handle
bindingsobjectoptionalBind variables object for '?' placeholders in the SQL statement
databasestringoptionalDatabase to use when executing the statement
nullablebooleanoptionalWhen false, SQL NULL values are returned as the string "null"
parametersobjectoptionalStatement-level Snowflake parameters as a JSON object
request_idstringoptionalUnique request identifier (UUID) used for idempotent retries
retrybooleanoptionalSet true when resubmitting a previously sent request with the same request_id
rolestringoptionalRole to use when executing the statement
schemastringoptionalSchema to use when executing the statement
timeoutintegeroptionalMaximum number of seconds to wait for statement execution
warehousestringoptionalWarehouse to use when executing the statement
snowflakekeyauth_get_columns#Query INFORMATION_SCHEMA.COLUMNS for column metadata.7 params

Query INFORMATION_SCHEMA.COLUMNS for column metadata.

NameTypeRequiredDescription
databasestringrequiredDatabase name
column_name_likestringoptionalOptional column name pattern
limitintegeroptionalMaximum rows
rolestringoptionalOptional role
schemastringoptionalOptional schema filter
tablestringoptionalOptional table filter
warehousestringoptionalOptional warehouse
snowflakekeyauth_get_query_partition#Get a specific result partition for a Snowflake SQL API statement.3 params

Get a specific result partition for a Snowflake SQL API statement.

NameTypeRequiredDescription
partitionintegerrequiredPartition index to fetch (0-based)
statement_handlestringrequiredSnowflake statement handle returned by Execute Query
request_idstringoptionalOptional request ID used when the statement was submitted
snowflakekeyauth_get_query_status#Get Snowflake SQL API statement status and first partition result metadata by statement handle.2 params

Get Snowflake SQL API statement status and first partition result metadata by statement handle.

NameTypeRequiredDescription
statement_handlestringrequiredSnowflake statement handle returned by Execute Query
request_idstringoptionalOptional request ID used when the statement was submitted
snowflakekeyauth_get_referential_constraints#Query INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS.6 params

Query INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS.

NameTypeRequiredDescription
databasestringrequiredDatabase name
limitintegeroptionalMaximum rows
rolestringoptionalOptional role
schemastringoptionalOptional schema filter
tablestringoptionalOptional table filter
warehousestringoptionalOptional warehouse
snowflakekeyauth_get_schemata#Query INFORMATION_SCHEMA.SCHEMATA for schema metadata.5 params

Query INFORMATION_SCHEMA.SCHEMATA for schema metadata.

NameTypeRequiredDescription
databasestringrequiredDatabase name
limitintegeroptionalMaximum rows
rolestringoptionalOptional role
schema_likestringoptionalOptional schema pattern
warehousestringoptionalOptional warehouse
snowflakekeyauth_get_table_constraints#Query INFORMATION_SCHEMA.TABLE_CONSTRAINTS.7 params

Query INFORMATION_SCHEMA.TABLE_CONSTRAINTS.

NameTypeRequiredDescription
databasestringrequiredDatabase name
constraint_typestringoptionalOptional constraint type filter
limitintegeroptionalMaximum rows
rolestringoptionalOptional role
schemastringoptionalOptional schema filter
tablestringoptionalOptional table filter
warehousestringoptionalOptional warehouse
snowflakekeyauth_get_tables#Query INFORMATION_SCHEMA.TABLES for table metadata in a Snowflake database.6 params

Query INFORMATION_SCHEMA.TABLES for table metadata in a Snowflake database.

NameTypeRequiredDescription
databasestringrequiredDatabase name
limitintegeroptionalMaximum number of rows
rolestringoptionalOptional role
schemastringoptionalOptional schema filter
table_name_likestringoptionalOptional table name pattern
warehousestringoptionalOptional warehouse
snowflakekeyauth_grant_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.7 params

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.

NameTypeRequiredDescription
object_namestringrequiredFully-qualified name of the object to grant privileges on
object_typestringrequiredType of the securable object the privileges apply to
privilegesarrayrequiredOne or more privileges to grant, e.g. ["SELECT", "INSERT"] or ["ALL PRIVILEGES"]. Valid values depend on object_type.
role_namestringrequiredName of the role that will receive the privileges
rolestringoptionalOptional execution role
warehousestringoptionalOptional warehouse to execute the statement on
with_grant_optionbooleanoptionalWhether the receiving role can in turn grant these privileges to other roles
snowflakekeyauth_grant_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.4 params

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.

NameTypeRequiredDescription
role_namestringrequiredName of the existing role to grant
user_namestringrequiredLogin name of the user who will receive the role
rolestringoptionalOptional execution role
warehousestringoptionalOptional warehouse to execute the statement on
snowflakekeyauth_rename_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 ...3 params

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 ...

NameTypeRequiredDescription
current_namestringrequiredCurrent name of the warehouse to rename
new_namestringrequiredNew name for the warehouse
if_existsbooleanoptionalWhether to suppress the not-found error if the warehouse does not exist
snowflakekeyauth_resume_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.1 param

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.

NameTypeRequiredDescription
warehouse_namestringrequiredName of the warehouse to resume
snowflakekeyauth_revoke_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.8 params

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.

NameTypeRequiredDescription
object_namestringrequiredFully-qualified name of the object to revoke privileges on
object_typestringrequiredType of the securable object the privileges apply to
privilegesarrayrequiredOne or more privileges to revoke, e.g. ["SELECT", "INSERT"] or ["ALL PRIVILEGES"]. Valid values depend on object_type.
role_namestringrequiredName of the role to revoke the privileges from
cascade_optionstringoptionalHow to handle privileges the role in turn granted to others: RESTRICT fails if any exist, CASCADE revokes them too
grant_option_onlybooleanoptionalWhen true, only revokes the grant option (the ability to re-grant), leaving the underlying privilege grant intact
rolestringoptionalOptional execution role
warehousestringoptionalOptional warehouse to execute the statement on
snowflakekeyauth_revoke_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.4 params

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.

NameTypeRequiredDescription
role_namestringrequiredName of the role to revoke
user_namestringrequiredLogin name of the user to remove the role from
rolestringoptionalOptional execution role
warehousestringoptionalOptional warehouse to execute the statement on
snowflakekeyauth_show_databases_schemas#Run SHOW DATABASES or SHOW SCHEMAS.5 params

Run SHOW DATABASES or SHOW SCHEMAS.

NameTypeRequiredDescription
object_typestringrequiredObject type to show
database_namestringoptionalOptional database scope for SHOW SCHEMAS
like_patternstringoptionalOptional LIKE pattern
rolestringoptionalOptional role
warehousestringoptionalOptional warehouse
snowflakekeyauth_show_grants#Run SHOW GRANTS in common modes (to role, to user, of role, on object).7 params

Run SHOW GRANTS in common modes (to role, to user, of role, on object).

NameTypeRequiredDescription
grant_viewstringrequiredSHOW GRANTS variant
object_namestringoptionalObject name for on_object
object_typestringoptionalObject type for on_object
rolestringoptionalOptional execution role
role_namestringoptionalRole name (for to_role/of_role)
user_namestringoptionalUser name (for to_user)
warehousestringoptionalOptional warehouse
snowflakekeyauth_show_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).6 params

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).

NameTypeRequiredDescription
key_directionstringrequiredWhich command to run
table_namestringrequiredTable name (use with schema_name and database_name for fully-qualified scope)
database_namestringoptionalOptional database name (recommended with schema_name)
rolestringoptionalOptional role
schema_namestringoptionalOptional schema name (recommended with database_name)
warehousestringoptionalOptional warehouse
snowflakekeyauth_show_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.5 params

Run SHOW PRIMARY KEYS with optional scope. When using schema_name (or schema_name + table_name), database_name is required for fully-qualified scope.

NameTypeRequiredDescription
database_namestringoptionalOptional database name for scope (required when schema_name is set)
rolestringoptionalOptional role
schema_namestringoptionalOptional schema name for scope
table_namestringoptionalOptional table name for scope
warehousestringoptionalOptional warehouse
snowflakekeyauth_show_warehouses#Run SHOW WAREHOUSES.3 params

Run SHOW WAREHOUSES.

NameTypeRequiredDescription
like_patternstringoptionalOptional LIKE pattern
rolestringoptionalOptional role
warehousestringoptionalOptional warehouse
snowflakekeyauth_suspend_warehouse#Suspend a running Snowflake warehouse, releasing its compute resources (POST /api/v2/warehouses/{name}:suspend). Equivalent to ALTER WAREHOUSE ... SUSPEND.1 param

Suspend a running Snowflake warehouse, releasing its compute resources (POST /api/v2/warehouses/{name}:suspend). Equivalent to ALTER WAREHOUSE ... SUSPEND.

NameTypeRequiredDescription
warehouse_namestringrequiredName of the warehouse to suspend
snowflakekeyauth_undrop_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.1 param

Restore a recently dropped Snowflake database from Time Travel using the Database REST API (POST /api/v2/databases/{name}:undrop). Equivalent to UNDROP DATABASE.

NameTypeRequiredDescription
database_namestringrequiredName of the dropped database to restore
snowflakekeyauth_undrop_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.2 params

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.

NameTypeRequiredDescription
database_namestringrequiredDatabase that contains the dropped schema
schema_namestringrequiredName of the dropped schema to restore
snowflakekeyauth_undrop_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.3 params

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.

NameTypeRequiredDescription
database_namestringrequiredDatabase that contains the dropped table
schema_namestringrequiredSchema that contains the dropped table
table_namestringrequiredName of the dropped table to restore