Snowflake · Capability

Snowflake Warehouse API — warehouse

Snowflake Warehouse API — warehouse. 12 operations. Lead operation: Create or Replace Warehouse. Self-contained Naftiko capability covering one Snowflake business surface.

Run with Naftiko Snowflakewarehouse

What You Can Do

POST
Createwarehouse — Create or Replace Warehouse
/v1/api/v2/warehouses
GET
Listwarehouses — List Warehouse
/v1/api/v2/warehouses
GET
Fetchwarehouse — Describe Warehouse
/v1/api/v2/warehouses/{name}
DELETE
Deletewarehouse — Drop Warehouse
/v1/api/v2/warehouses/{name}
PUT
Createoralterwarehouse — Create a (or Alter an Existing) Warehouse.
/v1/api/v2/warehouses/{name}
POST
Abortallqueriesonwarehouse — Abort All Queries
/v1/api/v2/warehouses/name-abort
POST
Disablewarehouse — Disable Adaptive Warehouse
/v1/api/v2/warehouses/name-disable
POST
Enablewarehouse — Enable Adaptive Warehouse
/v1/api/v2/warehouses/name-enable
POST
Renamewarehouse — Update and Rename Warehouse
/v1/api/v2/warehouses/name-rename
POST
Resumewarehouse — Resume Warehouse
/v1/api/v2/warehouses/name-resume
POST
Suspendwarehouse — Suspend Warehouse
/v1/api/v2/warehouses/name-suspend
POST
Usewarehouse — Use Current Warehouse for Session
/v1/api/v2/warehouses/name-use

MCP Tools

create-replace-warehouse

Create or Replace Warehouse

list-warehouse

List Warehouse

read-only idempotent
describe-warehouse

Describe Warehouse

read-only idempotent
drop-warehouse

Drop Warehouse

idempotent
create-alter-existing-warehouse

Create a (or Alter an Existing) Warehouse.

idempotent
abort-all-queries

Abort All Queries

disable-adaptive-warehouse

Disable Adaptive Warehouse

enable-adaptive-warehouse

Enable Adaptive Warehouse

update-and-rename-warehouse

Update and Rename Warehouse

resume-warehouse

Resume Warehouse

suspend-warehouse

Suspend Warehouse

use-current-warehouse-session

Use Current Warehouse for Session

Capability Spec

warehouse-warehouse.yaml Raw ↑
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: $.