naftiko: 1.0.0-alpha2 info: label: Webex Messaging — ECM folder linking description: 'Webex Messaging — ECM folder linking. 5 operations. Lead operation: List ECM folder. Self-contained Naftiko capability covering one Webex business surface.' tags: - Webex - ECM folder linking created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WEBEX_API_KEY: WEBEX_API_KEY capability: consumes: - type: http namespace: messaging-ecm-folder-linking baseUri: '' description: Webex Messaging — ECM folder linking business capability. Self-contained, no shared references. resources: - name: room-linkedFolders path: /room/linkedFolders operations: - name: listecmfolder method: GET description: List ECM folder outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: roomId in: query type: string description: ID of the room for which to list the ECM folder. required: true - name: createanecmfolderconfiguration method: POST description: Create an ECM folder configuration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: room-linkedFolders-id path: /room/linkedFolders/{id} operations: - name: getecmfolderdetails method: GET description: Get ECM Folder Details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier for the folder. required: true - name: updateanecmlinkedfolder method: PUT description: Update an ECM Linked Folder outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier for the room folder. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: unlinkanecmlinkedfolder method: DELETE description: Unlink an ECM linked folder outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier for the folder to disassociate from the space. required: true authentication: type: bearer token: '{{env.WEBEX_API_KEY}}' exposes: - type: rest namespace: messaging-ecm-folder-linking-rest port: 8080 description: REST adapter for Webex Messaging — ECM folder linking. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/room/linkedfolders name: room-linkedfolders description: REST surface for room-linkedFolders. operations: - method: GET name: listecmfolder description: List ECM folder call: messaging-ecm-folder-linking.listecmfolder with: roomId: rest.roomId outputParameters: - type: object mapping: $. - method: POST name: createanecmfolderconfiguration description: Create an ECM folder configuration call: messaging-ecm-folder-linking.createanecmfolderconfiguration with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/room/linkedfolders/{id} name: room-linkedfolders-id description: REST surface for room-linkedFolders-id. operations: - method: GET name: getecmfolderdetails description: Get ECM Folder Details call: messaging-ecm-folder-linking.getecmfolderdetails with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: updateanecmlinkedfolder description: Update an ECM Linked Folder call: messaging-ecm-folder-linking.updateanecmlinkedfolder with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: unlinkanecmlinkedfolder description: Unlink an ECM linked folder call: messaging-ecm-folder-linking.unlinkanecmlinkedfolder with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: messaging-ecm-folder-linking-mcp port: 9090 transport: http description: MCP adapter for Webex Messaging — ECM folder linking. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-ecm-folder description: List ECM folder hints: readOnly: true destructive: false idempotent: true call: messaging-ecm-folder-linking.listecmfolder with: roomId: tools.roomId outputParameters: - type: object mapping: $. - name: create-ecm-folder-configuration description: Create an ECM folder configuration hints: readOnly: false destructive: false idempotent: false call: messaging-ecm-folder-linking.createanecmfolderconfiguration with: body: tools.body outputParameters: - type: object mapping: $. - name: get-ecm-folder-details description: Get ECM Folder Details hints: readOnly: true destructive: false idempotent: true call: messaging-ecm-folder-linking.getecmfolderdetails with: id: tools.id outputParameters: - type: object mapping: $. - name: update-ecm-linked-folder description: Update an ECM Linked Folder hints: readOnly: false destructive: false idempotent: true call: messaging-ecm-folder-linking.updateanecmlinkedfolder with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: unlink-ecm-linked-folder description: Unlink an ECM linked folder hints: readOnly: false destructive: true idempotent: true call: messaging-ecm-folder-linking.unlinkanecmlinkedfolder with: id: tools.id outputParameters: - type: object mapping: $.