naftiko: 1.0.0-alpha2 info: label: Snowflake Iceberg Table API — iceberg-table description: 'Snowflake Iceberg Table API — iceberg-table. 16 operations. Lead operation: List Iceberg Tables. Self-contained Naftiko capability covering one Snowflake business surface.' tags: - Snowflake - iceberg-table created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SNOWFLAKE_API_KEY: SNOWFLAKE_API_KEY capability: consumes: - type: http namespace: iceberg-table-iceberg-table baseUri: https://org-account.snowflakecomputing.com description: Snowflake Iceberg Table API — iceberg-table business capability. Self-contained, no shared references. resources: - name: api-v2-databases-database-schemas-schema-iceberg-tables path: /api/v2/databases/{database}/schemas/{schema}/iceberg-tables operations: - name: listicebergtables method: GET description: List Iceberg Tables outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: deep in: query type: boolean description: Optionally includes dependency information of the table. - name: createsnowflakemanagedicebergtable method: POST description: Create a Snowflake Managed Iceberg Table (clone and Undrop Are Separate Subresources) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-databases-database-schemas-schema-iceberg-tables-name path: /api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name} operations: - name: fetchicebergtable method: GET description: Describe Iceberg Table outputRawFormat: json outputParameters: - name: result type: object value: $. - name: dropicebergtable method: DELETE description: Drop Iceberg Table outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: type in: query type: string description: Specifies whether the table can be dropped if foreign keys exist that reference the table. - name: api-v2-databases-database-schemas-schema-iceberg-tables-name}:clone path: /api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:clone operations: - name: clonesnowflakemanagedicebergtable method: POST description: Clone a Snowflake Managed Iceberg Table outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: targetDatabase in: query type: string description: Database of the newly created table. Defaults to the source table's database. - name: targetSchema in: query type: string description: Schema of the newly created table. Defaults to the source table's schema. - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-databases-database-schemas-schema-iceberg-tables-name}:convert-to-managed path: /api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:convert-to-managed operations: - name: converttomanagedicebergtable method: POST description: Converts an Apache Iceberg™ Table That Uses an External Iceberg Catalog Into a Table That Uses Snowflake as the Catalog outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-databases-database-schemas-schema-iceberg-tables-name}:create-like path: /api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:create-like operations: - name: createsnowflakemanagedicebergtablelike method: POST description: Create Iceberg Table Like outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: targetDatabase in: query type: string description: Database of the newly created table. Defaults to the source table's database. - name: targetSchema in: query type: string description: Schema of the newly created table. Defaults to the source table's schema. - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-databases-database-schemas-schema-iceberg-tables-name}:refresh path: /api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:refresh operations: - name: refreshicebergtable method: POST description: Refreshes the Metadata for an Apache Iceberg Table That Uses an External Iceberg Catalog outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-databases-database-schemas-schema-iceberg-tables-name}:resume-recluster path: /api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:resume-recluster operations: - name: resumereclustericebergtable method: POST description: Resume Recluster of an Iceberg Table outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-databases-database-schemas-schema-iceberg-tables-name}:suspend-recluster path: /api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:suspend-recluster operations: - name: suspendreclustericebergtable method: POST description: Suspend Recluster of an Iceberg Table outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-databases-database-schemas-schema-iceberg-tables-name}:undrop path: /api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name}:undrop operations: - name: undropicebergtable method: POST description: Undrop Iceberg Table outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-databases-database-schemas-schema-iceberg-tables:as-select path: /api/v2/databases/{database}/schemas/{schema}/iceberg-tables:as-select operations: - name: createsnowflakemanagedicebergtableasselect method: POST description: Create a Snowflake Managed Iceberg Table as Select outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: query in: query type: string description: The SQL select query to run to set up the table values (and possibly columns). required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-databases-database-schemas-schema-iceberg-tables:from-aws-glue-catalog path: /api/v2/databases/{database}/schemas/{schema}/iceberg-tables:from-aws-glue-catalog operations: - name: createunmanagedicebergtablefromawsgluecatalog method: POST description: Create an Unmanaged Iceberg Table From Aws Glue Catalog outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-databases-database-schemas-schema-iceberg-tables:from-delta path: /api/v2/databases/{database}/schemas/{schema}/iceberg-tables:from-delta operations: - name: createunmanagedicebergtablefromdelta method: POST description: Create an Unmanaged Iceberg Table From Delta outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-databases-database-schemas-schema-iceberg-tables:from-iceberg-files path: /api/v2/databases/{database}/schemas/{schema}/iceberg-tables:from-iceberg-files operations: - name: createunmanagedicebergtablefromicebergfiles method: POST description: Create an Unmanaged Iceberg Table From Iceberg Files outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-databases-database-schemas-schema-iceberg-tables:from-iceberg-rest path: /api/v2/databases/{database}/schemas/{schema}/iceberg-tables:from-iceberg-rest operations: - name: createunmanagedicebergtablefromicebergrest method: POST description: Create an Unmanaged Iceberg Table From Iceberg Rest outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true exposes: - type: rest namespace: iceberg-table-iceberg-table-rest port: 8080 description: REST adapter for Snowflake Iceberg Table API — iceberg-table. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v2/databases/{database}/schemas/{schema}/iceberg-tables name: api-v2-databases-database-schemas-schema-iceberg-tables description: REST surface for api-v2-databases-database-schemas-schema-iceberg-tables. operations: - method: GET name: listicebergtables description: List Iceberg Tables call: iceberg-table-iceberg-table.listicebergtables with: deep: rest.deep outputParameters: - type: object mapping: $. - method: POST name: createsnowflakemanagedicebergtable description: Create a Snowflake Managed Iceberg Table (clone and Undrop Are Separate Subresources) call: iceberg-table-iceberg-table.createsnowflakemanagedicebergtable with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/{name} name: api-v2-databases-database-schemas-schema-iceberg-tables-name description: REST surface for api-v2-databases-database-schemas-schema-iceberg-tables-name. operations: - method: GET name: fetchicebergtable description: Describe Iceberg Table call: iceberg-table-iceberg-table.fetchicebergtable outputParameters: - type: object mapping: $. - method: DELETE name: dropicebergtable description: Drop Iceberg Table call: iceberg-table-iceberg-table.dropicebergtable with: type: rest.type outputParameters: - type: object mapping: $. - path: /v1/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/name-clone name: api-v2-databases-database-schemas-schema-iceberg-tables-name-clone description: REST surface for api-v2-databases-database-schemas-schema-iceberg-tables-name}:clone. operations: - method: POST name: clonesnowflakemanagedicebergtable description: Clone a Snowflake Managed Iceberg Table call: iceberg-table-iceberg-table.clonesnowflakemanagedicebergtable with: targetDatabase: rest.targetDatabase targetSchema: rest.targetSchema body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/name-convert-to-managed name: api-v2-databases-database-schemas-schema-iceberg-tables-name-convert-to-managed description: REST surface for api-v2-databases-database-schemas-schema-iceberg-tables-name}:convert-to-managed. operations: - method: POST name: converttomanagedicebergtable description: Converts an Apache Iceberg™ Table That Uses an External Iceberg Catalog Into a Table That Uses Snowflake as the Catalog call: iceberg-table-iceberg-table.converttomanagedicebergtable with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/name-create-like name: api-v2-databases-database-schemas-schema-iceberg-tables-name-create-like description: REST surface for api-v2-databases-database-schemas-schema-iceberg-tables-name}:create-like. operations: - method: POST name: createsnowflakemanagedicebergtablelike description: Create Iceberg Table Like call: iceberg-table-iceberg-table.createsnowflakemanagedicebergtablelike with: targetDatabase: rest.targetDatabase targetSchema: rest.targetSchema body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/name-refresh name: api-v2-databases-database-schemas-schema-iceberg-tables-name-refresh description: REST surface for api-v2-databases-database-schemas-schema-iceberg-tables-name}:refresh. operations: - method: POST name: refreshicebergtable description: Refreshes the Metadata for an Apache Iceberg Table That Uses an External Iceberg Catalog call: iceberg-table-iceberg-table.refreshicebergtable with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/name-resume-recluster name: api-v2-databases-database-schemas-schema-iceberg-tables-name-resume-recluster description: REST surface for api-v2-databases-database-schemas-schema-iceberg-tables-name}:resume-recluster. operations: - method: POST name: resumereclustericebergtable description: Resume Recluster of an Iceberg Table call: iceberg-table-iceberg-table.resumereclustericebergtable outputParameters: - type: object mapping: $. - path: /v1/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/name-suspend-recluster name: api-v2-databases-database-schemas-schema-iceberg-tables-name-suspend-recluster description: REST surface for api-v2-databases-database-schemas-schema-iceberg-tables-name}:suspend-recluster. operations: - method: POST name: suspendreclustericebergtable description: Suspend Recluster of an Iceberg Table call: iceberg-table-iceberg-table.suspendreclustericebergtable outputParameters: - type: object mapping: $. - path: /v1/api/v2/databases/{database}/schemas/{schema}/iceberg-tables/name-undrop name: api-v2-databases-database-schemas-schema-iceberg-tables-name-undrop description: REST surface for api-v2-databases-database-schemas-schema-iceberg-tables-name}:undrop. operations: - method: POST name: undropicebergtable description: Undrop Iceberg Table call: iceberg-table-iceberg-table.undropicebergtable outputParameters: - type: object mapping: $. - path: /v1/api/v2/databases/{database}/schemas/{schema}/iceberg-tables-as-select name: api-v2-databases-database-schemas-schema-iceberg-tables-as-select description: REST surface for api-v2-databases-database-schemas-schema-iceberg-tables:as-select. operations: - method: POST name: createsnowflakemanagedicebergtableasselect description: Create a Snowflake Managed Iceberg Table as Select call: iceberg-table-iceberg-table.createsnowflakemanagedicebergtableasselect with: query: rest.query body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/databases/{database}/schemas/{schema}/iceberg-tables-from-aws-glue-catalog name: api-v2-databases-database-schemas-schema-iceberg-tables-from-aws-glue-catalog description: REST surface for api-v2-databases-database-schemas-schema-iceberg-tables:from-aws-glue-catalog. operations: - method: POST name: createunmanagedicebergtablefromawsgluecatalog description: Create an Unmanaged Iceberg Table From Aws Glue Catalog call: iceberg-table-iceberg-table.createunmanagedicebergtablefromawsgluecatalog with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/databases/{database}/schemas/{schema}/iceberg-tables-from-delta name: api-v2-databases-database-schemas-schema-iceberg-tables-from-delta description: REST surface for api-v2-databases-database-schemas-schema-iceberg-tables:from-delta. operations: - method: POST name: createunmanagedicebergtablefromdelta description: Create an Unmanaged Iceberg Table From Delta call: iceberg-table-iceberg-table.createunmanagedicebergtablefromdelta with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/databases/{database}/schemas/{schema}/iceberg-tables-from-iceberg-files name: api-v2-databases-database-schemas-schema-iceberg-tables-from-iceberg-files description: REST surface for api-v2-databases-database-schemas-schema-iceberg-tables:from-iceberg-files. operations: - method: POST name: createunmanagedicebergtablefromicebergfiles description: Create an Unmanaged Iceberg Table From Iceberg Files call: iceberg-table-iceberg-table.createunmanagedicebergtablefromicebergfiles with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/databases/{database}/schemas/{schema}/iceberg-tables-from-iceberg-rest name: api-v2-databases-database-schemas-schema-iceberg-tables-from-iceberg-rest description: REST surface for api-v2-databases-database-schemas-schema-iceberg-tables:from-iceberg-rest. operations: - method: POST name: createunmanagedicebergtablefromicebergrest description: Create an Unmanaged Iceberg Table From Iceberg Rest call: iceberg-table-iceberg-table.createunmanagedicebergtablefromicebergrest with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: iceberg-table-iceberg-table-mcp port: 9090 transport: http description: MCP adapter for Snowflake Iceberg Table API — iceberg-table. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-iceberg-tables description: List Iceberg Tables hints: readOnly: true destructive: false idempotent: true call: iceberg-table-iceberg-table.listicebergtables with: deep: tools.deep outputParameters: - type: object mapping: $. - name: create-snowflake-managed-iceberg-table description: Create a Snowflake Managed Iceberg Table (clone and Undrop Are Separate Subresources) hints: readOnly: false destructive: false idempotent: false call: iceberg-table-iceberg-table.createsnowflakemanagedicebergtable with: body: tools.body outputParameters: - type: object mapping: $. - name: describe-iceberg-table description: Describe Iceberg Table hints: readOnly: true destructive: false idempotent: true call: iceberg-table-iceberg-table.fetchicebergtable outputParameters: - type: object mapping: $. - name: drop-iceberg-table description: Drop Iceberg Table hints: readOnly: false destructive: true idempotent: true call: iceberg-table-iceberg-table.dropicebergtable with: type: tools.type outputParameters: - type: object mapping: $. - name: clone-snowflake-managed-iceberg-table description: Clone a Snowflake Managed Iceberg Table hints: readOnly: false destructive: false idempotent: false call: iceberg-table-iceberg-table.clonesnowflakemanagedicebergtable with: targetDatabase: tools.targetDatabase targetSchema: tools.targetSchema body: tools.body outputParameters: - type: object mapping: $. - name: converts-apache-iceberg-table-that description: Converts an Apache Iceberg™ Table That Uses an External Iceberg Catalog Into a Table That Uses Snowflake as the Catalog hints: readOnly: false destructive: false idempotent: false call: iceberg-table-iceberg-table.converttomanagedicebergtable with: body: tools.body outputParameters: - type: object mapping: $. - name: create-iceberg-table-like description: Create Iceberg Table Like hints: readOnly: false destructive: false idempotent: false call: iceberg-table-iceberg-table.createsnowflakemanagedicebergtablelike with: targetDatabase: tools.targetDatabase targetSchema: tools.targetSchema body: tools.body outputParameters: - type: object mapping: $. - name: refreshes-metadata-apache-iceberg-table description: Refreshes the Metadata for an Apache Iceberg Table That Uses an External Iceberg Catalog hints: readOnly: false destructive: false idempotent: false call: iceberg-table-iceberg-table.refreshicebergtable with: body: tools.body outputParameters: - type: object mapping: $. - name: resume-recluster-iceberg-table description: Resume Recluster of an Iceberg Table hints: readOnly: false destructive: false idempotent: false call: iceberg-table-iceberg-table.resumereclustericebergtable outputParameters: - type: object mapping: $. - name: suspend-recluster-iceberg-table description: Suspend Recluster of an Iceberg Table hints: readOnly: false destructive: false idempotent: false call: iceberg-table-iceberg-table.suspendreclustericebergtable outputParameters: - type: object mapping: $. - name: undrop-iceberg-table description: Undrop Iceberg Table hints: readOnly: false destructive: false idempotent: false call: iceberg-table-iceberg-table.undropicebergtable outputParameters: - type: object mapping: $. - name: create-snowflake-managed-iceberg-table-2 description: Create a Snowflake Managed Iceberg Table as Select hints: readOnly: false destructive: false idempotent: false call: iceberg-table-iceberg-table.createsnowflakemanagedicebergtableasselect with: query: tools.query body: tools.body outputParameters: - type: object mapping: $. - name: create-unmanaged-iceberg-table-aws description: Create an Unmanaged Iceberg Table From Aws Glue Catalog hints: readOnly: false destructive: false idempotent: false call: iceberg-table-iceberg-table.createunmanagedicebergtablefromawsgluecatalog with: body: tools.body outputParameters: - type: object mapping: $. - name: create-unmanaged-iceberg-table-delta description: Create an Unmanaged Iceberg Table From Delta hints: readOnly: false destructive: false idempotent: false call: iceberg-table-iceberg-table.createunmanagedicebergtablefromdelta with: body: tools.body outputParameters: - type: object mapping: $. - name: create-unmanaged-iceberg-table-iceberg description: Create an Unmanaged Iceberg Table From Iceberg Files hints: readOnly: false destructive: false idempotent: false call: iceberg-table-iceberg-table.createunmanagedicebergtablefromicebergfiles with: body: tools.body outputParameters: - type: object mapping: $. - name: create-unmanaged-iceberg-table-iceberg-2 description: Create an Unmanaged Iceberg Table From Iceberg Rest hints: readOnly: false destructive: false idempotent: false call: iceberg-table-iceberg-table.createunmanagedicebergtablefromicebergrest with: body: tools.body outputParameters: - type: object mapping: $.