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: $.