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.
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
# 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'