Snowflake · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Snowflake Database Role API
14 actions
14 updates
phrasing
extends
openapi/snowflake-database-role-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 14
$.info
$.paths['/api/v2/databases/{database}/database-roles'].get
$.paths['/api/v2/databases/{database}/database-roles'].post
$.paths['/api/v2/databases/{database}/database-roles/{name}'].delete
$.paths['/api/v2/databases/{database}/database-roles/{name}:clone'].post
$.paths['/api/v2/databases/{database}/database-roles/{name}/grants'].get
$.paths['/api/v2/databases/{database}/database-roles/{name}/grants'].post
$.paths['/api/v2/databases/{database}/database-roles/{name}/grants:revoke'].post
$.paths['/api/v2/databases/{database}/database-roles/{name}/future-grants'].get
$.paths['/api/v2/databases/{database}/database-roles/{name}/future-grants'].post
$.paths['/api/v2/databases/{database}/database-roles/{name}/future-grants:revoke'].post
$.paths['/api/v2/databases/{database}/database-roles/{name}:set-tags'].post
$.paths['/api/v2/databases/{database}/database-roles/{name}:unset-tags'].post
$.paths['/api/v2/databases/{database}/database-roles/{name}:get-tags'].get
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 Role API
version: 1.0.0
extends: openapi/snowflake-database-role-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: 13
- target: $.paths['/api/v2/databases/{database}/database-roles'].get
update:
x-apievangelist-phrasing:
intent: List database roles in a database
effect: read
questions:
- Which database roles are defined in this Snowflake database?
- Can I see every database-scoped role that exists?
instructions:
- text: List the database roles in database {database}.
slots:
database: path.database
- text: Show me all database roles defined in the database I named.
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/database-roles'].post
update:
x-apievangelist-phrasing:
intent: Create a database role
effect: write
questions:
- How do I create a role scoped to a single database?
- Can I add a comment when creating a database role?
instructions:
- text: Create a database role named {name} in database {database}.
slots:
database: path.database
name: requestBody.name
- text: Create database role {name} with comment {comment}.
slots:
name: requestBody.name
comment: requestBody.comment
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/database-roles/{name}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a database role
effect: destructive
questions:
- How do I remove a database role I no longer need?
- What happens to grants when a database role is dropped?
instructions:
- text: Delete database role {role} from database {database}.
slots:
database: path.database
role: path.name
- text: Drop this database role from the database.
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/database-roles/{name}:clone'].post
update:
x-apievangelist-phrasing:
intent: Clone a database role
effect: write
questions:
- Can I create a new database role by copying an existing one?
- Is it possible to clone a database role into another database?
instructions:
- text: Clone database role {role} in {database} as {name}.
slots:
database: path.database
role: path.name
name: requestBody.name
- text: Clone the database role into database {targetDatabase} as {name}.
slots:
targetDatabase: query.targetDatabase
name: requestBody.name
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/database-roles/{name}/grants'].get
update:
x-apievangelist-phrasing:
intent: List privileges granted to a database role
effect: read
questions:
- What privileges does a database role currently hold?
- Which objects has a given database role been granted access to?
instructions:
- text: List all current grants to database role {role} in {database}.
slots:
database: path.database
role: path.name
- text: Show the existing privileges held by the database role I named.
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/database-roles/{name}/grants'].post
update:
x-apievangelist-phrasing:
intent: Grant privileges to a database role
effect: write
questions:
- How do I give a database role SELECT on a table?
- Can I grant privileges with the grant option to a database role?
instructions:
- text: Grant {privileges} on {securable_type} {securable} to database role {role} in {database}.
slots:
privileges: requestBody.privileges
securable_type: requestBody.securable_type
securable: requestBody.securable
role: path.name
database: path.database
- text: Give the database role privileges on the {securable_type} object with grant option {grant_option}.
slots:
securable_type: requestBody.securable_type
grant_option: requestBody.grant_option
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/database-roles/{name}/grants:revoke'].post
update:
x-apievangelist-phrasing:
intent: Revoke privileges from a database role
effect: destructive
questions:
- How do I take away a privilege a database role already has?
- Can I revoke access on one object from a database role?
instructions:
- text: Revoke {privileges} on {securable_type} {securable} from database role {role} in {database}.
slots:
database: path.database
role: path.name
privileges: requestBody.privileges
securable_type: requestBody.securable_type
securable: requestBody.securable
- text: Remove the database role's existing grants on the {securable_type} object.
slots:
securable_type: requestBody.securable_type
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/database-roles/{name}/future-grants'].get
update:
x-apievangelist-phrasing:
intent: List future grants on a database role
effect: read
questions:
- Which future grants apply to a database role for objects not yet created?
- Can I see what a database role will automatically get on new tables?
instructions:
- text: List all future grants to database role {role} in {database}.
slots:
database: path.database
role: path.name
- text: Show the privileges the database role will receive on objects created later.
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/database-roles/{name}/future-grants'].post
update:
x-apievangelist-phrasing:
intent: Grant future privileges to a database role
effect: write
questions:
- How do I make a database role automatically get SELECT on tables created in the future?
- Can I set future grants for every new object of a type in a schema?
instructions:
- text: Grant future {privileges} on new {securable_type} objects to database role {role} in {database}.
slots:
database: path.database
role: path.name
privileges: requestBody.privileges
securable_type: requestBody.securable_type
- text: Give the database role future privileges on every {securable_type} created in {containing_scope}.
slots:
securable_type: requestBody.securable_type
containing_scope: requestBody.containing_scope
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/database-roles/{name}/future-grants:revoke'].post
update:
x-apievangelist-phrasing:
intent: Revoke future grants from a database role
effect: destructive
questions:
- How do I stop a database role from automatically getting access to new objects?
- Can I remove a future grant on a schema from a database role?
instructions:
- text: Revoke future {privileges} on new {securable_type} objects from database role {role} in {database}.
slots:
database: path.database
role: path.name
privileges: requestBody.privileges
securable_type: requestBody.securable_type
- text: Remove the database role's future grants for {securable_type} objects in {containing_scope}.
slots:
securable_type: requestBody.securable_type
containing_scope: requestBody.containing_scope
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/database-roles/{name}:set-tags'].post
update:
x-apievangelist-phrasing:
intent: Set tags on a database role
effect: write
questions:
- How do I attach tags to a database role?
- Can I label a database role with an owning team tag?
instructions:
- text: Set tags on database role {role} in {database}.
slots:
database: path.database
role: path.name
- text: Tag the database role I named with our team tag.
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/database-roles/{name}:unset-tags'].post
update:
x-apievangelist-phrasing:
intent: Remove tags from a database role
effect: write
questions:
- How can I remove a tag from a database role?
- Can I clear tag assignments on a database role?
instructions:
- text: Unset tags from database role {role} in {database}.
slots:
database: path.database
role: path.name
- text: Remove the team tag from the database role I named.
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/database-roles/{name}:get-tags'].get
update:
x-apievangelist-phrasing:
intent: Get tag assignments for a database role
effect: read
questions:
- Which tags are assigned to a database role?
- Does reading a database role's tags require an active warehouse?
instructions:
- text: Show all tags assigned to database role {role} in {database}.
slots:
database: path.database
role: path.name
- text: List the tag assignments on the database role I named.
method: generated
generated: '2026-10-01'