naftiko: 1.0.0-alpha2 info: label: Telegram Bot API — Member Management description: 'Telegram Bot API — Member Management. 7 operations. Lead operation: Approve Chat Join Request. Self-contained Naftiko capability covering one Telegram business surface.' tags: - Telegram - Member Management created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: TELEGRAM_API_KEY: TELEGRAM_API_KEY capability: consumes: - type: http namespace: bot-member-management baseUri: https://api.telegram.org/bot{token} description: Telegram Bot API — Member Management business capability. Self-contained, no shared references. resources: - name: approveChatJoinRequest path: /approveChatJoinRequest operations: - name: approvechatjoinrequest method: POST description: Approve Chat Join Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: banChatMember path: /banChatMember operations: - name: banchatmember method: POST description: Ban Chat Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: declineChatJoinRequest path: /declineChatJoinRequest operations: - name: declinechatjoinrequest method: POST description: Decline Chat Join Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: promoteChatMember path: /promoteChatMember operations: - name: promotechatmember method: POST description: Promote Chat Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: restrictChatMember path: /restrictChatMember operations: - name: restrictchatmember method: POST description: Restrict Chat Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: setChatAdministratorCustomTitle path: /setChatAdministratorCustomTitle operations: - name: setchatadministratorcustomtitle method: POST description: Set Chat Administrator Custom Title outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: unbanChatMember path: /unbanChatMember operations: - name: unbanchatmember method: POST description: Unban Chat Member 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: token value: '{{env.TELEGRAM_API_KEY}}' placement: path exposes: - type: rest namespace: bot-member-management-rest port: 8080 description: REST adapter for Telegram Bot API — Member Management. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/approvechatjoinrequest name: approvechatjoinrequest description: REST surface for approveChatJoinRequest. operations: - method: POST name: approvechatjoinrequest description: Approve Chat Join Request call: bot-member-management.approvechatjoinrequest with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/banchatmember name: banchatmember description: REST surface for banChatMember. operations: - method: POST name: banchatmember description: Ban Chat Member call: bot-member-management.banchatmember with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/declinechatjoinrequest name: declinechatjoinrequest description: REST surface for declineChatJoinRequest. operations: - method: POST name: declinechatjoinrequest description: Decline Chat Join Request call: bot-member-management.declinechatjoinrequest with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/promotechatmember name: promotechatmember description: REST surface for promoteChatMember. operations: - method: POST name: promotechatmember description: Promote Chat Member call: bot-member-management.promotechatmember with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/restrictchatmember name: restrictchatmember description: REST surface for restrictChatMember. operations: - method: POST name: restrictchatmember description: Restrict Chat Member call: bot-member-management.restrictchatmember with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/setchatadministratorcustomtitle name: setchatadministratorcustomtitle description: REST surface for setChatAdministratorCustomTitle. operations: - method: POST name: setchatadministratorcustomtitle description: Set Chat Administrator Custom Title call: bot-member-management.setchatadministratorcustomtitle with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/unbanchatmember name: unbanchatmember description: REST surface for unbanChatMember. operations: - method: POST name: unbanchatmember description: Unban Chat Member call: bot-member-management.unbanchatmember with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: bot-member-management-mcp port: 9090 transport: http description: MCP adapter for Telegram Bot API — Member Management. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: approve-chat-join-request description: Approve Chat Join Request hints: readOnly: false destructive: false idempotent: false call: bot-member-management.approvechatjoinrequest with: body: tools.body outputParameters: - type: object mapping: $. - name: ban-chat-member description: Ban Chat Member hints: readOnly: false destructive: false idempotent: false call: bot-member-management.banchatmember with: body: tools.body outputParameters: - type: object mapping: $. - name: decline-chat-join-request description: Decline Chat Join Request hints: readOnly: false destructive: false idempotent: false call: bot-member-management.declinechatjoinrequest with: body: tools.body outputParameters: - type: object mapping: $. - name: promote-chat-member description: Promote Chat Member hints: readOnly: false destructive: false idempotent: false call: bot-member-management.promotechatmember with: body: tools.body outputParameters: - type: object mapping: $. - name: restrict-chat-member description: Restrict Chat Member hints: readOnly: false destructive: false idempotent: false call: bot-member-management.restrictchatmember with: body: tools.body outputParameters: - type: object mapping: $. - name: set-chat-administrator-custom-title description: Set Chat Administrator Custom Title hints: readOnly: false destructive: false idempotent: false call: bot-member-management.setchatadministratorcustomtitle with: body: tools.body outputParameters: - type: object mapping: $. - name: unban-chat-member description: Unban Chat Member hints: readOnly: false destructive: false idempotent: false call: bot-member-management.unbanchatmember with: body: tools.body outputParameters: - type: object mapping: $.