naftiko: 1.0.0-alpha2 info: label: Discord HTTP API (Preview) — Webhooks description: 'Discord HTTP API (Preview) — Webhooks. 15 operations. Lead operation: Webhooks. Self-contained Naftiko capability covering one Discord business surface.' tags: - Discord - Webhooks created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: DISCORD_API_KEY: DISCORD_API_KEY capability: consumes: - type: http namespace: discord-webhooks baseUri: https://discord.com/api/v10 description: Discord HTTP API (Preview) — Webhooks business capability. Self-contained, no shared references. resources: - name: webhooks-webhook_id path: /webhooks/{webhook_id} operations: - name: getwebhook method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletewebhook method: DELETE description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatewebhook method: PATCH description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: webhooks-webhook_id-webhook_token path: /webhooks/{webhook_id}/{webhook_token} operations: - name: getwebhookbytoken method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: executewebhook method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: wait in: query type: boolean - name: thread_id in: query type: string - name: body in: body type: object description: Request body (JSON). required: true - name: deletewebhookbytoken method: DELETE description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatewebhookbytoken method: PATCH description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: webhooks-webhook_id-webhook_token-github path: /webhooks/{webhook_id}/{webhook_token}/github operations: - name: executegithubcompatiblewebhook method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: wait in: query type: boolean - name: thread_id in: query type: string - name: body in: body type: object description: Request body (JSON). required: true - name: webhooks-webhook_id-webhook_token-messages-@original path: /webhooks/{webhook_id}/{webhook_token}/messages/@original operations: - name: getoriginalwebhookmessage method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: thread_id in: query type: string - name: deleteoriginalwebhookmessage method: DELETE description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: thread_id in: query type: string - name: updateoriginalwebhookmessage method: PATCH description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: thread_id in: query type: string - name: body in: body type: object description: Request body (JSON). required: true - name: webhooks-webhook_id-webhook_token-messages-message_id path: /webhooks/{webhook_id}/{webhook_token}/messages/{message_id} operations: - name: getwebhookmessage method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: thread_id in: query type: string - name: deletewebhookmessage method: DELETE description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: thread_id in: query type: string - name: updatewebhookmessage method: PATCH description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: thread_id in: query type: string - name: body in: body type: object description: Request body (JSON). required: true - name: webhooks-webhook_id-webhook_token-slack path: /webhooks/{webhook_id}/{webhook_token}/slack operations: - name: executeslackcompatiblewebhook method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: wait in: query type: boolean - name: thread_id in: query type: string - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.DISCORD_API_KEY}}' exposes: - type: rest namespace: discord-webhooks-rest port: 8080 description: REST adapter for Discord HTTP API (Preview) — Webhooks. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/webhooks/{webhook-id} name: webhooks-webhook-id description: REST surface for webhooks-webhook_id. operations: - method: GET name: getwebhook description: getwebhook call: discord-webhooks.getwebhook outputParameters: - type: object mapping: $. - method: DELETE name: deletewebhook description: deletewebhook call: discord-webhooks.deletewebhook outputParameters: - type: object mapping: $. - method: PATCH name: updatewebhook description: updatewebhook call: discord-webhooks.updatewebhook with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webhooks/{webhook-id}/{webhook-token} name: webhooks-webhook-id-webhook-token description: REST surface for webhooks-webhook_id-webhook_token. operations: - method: GET name: getwebhookbytoken description: getwebhookbytoken call: discord-webhooks.getwebhookbytoken outputParameters: - type: object mapping: $. - method: POST name: executewebhook description: executewebhook call: discord-webhooks.executewebhook with: wait: rest.wait thread_id: rest.thread_id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletewebhookbytoken description: deletewebhookbytoken call: discord-webhooks.deletewebhookbytoken outputParameters: - type: object mapping: $. - method: PATCH name: updatewebhookbytoken description: updatewebhookbytoken call: discord-webhooks.updatewebhookbytoken with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webhooks/{webhook-id}/{webhook-token}/github name: webhooks-webhook-id-webhook-token-github description: REST surface for webhooks-webhook_id-webhook_token-github. operations: - method: POST name: executegithubcompatiblewebhook description: executegithubcompatiblewebhook call: discord-webhooks.executegithubcompatiblewebhook with: wait: rest.wait thread_id: rest.thread_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webhooks/{webhook-id}/{webhook-token}/messages/original name: webhooks-webhook-id-webhook-token-messages-original description: REST surface for webhooks-webhook_id-webhook_token-messages-@original. operations: - method: GET name: getoriginalwebhookmessage description: getoriginalwebhookmessage call: discord-webhooks.getoriginalwebhookmessage with: thread_id: rest.thread_id outputParameters: - type: object mapping: $. - method: DELETE name: deleteoriginalwebhookmessage description: deleteoriginalwebhookmessage call: discord-webhooks.deleteoriginalwebhookmessage with: thread_id: rest.thread_id outputParameters: - type: object mapping: $. - method: PATCH name: updateoriginalwebhookmessage description: updateoriginalwebhookmessage call: discord-webhooks.updateoriginalwebhookmessage with: thread_id: rest.thread_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webhooks/{webhook-id}/{webhook-token}/messages/{message-id} name: webhooks-webhook-id-webhook-token-messages-message-id description: REST surface for webhooks-webhook_id-webhook_token-messages-message_id. operations: - method: GET name: getwebhookmessage description: getwebhookmessage call: discord-webhooks.getwebhookmessage with: thread_id: rest.thread_id outputParameters: - type: object mapping: $. - method: DELETE name: deletewebhookmessage description: deletewebhookmessage call: discord-webhooks.deletewebhookmessage with: thread_id: rest.thread_id outputParameters: - type: object mapping: $. - method: PATCH name: updatewebhookmessage description: updatewebhookmessage call: discord-webhooks.updatewebhookmessage with: thread_id: rest.thread_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webhooks/{webhook-id}/{webhook-token}/slack name: webhooks-webhook-id-webhook-token-slack description: REST surface for webhooks-webhook_id-webhook_token-slack. operations: - method: POST name: executeslackcompatiblewebhook description: executeslackcompatiblewebhook call: discord-webhooks.executeslackcompatiblewebhook with: wait: rest.wait thread_id: rest.thread_id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: discord-webhooks-mcp port: 9090 transport: http description: MCP adapter for Discord HTTP API (Preview) — Webhooks. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: getwebhook description: getwebhook hints: readOnly: true destructive: false idempotent: true call: discord-webhooks.getwebhook outputParameters: - type: object mapping: $. - name: deletewebhook description: deletewebhook hints: readOnly: false destructive: true idempotent: true call: discord-webhooks.deletewebhook outputParameters: - type: object mapping: $. - name: updatewebhook description: updatewebhook hints: readOnly: false destructive: false idempotent: true call: discord-webhooks.updatewebhook with: body: tools.body outputParameters: - type: object mapping: $. - name: getwebhookbytoken description: getwebhookbytoken hints: readOnly: true destructive: false idempotent: true call: discord-webhooks.getwebhookbytoken outputParameters: - type: object mapping: $. - name: executewebhook description: executewebhook hints: readOnly: false destructive: false idempotent: false call: discord-webhooks.executewebhook with: wait: tools.wait thread_id: tools.thread_id body: tools.body outputParameters: - type: object mapping: $. - name: deletewebhookbytoken description: deletewebhookbytoken hints: readOnly: false destructive: true idempotent: true call: discord-webhooks.deletewebhookbytoken outputParameters: - type: object mapping: $. - name: updatewebhookbytoken description: updatewebhookbytoken hints: readOnly: false destructive: false idempotent: true call: discord-webhooks.updatewebhookbytoken with: body: tools.body outputParameters: - type: object mapping: $. - name: executegithubcompatiblewebhook description: executegithubcompatiblewebhook hints: readOnly: false destructive: false idempotent: false call: discord-webhooks.executegithubcompatiblewebhook with: wait: tools.wait thread_id: tools.thread_id body: tools.body outputParameters: - type: object mapping: $. - name: getoriginalwebhookmessage description: getoriginalwebhookmessage hints: readOnly: true destructive: false idempotent: true call: discord-webhooks.getoriginalwebhookmessage with: thread_id: tools.thread_id outputParameters: - type: object mapping: $. - name: deleteoriginalwebhookmessage description: deleteoriginalwebhookmessage hints: readOnly: false destructive: true idempotent: true call: discord-webhooks.deleteoriginalwebhookmessage with: thread_id: tools.thread_id outputParameters: - type: object mapping: $. - name: updateoriginalwebhookmessage description: updateoriginalwebhookmessage hints: readOnly: false destructive: false idempotent: true call: discord-webhooks.updateoriginalwebhookmessage with: thread_id: tools.thread_id body: tools.body outputParameters: - type: object mapping: $. - name: getwebhookmessage description: getwebhookmessage hints: readOnly: true destructive: false idempotent: true call: discord-webhooks.getwebhookmessage with: thread_id: tools.thread_id outputParameters: - type: object mapping: $. - name: deletewebhookmessage description: deletewebhookmessage hints: readOnly: false destructive: true idempotent: true call: discord-webhooks.deletewebhookmessage with: thread_id: tools.thread_id outputParameters: - type: object mapping: $. - name: updatewebhookmessage description: updatewebhookmessage hints: readOnly: false destructive: false idempotent: true call: discord-webhooks.updatewebhookmessage with: thread_id: tools.thread_id body: tools.body outputParameters: - type: object mapping: $. - name: executeslackcompatiblewebhook description: executeslackcompatiblewebhook hints: readOnly: false destructive: false idempotent: false call: discord-webhooks.executeslackcompatiblewebhook with: wait: tools.wait thread_id: tools.thread_id body: tools.body outputParameters: - type: object mapping: $.