naftiko: 1.0.0-alpha2 info: label: Webex Messaging — HDS description: 'Webex Messaging — HDS. 7 operations. Lead operation: Get cluster details. Self-contained Naftiko capability covering one Webex business surface.' tags: - Webex - HDS created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WEBEX_API_KEY: WEBEX_API_KEY capability: consumes: - type: http namespace: messaging-hds baseUri: '' description: Webex Messaging — HDS business capability. Self-contained, no shared references. resources: - name: hds-clusters-clusterId path: /hds/clusters/{clusterId} operations: - name: gethdsclusterdetails method: GET description: Get cluster details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterId in: path type: string description: Unique ID of the HDS cluster. required: true - name: hds-clusters-clusterId-availability path: /hds/clusters/{clusterId}/availability operations: - name: gethdsclusteravailabilitydetails method: GET description: Get availability details for HDS cluster outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterId in: path type: string description: Unique ID of the HDS cluster. required: true - name: from in: query type: string description: 'The start date and time of the requested data in any [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. The ''from'' value cannot be later than ' required: true - name: to in: query type: string description: The end date and time of the requested data in any [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. required: true - name: hds-nodes-nodeId path: /hds/nodes/{nodeId} operations: - name: gethdsnodedetails method: GET description: Get node details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: nodeId in: path type: string description: Unique ID of the HDS node required: true - name: hds-organizations-organizationId path: /hds/organizations/{organizationId} operations: - name: gethdsorganizationdetails method: GET description: Get organization details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: path type: string description: Unique ID of the HDS organization. required: true - name: hds-organizations-organizationId-database path: /hds/organizations/{organizationId}/database operations: - name: gethdsorganizationdatabasedetails method: GET description: Get database details for the HDS organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: path type: string description: Unique ID of the HDS organization required: true - name: hds-organizations-organizationId-tenants path: /hds/organizations/{organizationId}/tenants operations: - name: gethdsmultitenantorganizationdetails method: GET description: Get Multi-Tenant HDS organization details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: path type: string description: Unique ID of the HDS organization. required: true - name: hds-testResults-nodes-nodeId-networkTest path: /hds/testResults/nodes/{nodeId}/networkTest operations: - name: getnetworktestresultsforhdsnode method: GET description: Get test results for HDS node outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: nodeId in: path type: string description: Unique ID of the HDS node. required: true - name: triggerType in: query type: string description: Trigger type. authentication: type: bearer token: '{{env.WEBEX_API_KEY}}' exposes: - type: rest namespace: messaging-hds-rest port: 8080 description: REST adapter for Webex Messaging — HDS. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/hds/clusters/{clusterid} name: hds-clusters-clusterid description: REST surface for hds-clusters-clusterId. operations: - method: GET name: gethdsclusterdetails description: Get cluster details call: messaging-hds.gethdsclusterdetails with: clusterId: rest.clusterId outputParameters: - type: object mapping: $. - path: /v1/hds/clusters/{clusterid}/availability name: hds-clusters-clusterid-availability description: REST surface for hds-clusters-clusterId-availability. operations: - method: GET name: gethdsclusteravailabilitydetails description: Get availability details for HDS cluster call: messaging-hds.gethdsclusteravailabilitydetails with: clusterId: rest.clusterId from: rest.from to: rest.to outputParameters: - type: object mapping: $. - path: /v1/hds/nodes/{nodeid} name: hds-nodes-nodeid description: REST surface for hds-nodes-nodeId. operations: - method: GET name: gethdsnodedetails description: Get node details call: messaging-hds.gethdsnodedetails with: nodeId: rest.nodeId outputParameters: - type: object mapping: $. - path: /v1/hds/organizations/{organizationid} name: hds-organizations-organizationid description: REST surface for hds-organizations-organizationId. operations: - method: GET name: gethdsorganizationdetails description: Get organization details call: messaging-hds.gethdsorganizationdetails with: organizationId: rest.organizationId outputParameters: - type: object mapping: $. - path: /v1/hds/organizations/{organizationid}/database name: hds-organizations-organizationid-database description: REST surface for hds-organizations-organizationId-database. operations: - method: GET name: gethdsorganizationdatabasedetails description: Get database details for the HDS organization call: messaging-hds.gethdsorganizationdatabasedetails with: organizationId: rest.organizationId outputParameters: - type: object mapping: $. - path: /v1/hds/organizations/{organizationid}/tenants name: hds-organizations-organizationid-tenants description: REST surface for hds-organizations-organizationId-tenants. operations: - method: GET name: gethdsmultitenantorganizationdetails description: Get Multi-Tenant HDS organization details call: messaging-hds.gethdsmultitenantorganizationdetails with: organizationId: rest.organizationId outputParameters: - type: object mapping: $. - path: /v1/hds/testresults/nodes/{nodeid}/networktest name: hds-testresults-nodes-nodeid-networktest description: REST surface for hds-testResults-nodes-nodeId-networkTest. operations: - method: GET name: getnetworktestresultsforhdsnode description: Get test results for HDS node call: messaging-hds.getnetworktestresultsforhdsnode with: nodeId: rest.nodeId triggerType: rest.triggerType outputParameters: - type: object mapping: $. - type: mcp namespace: messaging-hds-mcp port: 9090 transport: http description: MCP adapter for Webex Messaging — HDS. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-cluster-details description: Get cluster details hints: readOnly: true destructive: false idempotent: true call: messaging-hds.gethdsclusterdetails with: clusterId: tools.clusterId outputParameters: - type: object mapping: $. - name: get-availability-details-hds-cluster description: Get availability details for HDS cluster hints: readOnly: true destructive: false idempotent: true call: messaging-hds.gethdsclusteravailabilitydetails with: clusterId: tools.clusterId from: tools.from to: tools.to outputParameters: - type: object mapping: $. - name: get-node-details description: Get node details hints: readOnly: true destructive: false idempotent: true call: messaging-hds.gethdsnodedetails with: nodeId: tools.nodeId outputParameters: - type: object mapping: $. - name: get-organization-details description: Get organization details hints: readOnly: true destructive: false idempotent: true call: messaging-hds.gethdsorganizationdetails with: organizationId: tools.organizationId outputParameters: - type: object mapping: $. - name: get-database-details-hds-organization description: Get database details for the HDS organization hints: readOnly: true destructive: false idempotent: true call: messaging-hds.gethdsorganizationdatabasedetails with: organizationId: tools.organizationId outputParameters: - type: object mapping: $. - name: get-multi-tenant-hds-organization description: Get Multi-Tenant HDS organization details hints: readOnly: true destructive: false idempotent: true call: messaging-hds.gethdsmultitenantorganizationdetails with: organizationId: tools.organizationId outputParameters: - type: object mapping: $. - name: get-test-results-hds-node description: Get test results for HDS node hints: readOnly: true destructive: false idempotent: true call: messaging-hds.getnetworktestresultsforhdsnode with: nodeId: tools.nodeId triggerType: tools.triggerType outputParameters: - type: object mapping: $.