Snowflake · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Snowflake Grant API
8 actions
8 updates
phrasing
extends
openapi/snowflake-grant-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 8
$.info
$.paths['/api/v2/grants/{granteeType}/{granteeName}/{securableType}/{securableName}/privileges'].post
$.paths['/api/v2/grants/{granteeType}/{granteeName}/{bulkGrantType}/{securableTypePlural}/{scopeType}/{scopeName}/privileges'].post
$.paths['/api/v2/grants/{granteeType}/{granteeName}/{securableType}/{securableName}/privileges/{privilege}'].delete
$.paths['/api/v2/grants/{granteeType}/{granteeName}/{securableType}/{securableName}/privileges/{privilege}/grant-option'].delete
$.paths['/api/v2/grants/{granteeType}/{granteeName}/{bulkGrantType}/{securableTypePlural}/{scopeType}/{scopeName}/privileges/{privilege}'].delete
$.paths['/api/v2/grants/{granteeType}/{granteeName}/{bulkGrantType}/{securableTypePlural}/{scopeType}/{scopeName}/privileges/{privilege}/grant-option'].delete
$.paths['/api/v2/grants/{granteeType}/{granteeName}'].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 Grant API
version: 1.0.0
extends: openapi/snowflake-grant-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: 7
- target: $.paths['/api/v2/grants/{granteeType}/{granteeName}/{securableType}/{securableName}/privileges'].post
update:
x-apievangelist-phrasing:
intent: Grant privileges on one object to a role or user
effect: write
questions:
- How do I give a role SELECT on a specific table?
- Can I let the grantee pass a privilege on to others with grant option?
instructions:
- text: Grant {privileges} on {securable_type} {securable_name} to {grantee_type} {grantee_name}.
slots:
privileges: requestBody.privileges
securable_type: path.securableType
securable_name: path.securableName
grantee_type: path.granteeType
grantee_name: path.granteeName
- text: Give {grantee_type} {grantee_name} {privileges} on {securable_type} {securable_name} with grant option {grant_option}.
slots:
grantee_type: path.granteeType
grantee_name: path.granteeName
privileges: requestBody.privileges
securable_type: path.securableType
securable_name: path.securableName
grant_option: requestBody.grant_option
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/grants/{granteeType}/{granteeName}/{bulkGrantType}/{securableTypePlural}/{scopeType}/{scopeName}/privileges'].post
update:
x-apievangelist-phrasing:
intent: Grant privileges on all or future objects in a scope
effect: write
questions:
- How do I grant a role access to all tables in a schema, including ones created later?
- Can I set up future grants so new views automatically get the same privileges?
instructions:
- text: Grant {privileges} on {bulk} {securables} in {scope_type} {scope_name} to {grantee_type} {grantee_name}.
slots:
privileges: requestBody.privileges
bulk: path.bulkGrantType
securables: path.securableTypePlural
scope_type: path.scopeType
scope_name: path.scopeName
grantee_type: path.granteeType
grantee_name: path.granteeName
- text: Give {grantee_type} {grantee_name} {privileges} on {bulk} {securables} across {scope_type} {scope_name}.
slots:
grantee_type: path.granteeType
grantee_name: path.granteeName
privileges: requestBody.privileges
bulk: path.bulkGrantType
securables: path.securableTypePlural
scope_type: path.scopeType
scope_name: path.scopeName
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/grants/{granteeType}/{granteeName}/{securableType}/{securableName}/privileges/{privilege}'].delete
update:
x-apievangelist-phrasing:
intent: Revoke a privilege on one object
effect: destructive
questions:
- How do I take SELECT on a single table away from a role?
- Can I cascade a privilege revoke to grants the grantee passed on?
instructions:
- text: Revoke {privilege} on {securable_type} {securable_name} from {grantee_type} {grantee_name}.
slots:
privilege: path.privilege
securable_type: path.securableType
securable_name: path.securableName
grantee_type: path.granteeType
grantee_name: path.granteeName
- text: Remove {privilege} on {securable_type} {securable_name} from {grantee_type} {grantee_name} using delete mode {mode}.
slots:
privilege: path.privilege
securable_type: path.securableType
securable_name: path.securableName
grantee_type: path.granteeType
grantee_name: path.granteeName
mode: query.deleteMode
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/grants/{granteeType}/{granteeName}/{securableType}/{securableName}/privileges/{privilege}/grant-option'].delete
update:
x-apievangelist-phrasing:
intent: Revoke only the grant option on one object
effect: destructive
questions:
- Can I stop a role from re-granting a privilege while letting it keep the privilege itself?
- What removes just the WITH GRANT OPTION from a privilege on a single object?
instructions:
- text: Revoke the grant option for {privilege} on {securable_type} {securable_name} from {grantee_type} {grantee_name}.
slots:
privilege: path.privilege
securable_type: path.securableType
securable_name: path.securableName
grantee_type: path.granteeType
grantee_name: path.granteeName
- text: Stop {grantee_type} {grantee_name} re-granting {privilege} on {securable_type} {securable_name}, delete mode {mode}.
slots:
grantee_type: path.granteeType
grantee_name: path.granteeName
privilege: path.privilege
securable_type: path.securableType
securable_name: path.securableName
mode: query.deleteMode
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/grants/{granteeType}/{granteeName}/{bulkGrantType}/{securableTypePlural}/{scopeType}/{scopeName}/privileges/{privilege}'].delete
update:
x-apievangelist-phrasing:
intent: Revoke a privilege on all or future objects
effect: destructive
questions:
- How do I undo a future grant on all tables in a schema?
- Can I revoke a privilege from every object of one type across a database at once?
instructions:
- text: Revoke {privilege} on {bulk} {securables} in {scope_type} {scope_name} from {grantee_type} {grantee_name}.
slots:
privilege: path.privilege
bulk: path.bulkGrantType
securables: path.securableTypePlural
scope_type: path.scopeType
scope_name: path.scopeName
grantee_type: path.granteeType
grantee_name: path.granteeName
- text: Take {privilege} on {bulk} {securables} within {scope_type} {scope_name} away from {grantee_type} {grantee_name}, delete mode {mode}.
slots:
privilege: path.privilege
bulk: path.bulkGrantType
securables: path.securableTypePlural
scope_type: path.scopeType
scope_name: path.scopeName
grantee_type: path.granteeType
grantee_name: path.granteeName
mode: query.deleteMode
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/grants/{granteeType}/{granteeName}/{bulkGrantType}/{securableTypePlural}/{scopeType}/{scopeName}/privileges/{privilege}/grant-option'].delete
update:
x-apievangelist-phrasing:
intent: Revoke the grant option on all or future objects
effect: destructive
questions:
- Can I remove the grant option from a future grant but leave the privilege in place?
- What strips re-grant rights from a bulk grant across a whole schema?
instructions:
- text: For the bulk grant of {privilege} on {bulk} {securables} in {scope_type} {scope_name}, drop only the grant option held by {grantee_type} {grantee_name}.
slots:
privilege: path.privilege
bulk: path.bulkGrantType
securables: path.securableTypePlural
scope_type: path.scopeType
scope_name: path.scopeName
grantee_type: path.granteeType
grantee_name: path.granteeName
- text: Stop {grantee_type} {grantee_name} re-granting {privilege} on {bulk} {securables} of {scope_type} {scope_name} ({mode}).
slots:
grantee_type: path.granteeType
grantee_name: path.granteeName
privilege: path.privilege
bulk: path.bulkGrantType
securables: path.securableTypePlural
scope_type: path.scopeType
scope_name: path.scopeName
mode: query.deleteMode
method: generated
generated: '2026-10-01'
- target: $.paths['/api/v2/grants/{granteeType}/{granteeName}'].get
update:
x-apievangelist-phrasing:
intent: List privileges granted to a role or user
effect: read
questions:
- What roles and privileges has a given role or user been granted?
- Can I get the SHOW GRANTS TO output for a grantee through the API?
instructions:
- text: List everything granted to {grantee_type} {grantee_name}.
slots:
grantee_type: path.granteeType
grantee_name: path.granteeName
- text: Show the privileges that {grantee_type} {grantee_name} currently holds.
slots:
grantee_type: path.granteeType
grantee_name: path.granteeName
method: generated
generated: '2026-10-01'