OpenAPI Specification
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