openapi: 3.0.3 info: title: Nagios XI REST Config CPU API description: 'Built-in REST API for Nagios XI, the commercial enterprise distribution of Nagios. The API is split into three sections: Objects (read-only backend for hosts, services, contacts, host groups, etc.), Config (admin-only writes for hosts and services), and System (admin-only commands such as apply configuration, scheduled downtime, status). Responses are returned as JSON when `pretty=1` or by default. Authentication uses a per-user Nagios XI API key passed via the `apikey` query parameter. ' version: v1 contact: name: Nagios Enterprises url: https://www.nagios.com/products/nagios-xi/ license: name: Nagios XI Commercial License url: https://www.nagios.com/legal/agreements/ servers: - url: https://{nagiosXiHost}/nagiosxi/api/v1 description: Self-hosted Nagios XI instance variables: nagiosXiHost: default: nagios.example.com description: Hostname or IP address of the Nagios XI server security: - ApiKeyQuery: [] - ApiKeyHeader: [] tags: - name: CPU description: System-wide CPU utilization and core counts. paths: /cpu/percent: get: tags: - CPU summary: Get CPU Percent operationId: getCpuPercent parameters: - $ref: '#/components/parameters/Token' - name: aggregate in: query schema: type: string enum: - avg - min - max - sum - $ref: '#/components/parameters/Warning' - $ref: '#/components/parameters/Critical' - $ref: '#/components/parameters/Check' responses: '200': description: CPU utilization. /cpu/count: get: tags: - CPU summary: Get CPU Core Count operationId: getCpuCount parameters: - $ref: '#/components/parameters/Token' responses: '200': description: Number of CPU cores. components: parameters: Token: name: token in: query required: true schema: type: string description: NCPA community_string token from agent config. Warning: name: warning in: query schema: type: string description: Nagios-style warning threshold (e.g. '80', '90:', '@70:90'). Check: name: check in: query schema: type: integer enum: - 0 - 1 description: When 1, return a Nagios-style check result with returncode + stdout. Critical: name: critical in: query schema: type: string description: Nagios-style critical threshold. securitySchemes: ApiKeyQuery: type: apiKey in: query name: apikey ApiKeyHeader: type: apiKey in: header name: X-API-KEY