naftiko: 1.0.0-alpha2 info: label: Telegram Bot API — Chat Management description: 'Telegram Bot API — Chat Management. 11 operations. Lead operation: Delete Chat Photo. Self-contained Naftiko capability covering one Telegram business surface.' tags: - Telegram - Chat 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-chat-management baseUri: https://api.telegram.org/bot{token} description: Telegram Bot API — Chat Management business capability. Self-contained, no shared references. resources: - name: deleteChatPhoto path: /deleteChatPhoto operations: - name: deletechatphoto method: POST description: Delete Chat Photo outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: getChat path: /getChat operations: - name: getchat method: POST description: Get Chat outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: getChatAdministrators path: /getChatAdministrators operations: - name: getchatadministrators method: POST description: Get Chat Administrators outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: getChatMember path: /getChatMember operations: - name: getchatmember method: POST description: Get Chat Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: getChatMemberCount path: /getChatMemberCount operations: - name: getchatmembercount method: POST description: Get Chat Member Count outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: leaveChat path: /leaveChat operations: - name: leavechat method: POST description: Leave Chat outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: pinChatMessage path: /pinChatMessage operations: - name: pinchatmessage method: POST description: Pin Chat Message outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: setChatDescription path: /setChatDescription operations: - name: setchatdescription method: POST description: Set Chat Description outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: setChatPhoto path: /setChatPhoto operations: - name: setchatphoto method: POST description: Set Chat Photo outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: setChatTitle path: /setChatTitle operations: - name: setchattitle method: POST description: Set Chat Title outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: unpinChatMessage path: /unpinChatMessage operations: - name: unpinchatmessage method: POST description: Unpin Chat Message 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-chat-management-rest port: 8080 description: REST adapter for Telegram Bot API — Chat Management. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/deletechatphoto name: deletechatphoto description: REST surface for deleteChatPhoto. operations: - method: POST name: deletechatphoto description: Delete Chat Photo call: bot-chat-management.deletechatphoto with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/getchat name: getchat description: REST surface for getChat. operations: - method: POST name: getchat description: Get Chat call: bot-chat-management.getchat with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/getchatadministrators name: getchatadministrators description: REST surface for getChatAdministrators. operations: - method: POST name: getchatadministrators description: Get Chat Administrators call: bot-chat-management.getchatadministrators with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/getchatmember name: getchatmember description: REST surface for getChatMember. operations: - method: POST name: getchatmember description: Get Chat Member call: bot-chat-management.getchatmember with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/getchatmembercount name: getchatmembercount description: REST surface for getChatMemberCount. operations: - method: POST name: getchatmembercount description: Get Chat Member Count call: bot-chat-management.getchatmembercount with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/leavechat name: leavechat description: REST surface for leaveChat. operations: - method: POST name: leavechat description: Leave Chat call: bot-chat-management.leavechat with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/pinchatmessage name: pinchatmessage description: REST surface for pinChatMessage. operations: - method: POST name: pinchatmessage description: Pin Chat Message call: bot-chat-management.pinchatmessage with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/setchatdescription name: setchatdescription description: REST surface for setChatDescription. operations: - method: POST name: setchatdescription description: Set Chat Description call: bot-chat-management.setchatdescription with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/setchatphoto name: setchatphoto description: REST surface for setChatPhoto. operations: - method: POST name: setchatphoto description: Set Chat Photo call: bot-chat-management.setchatphoto with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/setchattitle name: setchattitle description: REST surface for setChatTitle. operations: - method: POST name: setchattitle description: Set Chat Title call: bot-chat-management.setchattitle with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/unpinchatmessage name: unpinchatmessage description: REST surface for unpinChatMessage. operations: - method: POST name: unpinchatmessage description: Unpin Chat Message call: bot-chat-management.unpinchatmessage with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: bot-chat-management-mcp port: 9090 transport: http description: MCP adapter for Telegram Bot API — Chat Management. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: delete-chat-photo description: Delete Chat Photo hints: readOnly: false destructive: false idempotent: false call: bot-chat-management.deletechatphoto with: body: tools.body outputParameters: - type: object mapping: $. - name: get-chat description: Get Chat hints: readOnly: true destructive: false idempotent: false call: bot-chat-management.getchat with: body: tools.body outputParameters: - type: object mapping: $. - name: get-chat-administrators description: Get Chat Administrators hints: readOnly: true destructive: false idempotent: false call: bot-chat-management.getchatadministrators with: body: tools.body outputParameters: - type: object mapping: $. - name: get-chat-member description: Get Chat Member hints: readOnly: true destructive: false idempotent: false call: bot-chat-management.getchatmember with: body: tools.body outputParameters: - type: object mapping: $. - name: get-chat-member-count description: Get Chat Member Count hints: readOnly: true destructive: false idempotent: false call: bot-chat-management.getchatmembercount with: body: tools.body outputParameters: - type: object mapping: $. - name: leave-chat description: Leave Chat hints: readOnly: false destructive: false idempotent: false call: bot-chat-management.leavechat with: body: tools.body outputParameters: - type: object mapping: $. - name: pin-chat-message description: Pin Chat Message hints: readOnly: false destructive: false idempotent: false call: bot-chat-management.pinchatmessage with: body: tools.body outputParameters: - type: object mapping: $. - name: set-chat-description description: Set Chat Description hints: readOnly: false destructive: false idempotent: false call: bot-chat-management.setchatdescription with: body: tools.body outputParameters: - type: object mapping: $. - name: set-chat-photo description: Set Chat Photo hints: readOnly: false destructive: false idempotent: false call: bot-chat-management.setchatphoto with: body: tools.body outputParameters: - type: object mapping: $. - name: set-chat-title description: Set Chat Title hints: readOnly: false destructive: false idempotent: false call: bot-chat-management.setchattitle with: body: tools.body outputParameters: - type: object mapping: $. - name: unpin-chat-message description: Unpin Chat Message hints: readOnly: false destructive: false idempotent: false call: bot-chat-management.unpinchatmessage with: body: tools.body outputParameters: - type: object mapping: $.