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