naftiko: 1.0.0-alpha2 info: label: Hookdeck Admin REST API — Transformations description: 'Hookdeck Admin REST API — Transformations. 10 operations. Lead operation: Retrieve transformations. Self-contained Naftiko capability covering one business surface.' tags: - Hookdeck - Transformations created: '2026-05-20' modified: '2026-05-20' binds: - namespace: env keys: HOOKDECK_API_KEY: HOOKDECK_API_KEY capability: consumes: - type: http namespace: hookdeck-transformations baseUri: https://api.hookdeck.com/2025-07-01 description: Hookdeck Admin REST API — Transformations business capability. Self-contained, no shared references. resources: - name: transformations path: /transformations operations: - name: gettransformations method: GET description: Retrieve transformations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: query type: string description: query parameter id. - name: name in: query type: string description: query parameter name. - name: order_by in: query type: string description: query parameter order_by. - name: dir in: query type: string description: query parameter dir. - name: limit in: query type: integer description: query parameter limit. - name: next in: query type: string description: query parameter next. - name: prev in: query type: string description: query parameter prev. - name: createtransformation method: POST description: Create a transformation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: upserttransformation method: PUT description: Create/Update a transformation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: transformations-count path: /transformations/count operations: - name: gettransformationscount method: GET description: Get transformations count outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: [] - name: transformations-id path: /transformations/{id} operations: - name: gettransformation method: GET description: Retrieve a transformation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: path parameter id. required: true - name: deletetransformation method: DELETE description: Delete a transformation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: path parameter id. required: true - name: updatetransformation method: PUT description: Update a transformation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: path parameter id. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: transformations-run path: /transformations/run operations: - name: testtransformation method: PUT description: Test a transformation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: transformations-id-executions path: /transformations/{id}/executions operations: - name: gettransformationexecutions method: GET description: Get transformation executions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: log_level in: query type: string description: query parameter log_level. - name: webhook_id in: query type: string description: query parameter webhook_id. - name: issue_id in: query type: string description: query parameter issue_id. - name: created_at in: query type: string description: query parameter created_at. - name: order_by in: query type: string description: query parameter order_by. - name: dir in: query type: string description: query parameter dir. - name: limit in: query type: integer description: query parameter limit. - name: next in: query type: string description: query parameter next. - name: prev in: query type: string description: query parameter prev. - name: id in: path type: string description: path parameter id. required: true - name: transformations-id-executions-execution-id path: /transformations/{id}/executions/{execution_id} operations: - name: gettransformationexecution method: GET description: Get a transformation execution outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: path parameter id. required: true - name: execution_id in: path type: string description: path parameter execution_id. required: true exposes: - type: rest namespace: hookdeck-transformations-rest port: 8080 description: REST adapter for Hookdeck Admin REST API — Transformations. One resource per consumed operation, prefixed with /v1. resources: - path: /v1/transformations name: transformations description: REST surface for transformations. operations: - method: GET name: gettransformations description: Retrieve transformations call: hookdeck-transformations.gettransformations with: id: rest.id name: rest.name order_by: rest.order_by dir: rest.dir limit: rest.limit next: rest.next prev: rest.prev outputParameters: - type: object mapping: $. - method: POST name: createtransformation description: Create a transformation call: hookdeck-transformations.createtransformation with: body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: upserttransformation description: Create/Update a transformation call: hookdeck-transformations.upserttransformation with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/transformations/count name: transformations-count description: REST surface for transformations-count. operations: - method: GET name: gettransformationscount description: Get transformations count call: hookdeck-transformations.gettransformationscount with: {} outputParameters: - type: object mapping: $. - path: /v1/transformations/{id} name: transformations-id description: REST surface for transformations-id. operations: - method: GET name: gettransformation description: Retrieve a transformation call: hookdeck-transformations.gettransformation with: id: rest.id outputParameters: - type: object mapping: $. - method: DELETE name: deletetransformation description: Delete a transformation call: hookdeck-transformations.deletetransformation with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: updatetransformation description: Update a transformation call: hookdeck-transformations.updatetransformation with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/transformations/run name: transformations-run description: REST surface for transformations-run. operations: - method: PUT name: testtransformation description: Test a transformation call: hookdeck-transformations.testtransformation with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/transformations/{id}/executions name: transformations-id-executions description: REST surface for transformations-id-executions. operations: - method: GET name: gettransformationexecutions description: Get transformation executions call: hookdeck-transformations.gettransformationexecutions with: log_level: rest.log_level webhook_id: rest.webhook_id issue_id: rest.issue_id created_at: rest.created_at order_by: rest.order_by dir: rest.dir limit: rest.limit next: rest.next prev: rest.prev id: rest.id outputParameters: - type: object mapping: $. - path: /v1/transformations/{id}/executions/{execution_id} name: transformations-id-executions-execution-id description: REST surface for transformations-id-executions-execution-id. operations: - method: GET name: gettransformationexecution description: Get a transformation execution call: hookdeck-transformations.gettransformationexecution with: id: rest.id execution_id: rest.execution_id outputParameters: - type: object mapping: $. - type: mcp namespace: hookdeck-transformations-mcp port: 9090 transport: http description: MCP adapter for Hookdeck Admin REST API — Transformations. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: hookdeck-gettransformations description: Retrieve transformations hints: readOnly: true destructive: false idempotent: true call: hookdeck-transformations.gettransformations with: id: tools.id name: tools.name order_by: tools.order_by dir: tools.dir limit: tools.limit next: tools.next prev: tools.prev outputParameters: - type: object mapping: $. - name: hookdeck-createtransformation description: Create a transformation hints: readOnly: false destructive: false idempotent: false call: hookdeck-transformations.createtransformation with: body: tools.body outputParameters: - type: object mapping: $. - name: hookdeck-upserttransformation description: Create/Update a transformation hints: readOnly: false destructive: false idempotent: true call: hookdeck-transformations.upserttransformation with: body: tools.body outputParameters: - type: object mapping: $. - name: hookdeck-gettransformationscount description: Get transformations count hints: readOnly: true destructive: false idempotent: true call: hookdeck-transformations.gettransformationscount with: {} outputParameters: - type: object mapping: $. - name: hookdeck-gettransformation description: Retrieve a transformation hints: readOnly: true destructive: false idempotent: true call: hookdeck-transformations.gettransformation with: id: tools.id outputParameters: - type: object mapping: $. - name: hookdeck-deletetransformation description: Delete a transformation hints: readOnly: false destructive: true idempotent: true call: hookdeck-transformations.deletetransformation with: id: tools.id outputParameters: - type: object mapping: $. - name: hookdeck-updatetransformation description: Update a transformation hints: readOnly: false destructive: false idempotent: true call: hookdeck-transformations.updatetransformation with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: hookdeck-testtransformation description: Test a transformation hints: readOnly: false destructive: false idempotent: true call: hookdeck-transformations.testtransformation with: body: tools.body outputParameters: - type: object mapping: $. - name: hookdeck-gettransformationexecutions description: Get transformation executions hints: readOnly: true destructive: false idempotent: true call: hookdeck-transformations.gettransformationexecutions with: log_level: tools.log_level webhook_id: tools.webhook_id issue_id: tools.issue_id created_at: tools.created_at order_by: tools.order_by dir: tools.dir limit: tools.limit next: tools.next prev: tools.prev id: tools.id outputParameters: - type: object mapping: $. - name: hookdeck-gettransformationexecution description: Get a transformation execution hints: readOnly: true destructive: false idempotent: true call: hookdeck-transformations.gettransformationexecution with: id: tools.id execution_id: tools.execution_id outputParameters: - type: object mapping: $.