naftiko: 1.0.0-alpha2 info: label: Snowflake Warehouse API — warehouse description: 'Snowflake Warehouse API — warehouse. 12 operations. Lead operation: Create or Replace Warehouse. Self-contained Naftiko capability covering one Snowflake business surface.' tags: - Snowflake - warehouse created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SNOWFLAKE_API_KEY: SNOWFLAKE_API_KEY capability: consumes: - type: http namespace: warehouse-warehouse baseUri: https://org-account.snowflakecomputing.com description: Snowflake Warehouse API — warehouse business capability. Self-contained, no shared references. resources: - name: api-v2-warehouses path: /api/v2/warehouses operations: - name: createwarehouse method: POST description: Create or Replace Warehouse outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: listwarehouses method: GET description: List Warehouse outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-warehouses-name path: /api/v2/warehouses/{name} operations: - name: fetchwarehouse method: GET description: Describe Warehouse outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletewarehouse method: DELETE description: Drop Warehouse outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createoralterwarehouse method: PUT description: Create a (or Alter an Existing) Warehouse. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-warehouses-name}:abort path: /api/v2/warehouses/{name}:abort operations: - name: abortallqueriesonwarehouse method: POST description: Abort All Queries outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-warehouses-name}:disable path: /api/v2/warehouses/{name}:disable operations: - name: disablewarehouse method: POST description: Disable Adaptive Warehouse outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-warehouses-name}:enable path: /api/v2/warehouses/{name}:enable operations: - name: enablewarehouse method: POST description: Enable Adaptive Warehouse outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-warehouses-name}:rename path: /api/v2/warehouses/{name}:rename operations: - name: renamewarehouse method: POST description: Update and Rename Warehouse outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-warehouses-name}:resume path: /api/v2/warehouses/{name}:resume operations: - name: resumewarehouse method: POST description: Resume Warehouse outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-warehouses-name}:suspend path: /api/v2/warehouses/{name}:suspend operations: - name: suspendwarehouse method: POST description: Suspend Warehouse outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-warehouses-name}:use path: /api/v2/warehouses/{name}:use operations: - name: usewarehouse method: POST description: Use Current Warehouse for Session outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: warehouse-warehouse-rest port: 8080 description: REST adapter for Snowflake Warehouse API — warehouse. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v2/warehouses name: api-v2-warehouses description: REST surface for api-v2-warehouses. operations: - method: POST name: createwarehouse description: Create or Replace Warehouse call: warehouse-warehouse.createwarehouse with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listwarehouses description: List Warehouse call: warehouse-warehouse.listwarehouses outputParameters: - type: object mapping: $. - path: /v1/api/v2/warehouses/{name} name: api-v2-warehouses-name description: REST surface for api-v2-warehouses-name. operations: - method: GET name: fetchwarehouse description: Describe Warehouse call: warehouse-warehouse.fetchwarehouse outputParameters: - type: object mapping: $. - method: DELETE name: deletewarehouse description: Drop Warehouse call: warehouse-warehouse.deletewarehouse outputParameters: - type: object mapping: $. - method: PUT name: createoralterwarehouse description: Create a (or Alter an Existing) Warehouse. call: warehouse-warehouse.createoralterwarehouse with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/warehouses/name-abort name: api-v2-warehouses-name-abort description: REST surface for api-v2-warehouses-name}:abort. operations: - method: POST name: abortallqueriesonwarehouse description: Abort All Queries call: warehouse-warehouse.abortallqueriesonwarehouse outputParameters: - type: object mapping: $. - path: /v1/api/v2/warehouses/name-disable name: api-v2-warehouses-name-disable description: REST surface for api-v2-warehouses-name}:disable. operations: - method: POST name: disablewarehouse description: Disable Adaptive Warehouse call: warehouse-warehouse.disablewarehouse outputParameters: - type: object mapping: $. - path: /v1/api/v2/warehouses/name-enable name: api-v2-warehouses-name-enable description: REST surface for api-v2-warehouses-name}:enable. operations: - method: POST name: enablewarehouse description: Enable Adaptive Warehouse call: warehouse-warehouse.enablewarehouse outputParameters: - type: object mapping: $. - path: /v1/api/v2/warehouses/name-rename name: api-v2-warehouses-name-rename description: REST surface for api-v2-warehouses-name}:rename. operations: - method: POST name: renamewarehouse description: Update and Rename Warehouse call: warehouse-warehouse.renamewarehouse with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/warehouses/name-resume name: api-v2-warehouses-name-resume description: REST surface for api-v2-warehouses-name}:resume. operations: - method: POST name: resumewarehouse description: Resume Warehouse call: warehouse-warehouse.resumewarehouse outputParameters: - type: object mapping: $. - path: /v1/api/v2/warehouses/name-suspend name: api-v2-warehouses-name-suspend description: REST surface for api-v2-warehouses-name}:suspend. operations: - method: POST name: suspendwarehouse description: Suspend Warehouse call: warehouse-warehouse.suspendwarehouse outputParameters: - type: object mapping: $. - path: /v1/api/v2/warehouses/name-use name: api-v2-warehouses-name-use description: REST surface for api-v2-warehouses-name}:use. operations: - method: POST name: usewarehouse description: Use Current Warehouse for Session call: warehouse-warehouse.usewarehouse outputParameters: - type: object mapping: $. - type: mcp namespace: warehouse-warehouse-mcp port: 9090 transport: http description: MCP adapter for Snowflake Warehouse API — warehouse. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-replace-warehouse description: Create or Replace Warehouse hints: readOnly: false destructive: false idempotent: false call: warehouse-warehouse.createwarehouse with: body: tools.body outputParameters: - type: object mapping: $. - name: list-warehouse description: List Warehouse hints: readOnly: true destructive: false idempotent: true call: warehouse-warehouse.listwarehouses outputParameters: - type: object mapping: $. - name: describe-warehouse description: Describe Warehouse hints: readOnly: true destructive: false idempotent: true call: warehouse-warehouse.fetchwarehouse outputParameters: - type: object mapping: $. - name: drop-warehouse description: Drop Warehouse hints: readOnly: false destructive: true idempotent: true call: warehouse-warehouse.deletewarehouse outputParameters: - type: object mapping: $. - name: create-alter-existing-warehouse description: Create a (or Alter an Existing) Warehouse. hints: readOnly: false destructive: false idempotent: true call: warehouse-warehouse.createoralterwarehouse with: body: tools.body outputParameters: - type: object mapping: $. - name: abort-all-queries description: Abort All Queries hints: readOnly: false destructive: false idempotent: false call: warehouse-warehouse.abortallqueriesonwarehouse outputParameters: - type: object mapping: $. - name: disable-adaptive-warehouse description: Disable Adaptive Warehouse hints: readOnly: false destructive: false idempotent: false call: warehouse-warehouse.disablewarehouse outputParameters: - type: object mapping: $. - name: enable-adaptive-warehouse description: Enable Adaptive Warehouse hints: readOnly: false destructive: false idempotent: false call: warehouse-warehouse.enablewarehouse outputParameters: - type: object mapping: $. - name: update-and-rename-warehouse description: Update and Rename Warehouse hints: readOnly: false destructive: false idempotent: false call: warehouse-warehouse.renamewarehouse with: body: tools.body outputParameters: - type: object mapping: $. - name: resume-warehouse description: Resume Warehouse hints: readOnly: false destructive: false idempotent: false call: warehouse-warehouse.resumewarehouse outputParameters: - type: object mapping: $. - name: suspend-warehouse description: Suspend Warehouse hints: readOnly: false destructive: false idempotent: false call: warehouse-warehouse.suspendwarehouse outputParameters: - type: object mapping: $. - name: use-current-warehouse-session description: Use Current Warehouse for Session hints: readOnly: false destructive: false idempotent: false call: warehouse-warehouse.usewarehouse outputParameters: - type: object mapping: $.