openapi: 3.1.0 info: title: Turbonomic REST Actions Markets API description: The IBM Turbonomic REST API provides programmatic access to the Turbonomic Application Resource Management (ARM) platform. It enables automation of resource optimization actions, querying of entities (VMs, containers, applications, storage), management of markets and policies, retrieval of statistics and analytics, group management, template administration, and topology exploration across hybrid cloud environments. version: v3 contact: name: IBM Turbonomic Support url: https://www.ibm.com/mysupport/s/topic/0TO0z000000ZnCCGA0/turbonomic-application-resource-management license: name: IBM Terms of Service url: https://www.ibm.com/terms servers: - url: https://{turbonomic_host}/api/v3 description: Turbonomic Server variables: turbonomic_host: description: The hostname or IP address of the Turbonomic server default: turbonomic.example.com tags: - name: Markets description: Access Turbonomic markets and projected states paths: /markets: get: operationId: getMarkets summary: Get All Markets description: Retrieve all Turbonomic markets. Markets represent simulation scenarios used to project the state of the environment and evaluate optimization actions. tags: - Markets security: - bearerAuth: [] responses: '200': description: List of markets content: application/json: schema: type: array items: $ref: '#/components/schemas/Market' /markets/{uuid}/actions: get: operationId: getMarketActions summary: Get Market Actions description: Retrieve all pending optimization actions for a market. By default, queries the realtime market (Market) for all pending actions. tags: - Markets security: - bearerAuth: [] parameters: - name: uuid in: path required: true description: Market UUID (use 'Market' for the realtime market) schema: type: string - name: ascending in: query description: Sort order for results schema: type: boolean default: false responses: '200': description: List of actions in the market content: application/json: schema: type: array items: $ref: '#/components/schemas/Action' /markets/{uuid}/actions/stats: post: operationId: getMarketActionStats summary: Get Market Action Statistics description: Retrieve aggregate statistics for actions in a market filtered by criteria. tags: - Markets security: - bearerAuth: [] parameters: - name: uuid in: path required: true description: Market UUID schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ActionFilter' responses: '200': description: Action statistics content: application/json: schema: type: array items: $ref: '#/components/schemas/StatSnapshot' components: schemas: Market: type: object description: A Turbonomic market (real-time or plan scenario) properties: uuid: type: string description: Unique identifier of the market displayName: type: string description: Human-readable name (e.g., 'Market' for real-time) state: type: string description: Current state of the market type: type: string description: Market type (REALTIME, PLAN) StatSnapshot: type: object description: A statistical snapshot for a resource metric properties: date: type: string format: date-time description: Timestamp of the statistic statistics: type: array items: type: object properties: name: type: string description: Name of the statistic (e.g., CPU, Mem, StorageAmount) value: type: number description: Metric value units: type: string description: Units for the value ActionFilter: type: object description: Filter criteria for retrieving action statistics properties: actionModeList: type: array items: type: string description: Filter by action modes actionTypeList: type: array items: type: string description: Filter by action types EntityRef: type: object description: A reference to an entity properties: uuid: type: string description: Entity UUID displayName: type: string description: Entity display name className: type: string description: Entity type Action: type: object description: An optimization action recommended by Turbonomic properties: uuid: type: string description: Unique identifier of the action actionType: type: string description: Type of action (e.g., RESIZE, MOVE, PROVISION, SUSPEND, DELETE) actionMode: type: string description: Execution mode (MANUAL, AUTOMATIC, RECOMMEND, DISABLED) details: type: string description: Human-readable description of the action importance: type: number description: Importance score for prioritizing actions severity: type: string description: Severity level (CRITICAL, MAJOR, MINOR) state: type: string description: Current state of the action createTime: type: string format: date-time description: When the action was first generated target: $ref: '#/components/schemas/EntityRef' newEntity: $ref: '#/components/schemas/EntityRef' currentEntity: $ref: '#/components/schemas/EntityRef' risk: type: object description: Risk assessment for this action securitySchemes: bearerAuth: type: http scheme: bearer description: Bearer token obtained by calling POST /api/v3/login with username and password. Include in the Authorization header as 'Bearer {token}'. externalDocs: description: Turbonomic REST API Reference url: https://www.ibm.com/docs/en/tarm/8.19.3?topic=reference-turbonomic-rest-api-endpoints