ControlUp · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for VDI & DAAS Machine API

5 actions 5 updates phrasing extends openapi/controlup-machine-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for ControlUp's API. It is a proposal applied on top of the contract, not a document ControlUp publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 5

$.info
$.paths['/v1/machines/statistics/{grouping}'].get
$.paths['/v1/machines/sizing_recommendation/virtualization'].get
$.paths['/v1/machines/sizing_recommendation/azure'].get
$.paths['/v1/machines/aggregated'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for VDI & DAAS Machine API
  version: 1.0.0
extends: openapi/controlup-machine-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 4
- target: $.paths['/v1/machines/statistics/{grouping}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get historical machine resource statistics
      effect: read
      questions:
      - What was each machine's peak CPU and memory usage last week?
      - Can I see historical resource consumption grouped by machine?
      instructions:
      - text: Get {aggregationType} machine statistics grouped by {grouping} from {_timeFrom} to {_timeTo}.
        slots:
          aggregationType: query.aggregationType
          grouping: path.grouping
          _timeFrom: query._timeFrom
          _timeTo: query._timeTo
      - text: Show {metricsType} machine stats per {grouping} between {_timeFrom} and {_timeTo}, using {aggregationType}.
        slots:
          metricsType: query.metricsType
          grouping: path.grouping
          _timeFrom: query._timeFrom
          _timeTo: query._timeTo
          aggregationType: query.aggregationType
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/machines/sizing_recommendation/virtualization'].get
  update:
    x-apievangelist-phrasing:
      intent: Get VM sizing recommendations for virtual environments
      effect: read
      questions:
      - Are my on-prem virtual machines over- or under-provisioned?
      - Can sizing recommendations use only active-session hours instead of 24/7?
      instructions:
      - text: Get sizing recommendations for my virtual machines.
      - text: Get virtualization sizing recommendations with active session sizing set to {activeSessionSizing}.
        slots:
          activeSessionSizing: query.activeSessionSizing
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/machines/sizing_recommendation/azure'].get
  update:
    x-apievangelist-phrasing:
      intent: Get Azure VM sizing recommendations
      effect: read
      questions:
      - Which Azure VM size would cost least for my machines in a given region?
      - Can Azure sizing recommendations factor in Hybrid Benefit and reserved instances?
      instructions:
      - text: Get Azure sizing recommendations for region {azureRegion} with license {license}.
        slots:
          azureRegion: query.azureRegion
          license: query.license
      - text: Recommend Azure VM sizes in {azureRegion} under license {license} priced in {currency} with cost option {costOption}.
        slots:
          azureRegion: query.azureRegion
          license: query.license
          currency: query.currency
          costOption: query.costOption
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/machines/aggregated'].get
  update:
    x-apievangelist-phrasing:
      intent: Aggregate machine metrics by a dimension
      effect: read
      questions:
      - What's the average CPU usage per operating system across my fleet?
      - How many machines are in each Azure region, and what's their max memory use?
      instructions:
      - text: Aggregate {metrics} grouped by {groupBy} from {_timeFrom} to {_timeTo}.
        slots:
          metrics: query.metrics
          groupBy: query.groupBy
          _timeFrom: query._timeFrom
          _timeTo: query._timeTo
      - text: Show {aggregations} of {metrics} per {groupBy} for machines on {operatingSystem} between {_timeFrom} and {_timeTo}.
        slots:
          aggregations: query.aggregations
          metrics: query.metrics
          groupBy: query.groupBy
          operatingSystem: query.operatingSystem
          _timeFrom: query._timeFrom
          _timeTo: query._timeTo
      method: generated
      generated: '2026-09-26'