Snowflake · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Snowflake Stage API

7 actions 7 updates phrasing extends openapi/snowflake-stage-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 7

$.info
$.paths['/api/v2/databases/{database}/schemas/{schema}/stages'].get
$.paths['/api/v2/databases/{database}/schemas/{schema}/stages'].post
$.paths['/api/v2/databases/{database}/schemas/{schema}/stages/{name}'].get
$.paths['/api/v2/databases/{database}/schemas/{schema}/stages/{name}'].delete
$.paths['/api/v2/databases/{database}/schemas/{schema}/stages/{name}/files'].get
$.paths['/api/v2/databases/{database}/schemas/{schema}/stages/{name}/files/{filePath}:presigned-url'].post

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 Stage API
  version: 1.0.0
extends: openapi/snowflake-stage-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: 6
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/stages'].get
  update:
    x-apievangelist-phrasing:
      intent: List stages in a schema
      effect: read
      questions:
      - Which internal and external stages exist in this schema?
      - Can I see all the stages I load data from?
      instructions:
      - text: List all stages in schema {schema} of database {database}.
        slots:
          database: path.database
          schema: path.schema
      - text: Show me the stages defined here.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/stages'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an internal or external stage
      effect: write
      questions:
      - How do I create an external stage pointing at a cloud storage URL?
      - Can I use a storage integration instead of raw credentials for a stage?
      - Is it possible to turn on a directory table when creating a stage?
      instructions:
      - text: Create a stage named {name} in {database}.{schema}.
        slots:
          database: path.database
          schema: path.schema
          name: requestBody.name
      - text: Create external stage {name} at {url} using storage integration {storage_integration}.
        slots:
          name: requestBody.name
          url: requestBody.url
          storage_integration: requestBody.storage_integration
      - text: Create stage {name} with directory table settings {directory_table}.
        slots:
          name: requestBody.name
          directory_table: requestBody.directory_table
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/stages/{name}'].get
  update:
    x-apievangelist-phrasing:
      intent: Describe a stage
      effect: read
      questions:
      - What URL, encryption and integration does this stage use?
      - Can I look up one stage's configuration?
      instructions:
      - text: Describe stage {name} in {database}.{schema}.
        slots:
          database: path.database
          schema: path.schema
          name: path.name
      - text: Fetch this stage's configuration.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/stages/{name}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a stage
      effect: destructive
      questions:
      - How do I drop a stage?
      - Will deleting a stage fail if it doesn't exist?
      instructions:
      - text: Drop stage {name} from {database}.{schema}.
        slots:
          database: path.database
          schema: path.schema
          name: path.name
      - text: Delete the stage I named.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/stages/{name}/files'].get
  update:
    x-apievangelist-phrasing:
      intent: List the files in a stage
      effect: read
      questions:
      - What files are sitting in this stage right now?
      - Can I run the equivalent of LIST @stage over REST?
      instructions:
      - text: List the files in stage {name} of {database}.{schema}.
        slots:
          database: path.database
          schema: path.schema
          name: path.name
      - text: Show every file uploaded to the stage I named.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/stages/{name}/files/{filePath}:presigned-url'].post
  update:
    x-apievangelist-phrasing:
      intent: Get a presigned URL for a staged file
      effect: write
      questions:
      - How can I get a temporary URL to upload or download a file in a stage?
      - Can I control how long a presigned stage URL stays valid?
      instructions:
      - text: Generate a presigned URL for {filePath} in stage {name} of {database}.{schema}.
        slots:
          filePath: path.filePath
          database: path.database
          schema: path.schema
          name: path.name
      - text: Create a presigned URL for {filePath} that expires after {expiration_time} seconds.
        slots:
          filePath: path.filePath
          expiration_time: requestBody.expiration_time
      method: generated
      generated: '2026-10-01'