openapi: 3.1.0 info: title: Solaris Zones Oracle Solaris StatsStore and Analytics API description: >- REST API for accessing the Oracle Solaris 11.4 StatsStore, which provides consolidated system statistics, zone resource utilization data, and historical performance analytics. The StatsStore collects and organizes system-wide and per-zone statistics using a hierarchical namespace of statistics identifiers (SSIDs). Data is accessible via CLI (sstore), the RAD REST interface, the System Web Interface, and programmatic APIs in C and Python. version: '1.0' contact: name: Oracle Solaris Support url: https://www.oracle.com/solaris/support/ email: solaris-support@oracle.com license: name: Oracle Technology Network License url: https://www.oracle.com/legal/terms.html externalDocs: description: Using Oracle Solaris 11.4 StatsStore and System Web Interface url: https://docs.oracle.com/cd/E37838_01/html/E56520/index.html servers: - url: https://{host}:{port}/api/com.oracle.solaris.rad.sstore/1.0 description: Oracle Solaris RAD REST endpoint for StatsStore variables: host: default: localhost description: Solaris host running RAD port: default: '6788' description: RAD REST API port - url: https://{host}:{webport} description: Oracle Solaris System Web Interface variables: host: default: localhost webport: default: '6787' description: System Web Interface HTTPS port tags: - name: Statistics Discovery description: Discover available statistics and namespaces - name: Statistics Retrieval description: Retrieve current and historical statistics data - name: System Statistics description: System-wide performance statistics - name: Zone Statistics description: Per-zone resource utilization statistics security: - cookieAuth: [] paths: /: get: operationId: listSstoreInterfaces summary: Solaris Zones List Statsstore Interfaces description: >- Discover all available StatsStore interfaces and the hierarchical namespace of statistics identifiers (SSIDs). tags: - Statistics Discovery parameters: - $ref: '#/components/parameters/radDetail' responses: '200': description: Available StatsStore interfaces content: application/json: schema: type: object properties: status: type: string payload: type: array items: type: object properties: href: type: string type: type: string examples: Listsstoreinterfaces200Example: summary: Default listSstoreInterfaces 200 response x-microcks-default: true value: status: example_value payload: - href: example_value type: example_value '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /Store/_rad_method/list: put: operationId: listStatistics summary: Solaris Zones List Available Statistics description: >- List statistics identifiers (SSIDs) matching the given pattern. SSIDs follow a hierarchical namespace format like //:class:module/statistic-name. Supports glob-style wildcards. tags: - Statistics Discovery requestBody: required: true content: application/json: schema: type: object required: - pattern properties: pattern: type: string description: >- SSID pattern with optional wildcards. Examples: //:class:zones/*, //:class:cpu/*, //:class:memory/*, //:class:net/* example: '//:class:zones/*' examples: ListstatisticsRequestExample: summary: Default listStatistics request x-microcks-default: true value: pattern: example_value responses: '200': description: List of matching SSIDs content: application/json: schema: type: object properties: status: type: string payload: type: array items: $ref: '#/components/schemas/StatisticIdentifier' examples: Liststatistics200Example: summary: Default listStatistics 200 response x-microcks-default: true value: status: example_value payload: - ssid: '500123' type: counter description: A sample description. '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /Store/_rad_method/read: put: operationId: readStatistics summary: Solaris Zones Read Current Statistics Values description: >- Read the current values of one or more statistics identified by their SSIDs. Returns the most recent recorded values. tags: - Statistics Retrieval requestBody: required: true content: application/json: schema: type: object required: - ssids properties: ssids: type: array items: type: string description: >- Array of SSID strings to read. Supports wildcards. example: - '//:class:zones/utilization/cpu' - '//:class:zones/utilization/memory-rss' examples: ReadstatisticsRequestExample: summary: Default readStatistics request x-microcks-default: true value: ssids: - example_value responses: '200': description: Statistics values content: application/json: schema: type: object properties: status: type: string payload: type: array items: $ref: '#/components/schemas/StatisticValue' examples: Readstatistics200Example: summary: Default readStatistics 200 response x-microcks-default: true value: status: example_value payload: - ssid: '500123' value: example_value timestamp: '2026-01-15T10:30:00Z' unit: example_value '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /Store/_rad_method/readHistory: put: operationId: readHistoricalStatistics summary: Solaris Zones Read Historical Statistics description: >- Read historical statistics data within a specified time range. The StatsStore maintains historical data at configurable retention intervals. tags: - Statistics Retrieval requestBody: required: true content: application/json: schema: type: object required: - ssids properties: ssids: type: array items: type: string description: Array of SSID strings to retrieve history for start: type: string format: date-time description: Start of the time range (ISO 8601) end: type: string format: date-time description: End of the time range (ISO 8601) step: type: integer description: Interval step in seconds between data points examples: ReadhistoricalstatisticsRequestExample: summary: Default readHistoricalStatistics request x-microcks-default: true value: ssids: - example_value start: '2026-01-15T10:30:00Z' end: '2026-01-15T10:30:00Z' step: 10 responses: '200': description: Historical statistics data content: application/json: schema: type: object properties: status: type: string payload: type: array items: $ref: '#/components/schemas/HistoricalStatistic' examples: Readhistoricalstatistics200Example: summary: Default readHistoricalStatistics 200 response x-microcks-default: true value: status: example_value payload: - ssid: '500123' dataPoints: - {} unit: example_value '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /Store/_rad_method/describe: put: operationId: describeStatistic summary: Solaris Zones Describe a Statistic description: >- Get metadata about a statistic including its description, data type, unit, and collection interval. tags: - Statistics Discovery requestBody: required: true content: application/json: schema: type: object required: - ssid properties: ssid: type: string description: SSID to describe example: '//:class:zones/utilization/cpu' examples: DescribestatisticRequestExample: summary: Default describeStatistic request x-microcks-default: true value: ssid: '500123' responses: '200': description: Statistic metadata content: application/json: schema: type: object properties: status: type: string payload: $ref: '#/components/schemas/StatisticMetadata' examples: Describestatistic200Example: summary: Default describeStatistic 200 response x-microcks-default: true value: status: example_value payload: ssid: '500123' description: A sample description. type: counter unit: example_value interval: 10 persistent: true '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /Store/_rad_method/readZoneStats: put: operationId: readZoneStatistics summary: Solaris Zones Read Zone-specific Statistics description: >- Read resource utilization statistics for one or more zones. Provides a convenient way to query zone-specific data without constructing full SSID paths. tags: - Zone Statistics requestBody: required: true content: application/json: schema: type: object properties: zones: type: array items: type: string description: Zone names to retrieve statistics for (empty for all zones) metrics: type: array items: type: string enum: - cpu - memory-rss - memory-vm - memory-locked - swap - nprocs - nlwps - network-bytes-in - network-bytes-out description: Metrics to retrieve examples: ReadzonestatisticsRequestExample: summary: Default readZoneStatistics request x-microcks-default: true value: zones: - example_value metrics: - cpu responses: '200': description: Zone statistics content: application/json: schema: type: object properties: status: type: string payload: type: array items: $ref: '#/components/schemas/ZoneStatistic' examples: Readzonestatistics200Example: summary: Default readZoneStatistics 200 response x-microcks-default: true value: status: example_value payload: - zoneName: example_value zoneId: '500123' metric: example_value value: 42.5 unit: example_value timestamp: '2026-01-15T10:30:00Z' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /Store/_rad_method/readSystemStats: put: operationId: readSystemStatistics summary: Solaris Zones Read System-wide Statistics description: >- Read system-wide performance statistics including total CPU, memory, I/O, and network utilization. tags: - System Statistics requestBody: content: application/json: schema: type: object properties: metrics: type: array items: type: string enum: - cpu-utilization - memory-utilization - memory-total - memory-free - swap-utilization - disk-io-bytes - network-bytes-total description: System metrics to retrieve examples: ReadsystemstatisticsRequestExample: summary: Default readSystemStatistics request x-microcks-default: true value: metrics: - cpu-utilization responses: '200': description: System statistics content: application/json: schema: type: object properties: status: type: string payload: type: array items: $ref: '#/components/schemas/SystemStatistic' examples: Readsystemstatistics200Example: summary: Default readSystemStatistics 200 response x-microcks-default: true value: status: example_value payload: - metric: example_value value: 42.5 unit: example_value timestamp: '2026-01-15T10:30:00Z' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: securitySchemes: cookieAuth: type: apiKey in: cookie name: _rad_session description: RAD session cookie obtained via authentication parameters: radDetail: name: _rad_detail in: query required: false description: Include detailed property information schema: type: boolean responses: Unauthorized: description: Authentication required or session expired content: application/json: schema: $ref: '#/components/schemas/RadError' schemas: RadError: type: object properties: status: type: string example: failure payload: type: object properties: code: type: integer message: type: string example: example_value StatisticIdentifier: type: object properties: ssid: type: string description: >- Statistics identifier in hierarchical namespace format (e.g., //:class:zones/zone-name/utilization/cpu) example: '500123' type: type: string description: Statistic data type enum: - counter - gauge - histogram - string example: counter description: type: string description: Human-readable description example: A sample description. StatisticValue: type: object properties: ssid: type: string description: Statistics identifier example: '500123' value: description: Current value (type depends on the statistic) oneOf: - type: number - type: string - type: integer example: example_value timestamp: type: string format: date-time description: When the value was recorded example: '2026-01-15T10:30:00Z' unit: type: string description: Unit of measurement example: example_value HistoricalStatistic: type: object properties: ssid: type: string description: Statistics identifier example: '500123' dataPoints: type: array items: type: object properties: timestamp: type: string format: date-time value: oneOf: - type: number - type: integer description: Time series data points example: [] unit: type: string description: Unit of measurement example: example_value StatisticMetadata: type: object properties: ssid: type: string description: Statistics identifier example: '500123' description: type: string description: Human-readable description example: A sample description. type: type: string description: Data type enum: - counter - gauge - histogram - string example: counter unit: type: string description: Unit of measurement (e.g., bytes, percent, count) example: example_value interval: type: integer description: Collection interval in seconds example: 10 persistent: type: boolean description: Whether historical data is retained example: true ZoneStatistic: type: object properties: zoneName: type: string description: Zone name example: example_value zoneId: type: integer description: Numeric zone ID example: '500123' metric: type: string description: Metric name example: example_value value: type: number description: Current metric value example: 42.5 unit: type: string description: Unit of measurement example: example_value timestamp: type: string format: date-time description: When the value was recorded example: '2026-01-15T10:30:00Z' SystemStatistic: type: object properties: metric: type: string description: System metric name example: example_value value: type: number description: Current metric value example: 42.5 unit: type: string description: Unit of measurement example: example_value timestamp: type: string format: date-time example: '2026-01-15T10:30:00Z'