naftiko: 1.0.0-alpha2 info: label: Webex Messaging — Messages description: 'Webex Messaging — Messages. 6 operations. Lead operation: List Messages. Self-contained Naftiko capability covering one Webex business surface.' tags: - Webex - Messages created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WEBEX_API_KEY: WEBEX_API_KEY capability: consumes: - type: http namespace: messaging-messages baseUri: '' description: Webex Messaging — Messages business capability. Self-contained, no shared references. resources: - name: messages path: /messages operations: - name: listmessages method: GET description: List Messages outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: roomId in: query type: string description: List messages in a room, by ID. required: true - name: parentId in: query type: string description: List messages with a parent, by ID. - name: mentionedPeople in: query type: array description: List messages with these people mentioned, by ID. Use `me` as a shorthand for the current API user. Only `me` or the person ID of the current user may be specif - name: before in: query type: string description: List messages sent before a date and time. - name: beforeMessage in: query type: string description: List messages sent before a message, by ID. - name: max in: query type: number description: Limit the maximum number of messages in the response. Cannot exceed 100 if used with `mentionedPeople`. - name: createamessage method: POST description: Create a Message outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: messages-direct path: /messages/direct operations: - name: listdirectmessages method: GET description: List Direct Messages outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: parentId in: query type: string description: List messages with a parent, by ID. - name: personId in: query type: string description: List messages in a 1:1 room, by person ID. - name: personEmail in: query type: string description: List messages in a 1:1 room, by person email. - name: messages-messageId path: /messages/{messageId} operations: - name: editamessage method: PUT description: Edit a Message outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: messageId in: path type: string description: The unique identifier for the message. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: getmessagedetails method: GET description: Get Message Details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: messageId in: path type: string description: The unique identifier for the message. required: true - name: deleteamessage method: DELETE description: Delete a Message outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: messageId in: path type: string description: The unique identifier for the message. required: true authentication: type: bearer token: '{{env.WEBEX_API_KEY}}' exposes: - type: rest namespace: messaging-messages-rest port: 8080 description: REST adapter for Webex Messaging — Messages. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/messages name: messages description: REST surface for messages. operations: - method: GET name: listmessages description: List Messages call: messaging-messages.listmessages with: roomId: rest.roomId parentId: rest.parentId mentionedPeople: rest.mentionedPeople before: rest.before beforeMessage: rest.beforeMessage max: rest.max outputParameters: - type: object mapping: $. - method: POST name: createamessage description: Create a Message call: messaging-messages.createamessage with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/messages/direct name: messages-direct description: REST surface for messages-direct. operations: - method: GET name: listdirectmessages description: List Direct Messages call: messaging-messages.listdirectmessages with: parentId: rest.parentId personId: rest.personId personEmail: rest.personEmail outputParameters: - type: object mapping: $. - path: /v1/messages/{messageid} name: messages-messageid description: REST surface for messages-messageId. operations: - method: PUT name: editamessage description: Edit a Message call: messaging-messages.editamessage with: messageId: rest.messageId body: rest.body outputParameters: - type: object mapping: $. - method: GET name: getmessagedetails description: Get Message Details call: messaging-messages.getmessagedetails with: messageId: rest.messageId outputParameters: - type: object mapping: $. - method: DELETE name: deleteamessage description: Delete a Message call: messaging-messages.deleteamessage with: messageId: rest.messageId outputParameters: - type: object mapping: $. - type: mcp namespace: messaging-messages-mcp port: 9090 transport: http description: MCP adapter for Webex Messaging — Messages. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-messages description: List Messages hints: readOnly: true destructive: false idempotent: true call: messaging-messages.listmessages with: roomId: tools.roomId parentId: tools.parentId mentionedPeople: tools.mentionedPeople before: tools.before beforeMessage: tools.beforeMessage max: tools.max outputParameters: - type: object mapping: $. - name: create-message description: Create a Message hints: readOnly: false destructive: false idempotent: false call: messaging-messages.createamessage with: body: tools.body outputParameters: - type: object mapping: $. - name: list-direct-messages description: List Direct Messages hints: readOnly: true destructive: false idempotent: true call: messaging-messages.listdirectmessages with: parentId: tools.parentId personId: tools.personId personEmail: tools.personEmail outputParameters: - type: object mapping: $. - name: edit-message description: Edit a Message hints: readOnly: false destructive: false idempotent: true call: messaging-messages.editamessage with: messageId: tools.messageId body: tools.body outputParameters: - type: object mapping: $. - name: get-message-details description: Get Message Details hints: readOnly: true destructive: false idempotent: true call: messaging-messages.getmessagedetails with: messageId: tools.messageId outputParameters: - type: object mapping: $. - name: delete-message description: Delete a Message hints: readOnly: false destructive: true idempotent: true call: messaging-messages.deleteamessage with: messageId: tools.messageId outputParameters: - type: object mapping: $.