naftiko: 1.0.0-alpha2 info: label: PortainerCE API — webhooks description: 'PortainerCE API — webhooks. 5 operations. Lead operation: List webhooks. Self-contained Naftiko capability covering one Portainer business surface.' tags: - Portainer - webhooks created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PORTAINER_API_KEY: PORTAINER_API_KEY capability: consumes: - type: http namespace: portainer-webhooks baseUri: '' description: PortainerCE API — webhooks business capability. Self-contained, no shared references. resources: - name: webhooks path: /webhooks operations: - name: get method: GET description: List webhooks outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filters in: query type: string description: Filters (json-string) - name: post method: POST description: Create a webhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: string description: Webhook data required: true - name: webhooks-id path: /webhooks/{id} operations: - name: delete method: DELETE description: Delete a webhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Webhook id required: true - name: post method: POST description: Execute a webhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Webhook token required: true - name: put method: PUT description: Update a webhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Webhook id required: true - name: body in: body type: string description: Webhook data required: true exposes: - type: rest namespace: portainer-webhooks-rest port: 8080 description: REST adapter for PortainerCE API — webhooks. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/webhooks name: webhooks description: REST surface for webhooks. operations: - method: GET name: get description: List webhooks call: portainer-webhooks.get with: filters: rest.filters outputParameters: - type: object mapping: $. - method: POST name: post description: Create a webhook call: portainer-webhooks.post with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webhooks/{id} name: webhooks-id description: REST surface for webhooks-id. operations: - method: DELETE name: delete description: Delete a webhook call: portainer-webhooks.delete with: id: rest.id outputParameters: - type: object mapping: $. - method: POST name: post description: Execute a webhook call: portainer-webhooks.post with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: put description: Update a webhook call: portainer-webhooks.put with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: portainer-webhooks-mcp port: 9090 transport: http description: MCP adapter for PortainerCE API — webhooks. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-webhooks description: List webhooks hints: readOnly: true destructive: false idempotent: true call: portainer-webhooks.get with: filters: tools.filters outputParameters: - type: object mapping: $. - name: create-webhook description: Create a webhook hints: readOnly: false destructive: false idempotent: false call: portainer-webhooks.post with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-webhook description: Delete a webhook hints: readOnly: false destructive: true idempotent: true call: portainer-webhooks.delete with: id: tools.id outputParameters: - type: object mapping: $. - name: execute-webhook description: Execute a webhook hints: readOnly: false destructive: false idempotent: false call: portainer-webhooks.post with: id: tools.id outputParameters: - type: object mapping: $. - name: update-webhook description: Update a webhook hints: readOnly: false destructive: false idempotent: true call: portainer-webhooks.put with: id: tools.id body: tools.body outputParameters: - type: object mapping: $.