Snowflake · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Snowflake Database API
19 actions
19 updates
phrasing
extends
openapi/snowflake-database-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Snowflake's API. It is a proposal applied on top of the contract, not a document Snowflake publishes.
What the actions change
x-apievangelist-phrasing
Targets 19 · first 16 shown; the file carries all of them
$.info
$.paths['/api/v2/databases'].get
$.paths['/api/v2/databases'].post
$.paths['/api/v2/databases:from-share'].post
$.paths['/api/v2/databases/{name}:from_share'].post
$.paths['/api/v2/databases/{name}:clone'].post
$.paths['/api/v2/databases/{name}'].get
$.paths['/api/v2/databases/{name}'].put
$.paths['/api/v2/databases/{name}'].delete
$.paths['/api/v2/databases/{name}:undrop'].post
$.paths['/api/v2/databases/{name}/replication:enable'].post
$.paths['/api/v2/databases/{name}/replication:disable'].post
$.paths['/api/v2/databases/{name}/replication:refresh'].post
$.paths['/api/v2/databases/{name}/failover:enable'].post
$.paths['/api/v2/databases/{name}/failover:disable'].post
$.paths['/api/v2/databases/{name}/failover:primary'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Snowflake Database API
version: 1.0.0
extends: openapi/snowflake-database-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 18
- target: $.paths['/api/v2/databases'].get
update:
x-apievangelist-phrasing:
intent: List the databases I can access
effect: read
questions:
- Which Snowflake databases does my role have access to?
- Can I see dropped databases that haven't been purged yet in the database list?
instructions:
- text: List all the databases I can access.
- text: List my databases with history set to {history} so dropped ones show up too.
slots:
history: query.history
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases'].post
update:
x-apievangelist-phrasing:
intent: Create a new database
effect: write
questions:
- How do I create a new database through the REST API?
- Can I make a transient database instead of a permanent one when creating it?
- What data retention settings can I set on a brand-new database?
instructions:
- text: Create a database named {name}.
slots:
name: requestBody.name
- text: Create a {kind} database called {name} with {days} days of data retention.
slots:
kind: query.kind
name: requestBody.name
days: requestBody.data_retention_time_in_days
- text: Create database {name} with the comment {comment}.
slots:
name: requestBody.name
comment: requestBody.comment
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases:from-share'].post
update:
x-apievangelist-phrasing:
intent: Create a database from a data share
effect: write
questions:
- How can I turn a data share someone gave me into a database I can query?
- What do I need to mount an inbound share as a new database?
instructions:
- text: Create a database named {name} from the share {share}.
slots:
name: requestBody.name
share: query.share
- text: Mount inbound share {share} as a new database.
slots:
share: query.share
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{name}:from_share'].post
update:
x-apievangelist-phrasing:
intent: Create a database from a share (legacy endpoint)
effect: write
questions:
- Is there an older from_share endpoint that puts the database name in the URL path?
- Does the deprecated create-from-share route still work for existing integrations?
instructions:
- text: Use the legacy from_share endpoint to create database {database} from share {share}.
slots:
database: path.name
share: query.share
- text: Call the deprecated path-based route to build a database out of share {share}.
slots:
share: query.share
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{name}:clone'].post
update:
x-apievangelist-phrasing:
intent: Clone an existing database
effect: write
questions:
- How do I make a zero-copy clone of one of my databases?
- Can I clone a database as it looked at an earlier point in time?
instructions:
- text: Clone database {source} into a new one named {name}.
slots:
source: path.name
name: requestBody.name
- text: Clone the database as of {point_of_time} into a copy called {name}.
slots:
point_of_time: requestBody.point_of_time
name: requestBody.name
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{name}'].get
update:
x-apievangelist-phrasing:
intent: Get the details of a database
effect: read
questions:
- What are the owner, retention time and other properties of a specific database?
- Where can I look up one database's full definition?
instructions:
- text: Show me the details of database {database}.
slots:
database: path.name
- text: Fetch the definition of the named database, including its owner and comment.
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{name}'].put
update:
x-apievangelist-phrasing:
intent: Create or update a database definition
effect: write
questions:
- Can I change an existing database's properties by sending its full definition?
- Which call creates a database if missing or alters it if it already exists?
instructions:
- text: Create or alter database {database} so its retention is {days} days.
slots:
database: path.name
days: requestBody.data_retention_time_in_days
- text: Update database {name} with the log level {log_level}, creating it if needed.
slots:
name: requestBody.name
log_level: requestBody.log_level
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{name}'].delete
update:
x-apievangelist-phrasing:
intent: Drop a database
effect: destructive
questions:
- How do I drop a database I no longer need?
- Can I stop a database from being dropped if other objects still reference it?
instructions:
- text: Drop database {database}.
slots:
database: path.name
- text: Delete the database with restrict set to {restrict}.
slots:
restrict: query.restrict
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{name}:undrop'].post
update:
x-apievangelist-phrasing:
intent: Restore a dropped database
effect: write
questions:
- Can I bring back a database I accidentally dropped?
- Is it possible to recover a deleted database while it's still in Time Travel?
instructions:
- text: Undrop database {database} that I just deleted.
slots:
database: path.name
- text: Restore the dropped database back to active use.
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{name}/replication:enable'].post
update:
x-apievangelist-phrasing:
intent: Enable replication of a database to accounts
effect: write
questions:
- How do I make a database a primary so other accounts can hold replicas of it?
- Can I skip the edition check when turning on database replication?
instructions:
- text: Enable replication of database {database} to accounts {accounts}.
slots:
database: path.name
accounts: requestBody.accounts
- text: Promote this database to a replication primary for {accounts} with ignore_edition_check {ignore}.
slots:
accounts: requestBody.accounts
ignore: query.ignore_edition_check
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{name}/replication:disable'].post
update:
x-apievangelist-phrasing:
intent: Disable replication of a primary database
effect: write
questions:
- How do I stop secondary databases in other accounts from being refreshed from this primary?
- What happens to existing replicas when I turn database replication off?
instructions:
- text: Disable replication of primary database {database} for accounts {accounts}.
slots:
database: path.name
accounts: requestBody.accounts
- text: Stop replicating this database to {accounts}.
slots:
accounts: requestBody.accounts
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{name}/replication:refresh'].post
update:
x-apievangelist-phrasing:
intent: Refresh a secondary database from its primary
effect: write
questions:
- How do I pull the latest snapshot of the primary into my replica database?
- What happens if I refresh a secondary database while another refresh is already running?
instructions:
- text: Refresh secondary database {database} from its primary.
slots:
database: path.name
- text: Sync my replica database with the newest snapshot of the primary.
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{name}/failover:enable'].post
update:
x-apievangelist-phrasing:
intent: Allow accounts to fail over a database
effect: write
questions:
- Which accounts can promote a replica of this database to primary, and how do I set that?
- How do I set up failover targets for a primary database?
instructions:
- text: Enable failover of database {database} to accounts {accounts}.
slots:
database: path.name
accounts: requestBody.accounts
- text: Let {accounts} promote their replica of this database to primary.
slots:
accounts: requestBody.accounts
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{name}/failover:disable'].post
update:
x-apievangelist-phrasing:
intent: Disable failover for a primary database
effect: write
questions:
- How do I stop replicas of a database from being promoted to primary?
- Can I revoke failover rights from specific accounts for one database?
instructions:
- text: Disable failover of database {database} for accounts {accounts}.
slots:
database: path.name
accounts: requestBody.accounts
- text: Remove {accounts} from the database's failover targets.
slots:
accounts: requestBody.accounts
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{name}/failover:primary'].post
update:
x-apievangelist-phrasing:
intent: Promote a replica database to primary
effect: write
questions:
- How do I promote my secondary database so it becomes the writeable primary?
- What happens to the old primary database when a replica takes over?
instructions:
- text: Fail over to replica database {database} and make it the primary.
slots:
database: path.name
- text: Promote the secondary database in this account to primary.
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{name}:set-tags'].post
update:
x-apievangelist-phrasing:
intent: Attach tags to a database
effect: write
questions:
- How do I apply governance tags to a database?
- Can I set tag values on a database through the REST API?
instructions:
- text: Set tags on database {database}.
slots:
database: path.name
- text: Tag the database with our data classification values.
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{name}:unset-tags'].post
update:
x-apievangelist-phrasing:
intent: Remove tags from a database
effect: write
questions:
- How do I remove a tag I previously set on a database?
- Can I clear tag assignments from a database without dropping the tag itself?
instructions:
- text: Unset the tags on database {database}.
slots:
database: path.name
- text: Strip the tag assignments off the database.
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{name}:get-tags'].get
update:
x-apievangelist-phrasing:
intent: Show the tags assigned to a database
effect: read
questions:
- Which tags are currently assigned to this database?
- Does reading a database's tag assignments need an active warehouse?
instructions:
- text: Show me every tag assigned to database {database}.
slots:
database: path.name
- text: Get the database's current tag assignments.
method: generated
generated: '2026-10-01'