# 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'