naftiko: 1.0.0-alpha2 info: label: Webex Messaging — Room Tabs description: 'Webex Messaging — Room Tabs. 5 operations. Lead operation: List Room Tabs. Self-contained Naftiko capability covering one Webex business surface.' tags: - Webex - Room Tabs created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WEBEX_API_KEY: WEBEX_API_KEY capability: consumes: - type: http namespace: messaging-room-tabs baseUri: '' description: Webex Messaging — Room Tabs business capability. Self-contained, no shared references. resources: - name: room-tabs path: /room/tabs operations: - name: listroomtabs method: GET description: List Room Tabs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: roomId in: query type: string description: ID of the room for which to list room tabs. required: true - name: createaroomtab method: POST description: Create a Room Tab outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: room-tabs-id path: /room/tabs/{id} operations: - name: getroomtabdetails method: GET description: Get Room Tab Details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier for the Room Tab. required: true - name: updatearoomtab method: PUT description: Update a Room Tab outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier for the Room Tab. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: deletearoomtab method: DELETE description: Delete a Room Tab outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier for the Room Tab to delete. required: true authentication: type: bearer token: '{{env.WEBEX_API_KEY}}' exposes: - type: rest namespace: messaging-room-tabs-rest port: 8080 description: REST adapter for Webex Messaging — Room Tabs. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/room/tabs name: room-tabs description: REST surface for room-tabs. operations: - method: GET name: listroomtabs description: List Room Tabs call: messaging-room-tabs.listroomtabs with: roomId: rest.roomId outputParameters: - type: object mapping: $. - method: POST name: createaroomtab description: Create a Room Tab call: messaging-room-tabs.createaroomtab with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/room/tabs/{id} name: room-tabs-id description: REST surface for room-tabs-id. operations: - method: GET name: getroomtabdetails description: Get Room Tab Details call: messaging-room-tabs.getroomtabdetails with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: updatearoomtab description: Update a Room Tab call: messaging-room-tabs.updatearoomtab with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletearoomtab description: Delete a Room Tab call: messaging-room-tabs.deletearoomtab with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: messaging-room-tabs-mcp port: 9090 transport: http description: MCP adapter for Webex Messaging — Room Tabs. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-room-tabs description: List Room Tabs hints: readOnly: true destructive: false idempotent: true call: messaging-room-tabs.listroomtabs with: roomId: tools.roomId outputParameters: - type: object mapping: $. - name: create-room-tab description: Create a Room Tab hints: readOnly: false destructive: false idempotent: false call: messaging-room-tabs.createaroomtab with: body: tools.body outputParameters: - type: object mapping: $. - name: get-room-tab-details description: Get Room Tab Details hints: readOnly: true destructive: false idempotent: true call: messaging-room-tabs.getroomtabdetails with: id: tools.id outputParameters: - type: object mapping: $. - name: update-room-tab description: Update a Room Tab hints: readOnly: false destructive: false idempotent: true call: messaging-room-tabs.updatearoomtab with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: delete-room-tab description: Delete a Room Tab hints: readOnly: false destructive: true idempotent: true call: messaging-room-tabs.deletearoomtab with: id: tools.id outputParameters: - type: object mapping: $.