naftiko: 1.0.0-alpha2 info: label: RubyGems Webhooks API — Webhooks description: 'RubyGems Webhooks API — Webhooks. 4 operations. Lead operation: Create A Webhook. Self-contained Naftiko capability covering one Rubygems business surface.' tags: - Rubygems - Webhooks created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: RUBYGEMS_API_KEY: RUBYGEMS_API_KEY capability: consumes: - type: http namespace: webhooks-webhooks baseUri: https://rubygems.org/api/v1 description: RubyGems Webhooks API — Webhooks business capability. Self-contained, no shared references. resources: - name: web_hooks path: /web_hooks operations: - name: createwebhook method: POST description: Create A Webhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: web_hooks.json path: /web_hooks.json operations: - name: listwebhooks method: GET description: List Webhooks outputRawFormat: json outputParameters: - name: result type: object value: $. - name: web_hooks-fire path: /web_hooks/fire operations: - name: firewebhook method: POST description: Test Fire A Webhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: web_hooks-remove path: /web_hooks/remove operations: - name: removewebhook method: DELETE description: Remove A Webhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: apikey key: Authorization value: '{{env.RUBYGEMS_API_KEY}}' placement: header exposes: - type: rest namespace: webhooks-webhooks-rest port: 8080 description: REST adapter for RubyGems Webhooks API — Webhooks. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/web-hooks name: web-hooks description: REST surface for web_hooks. operations: - method: POST name: createwebhook description: Create A Webhook call: webhooks-webhooks.createwebhook with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/web-hooks-json name: web-hooks-json description: REST surface for web_hooks.json. operations: - method: GET name: listwebhooks description: List Webhooks call: webhooks-webhooks.listwebhooks outputParameters: - type: object mapping: $. - path: /v1/web-hooks/fire name: web-hooks-fire description: REST surface for web_hooks-fire. operations: - method: POST name: firewebhook description: Test Fire A Webhook call: webhooks-webhooks.firewebhook with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/web-hooks/remove name: web-hooks-remove description: REST surface for web_hooks-remove. operations: - method: DELETE name: removewebhook description: Remove A Webhook call: webhooks-webhooks.removewebhook with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: webhooks-webhooks-mcp port: 9090 transport: http description: MCP adapter for RubyGems Webhooks API — Webhooks. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-webhook description: Create A Webhook hints: readOnly: false destructive: false idempotent: false call: webhooks-webhooks.createwebhook with: body: tools.body outputParameters: - type: object mapping: $. - name: list-webhooks description: List Webhooks hints: readOnly: true destructive: false idempotent: true call: webhooks-webhooks.listwebhooks outputParameters: - type: object mapping: $. - name: test-fire-webhook description: Test Fire A Webhook hints: readOnly: true destructive: false idempotent: false call: webhooks-webhooks.firewebhook with: body: tools.body outputParameters: - type: object mapping: $. - name: remove-webhook description: Remove A Webhook hints: readOnly: false destructive: true idempotent: true call: webhooks-webhooks.removewebhook with: body: tools.body outputParameters: - type: object mapping: $.