Snowflake · Capability

Snowflake Task API — task

Snowflake Task API — task. 13 operations. Lead operation: List Tasks. Self-contained Naftiko capability covering one Snowflake business surface.

Run with Naftiko Snowflaketask

What You Can Do

GET
Listtasks — List Tasks
/v1/api/v2/databases/{database}/schemas/{schema}/tasks
POST
Createtask — Create a Task
/v1/api/v2/databases/{database}/schemas/{schema}/tasks
GET
Fetchtask — Fetch a Task
/v1/api/v2/databases/{database}/schemas/{schema}/tasks/{name}
PUT
Createoraltertask — Create a (or Alter an Existing) Task
/v1/api/v2/databases/{database}/schemas/{schema}/tasks/{name}
DELETE
Deletetask — Delete a Task
/v1/api/v2/databases/{database}/schemas/{schema}/tasks/{name}
GET
Getcompletegraphs — Get the Graph Runs That Are Completed for the Task.
/v1/api/v2/databases/{database}/schemas/{schema}/tasks/{name}/complete-graphs
GET
Getcompletegraphsdeprecated — Get the Graph Runs That Are Completed for the Task.
/v1/api/v2/databases/{database}/schemas/{schema}/tasks/{name}/complete-graphs
GET
Getcurrentgraphs — Get the Graph Runs That Are Executing or Scheduled for the Task for the Next 8 Days.
/v1/api/v2/databases/{database}/schemas/{schema}/tasks/{name}/current-graphs
GET
Getcurrentgraphsdeprecated — Get the Graph Runs That Are Executing or Scheduled for the Task for the Next 8 Days.
/v1/api/v2/databases/{database}/schemas/{schema}/tasks/{name}/current-graphs
GET
Fetchtaskdependents — Fetch the Dependent Tasks of a Task
/v1/api/v2/databases/{database}/schemas/{schema}/tasks/{name}/dependents
POST
Executetask — Execute a Task Object.
/v1/api/v2/databases/{database}/schemas/{schema}/tasks/name-execute
POST
Resumetask — Resume a Suspended Task.
/v1/api/v2/databases/{database}/schemas/{schema}/tasks/name-resume
POST
Suspendtask — Suspend a Running Task.
/v1/api/v2/databases/{database}/schemas/{schema}/tasks/name-suspend

MCP Tools

list-tasks

List Tasks

read-only idempotent
create-task

Create a Task

fetch-task

Fetch a Task

read-only idempotent
create-alter-existing-task

Create a (or Alter an Existing) Task

idempotent
delete-task

Delete a Task

idempotent
get-graph-runs-that-are

Get the Graph Runs That Are Completed for the Task.

read-only idempotent
get-graph-runs-that-are-2

Get the Graph Runs That Are Completed for the Task.

read-only idempotent
get-graph-runs-that-are-3

Get the Graph Runs That Are Executing or Scheduled for the Task for the Next 8 Days.

read-only idempotent
get-graph-runs-that-are-4

Get the Graph Runs That Are Executing or Scheduled for the Task for the Next 8 Days.

read-only idempotent
fetch-dependent-tasks-task

Fetch the Dependent Tasks of a Task

read-only idempotent
execute-task-object

Execute a Task Object.

resume-suspended-task

Resume a Suspended Task.

suspend-running-task

Suspend a Running Task.

Capability Spec

task-task.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Snowflake Task API — task
  description: 'Snowflake Task API — task. 13 operations. Lead operation: List Tasks. Self-contained Naftiko capability covering
    one Snowflake business surface.'
  tags:
  - Snowflake
  - task
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SNOWFLAKE_API_KEY: SNOWFLAKE_API_KEY
capability:
  consumes:
  - type: http
    namespace: task-task
    baseUri: https://org-account.snowflakecomputing.com
    description: Snowflake Task API — task business capability. Self-contained, no shared references.
    resources:
    - name: api-v2-databases-database-schemas-schema-tasks
      path: /api/v2/databases/{database}/schemas/{schema}/tasks
      operations:
      - name: listtasks
        method: GET
        description: List Tasks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createtask
        method: POST
        description: Create a Task
        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-tasks-name
      path: /api/v2/databases/{database}/schemas/{schema}/tasks/{name}
      operations:
      - name: fetchtask
        method: GET
        description: Fetch a Task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createoraltertask
        method: PUT
        description: Create a (or Alter an Existing) Task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletetask
        method: DELETE
        description: Delete a Task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v2-databases-database-schemas-schema-tasks-name-complete-graphs
      path: /api/v2/databases/{database}/schemas/{schema}/tasks/{name}/complete-graphs
      operations:
      - name: getcompletegraphs
        method: GET
        description: Get the Graph Runs That Are Completed for the Task.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: resultLimit
          in: query
          type: integer
          description: Number of results to return, at most. Default is 1000, valid range is 1 to 10000.
        - name: errorOnly
          in: query
          type: boolean
          description: Whether to only return results for tasks runs that have failed. Default is false.
    - name: api-v2-databases-database-schemas-schema-tasks-name-complete_graphs
      path: /api/v2/databases/{database}/schemas/{schema}/tasks/{name}/complete_graphs
      operations:
      - name: getcompletegraphsdeprecated
        method: GET
        description: Get the Graph Runs That Are Completed for the Task.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: resultLimit
          in: query
          type: integer
          description: Number of results to return, at most. Default is 1000, valid range is 1 to 10000.
        - name: errorOnly
          in: query
          type: boolean
          description: Whether to only return results for tasks runs that have failed. Default is false.
    - name: api-v2-databases-database-schemas-schema-tasks-name-current-graphs
      path: /api/v2/databases/{database}/schemas/{schema}/tasks/{name}/current-graphs
      operations:
      - name: getcurrentgraphs
        method: GET
        description: Get the Graph Runs That Are Executing or Scheduled for the Task for the Next 8 Days.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: resultLimit
          in: query
          type: integer
    - name: api-v2-databases-database-schemas-schema-tasks-name-current_graphs
      path: /api/v2/databases/{database}/schemas/{schema}/tasks/{name}/current_graphs
      operations:
      - name: getcurrentgraphsdeprecated
        method: GET
        description: Get the Graph Runs That Are Executing or Scheduled for the Task for the Next 8 Days.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: resultLimit
          in: query
          type: integer
    - name: api-v2-databases-database-schemas-schema-tasks-name-dependents
      path: /api/v2/databases/{database}/schemas/{schema}/tasks/{name}/dependents
      operations:
      - name: fetchtaskdependents
        method: GET
        description: Fetch the Dependent Tasks of a Task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: recursive
          in: query
          type: boolean
          description: Specifies whether to limit the output to include only direct child tasks or to include all recursive
            child tasks.
    - name: api-v2-databases-database-schemas-schema-tasks-name}:execute
      path: /api/v2/databases/{database}/schemas/{schema}/tasks/{name}:execute
      operations:
      - name: executetask
        method: POST
        description: Execute a Task Object.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: retryLast
          in: query
          type: boolean
          description: Retry the last failed run of the DAG.
    - name: api-v2-databases-database-schemas-schema-tasks-name}:resume
      path: /api/v2/databases/{database}/schemas/{schema}/tasks/{name}:resume
      operations:
      - name: resumetask
        method: POST
        description: Resume a Suspended Task.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v2-databases-database-schemas-schema-tasks-name}:suspend
      path: /api/v2/databases/{database}/schemas/{schema}/tasks/{name}:suspend
      operations:
      - name: suspendtask
        method: POST
        description: Suspend a Running Task.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: task-task-rest
    port: 8080
    description: REST adapter for Snowflake Task API — task. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/api/v2/databases/{database}/schemas/{schema}/tasks
      name: api-v2-databases-database-schemas-schema-tasks
      description: REST surface for api-v2-databases-database-schemas-schema-tasks.
      operations:
      - method: GET
        name: listtasks
        description: List Tasks
        call: task-task.listtasks
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createtask
        description: Create a Task
        call: task-task.createtask
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/databases/{database}/schemas/{schema}/tasks/{name}
      name: api-v2-databases-database-schemas-schema-tasks-name
      description: REST surface for api-v2-databases-database-schemas-schema-tasks-name.
      operations:
      - method: GET
        name: fetchtask
        description: Fetch a Task
        call: task-task.fetchtask
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: createoraltertask
        description: Create a (or Alter an Existing) Task
        call: task-task.createoraltertask
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletetask
        description: Delete a Task
        call: task-task.deletetask
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/databases/{database}/schemas/{schema}/tasks/{name}/complete-graphs
      name: api-v2-databases-database-schemas-schema-tasks-name-complete-graphs
      description: REST surface for api-v2-databases-database-schemas-schema-tasks-name-complete-graphs.
      operations:
      - method: GET
        name: getcompletegraphs
        description: Get the Graph Runs That Are Completed for the Task.
        call: task-task.getcompletegraphs
        with:
          resultLimit: rest.resultLimit
          errorOnly: rest.errorOnly
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/databases/{database}/schemas/{schema}/tasks/{name}/complete-graphs
      name: api-v2-databases-database-schemas-schema-tasks-name-complete-graphs
      description: REST surface for api-v2-databases-database-schemas-schema-tasks-name-complete_graphs.
      operations:
      - method: GET
        name: getcompletegraphsdeprecated
        description: Get the Graph Runs That Are Completed for the Task.
        call: task-task.getcompletegraphsdeprecated
        with:
          resultLimit: rest.resultLimit
          errorOnly: rest.errorOnly
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/databases/{database}/schemas/{schema}/tasks/{name}/current-graphs
      name: api-v2-databases-database-schemas-schema-tasks-name-current-graphs
      description: REST surface for api-v2-databases-database-schemas-schema-tasks-name-current-graphs.
      operations:
      - method: GET
        name: getcurrentgraphs
        description: Get the Graph Runs That Are Executing or Scheduled for the Task for the Next 8 Days.
        call: task-task.getcurrentgraphs
        with:
          resultLimit: rest.resultLimit
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/databases/{database}/schemas/{schema}/tasks/{name}/current-graphs
      name: api-v2-databases-database-schemas-schema-tasks-name-current-graphs
      description: REST surface for api-v2-databases-database-schemas-schema-tasks-name-current_graphs.
      operations:
      - method: GET
        name: getcurrentgraphsdeprecated
        description: Get the Graph Runs That Are Executing or Scheduled for the Task for the Next 8 Days.
        call: task-task.getcurrentgraphsdeprecated
        with:
          resultLimit: rest.resultLimit
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/databases/{database}/schemas/{schema}/tasks/{name}/dependents
      name: api-v2-databases-database-schemas-schema-tasks-name-dependents
      description: REST surface for api-v2-databases-database-schemas-schema-tasks-name-dependents.
      operations:
      - method: GET
        name: fetchtaskdependents
        description: Fetch the Dependent Tasks of a Task
        call: task-task.fetchtaskdependents
        with:
          recursive: rest.recursive
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/databases/{database}/schemas/{schema}/tasks/name-execute
      name: api-v2-databases-database-schemas-schema-tasks-name-execute
      description: REST surface for api-v2-databases-database-schemas-schema-tasks-name}:execute.
      operations:
      - method: POST
        name: executetask
        description: Execute a Task Object.
        call: task-task.executetask
        with:
          retryLast: rest.retryLast
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/databases/{database}/schemas/{schema}/tasks/name-resume
      name: api-v2-databases-database-schemas-schema-tasks-name-resume
      description: REST surface for api-v2-databases-database-schemas-schema-tasks-name}:resume.
      operations:
      - method: POST
        name: resumetask
        description: Resume a Suspended Task.
        call: task-task.resumetask
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/databases/{database}/schemas/{schema}/tasks/name-suspend
      name: api-v2-databases-database-schemas-schema-tasks-name-suspend
      description: REST surface for api-v2-databases-database-schemas-schema-tasks-name}:suspend.
      operations:
      - method: POST
        name: suspendtask
        description: Suspend a Running Task.
        call: task-task.suspendtask
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: task-task-mcp
    port: 9090
    transport: http
    description: MCP adapter for Snowflake Task API — task. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-tasks
      description: List Tasks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: task-task.listtasks
      outputParameters:
      - type: object
        mapping: $.
    - name: create-task
      description: Create a Task
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: task-task.createtask
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fetch-task
      description: Fetch a Task
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: task-task.fetchtask
      outputParameters:
      - type: object
        mapping: $.
    - name: create-alter-existing-task
      description: Create a (or Alter an Existing) Task
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: task-task.createoraltertask
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-task
      description: Delete a Task
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: task-task.deletetask
      outputParameters:
      - type: object
        mapping: $.
    - name: get-graph-runs-that-are
      description: Get the Graph Runs That Are Completed for the Task.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: task-task.getcompletegraphs
      with:
        resultLimit: tools.resultLimit
        errorOnly: tools.errorOnly
      outputParameters:
      - type: object
        mapping: $.
    - name: get-graph-runs-that-are-2
      description: Get the Graph Runs That Are Completed for the Task.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: task-task.getcompletegraphsdeprecated
      with:
        resultLimit: tools.resultLimit
        errorOnly: tools.errorOnly
      outputParameters:
      - type: object
        mapping: $.
    - name: get-graph-runs-that-are-3
      description: Get the Graph Runs That Are Executing or Scheduled for the Task for the Next 8 Days.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: task-task.getcurrentgraphs
      with:
        resultLimit: tools.resultLimit
      outputParameters:
      - type: object
        mapping: $.
    - name: get-graph-runs-that-are-4
      description: Get the Graph Runs That Are Executing or Scheduled for the Task for the Next 8 Days.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: task-task.getcurrentgraphsdeprecated
      with:
        resultLimit: tools.resultLimit
      outputParameters:
      - type: object
        mapping: $.
    - name: fetch-dependent-tasks-task
      description: Fetch the Dependent Tasks of a Task
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: task-task.fetchtaskdependents
      with:
        recursive: tools.recursive
      outputParameters:
      - type: object
        mapping: $.
    - name: execute-task-object
      description: Execute a Task Object.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: task-task.executetask
      with:
        retryLast: tools.retryLast
      outputParameters:
      - type: object
        mapping: $.
    - name: resume-suspended-task
      description: Resume a Suspended Task.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: task-task.resumetask
      outputParameters:
      - type: object
        mapping: $.
    - name: suspend-running-task
      description: Suspend a Running Task.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: task-task.suspendtask
      outputParameters:
      - type: object
        mapping: $.