openapi: 3.1.0 info: title: Lenovo XClarity Administrator REST Inventory API description: 'Programmatic access to Lenovo XClarity Administrator (LXCA) for managing Lenovo servers, storage, and switches. The API surface includes session authentication, inventory of managed devices (servers, storage, switches, cabinets, canisters), and many other categories (firmware updates, OS deployment, events, jobs, configuration patterns). Only a representative subset of inventory and session endpoints is modeled here, drawn directly from the public XClarity Administrator REST API reference. See the documentation links for the full catalog. ' version: 1.0.0 contact: name: Lenovo XClarity Documentation url: https://pubs.lenovo.com/lxca_scripting/ license: name: Lenovo Proprietary servers: - url: https://{xclarityHost} description: Lenovo XClarity Administrator management server variables: xclarityHost: default: lxca.example.com description: Hostname or IP address of the XClarity Administrator server security: - sessionCookie: [] tags: - name: Inventory description: Query inventory of managed devices. paths: /nodes: get: tags: - Inventory summary: List nodes description: Retrieve properties for all managed servers and Flex System storage devices. operationId: listNodes responses: '200': description: A list of nodes. content: application/json: schema: type: object properties: nodeList: type: array items: $ref: '#/components/schemas/Node' /nodes/{uuid}: get: tags: - Inventory summary: Get a node by UUID description: Retrieve properties for a specific server. operationId: getNode parameters: - name: uuid in: path required: true description: UUID of the managed node. schema: type: string responses: '200': description: Node properties. content: application/json: schema: $ref: '#/components/schemas/Node' '404': description: Node not found. put: tags: - Inventory summary: Modify a node description: 'Modify properties of a specific server, including operations such as turning location LEDs on or off. ' operationId: modifyNode parameters: - name: uuid in: path required: true description: UUID of the managed node. schema: type: string requestBody: required: true content: application/json: schema: type: object description: Properties to modify on the node. additionalProperties: true responses: '200': description: Node updated. '404': description: Node not found. /storage: get: tags: - Inventory summary: List storage devices description: Retrieve properties for all managed storage devices. operationId: listStorage responses: '200': description: A list of storage devices. content: application/json: schema: type: object properties: storageList: type: array items: type: object additionalProperties: true /switches: get: tags: - Inventory summary: List switches description: Retrieve properties for all managed Flex System and RackSwitch switches. operationId: listSwitches responses: '200': description: A list of switches. content: application/json: schema: type: object properties: switchList: type: array items: type: object additionalProperties: true /canisters: get: tags: - Inventory summary: List canisters description: Retrieve properties and metrics for all Flex System storage controllers (canisters). operationId: listCanisters responses: '200': description: A list of canisters. content: application/json: schema: type: object properties: canisterList: type: array items: type: object additionalProperties: true /cabinet: get: tags: - Inventory summary: List cabinets description: Retrieve properties for all configured cabinets (racks) and the devices placed in them. operationId: listCabinets responses: '200': description: A list of cabinets and their device placements. content: application/json: schema: type: object additionalProperties: true components: schemas: Node: type: object description: A managed server or Flex System storage node. properties: uuid: type: string description: Unique identifier of the node. name: type: string machineType: type: string model: type: string serialNumber: type: string status: type: object additionalProperties: true additionalProperties: true securitySchemes: sessionCookie: type: apiKey in: cookie name: JSESSIONID description: 'Session cookie issued by `POST /sessions`. Requests also require the `X-Csrf-Token` header populated from the session response. ' externalDocs: description: Lenovo XClarity Administrator REST API reference url: https://pubs.lenovo.com/lxca_scripting/rest_apis