Snowflake · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Snowflake Role API

15 actions 15 updates phrasing extends openapi/snowflake-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.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 15

$.info
$.paths['/api/v2/roles'].get
$.paths['/api/v2/roles'].post
$.paths['/api/v2/roles/{name}'].delete
$.paths['/api/v2/roles/{name}/grants'].get
$.paths['/api/v2/roles/{name}/grants'].post
$.paths['/api/v2/roles/{name}/grants:revoke'].post
$.paths['/api/v2/roles/{name}/grants-of'].get
$.paths['/api/v2/roles/{name}/grants-on'].get
$.paths['/api/v2/roles/{name}/future-grants'].get
$.paths['/api/v2/roles/{name}/future-grants'].post
$.paths['/api/v2/roles/{name}/future-grants:revoke'].post
$.paths['/api/v2/roles/{name}:set-tags'].post
$.paths['/api/v2/roles/{name}:unset-tags'].post
$.paths['/api/v2/roles/{name}:get-tags'].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 Role API
  version: 1.0.0
extends: openapi/snowflake-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: 14
- target: $.paths['/api/v2/roles'].get
  update:
    x-apievangelist-phrasing:
      intent: List account roles
      effect: read
      questions:
      - Which roles exist in my Snowflake account?
      - Can I see all account-level roles and who owns them?
      instructions:
      - text: List all roles in the account.
      - text: Show me every account role.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/roles'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a role
      effect: write
      questions:
      - How do I create a new account role for a team?
      - Can I add a comment describing a role when I create it?
      instructions:
      - text: Create a role named {name}.
        slots:
          name: requestBody.name
      - text: Create role {name} with the description {comment}.
        slots:
          name: requestBody.name
          comment: requestBody.comment
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/roles/{name}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Drop a role
      effect: destructive
      questions:
      - How do I drop a role nobody uses anymore?
      - Can I delete an account role through the API?
      instructions:
      - text: Drop role {name}.
        slots:
          name: path.name
      - text: Delete the role I named from the account.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/roles/{name}/grants'].get
  update:
    x-apievangelist-phrasing:
      intent: List privileges granted to a role
      effect: read
      questions:
      - What privileges does this role currently hold?
      - Which objects can this role access today?
      instructions:
      - text: List the grants given to role {name}.
        slots:
          name: path.name
      - text: Show every privilege this role has been granted.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/roles/{name}/grants'].post
  update:
    x-apievangelist-phrasing:
      intent: Grant privileges on an object to a role
      effect: write
      questions:
      - How do I give a role SELECT on a table?
      - Can I grant privileges with the grant option so the role can pass them on?
      instructions:
      - text: Grant {privileges} on {securable_type} {securable} to role {name}.
        slots:
          privileges: requestBody.privileges
          securable_type: requestBody.securable_type
          securable: requestBody.securable
          name: path.name
      - text: Grant {privileges} on {securable_type} {securable} to this role with grant option {grant_option}.
        slots:
          privileges: requestBody.privileges
          securable_type: requestBody.securable_type
          securable: requestBody.securable
          grant_option: requestBody.grant_option
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/roles/{name}/grants:revoke'].post
  update:
    x-apievangelist-phrasing:
      intent: Revoke privileges from a role
      effect: destructive
      questions:
      - Can I take a privilege away from a role?
      - How do I remove a role's access to one existing object?
      instructions:
      - text: Revoke {privileges} on {securable_type} {securable} from role {name}.
        slots:
          privileges: requestBody.privileges
          securable_type: requestBody.securable_type
          securable: requestBody.securable
          name: path.name
      - text: Remove this role's existing grant on {securable_type} {securable}.
        slots:
          securable_type: requestBody.securable_type
          securable: requestBody.securable
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/roles/{name}/grants-of'].get
  update:
    x-apievangelist-phrasing:
      intent: List who has been granted a role
      effect: read
      questions:
      - Which users and roles have been granted this role?
      - Who inherits this role?
      instructions:
      - text: List the users and roles that role {name} is granted to.
        slots:
          name: path.name
      - text: Show who holds this role.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/roles/{name}/grants-on'].get
  update:
    x-apievangelist-phrasing:
      intent: List grants on a role object
      effect: read
      questions:
      - What privileges have been granted on the role itself, such as ownership?
      - Which role owns or can modify this role?
      instructions:
      - text: List the grants on role {name} as an object.
        slots:
          name: path.name
      - text: Show who has ownership or other privileges on this role.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/roles/{name}/future-grants'].get
  update:
    x-apievangelist-phrasing:
      intent: List future grants to a role
      effect: read
      questions:
      - Which future grants will apply to this role for objects not yet created?
      - Does this role automatically get access to new tables in a schema?
      instructions:
      - text: List the future grants assigned to role {name}.
        slots:
          name: path.name
      - text: Show the privileges this role will receive on objects created later.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/roles/{name}/future-grants'].post
  update:
    x-apievangelist-phrasing:
      intent: Grant privileges on future objects to a role
      effect: write
      questions:
      - How can a role automatically get SELECT on every table created in a schema from now on?
      - Can I set up grants for objects that don't exist yet?
      instructions:
      - text: Grant {privileges} on all future {securable_type} objects in {containing_scope} to role {name}.
        slots:
          privileges: requestBody.privileges
          securable_type: requestBody.securable_type
          containing_scope: requestBody.containing_scope
          name: path.name
      - text: Set up a future grant of {privileges} on new {securable_type} objects for this role.
        slots:
          privileges: requestBody.privileges
          securable_type: requestBody.securable_type
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/roles/{name}/future-grants:revoke'].post
  update:
    x-apievangelist-phrasing:
      intent: Revoke future grants from a role
      effect: destructive
      questions:
      - Can I stop a role from automatically getting access to newly created objects?
      - How do I remove a future grant I set up earlier?
      instructions:
      - text: Revoke role {name}'s future grant of {privileges} on {securable_type} objects in {containing_scope}.
        slots:
          name: path.name
          privileges: requestBody.privileges
          securable_type: requestBody.securable_type
          containing_scope: requestBody.containing_scope
      - text: Remove this role's future grants on new {securable_type} objects.
        slots:
          securable_type: requestBody.securable_type
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/roles/{name}:set-tags'].post
  update:
    x-apievangelist-phrasing:
      intent: Set tags on a role
      effect: write
      questions:
      - How do I tag a role for governance tracking?
      - Can I label a role with a department tag?
      instructions:
      - text: Set tags on role {name}.
        slots:
          name: path.name
      - text: Apply my tag assignments to the role I named.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/roles/{name}:unset-tags'].post
  update:
    x-apievangelist-phrasing:
      intent: Remove tags from a role
      effect: write
      questions:
      - Can I remove tags from a role?
      - What's the way to clear a tag off an account role?
      instructions:
      - text: Unset the tags on role {name}.
        slots:
          name: path.name
      - text: Remove the tag assignments from the role I named.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/roles/{name}:get-tags'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the tags assigned to a role
      effect: read
      questions:
      - Which tags are assigned to this role?
      - Does reading a role's tags require an active warehouse?
      instructions:
      - text: Show every tag assigned to role {name}.
        slots:
          name: path.name
      - text: List the tag assignments on the role I named.
      method: generated
      generated: '2026-10-01'