openapi: 3.1.0 info: title: WebSphere Automation REST API description: >- API for WebSphere Automation capabilities including vulnerability management, automated patching, health monitoring, and compliance tracking. Accessible through the Swagger UI on OpenShift Container Platform deployments. Provides centralized management of WebSphere Application Server and Liberty environments with automated security vulnerability remediation. version: 1.0.0 license: name: IBM International License Agreement url: https://www.ibm.com/legal/terms contact: name: IBM Support url: https://www.ibm.com/mysupport externalDocs: description: WebSphere Automation Documentation url: https://www.ibm.com/docs/en/ws-automation servers: - url: https://automation-api.example.com/v1 description: WebSphere Automation API Server security: - bearerAuth: [] tags: - name: Servers description: Managed server inventory and registration - name: Vulnerabilities description: Security vulnerability tracking and remediation - name: Fixes description: Fix management and automated patching - name: Health description: Health monitoring and status - name: Compliance description: Compliance and configuration drift detection - name: Notifications description: Alert and notification management paths: /servers: get: operationId: listManagedServers summary: List Managed Servers description: Returns a list of all servers registered with WebSphere Automation. tags: - Servers parameters: - name: type in: query description: Filter by server type schema: type: string enum: - was-traditional - liberty example: was-traditional - name: status in: query description: Filter by server status schema: type: string enum: - active - inactive - unknown example: active responses: '200': description: List of managed servers content: application/json: schema: type: object properties: servers: type: array items: $ref: '#/components/schemas/ManagedServer' totalCount: type: integer examples: Listmanagedservers200Example: summary: Default listManagedServers 200 response x-microcks-default: true value: servers: - id: abc123 name: Example Title type: was-traditional version: example_value host: example_value port: 10 status: active vulnerabilityCount: 10 lastScanDate: '2026-01-15T10:30:00Z' registeredDate: '2026-01-15T10:30:00Z' installedFixes: - {} totalCount: 10 '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: registerServer summary: Register a Server description: Registers a new server with WebSphere Automation for monitoring and management. tags: - Servers requestBody: required: true content: application/json: schema: type: object required: - name - type - connectionInfo properties: name: type: string description: Server name type: type: string enum: - was-traditional - liberty connectionInfo: type: object required: - host - port properties: host: type: string port: type: integer protocol: type: string enum: - https - http default: https credentials: type: object properties: username: type: string password: type: string format: password examples: RegisterserverRequestExample: summary: Default registerServer request x-microcks-default: true value: name: Example Title type: was-traditional connectionInfo: host: example_value port: 10 protocol: https credentials: username: example_value password: example_value responses: '201': description: Server registered content: application/json: schema: $ref: '#/components/schemas/ManagedServer' examples: Registerserver201Example: summary: Default registerServer 201 response x-microcks-default: true value: id: abc123 name: Example Title type: was-traditional version: example_value host: example_value port: 10 status: active vulnerabilityCount: 10 lastScanDate: '2026-01-15T10:30:00Z' registeredDate: '2026-01-15T10:30:00Z' installedFixes: - example_value '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /servers/{serverId}: get: operationId: getManagedServer summary: Get Managed Server Details description: Returns details of a specific managed server. tags: - Servers parameters: - $ref: '#/components/parameters/serverId' responses: '200': description: Server details content: application/json: schema: $ref: '#/components/schemas/ManagedServer' examples: Getmanagedserver200Example: summary: Default getManagedServer 200 response x-microcks-default: true value: id: abc123 name: Example Title type: was-traditional version: example_value host: example_value port: 10 status: active vulnerabilityCount: 10 lastScanDate: '2026-01-15T10:30:00Z' registeredDate: '2026-01-15T10:30:00Z' installedFixes: - example_value '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deregisterServer summary: Deregister a Server description: Removes a server from WebSphere Automation management. tags: - Servers parameters: - $ref: '#/components/parameters/serverId' responses: '204': description: Server deregistered '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /vulnerabilities: get: operationId: listVulnerabilities summary: List Vulnerabilities description: Returns a list of known security vulnerabilities affecting managed servers. tags: - Vulnerabilities parameters: - name: severity in: query description: Filter by severity schema: type: string enum: - critical - high - medium - low example: critical - name: status in: query description: Filter by remediation status schema: type: string enum: - open - resolved - in-progress - accepted-risk example: open - name: serverId in: query description: Filter by affected server schema: type: string example: '500123' - name: cveId in: query description: Filter by CVE identifier schema: type: string example: '500123' responses: '200': description: List of vulnerabilities content: application/json: schema: type: object properties: vulnerabilities: type: array items: $ref: '#/components/schemas/Vulnerability' totalCount: type: integer examples: Listvulnerabilities200Example: summary: Default listVulnerabilities 200 response x-microcks-default: true value: vulnerabilities: - id: abc123 cveIds: - {} severity: critical cvssScore: 42.5 description: A sample description. affectedServers: - {} status: open availableFixes: - {} publishedDate: '2026-01-15T10:30:00Z' discoveredDate: '2026-01-15T10:30:00Z' totalCount: 10 '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /vulnerabilities/{vulnerabilityId}: get: operationId: getVulnerability summary: Get Vulnerability Details description: Returns details of a specific vulnerability. tags: - Vulnerabilities parameters: - name: vulnerabilityId in: path required: true description: Vulnerability identifier schema: type: string example: '500123' responses: '200': description: Vulnerability details content: application/json: schema: $ref: '#/components/schemas/Vulnerability' examples: Getvulnerability200Example: summary: Default getVulnerability 200 response x-microcks-default: true value: id: abc123 cveIds: - example_value severity: critical cvssScore: 42.5 description: A sample description. affectedServers: - example_value status: open availableFixes: - example_value publishedDate: '2026-01-15T10:30:00Z' discoveredDate: '2026-01-15T10:30:00Z' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /vulnerabilities/{vulnerabilityId}/resolve: post: operationId: resolveVulnerability summary: Resolve a Vulnerability description: Initiates the resolution of a vulnerability by applying fixes. tags: - Vulnerabilities parameters: - name: vulnerabilityId in: path required: true schema: type: string example: '500123' requestBody: content: application/json: schema: type: object properties: action: type: string enum: - apply-fix - accept-risk description: Resolution action fixId: type: string description: Specific fix to apply serverIds: type: array items: type: string description: Target servers for the fix examples: ResolvevulnerabilityRequestExample: summary: Default resolveVulnerability request x-microcks-default: true value: action: apply-fix fixId: '500123' serverIds: - example_value responses: '202': description: Resolution initiated content: application/json: schema: type: object properties: taskId: type: string status: type: string examples: Resolvevulnerability202Example: summary: Default resolveVulnerability 202 response x-microcks-default: true value: taskId: '500123' status: example_value '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /fixes: get: operationId: listFixes summary: List Available Fixes description: Returns a list of available fixes and patches. tags: - Fixes parameters: - name: serverId in: query description: Filter by applicable server schema: type: string example: '500123' - name: type in: query description: Filter by fix type schema: type: string enum: - security - ifix - fixpack example: security responses: '200': description: List of fixes content: application/json: schema: type: object properties: fixes: type: array items: $ref: '#/components/schemas/Fix' totalCount: type: integer examples: Listfixes200Example: summary: Default listFixes 200 response x-microcks-default: true value: fixes: - id: abc123 name: Example Title type: security description: A sample description. resolvedCVEs: - {} applicableVersions: - {} downloadURL: https://www.example.com releaseDate: '2026-01-15T10:30:00Z' size: 10 totalCount: 10 '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /fixes/{fixId}: get: operationId: getFix summary: Get Fix Details description: Returns details of a specific fix. tags: - Fixes parameters: - name: fixId in: path required: true description: Fix identifier schema: type: string example: '500123' responses: '200': description: Fix details content: application/json: schema: $ref: '#/components/schemas/Fix' examples: Getfix200Example: summary: Default getFix 200 response x-microcks-default: true value: id: abc123 name: Example Title type: security description: A sample description. resolvedCVEs: - example_value applicableVersions: - example_value downloadURL: https://www.example.com releaseDate: '2026-01-15T10:30:00Z' size: 10 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /fixes/{fixId}/apply: post: operationId: applyFix summary: Apply a Fix description: Applies a fix to one or more managed servers. tags: - Fixes parameters: - name: fixId in: path required: true schema: type: string example: '500123' requestBody: required: true content: application/json: schema: type: object required: - serverIds properties: serverIds: type: array items: type: string description: Target servers schedule: type: string format: date-time description: Scheduled time for applying the fix restartAfterApply: type: boolean default: true description: Whether to restart servers after applying the fix examples: ApplyfixRequestExample: summary: Default applyFix request x-microcks-default: true value: serverIds: - example_value schedule: '2026-01-15T10:30:00Z' restartAfterApply: true responses: '202': description: Fix application initiated content: application/json: schema: type: object properties: taskId: type: string status: type: string examples: Applyfix202Example: summary: Default applyFix 202 response x-microcks-default: true value: taskId: '500123' status: example_value '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /health: get: operationId: getOverallHealth summary: Get Overall Health Status description: Returns the overall health status of all managed servers. tags: - Health responses: '200': description: Overall health status content: application/json: schema: $ref: '#/components/schemas/OverallHealth' examples: Getoverallhealth200Example: summary: Default getOverallHealth 200 response x-microcks-default: true value: status: healthy totalServers: 10 activeServers: 10 inactiveServers: 10 openVulnerabilities: 10 criticalVulnerabilities: 10 pendingFixes: 10 '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /health/servers/{serverId}: get: operationId: getServerHealth summary: Get Server Health Status description: Returns health information for a specific managed server. tags: - Health parameters: - $ref: '#/components/parameters/serverId' responses: '200': description: Server health status content: application/json: schema: $ref: '#/components/schemas/ServerHealth' examples: Getserverhealth200Example: summary: Default getServerHealth 200 response x-microcks-default: true value: serverId: '500123' serverName: example_value status: healthy uptime: 10 cpuUsage: 42.5 memoryUsage: 42.5 openVulnerabilities: 10 lastHealthCheck: '2026-01-15T10:30:00Z' checks: - name: Example Title status: pass message: example_value '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /compliance/reports: get: operationId: listComplianceReports summary: List Compliance Reports description: Returns a list of compliance reports. tags: - Compliance responses: '200': description: List of compliance reports content: application/json: schema: type: array items: $ref: '#/components/schemas/ComplianceReport' examples: Listcompliancereports200Example: summary: Default listComplianceReports 200 response x-microcks-default: true value: - id: abc123 name: Example Title generatedDate: '2026-01-15T10:30:00Z' overallCompliance: 42.5 servers: - serverId: '500123' serverName: example_value complianceScore: 42.5 findings: {} '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /compliance/reports/{reportId}: get: operationId: getComplianceReport summary: Get Compliance Report Details description: Returns a specific compliance report. tags: - Compliance parameters: - name: reportId in: path required: true schema: type: string example: '500123' responses: '200': description: Compliance report details content: application/json: schema: $ref: '#/components/schemas/ComplianceReport' examples: Getcompliancereport200Example: summary: Default getComplianceReport 200 response x-microcks-default: true value: id: abc123 name: Example Title generatedDate: '2026-01-15T10:30:00Z' overallCompliance: 42.5 servers: - serverId: '500123' serverName: example_value complianceScore: 42.5 findings: - {} '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /notifications: get: operationId: listNotifications summary: List Notifications description: Returns a list of notifications and alerts. tags: - Notifications parameters: - name: type in: query description: Filter by notification type schema: type: string enum: - vulnerability - health - compliance - fix example: vulnerability - name: read in: query description: Filter by read status schema: type: boolean example: true responses: '200': description: List of notifications content: application/json: schema: type: array items: $ref: '#/components/schemas/Notification' examples: Listnotifications200Example: summary: Default listNotifications 200 response x-microcks-default: true value: - id: abc123 type: vulnerability severity: info title: Example Title message: example_value read: true createdDate: '2026-01-15T10:30:00Z' relatedResourceId: '500123' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /notifications/{notificationId}/read: post: operationId: markNotificationRead summary: Mark Notification as Read description: Marks a notification as read. tags: - Notifications parameters: - name: notificationId in: path required: true schema: type: string example: '500123' responses: '200': description: Notification marked as read '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: JWT Bearer token authentication parameters: serverId: name: serverId in: path required: true description: Managed server identifier schema: type: string schemas: ManagedServer: type: object properties: id: type: string description: Unique server identifier example: abc123 name: type: string description: Server name example: Example Title type: type: string enum: - was-traditional - liberty example: was-traditional version: type: string description: WebSphere version example: example_value host: type: string description: Server hostname example: example_value port: type: integer description: Server port example: 10 status: type: string enum: - active - inactive - unknown example: active vulnerabilityCount: type: integer description: Number of open vulnerabilities example: 10 lastScanDate: type: string format: date-time example: '2026-01-15T10:30:00Z' registeredDate: type: string format: date-time example: '2026-01-15T10:30:00Z' installedFixes: type: array items: type: string description: List of installed fix IDs example: [] Vulnerability: type: object properties: id: type: string description: Vulnerability identifier example: abc123 cveIds: type: array items: type: string description: Associated CVE identifiers example: [] severity: type: string enum: - critical - high - medium - low example: critical cvssScore: type: number description: CVSS base score example: 42.5 description: type: string example: A sample description. affectedServers: type: array items: type: string description: List of affected server IDs example: [] status: type: string enum: - open - resolved - in-progress - accepted-risk example: open availableFixes: type: array items: type: string description: List of available fix IDs example: [] publishedDate: type: string format: date-time example: '2026-01-15T10:30:00Z' discoveredDate: type: string format: date-time example: '2026-01-15T10:30:00Z' Fix: type: object properties: id: type: string description: Fix identifier example: abc123 name: type: string description: Fix name example: Example Title type: type: string enum: - security - ifix - fixpack example: security description: type: string example: A sample description. resolvedCVEs: type: array items: type: string description: CVEs resolved by this fix example: [] applicableVersions: type: array items: type: string description: WebSphere versions this fix applies to example: [] downloadURL: type: string format: uri example: https://www.example.com releaseDate: type: string format: date-time example: '2026-01-15T10:30:00Z' size: type: integer description: Fix size in bytes example: 10 OverallHealth: type: object properties: status: type: string enum: - healthy - warning - critical example: healthy totalServers: type: integer example: 10 activeServers: type: integer example: 10 inactiveServers: type: integer example: 10 openVulnerabilities: type: integer example: 10 criticalVulnerabilities: type: integer example: 10 pendingFixes: type: integer example: 10 ServerHealth: type: object properties: serverId: type: string example: '500123' serverName: type: string example: example_value status: type: string enum: - healthy - warning - critical example: healthy uptime: type: integer description: Uptime in seconds example: 10 cpuUsage: type: number description: CPU usage percentage example: 42.5 memoryUsage: type: number description: Memory usage percentage example: 42.5 openVulnerabilities: type: integer example: 10 lastHealthCheck: type: string format: date-time example: '2026-01-15T10:30:00Z' checks: type: array items: type: object properties: name: type: string status: type: string enum: - pass - warn - fail message: type: string example: [] ComplianceReport: type: object properties: id: type: string example: abc123 name: type: string example: Example Title generatedDate: type: string format: date-time example: '2026-01-15T10:30:00Z' overallCompliance: type: number description: Overall compliance percentage example: 42.5 servers: type: array items: type: object properties: serverId: type: string serverName: type: string complianceScore: type: number findings: type: array items: type: object properties: rule: type: string status: type: string enum: - compliant - non-compliant description: type: string example: [] Notification: type: object properties: id: type: string example: abc123 type: type: string enum: - vulnerability - health - compliance - fix example: vulnerability severity: type: string enum: - info - warning - critical example: info title: type: string example: Example Title message: type: string example: example_value read: type: boolean example: true createdDate: type: string format: date-time example: '2026-01-15T10:30:00Z' relatedResourceId: type: string example: '500123' Error: type: object properties: code: type: string example: example_value message: type: string example: example_value required: - code - message responses: BadRequest: description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Authentication required content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Error'