API template library

Simulate the Snowflake resource management API

A WireMock simulation of Snowflake's REST API — covering databases and schemas, tables, views and stages, warehouses, users, roles and grants, tasks and alerts, services and compute pools, and integrations.

Vendor
Snowflake
Functionality
Databases, warehouses, roles, grants
Spec version
0.0.1
Endpoints
392
Stubs
1496
Protocol
REST
Validation
AI-validated Before publication, an AI agent exercised these endpoints against the real Snowflake API through WireMock's recording proxy, and the recorded traffic was used to verify each stub's request and response shapes.

Live sandbox · no signup, no API key

Snowflake Resource Management API

A running WireMock Cloud instance of this template, callable right now from a terminal, a script, or an AI agent.

Base URL
https://ej7z23.wiremockapi.cloud

GET Lists available compute pool instance families.

curl -s -X GET 'https://ej7z23.wiremockapi.cloud/api/v2/compute-pools/instance-families'

POST Create an account. - new

curl -s -X POST 'https://ej7z23.wiremockapi.cloud/api/v2/accounts' \
  -H 'Content-Type: application/json' \
  -d '{}'

DELETE Revoke the specified privilege on the named securable from the named grantee.

curl -s -X DELETE 'https://ej7z23.wiremockapi.cloud/api/v2/grants/your-granteeType/your-granteeName/your-securableType/your-securableName/privileges/your-privilege'
Method Path Summary
GET /api/v2/accounts List accounts.
POST /api/v2/accounts Create an account.
DELETE /api/v2/accounts/{name} Delete an account.
POST /api/v2/accounts/{name}:undrop Restore an account.
GET /api/v2/api-integrations List API integrations
POST /api/v2/api-integrations Create an API integration
DELETE /api/v2/api-integrations/{name} Delete an API integration
GET /api/v2/api-integrations/{name} Fetch an API integration
PUT /api/v2/api-integrations/{name} Create an (or alter an existing) API integration
GET /api/v2/api-integrations/{name}:get-tags Get the tag assignments for an API integration.
POST /api/v2/api-integrations/{name}:set-tags Set tags on an API integration.
POST /api/v2/api-integrations/{name}:unset-tags Unset tags from an API integration.
GET /api/v2/catalog-integrations List catalog integrations.
POST /api/v2/catalog-integrations Create a catalog integration.
DELETE /api/v2/catalog-integrations/{name} Delete a catalog integration.
GET /api/v2/catalog-integrations/{name} Fetch a catalog integration.
GET /api/v2/catalog-integrations/{name}:get-tags Get the tag assignments for a catalog integration.
POST /api/v2/catalog-integrations/{name}:set-tags Set tags on a catalog integration.
POST /api/v2/catalog-integrations/{name}:unset-tags Unset tags from a catalog integration.
GET /api/v2/code-bundle-executions List code bundle executions
POST /api/v2/code-bundle-executions Execute a code bundle
GET /api/v2/code-bundle-executions/{executionId} Get the status of a code bundle execution
POST /api/v2/code-bundle-executions/{executionId}:cancel Cancel a code bundle execution
GET /api/v2/compute-pools Lists compute pools.
POST /api/v2/compute-pools Creates a compute pool.
DELETE /api/v2/compute-pools/{name} Deletes a compute pool.
GET /api/v2/compute-pools/{name} Fetches a compute pool.
PUT /api/v2/compute-pools/{name} Create a (or alter an existing) compute pool.
GET /api/v2/compute-pools/{name}:get-tags Get the tag assignments for a compute pool.
POST /api/v2/compute-pools/{name}:resume Resumes a suspended compute pool.
POST /api/v2/compute-pools/{name}:set-tags Set tags on a compute pool.
POST /api/v2/compute-pools/{name}:stop-all-services Stops all services on the compute pool.
POST /api/v2/compute-pools/{name}:stopallservices Stops all services on the compute pool.
POST /api/v2/compute-pools/{name}:suspend Suspends an active compute pool.
POST /api/v2/compute-pools/{name}:unset-tags Unset tags from a compute pool.
GET /api/v2/compute-pools/instance-families Lists available compute pool instance families.
GET /api/v2/databases List databases.
POST /api/v2/databases Create a database.
POST /api/v2/databases:from-share Create a database from a share.
GET /api/v2/databases/{database}/database-roles List database roles
POST /api/v2/databases/{database}/database-roles Create a database role
DELETE /api/v2/databases/{database}/database-roles/{name} Delete a database role
POST /api/v2/databases/{database}/database-roles/{name}:clone Create a new database role by cloning from the specified resource
GET /api/v2/databases/{database}/database-roles/{name}:get-tags Get the tag assignments for a database role.
POST /api/v2/databases/{database}/database-roles/{name}:set-tags Set tags on a database role.
POST /api/v2/databases/{database}/database-roles/{name}:unset-tags Unset tags from a database role.
GET /api/v2/databases/{database}/database-roles/{name}/future-grants List all future grants to the role
POST /api/v2/databases/{database}/database-roles/{name}/future-grants Grant future privileges to the role
POST /api/v2/databases/{database}/database-roles/{name}/future-grants:revoke Revoke future grants from the role
GET /api/v2/databases/{database}/database-roles/{name}/grants List all grants to the role
POST /api/v2/databases/{database}/database-roles/{name}/grants Grant privileges to the role
POST /api/v2/databases/{database}/database-roles/{name}/grants:revoke Revoke grants from the role
GET /api/v2/databases/{database}/schemas List schemas.
POST /api/v2/databases/{database}/schemas Create a schema.
DELETE /api/v2/databases/{database}/schemas/{name} Delete a schema.
GET /api/v2/databases/{database}/schemas/{name} fetchSchema
PUT /api/v2/databases/{database}/schemas/{name} Create a new, or alters an existing, schema.
POST /api/v2/databases/{database}/schemas/{name}:clone Clone a schema.
GET /api/v2/databases/{database}/schemas/{name}:get-tags Get the tag assignments for a schema.
POST /api/v2/databases/{database}/schemas/{name}:set-tags Set tags on a schema.

+332 more endpoints in the full spec.

Unauthenticated WireMock Cloud demo sandbox for Snowflake — not an official Snowflake sandbox, and it returns simulated example data only.

What's inside the resource management template

The template covers the resource APIs in Snowflake's REST API: 42 of them, from databases to notebooks, all under /api/v2. Objects live under their parents and follow Snowflake's identifier rules, so a database created as probe_db is stored and fetched as PROBE_DB and arrives with a PUBLIC schema already inside it. A missing parent answers 404 with code 002003 and Snowflake's "does not exist or not authorized" wording. Infrastructure code that provisions objects over REST runs against it unchanged.

  • Databases and schemas — create modes, drop and undrop with their contents, clone, rename and swap
  • Tables, views and stages — standard, dynamic, Iceberg and event tables, views, stages with file listings, streams and pipes
  • Warehouses and compute — warehouses, compute pools and container services with resume and suspend that update their state
  • Users, roles and grants — privileges and future grants that merge and revoke, and role grants visible from both sides
  • Tasks, alerts and functions — scheduled tasks with dependents, alerts, functions and procedures identified by their argument types
  • Integrations and policies — API, catalog, notification and external-volume integrations, network policies and tags per object

Snowflake resource management mock API FAQ

Nothing. The account starts with no databases, warehouses, users or roles, so a test creates what it needs. Because the sandbox is shared, objects other visitors created may already be there; a private copy in WireMock Cloud gives you the empty account back with "Reset state".

Yes. Unquoted names are stored upper case, so my_db, My_Db and MY_DB are one database. Double-quoted names keep their case. startsWith and fromName compare case-sensitively against stored names, while like is case-insensitive.

With the default createMode you get 409 and code 002002. orReplace replaces the object and ifNotExists returns success without changing it, which lets you test all three branches of idempotent provisioning.

Only when you ask for it with asyncExec=true on the operations that support it. The response points at a results handle that answers 202 on the first poll and the finished result on the second.

Vendor names identify APIs represented by WireMock template sources. This page does not imply vendor endorsement, certification, partnership, or official integration status.