IBM Turbonomic Markets API

Access Turbonomic markets and projected states

OpenAPI Specification

turbonomic-markets-api-openapi.yml Raw ↑
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