Snowflake · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Snowflake Iceberg Table API

20 actions 20 updates phrasing extends openapi/snowflake-iceberg-table-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 20 · first 16 shown; the file carries all of them

$.info
$.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables'].get
$.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables'].post
$.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables:as-select'].post
$.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables:from-aws-glue-catalog'].post
$.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables:from-delta'].post
$.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables:from-iceberg-files'].post
$.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables:from-iceberg-rest'].post
$.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}'].get
$.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}'].delete
$.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:resume-recluster'].post
$.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:suspend-recluster'].post
$.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:refresh'].post
$.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:convert-to-managed'].post
$.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:undrop'].post
$.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:clone'].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 Iceberg Table API
  version: 1.0.0
extends: openapi/snowflake-iceberg-table-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: 19
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables'].get
  update:
    x-apievangelist-phrasing:
      intent: List Iceberg tables in a schema
      effect: read
      questions:
      - Which Apache Iceberg tables can I see in this Snowflake schema?
      - Can I get extra detail on each Iceberg table when I list them?
      instructions:
      - text: List every Iceberg table I have access to in this schema.
      - text: Show the Iceberg tables in the schema with deep detail set to {deep}.
        slots:
          deep: query.deep
      - text: List the Iceberg tables in schema {schema} of database {database}.
        slots:
          database: path.database
          schema: path.schema
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a Snowflake-managed Iceberg table
      effect: write
      questions:
      - How do I define a new empty Iceberg table that uses Snowflake as its catalog?
      - Can I choose the external volume and base location when defining a managed Iceberg table?
      instructions:
      - text: Create a Snowflake-managed Iceberg table named {name} with columns {columns}.
        slots:
          name: requestBody.name
          columns: requestBody.columns
      - text: Define managed Iceberg table {name} on external volume {external_volume} under base location {base_location}.
        slots:
          name: requestBody.name
          external_volume: requestBody.external_volume
          base_location: requestBody.base_location
      - text: In {database}.{schema}, create Snowflake-managed Iceberg table {name} with columns {columns}.
        slots:
          database: path.database
          schema: path.schema
          name: requestBody.name
          columns: requestBody.columns
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables:as-select'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a managed Iceberg table from a query
      effect: write
      questions:
      - Can I build a managed Iceberg table directly from the results of a SELECT query?
      - What does a CREATE ICEBERG TABLE AS SELECT need besides the query itself?
      instructions:
      - text: Create managed Iceberg table {name} populated from the query {query}.
        slots:
          name: requestBody.name
          query: query.query
      - text: Materialize {query} into a new managed Iceberg table {name} clustered by {cluster_by}.
        slots:
          query: query.query
          name: requestBody.name
          cluster_by: requestBody.cluster_by
      - text: In database {database}, schema {schema}, build managed Iceberg table {name} from the results of {query}.
        slots:
          database: path.database
          schema: path.schema
          name: requestBody.name
          query: query.query
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables:from-aws-glue-catalog'].post
  update:
    x-apievangelist-phrasing:
      intent: Register an Iceberg table from AWS Glue
      effect: write
      questions:
      - How can Snowflake read an Iceberg table that is catalogued in AWS Glue?
      - Which Glue namespace and table name does Snowflake need to register a Glue-catalogued table?
      instructions:
      - text: Create an unmanaged Iceberg table {name} from Glue catalog table {catalog_table_name}.
        slots:
          name: requestBody.name
          catalog_table_name: requestBody.catalog_table_name
      - text: Register Glue table {catalog_table_name} in namespace {catalog_namespace} as {name} with auto refresh on.
        slots:
          catalog_table_name: requestBody.catalog_table_name
          catalog_namespace: requestBody.catalog_namespace
          name: requestBody.name
      - text: In {database}.{schema}, register AWS Glue table {catalog_table_name} as Iceberg table {name}.
        slots:
          database: path.database
          schema: path.schema
          name: requestBody.name
          catalog_table_name: requestBody.catalog_table_name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables:from-delta'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an Iceberg table from Delta files
      effect: write
      questions:
      - Can I expose existing Delta Lake files in Snowflake as an Iceberg table?
      - What base location do I point at when turning Delta files into an Iceberg table?
      instructions:
      - text: Create an unmanaged Iceberg table {name} from the Delta files at {base_location}.
        slots:
          name: requestBody.name
          base_location: requestBody.base_location
      - text: Turn the Delta table stored under {base_location} on volume {external_volume} into Iceberg table {name}.
        slots:
          base_location: requestBody.base_location
          external_volume: requestBody.external_volume
          name: requestBody.name
      - text: In {database}.{schema}, create Iceberg table {name} over the Delta Lake files at {base_location}.
        slots:
          database: path.database
          schema: path.schema
          name: requestBody.name
          base_location: requestBody.base_location
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables:from-iceberg-files'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an Iceberg table from metadata files
      effect: write
      questions:
      - How can I load an Iceberg table into Snowflake from a metadata.json file in object storage?
      - Which metadata file path does Snowflake need to create a table from raw Iceberg files?
      instructions:
      - text: Create an unmanaged Iceberg table {name} from metadata file {metadata_file_path}.
        slots:
          name: requestBody.name
          metadata_file_path: requestBody.metadata_file_path
      - text: Register the Iceberg files described by {metadata_file_path} on volume {external_volume} as table {name}.
        slots:
          metadata_file_path: requestBody.metadata_file_path
          external_volume: requestBody.external_volume
          name: requestBody.name
      - text: In {database}.{schema}, create Iceberg table {name} pointing at metadata file {metadata_file_path}.
        slots:
          database: path.database
          schema: path.schema
          name: requestBody.name
          metadata_file_path: requestBody.metadata_file_path
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables:from-iceberg-rest'].post
  update:
    x-apievangelist-phrasing:
      intent: Register an Iceberg table from a REST catalog
      effect: write
      questions:
      - Can Snowflake query a table that lives in an Iceberg REST catalog?
      - What catalog table name and namespace do I give to link an Iceberg REST catalog table?
      instructions:
      - text: Create an unmanaged Iceberg table {name} from REST catalog table {catalog_table_name}.
        slots:
          name: requestBody.name
          catalog_table_name: requestBody.catalog_table_name
      - text: Link Iceberg REST table {catalog_table_name} in namespace {catalog_namespace} through catalog integration {catalog} as {name}.
        slots:
          catalog_table_name: requestBody.catalog_table_name
          catalog_namespace: requestBody.catalog_namespace
          catalog: requestBody.catalog
          name: requestBody.name
      - text: In {database}.{schema}, register Iceberg REST catalog table {catalog_table_name} as {name}.
        slots:
          database: path.database
          schema: path.schema
          name: requestBody.name
          catalog_table_name: requestBody.catalog_table_name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}'].get
  update:
    x-apievangelist-phrasing:
      intent: Describe an Iceberg table
      effect: read
      questions:
      - What are the columns and settings of a specific Iceberg table?
      - Can I see which external volume and catalog a given Iceberg table uses?
      instructions:
      - text: Describe this Iceberg table and show its definition.
      - text: Show me the columns, catalog and external volume of the Iceberg table I named.
      - text: Describe Iceberg table {iceberg_table} in {database}.{schema}.
        slots:
          database: path.database
          schema: path.schema
          iceberg_table: path.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Drop an Iceberg table
      effect: destructive
      questions:
      - How do I delete an Iceberg table from a schema?
      - Is a dropped Iceberg table gone for good, or can it come back?
      instructions:
      - text: Drop the Iceberg table I named from this schema.
      - text: Drop the Iceberg table using drop type {type}.
        slots:
          type: query.type
      - text: Drop Iceberg table {iceberg_table} from schema {schema} in database {database}.
        slots:
          database: path.database
          schema: path.schema
          iceberg_table: path.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:resume-recluster'].post
  update:
    x-apievangelist-phrasing:
      intent: Resume automatic reclustering on an Iceberg table
      effect: write
      questions:
      - How do I turn automatic clustering back on for a Snowflake-managed Iceberg table?
      - Why can't I resume reclustering on an Iceberg table managed by an external catalog?
      instructions:
      - text: Resume reclustering on this Iceberg table.
      - text: Restart automatic clustering for the managed Iceberg table I just named.
      - text: Resume reclustering for Iceberg table {iceberg_table} in {database}.{schema}.
        slots:
          database: path.database
          schema: path.schema
          iceberg_table: path.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:suspend-recluster'].post
  update:
    x-apievangelist-phrasing:
      intent: Suspend automatic reclustering on an Iceberg table
      effect: write
      questions:
      - Can I pause automatic clustering on an Iceberg table to save credits?
      - Is it possible to stop reclustering on an Iceberg table temporarily?
      instructions:
      - text: Suspend reclustering on this Iceberg table.
      - text: Pause automatic clustering for the managed Iceberg table I named.
      - text: Suspend reclustering for Iceberg table {iceberg_table} in {database}.{schema}.
        slots:
          database: path.database
          schema: path.schema
          iceberg_table: path.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:refresh'].post
  update:
    x-apievangelist-phrasing:
      intent: Refresh an externally catalogued Iceberg table
      effect: write
      questions:
      - How do I sync Snowflake with the latest metadata of an Iceberg table from an external catalog?
      - Can I refresh an external Iceberg table to a specific metadata file?
      instructions:
      - text: Refresh the metadata of this externally catalogued Iceberg table.
      - text: Refresh the Iceberg table to metadata file {metadata_file_relative_path}.
        slots:
          metadata_file_relative_path: requestBody.metadata_file_relative_path
      - text: Refresh external Iceberg table {iceberg_table} in database {database}, schema {schema}.
        slots:
          database: path.database
          schema: path.schema
          iceberg_table: path.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:convert-to-managed'].post
  update:
    x-apievangelist-phrasing:
      intent: Convert an external Iceberg table to Snowflake-managed
      effect: write
      questions:
      - Can I move an Iceberg table off its external catalog so Snowflake manages it?
      - What storage serialization policy can I pick when converting an Iceberg table to managed?
      instructions:
      - text: Convert this unmanaged Iceberg table to use Snowflake as its catalog.
      - text: Convert the Iceberg table to managed with base location {base_location}.
        slots:
          base_location: requestBody.base_location
      - text: Convert Iceberg table {iceberg_table} in {database}.{schema} to Snowflake-managed.
        slots:
          database: path.database
          schema: path.schema
          iceberg_table: path.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:undrop'].post
  update:
    x-apievangelist-phrasing:
      intent: Restore a dropped Iceberg table
      effect: write
      questions:
      - I dropped an Iceberg table by mistake; can I get it back?
      - Is there a way to undrop an Iceberg table in Snowflake?
      instructions:
      - text: Undrop the Iceberg table I deleted.
      - text: Restore the recently dropped Iceberg table to this schema.
      - text: Undrop Iceberg table {iceberg_table} in schema {schema} of database {database}.
        slots:
          database: path.database
          schema: path.schema
          iceberg_table: path.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:clone'].post
  update:
    x-apievangelist-phrasing:
      intent: Clone a managed Iceberg table
      effect: write
      questions:
      - Can I make a zero-copy clone of a managed Iceberg table?
      - Is it possible to clone an Iceberg table as it looked at an earlier point in time?
      instructions:
      - text: Clone this managed Iceberg table as {name}.
        slots:
          name: requestBody.name
      - text: Clone the Iceberg table into {targetDatabase}.{targetSchema} as {name} at point in time {point_of_time}.
        slots:
          targetDatabase: query.targetDatabase
          targetSchema: query.targetSchema
          name: requestBody.name
          point_of_time: requestBody.point_of_time
      - text: Clone managed Iceberg table {iceberg_table} in {database}.{schema} to a new table {name}.
        slots:
          database: path.database
          schema: path.schema
          iceberg_table: path.name
          name: requestBody.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:create-like'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an empty Iceberg table like another
      effect: write
      questions:
      - How can I copy an Iceberg table's column definitions without copying its data?
      - Can I create an empty Iceberg table with the same structure in another schema?
      instructions:
      - text: Create an empty Iceberg table {name} with the same columns as this one.
        slots:
          name: requestBody.name
      - text: Create Iceberg table {name} like this one in schema {targetSchema} on volume {external_volume}.
        slots:
          name: requestBody.name
          targetSchema: query.targetSchema
          external_volume: requestBody.external_volume
      - text: Make an empty Iceberg table {name} with the columns of {iceberg_table} in {database}.{schema}.
        slots:
          database: path.database
          schema: path.schema
          iceberg_table: path.name
          name: requestBody.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:set-tags'].post
  update:
    x-apievangelist-phrasing:
      intent: Set tags on an Iceberg table
      effect: write
      questions:
      - How do I attach governance tags to an Iceberg table?
      - Can I label an Iceberg table with a cost center tag?
      instructions:
      - text: Set tags on this Iceberg table.
      - text: Tag the Iceberg table I named with our data classification tag.
      - text: Set tags on Iceberg table {iceberg_table} in {database}.{schema}.
        slots:
          database: path.database
          schema: path.schema
          iceberg_table: path.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:unset-tags'].post
  update:
    x-apievangelist-phrasing:
      intent: Remove tags from an Iceberg table
      effect: write
      questions:
      - How can I remove a tag that was applied to an Iceberg table?
      - Can I clear tag assignments from an Iceberg table?
      instructions:
      - text: Unset tags from this Iceberg table.
      - text: Remove the classification tag from the Iceberg table I named.
      - text: Unset tags on Iceberg table {iceberg_table} in {database}.{schema}.
        slots:
          database: path.database
          schema: path.schema
          iceberg_table: path.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:get-tags'].get
  update:
    x-apievangelist-phrasing:
      intent: Get tag assignments for an Iceberg table
      effect: read
      questions:
      - Which tags are currently assigned to an Iceberg table?
      - Does looking up an Iceberg table's tags require a running warehouse?
      instructions:
      - text: Show all tags assigned to this Iceberg table.
      - text: List the tag assignments on the Iceberg table I named.
      - text: Get the tags assigned to Iceberg table {iceberg_table} in {database}.{schema}.
        slots:
          database: path.database
          schema: path.schema
          iceberg_table: path.name
      method: generated
      generated: '2026-10-01'