naftiko: 1.0.0-alpha2 info: label: Snowflake Procedure API — procedure description: 'Snowflake Procedure API — procedure. 5 operations. Lead operation: List Procedures. Self-contained Naftiko capability covering one Snowflake business surface.' tags: - Snowflake - procedure created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SNOWFLAKE_API_KEY: SNOWFLAKE_API_KEY capability: consumes: - type: http namespace: procedure-procedure baseUri: https://org-account.snowflakecomputing.com description: Snowflake Procedure API — procedure business capability. Self-contained, no shared references. resources: - name: api-v2-databases-database-schemas-schema-procedures path: /api/v2/databases/{database}/schemas/{schema}/procedures operations: - name: listprocedures method: GET description: List Procedures outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createprocedure method: POST description: Create a Procedure 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-procedures-nameWithArgs path: /api/v2/databases/{database}/schemas/{schema}/procedures/{nameWithArgs} operations: - name: fetchprocedure method: GET description: Fetch a Procedure outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteprocedure method: DELETE description: Delete a Procedure outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-databases-database-schemas-schema-procedures-nameWithArgs}:call path: /api/v2/databases/{database}/schemas/{schema}/procedures/{nameWithArgs}:call operations: - name: callprocedure method: POST description: Call a Procedure 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: procedure-procedure-rest port: 8080 description: REST adapter for Snowflake Procedure API — procedure. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v2/databases/{database}/schemas/{schema}/procedures name: api-v2-databases-database-schemas-schema-procedures description: REST surface for api-v2-databases-database-schemas-schema-procedures. operations: - method: GET name: listprocedures description: List Procedures call: procedure-procedure.listprocedures outputParameters: - type: object mapping: $. - method: POST name: createprocedure description: Create a Procedure call: procedure-procedure.createprocedure with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/databases/{database}/schemas/{schema}/procedures/{namewithargs} name: api-v2-databases-database-schemas-schema-procedures-namewithargs description: REST surface for api-v2-databases-database-schemas-schema-procedures-nameWithArgs. operations: - method: GET name: fetchprocedure description: Fetch a Procedure call: procedure-procedure.fetchprocedure outputParameters: - type: object mapping: $. - method: DELETE name: deleteprocedure description: Delete a Procedure call: procedure-procedure.deleteprocedure outputParameters: - type: object mapping: $. - path: /v1/api/v2/databases/{database}/schemas/{schema}/procedures/namewithargs-call name: api-v2-databases-database-schemas-schema-procedures-namewithargs-call description: REST surface for api-v2-databases-database-schemas-schema-procedures-nameWithArgs}:call. operations: - method: POST name: callprocedure description: Call a Procedure call: procedure-procedure.callprocedure with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: procedure-procedure-mcp port: 9090 transport: http description: MCP adapter for Snowflake Procedure API — procedure. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-procedures description: List Procedures hints: readOnly: true destructive: false idempotent: true call: procedure-procedure.listprocedures outputParameters: - type: object mapping: $. - name: create-procedure description: Create a Procedure hints: readOnly: false destructive: false idempotent: false call: procedure-procedure.createprocedure with: body: tools.body outputParameters: - type: object mapping: $. - name: fetch-procedure description: Fetch a Procedure hints: readOnly: true destructive: false idempotent: true call: procedure-procedure.fetchprocedure outputParameters: - type: object mapping: $. - name: delete-procedure description: Delete a Procedure hints: readOnly: false destructive: true idempotent: true call: procedure-procedure.deleteprocedure outputParameters: - type: object mapping: $. - name: call-procedure description: Call a Procedure hints: readOnly: false destructive: false idempotent: false call: procedure-procedure.callprocedure with: body: tools.body outputParameters: - type: object mapping: $.