# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Snowflake User API version: 1.0.0 extends: openapi/snowflake-user-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: 11 - target: $.paths['/api/v2/users'].get update: x-apievangelist-phrasing: intent: List users in the account effect: read questions: - Who are all the users in my Snowflake account? - Can I pull the full user list through the REST API? instructions: - text: List all users in the account. - text: Show me everyone who has a login here. method: generated generated: '2026-10-01' - target: $.paths['/api/v2/users'].post update: x-apievangelist-phrasing: intent: Create a user effect: write questions: - How do I add a new user with a default role and warehouse? - Can I create a service user that signs in with an RSA public key instead of a password? - Is it possible to force a new user to change their password on first login? instructions: - text: Create user {name} with email {email}. slots: name: requestBody.name email: requestBody.email - text: Create user {name} with default role {role} and default warehouse {warehouse}. slots: name: requestBody.name role: requestBody.default_role warehouse: requestBody.default_warehouse - text: Create a {type} user {name} that authenticates with RSA key {rsa_public_key}. slots: type: requestBody.type name: requestBody.name rsa_public_key: requestBody.rsa_public_key method: generated generated: '2026-10-01' - target: $.paths['/api/v2/users/{name}'].get update: x-apievangelist-phrasing: intent: Get a user's details effect: read questions: - What default role, warehouse and last login does a particular user have? - Where can I see a user's DESCRIBE output? instructions: - text: Show me the details of user {name}. slots: name: path.name - text: Describe the named user, including their defaults and lock status. method: generated generated: '2026-10-01' - target: $.paths['/api/v2/users/{name}'].put update: x-apievangelist-phrasing: intent: Create or update a user effect: write questions: - Can I update an existing user's properties by sending the full user definition? - Does the create-or-alter user call change the user's password? instructions: - text: Create or alter user {name} so their default role is {role}. slots: name: path.name role: requestBody.default_role - text: Update user {name} to disabled {disabled}, creating them if they don't exist. slots: name: requestBody.name disabled: requestBody.disabled method: generated generated: '2026-10-01' - target: $.paths['/api/v2/users/{name}'].delete update: x-apievangelist-phrasing: intent: Delete a user effect: destructive questions: - How do I remove a user who has left the company? - Can a user be dropped through the API? instructions: - text: Delete user {name}. slots: name: path.name - text: Drop the user account permanently. method: generated generated: '2026-10-01' - target: $.paths['/api/v2/users/{name}/grants'].get update: x-apievangelist-phrasing: intent: List roles granted to a user effect: read questions: - Which roles has a given user been granted? - What grants does this user currently hold? instructions: - text: List all grants to user {name}. slots: name: path.name - text: Show the roles this user has been given. method: generated generated: '2026-10-01' - target: $.paths['/api/v2/users/{name}/grants'].post update: x-apievangelist-phrasing: intent: Grant a role to a user effect: write questions: - How do I give a user a role? - Can I assign an existing role to a user through the API? instructions: - text: Grant role {role} to user {name}. slots: role: requestBody.securable name: path.name - text: Give this user the {securable_type} {role}. slots: securable_type: requestBody.securable_type role: requestBody.securable method: generated generated: '2026-10-01' - target: $.paths['/api/v2/users/{name}/grants:revoke'].post update: x-apievangelist-phrasing: intent: Revoke a role from a user effect: destructive questions: - How do I take a role away from a user? - Can I revoke a grant I previously gave a user? instructions: - text: Revoke role {role} from user {name}. slots: role: requestBody.securable name: path.name - text: Remove the {securable_type} {role} from the user's grants. slots: securable_type: requestBody.securable_type role: requestBody.securable method: generated generated: '2026-10-01' - target: $.paths['/api/v2/users/{name}:set-tags'].post update: x-apievangelist-phrasing: intent: Attach tags to a user effect: write questions: - How do I tag a user, for example with their department? - Can I set tag values on a user object? instructions: - text: Set tags on user {name}. slots: name: path.name - text: Tag the user with their department value. method: generated generated: '2026-10-01' - target: $.paths['/api/v2/users/{name}:unset-tags'].post update: x-apievangelist-phrasing: intent: Remove tags from a user effect: write questions: - How do I remove a tag from a user? - Can I clear tag assignments on a user without dropping the tag itself? instructions: - text: Unset the tags on user {name}. slots: name: path.name - text: Strip the tag assignments off the user. method: generated generated: '2026-10-01' - target: $.paths['/api/v2/users/{name}:get-tags'].get update: x-apievangelist-phrasing: intent: Show the tags assigned to a user effect: read questions: - Which tags are assigned to this user? - Does reading a user's tag assignments need an active warehouse? instructions: - text: Show every tag assigned to user {name}. slots: name: path.name - text: Get the user's current tag assignments. method: generated generated: '2026-10-01'