openapi: 3.2.0 info: title: Crosswork Cluster Manager API version: v2 x-provenance: method: harvested authored_by: Cisco Crosswork harvested_by: API Evangelist harvested_on: '2026-08-19' first_party: true note: Published by Cisco. Retrieved unmodified except for this x-provenance block. provider_published: true x-evidence: - type: source url: https://github.com/CiscoDevNet/crosswork-openapi-spec/blob/master/NCAHI/4.0APIs/cluster.swagger.json - type: raw url: https://raw.githubusercontent.com/CiscoDevNet/crosswork-openapi-spec/master/NCAHI/4.0APIs/cluster.swagger.json tags: - name: ClusterManager paths: /v2/cluster/action: post: summary: Execute an action on an object, this is for now on a micro service operationId: ExecuteAction responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterActionResp' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterAction' required: true /v2/cluster/app/details/query: post: summary: Get the Crosswork App Details operationId: GetAppDetails responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterAppDetails' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterNodeReq' required: true /v2/cluster/app/health/list: get: operationId: GetAppHealthSummaryList responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterAppHealthList' tags: - ClusterManager /v2/cluster/app/health/query: post: operationId: GetAppHealthSummary responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterAppHealthSummary' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterBasicReq' required: true /v2/cluster/app/resource/query: post: summary: Get the Crosswork App Resource Health operationId: GetAppResource responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterResource' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterAppReq' required: true /v2/cluster/collect-publish/show/query: post: summary: Get the status of all PublishCollectJobs, where Crosswork internal operations data has been collected and is being sent to a remote location, such as Cisco TAC, for troubleshooting purposes. operationId: GetPublishCollectJobs responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterCollectPubResult' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterCollectPubGetReq' required: true /v2/cluster/collect-publish/start/query: post: summary: Send the Collected Op data for troubleshooting to remote location by specifying the ID of collect job operationId: PublishCollectJobData responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterCollectPubResult' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterCollectPubPostReq' required: true /v2/cluster/collect/configure: post: summary: Change the Timeout for the Collection Operation of Crosswork Platform operationId: ChangeCollectConfig responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterOpResult' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterCollectConfReq' required: true /v2/cluster/collect/show/query: post: summary: Get the list of all internal Crosswork operations data-collection jobs that have been requested on the platform. The list can be narrowed down by specifying a job "Id", “Type” or “Scope” parameters. operationId: GetCollectJobsInfo responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterCollectOpResult' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterCollectInfoReq' required: true /v2/cluster/collect/start/query: post: summary: 'Showtech Collection APIs ( backward compatibility wrt to req/response) Initiate collection of data for troubleshooting Crosswork Platform applications. Collection jobs can be scoped to a specific app or type.' operationId: RequestCollectJobs responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterCollectOpResult' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterCollectReq' required: true /v2/cluster/dc/node/actions/query: post: summary: Get the Crosswork Node Actions operationId: GetNodeActions responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterNodeActions' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterNodeReq' required: true /v2/cluster/dc/node/details/query: post: summary: Get the Crosswork Cluster Details operationId: GetNodeDetails responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterNodeDetails' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterNodeReq' required: true /v2/cluster/dc/node/health/query: post: operationId: GetNodeHealthSummary responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterNodeHealthSummary' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterNodeReq' required: true /v2/cluster/dc/node/resource/query: post: summary: Get the Crosswork Node Resource Health operationId: GetNodeResource responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterResource' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterNodeReq' required: true /v2/cluster/dc/node/summary/list: get: summary: Get the Crosswork Node List Summary operationId: GetNodeListSummary responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterNodeListSummary' tags: - ClusterManager /v2/cluster/dc/node/summary/query: post: summary: Get the Crosswork Node Summary operationId: GetNodeSummary responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterNodeSummary' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterNodeReq' required: true /v2/cluster/dc/summary/list: get: summary: Get the Crosswork Node List Summary operationId: GetDCListSummary responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterDCListSummary' tags: - ClusterManager /v2/cluster/dc/summary/query: post: summary: Get the Crosswork Node Summary operationId: GetDCSummary responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterDCSummary' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterDCReq' required: true /v2/cluster/infra/summary: get: summary: Get the Crosswork Infrastructure summary operationId: GetInfraSummary responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterInfraSummary' tags: - ClusterManager /v2/cluster/microservice/list/query: post: operationId: GetMicroServiceList responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterMicroServiceList' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterBasicReq' required: true /v2/cluster/microservice/restart: post: summary: Restart given microservice (all pods of the microservice will be restarted) operationId: RequestMicroserviceRestart responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterActionResp' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterBasicReq' required: true /v2/cluster/resource/query: post: summary: Get the Crosswork Cluster Resource Health operationId: GetClusterResource responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterResource' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterClusterReq' required: true /v2/cluster/signature/verify: post: summary: Verify the Signature given operationId: VerifySignature responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterverifyResponse' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterVerifyReq' required: true /v2/cluster/summary/list: get: summary: Get the Crosswork Cluster List Summary operationId: GetClusterListSummary responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterClusterListSummary' tags: - ClusterManager /v2/cluster/summary/query: post: summary: Get the Crosswork Cluster Summary operationId: GetClusterSummary responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterClusterSummary' tags: - ClusterManager requestBody: content: application/json: schema: $ref: '#/components/schemas/clusterClusterReq' required: true /v2/cluster/version/show: get: summary: Get the Crosswork Platform software version. operationId: GetVersion responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/clusterOpResult' tags: - ClusterManager components: schemas: clusterCollectPubPostReq: type: object properties: CollectJobId: type: string title: 'MANDATORY: Unique Id of collection job to be published' Protocol: $ref: '#/components/schemas/clusterPublishType' title: 'MANDATORY: Publish protocol (SSH)' SSH_Configuration: $ref: '#/components/schemas/clusterSSH_Config' title: 'MANDATORY: SSH Configuration' clusterAppParameters: type: object properties: status: type: string title: Status availability: type: string title: High-Availablity status recommendation: type: string description: type: string clusterDCListSummary: type: object properties: dc_summary: type: array items: $ref: '#/components/schemas/clusterDCSummary' title: Summary of DC List clusterNodeParameters: type: object properties: status: type: string title: Status availability: type: string title: High-Availablity status type: type: string title: Type size_profile: $ref: '#/components/schemas/clusterSizeProfile' title: Size Profile host: type: string title: Hypervisor Details data_store: type: string management_ip: type: string title: Network Details data_ip: type: string clusterCollectPubGetReq: type: object properties: PublishJobId: type: string title: Unique Id of a publish job CollectJobId: type: string clusterDCSummary: type: object properties: node_summary: type: array items: $ref: '#/components/schemas/clusterNodeSummary' dc_name: type: string dc_id: type: string title: Summary of DC clusterNodeReq: type: object properties: node_id: type: string title: Node request CollectOpResultcollectJob: type: object properties: Id: type: string title: Unique Collect Job Id JobScope: type: string Type: $ref: '#/components/schemas/clusterCollectType' JobStatus: $ref: '#/components/schemas/clusterjobStatus' User: type: string CreationTime: type: string Description: type: string title: Additional information regarding the job clusterNodeListSummary: type: object properties: node_summary: type: array items: $ref: '#/components/schemas/clusterNodeSummary' title: Summary of Crossowork NodeList Summary clusterNodeRecommendation: type: object properties: recommendation: type: string clusterCollectConfReq: type: object properties: Configuration: type: object additionalProperties: type: string description: 'MANDATORY: Configuration key map. Currently only "Timeout" is support as key value.' clusterCollectInfoReq: type: object properties: Id: type: string title: 'OPTIONAL: Collection job identifier. Defaults to all jobs' JobScope: type: string title: 'OPTIONAL: Scope of job, i.e. name of service for which job was run. Defaults to all' Type: $ref: '#/components/schemas/clusterCollectType' title: 'OPTIONAL: Type of show tech collection. Defaults to all' CollectPubResultpublishJob: type: object properties: PublishJobId: type: string title: Id of publish job CollectJobId: type: string title: Id of show tech job Type: $ref: '#/components/schemas/clusterPublishType' JobStatus: $ref: '#/components/schemas/clusterjobStatus' User: type: string CreationTime: type: string Description: type: string Progress: type: string SSH_Configuration: $ref: '#/components/schemas/clusterSSH_Config' clusterMicroService: type: object properties: Name: type: string title: Name of the Service health_state: $ref: '#/components/schemas/clusterHealthState' title: Health of the Service up_time: type: string title: Up time of the Service recommendation: type: string title: Recommendation for this Service description: type: string title: Description of this Service micro_service_action: $ref: '#/components/schemas/clusterMicroServiceAction' title: Actions applicable on this microservice title: Microservice clusterOpResult: type: object properties: result: $ref: '#/components/schemas/clusterRespValue' description: ResultValue indicates the success/failure for the requested operation. description: type: string title: Additional response information result_map: type: object additionalProperties: type: string title: 'Supplementary keyed response info for the operation (for example: version number, error message)' result_string: type: array items: type: string title: Simple result string id: type: string title: Resource Identifier returned by operation, if any description: 'OpResult is used to indicate whether an operation has been accepted or not. A string or map payload provides the additional response information (for example: version number, error data).' clusterCollectPubResult: type: object properties: Result: $ref: '#/components/schemas/clusterResultValue' Description: type: string Jobs: type: array items: $ref: '#/components/schemas/CollectPubResultpublishJob' clusterAppDetails: type: object properties: app_name: type: string app_id: type: string app_parameters: $ref: '#/components/schemas/clusterAppParameters' app_resource: $ref: '#/components/schemas/clusterResource' micro_service_list: $ref: '#/components/schemas/clusterMicroServiceList' title: App Details clusterNodeDetails: type: object properties: node_name: type: string node_id: type: string node_parameters: $ref: '#/components/schemas/clusterNodeParameters' node_resource: $ref: '#/components/schemas/clusterResource' node_recommendation: $ref: '#/components/schemas/clusterNodeRecommendation' micro_service_list: $ref: '#/components/schemas/clusterMicroServiceList' vm_name: type: string vm_id: type: string vm_state: type: string title: Node Details clusterDCReq: type: object properties: dc_id: type: string title: DC Request clusterInfraSummary: type: object properties: name: type: string title: Name of the Infra Layer health_summary: $ref: '#/components/schemas/clusterHealthSummary' title: Health of the Infra Layer description: type: string title: Recommendation at this point for this Infra layer title: Summary of Crosswork Infrastructure clusterActionResp: type: object properties: resp_value: $ref: '#/components/schemas/clusterRespValue' resp_error: type: string clusterNodeActions: type: object properties: actions: type: object additionalProperties: type: boolean format: boolean clusterHealthSummary: type: object properties: state: $ref: '#/components/schemas/clusterHealthState' total: type: integer format: int32 healthy: type: integer format: int32 degraded: type: integer format: int32 down: type: integer format: int32 obj_name: type: string availability: type: string title: Health Summary Message clusterHealthState: type: string enum: - Healthy - Degraded - Down - NA - Unknown default: Healthy clusterResourceSummary: type: object properties: current_usage: type: string used: type: string total: type: string health_state: type: string title: Summary of Crosswork Resources clusterClusterSummary: type: object properties: health_summary: $ref: '#/components/schemas/clusterHealthSummary' title: Health Summary of the Crosswork Node Cluster cluster_id: type: string title: Summary of Crosswork VM Node Cluster clusterNodeHealthSummary: type: object properties: health_summary: $ref: '#/components/schemas/clusterHealthSummary' recommendation: type: string description: type: string clusterAppHealthList: type: object properties: app_health_summary: type: array items: $ref: '#/components/schemas/clusterAppHealthSummary' title: Summary of an App Health clusterNodeSummary: type: object properties: node_name: type: string node_id: type: string node_health: $ref: '#/components/schemas/clusterHealthState' node_type: type: string vm_name: type: string node_resource: $ref: '#/components/schemas/clusterResource' actions: type: object additionalProperties: type: boolean format: boolean vm_state: type: string vm_id: type: string availability: type: string title: Summary of Crosswork Node clusterVerifyReq: type: object properties: signature: type: string title: Actual Signature from Crosswork checksum: type: string title: Checksum of the Payload that was signed by Crosswork clusterPublishType: type: string enum: - SSH default: SSH clusterMicroServiceAction: type: object properties: actions: type: array items: $ref: '#/components/schemas/clusterAction' title: Actions that can be done on a Microservice clusterResultValue: type: string enum: - NOOP - SUCCESS - FAILURE default: NOOP clusterCollectOpResult: type: object properties: Result: $ref: '#/components/schemas/clusterResultValue' Description: type: string title: Additional information regarding the response CollectJobs: type: array items: $ref: '#/components/schemas/CollectOpResultcollectJob' clusterCollectType: type: string enum: - _ - All - Logs - Metrics default: _ clusterClusterListSummary: type: object properties: cluster_summary: $ref: '#/components/schemas/clusterClusterSummary' title: Health Summary of the Crosswork Node Cluster title: Summary of Crosswork VM Node Cluster List clusterAppReq: type: object properties: app_id: type: string title: App request clusterAction: type: object properties: action_name: type: string action_id: type: string clusterverifyResponse: type: object properties: signature_response: $ref: '#/components/schemas/clusterSignature' clusterBasicReq: type: object properties: req_id: type: string clusterSSH_Config: type: object properties: Username: type: string title: MANDATORY Password: type: string title: MANDATORY Destination: type: string title: MANDATORY Dest_path: type: string title: MANDATORY - Path on destination host Port: type: integer format: int32 title: MANDATORY - SCP Port on destination host title: Configuration for SCP clusterjobStatus: type: string enum: - JobUnknown - JobCreated - JobInProgress - JobCompleted - JobFailed default: JobUnknown clusterSizeProfile: type: object properties: cpu: type: string memory: type: string disk: type: string clusterClusterReq: type: object properties: cluster_id: type: string title: Cluster request clusterAppHealthSummary: type: object properties: health_summary: $ref: '#/components/schemas/clusterHealthSummary' recommendation: type: string description: type: string title: Summary of the List of App Health clusterCollectReq: type: object properties: JobScope: type: string description: 'OPTIONAL: Scope of collection job, i.e. name of service for which job is to be run. Defaults to all apps and services.' Type: $ref: '#/components/schemas/clusterCollectType' description: 'OPTIONAL: Type of show tech collection (All, Logs, Metrics). Defaults to All.' clusterResource: type: object properties: cpu_summary: $ref: '#/components/schemas/clusterResourceSummary' memory_summary: $ref: '#/components/schemas/clusterResourceSummary' disk_summary: $ref: '#/components/schemas/clusterResourceSummary' last_updated_time: type: string clusterSignature: type: string enum: - SIGNATURE_UNKNOWN - SIGNATURE_VALID - SIGNATURE_INVALID - SIGNATURE_CORRUPT default: SIGNATURE_UNKNOWN clusterRespValue: type: string enum: - R_NOOP - R_SUCCESS - R_FAILURE default: R_NOOP title: ResultValue clusterMicroServiceList: type: object properties: micro_service: type: array items: $ref: '#/components/schemas/clusterMicroService' title: List of Microservices