Snowflake · Arazzo Workflow

Snowflake Create Role and Grant Privileges

Version 1.0.0

Create a role, grant privileges on a securable to it, then list its grants to confirm.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub DataData WarehouseData LakehouseCloud Data PlatformAnalyticsArtificial IntelligenceData EngineeringData GovernanceSQLApache IcebergModel Context ProtocolT1ArazzoWorkflows

Provider

snowflake

Workflows

create-role-and-grant-privileges
Create a role, grant privileges to it, then list its grants to verify.
Chains createRole, grantPrivileges, and listGrants so a role is created, given privileges on a securable, and verified, all keyed off the same role name.
3 steps inputs: authToken, comment, privileges, roleName, securable, securableType, tokenType outputs: createStatus, grantStatus, grants
1
createRole
Create the role using errorIfExists create mode.
2
grantPrivileges
Grant the requested privileges on the securable to the role.
3
listGrants
List all grants to the role to confirm the privileges were granted.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Snowflake Create Role and Grant Privileges
  summary: Create a role, grant privileges on a securable to it, then list its grants to confirm.
  description: >-
    Access-control provisioning flow. The workflow creates a role, grants a set
    of privileges on a securable object to that role, and then lists all grants
    to the role to confirm the privileges landed. Each step inlines its
    Authorization bearer token and the X-Snowflake-Authorization-Token-Type
    header, its create-mode query parameter, and its JSON request body where
    applicable so the chain can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-620.20
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-620.20
      capability_name: Identity & Access Management
      spec: snowflake-role-api-openapi.yml
      confidence: 0.85
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: databaseRoleApi
  url: ../openapi/snowflake-database-role-api-openapi.yml
  type: openapi
- name: roleApi
  url: ../openapi/snowflake-role-api-openapi.yml
  type: openapi
workflows:
- workflowId: create-role-and-grant-privileges
  summary: Create a role, grant privileges to it, then list its grants to verify.
  description: >-
    Chains createRole, grantPrivileges, and listGrants so a role is created,
    given privileges on a securable, and verified, all keyed off the same role
    name.
  inputs:
    type: object
    required:
    - authToken
    - roleName
    - securable
    - privileges
    properties:
      authToken:
        type: string
        description: Bearer token (KEYPAIR_JWT, OAUTH, or programmatic access token).
      tokenType:
        type: string
        description: Value for the X-Snowflake-Authorization-Token-Type header.
        default: OAUTH
      roleName:
        type: string
        description: Name of the role to create.
      securable:
        type: object
        description: The securable object the privileges apply to (e.g. database, schema, name).
      securableType:
        type: string
        description: The type of the securable (e.g. DATABASE, SCHEMA, TABLE).
      privileges:
        type: array
        description: The list of privileges to grant.
        items:
          type: string
      comment:
        type: string
        description: Optional comment applied to the role.
  steps:
  - stepId: createRole
    description: Create the role using errorIfExists create mode.
    operationId: createRole
    parameters:
    - name: createMode
      in: query
      value: errorIfExists
    - name: Authorization
      in: header
      value: Bearer $inputs.authToken
    - name: X-Snowflake-Authorization-Token-Type
      in: header
      value: $inputs.tokenType
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.roleName
        comment: $inputs.comment
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/status
  - stepId: grantPrivileges
    description: Grant the requested privileges on the securable to the role.
    operationId: grantPrivileges
    parameters:
    - name: name
      in: path
      value: $inputs.roleName
    - name: Authorization
      in: header
      value: Bearer $inputs.authToken
    - name: X-Snowflake-Authorization-Token-Type
      in: header
      value: $inputs.tokenType
    requestBody:
      contentType: application/json
      payload:
        securable: $inputs.securable
        securable_type: $inputs.securableType
        privileges: $inputs.privileges
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/status
  - stepId: listGrants
    description: List all grants to the role to confirm the privileges were granted.
    operationId: listGrants
    parameters:
    - name: name
      in: path
      value: $inputs.roleName
    - name: Authorization
      in: header
      value: Bearer $inputs.authToken
    - name: X-Snowflake-Authorization-Token-Type
      in: header
      value: $inputs.tokenType
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      grants: $response.body
  outputs:
    createStatus: $steps.createRole.outputs.status
    grantStatus: $steps.grantPrivileges.outputs.status
    grants: $steps.listGrants.outputs.grants

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/snowflake-create-role-and-grant-privileges-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.