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.
View Overlay File View on GitHub Overlay Specification

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

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