ControlUp · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for VDI & DAAS Session API

5 actions 5 updates phrasing extends openapi/controlup-session-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/sessions'].get
$.paths['/v1/sessions/timeline/{sessionUid}'].get
$.paths['/v1/sessions/details'].get
$.paths['/v1/sessions/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 Session API
  version: 1.0.0
extends: openapi/controlup-session-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/sessions'].get
  update:
    x-apievangelist-phrasing:
      intent: Get user session statistics for a period
      effect: read
      questions:
      - What were each user's session statistics over the last week?
      - Which sessions had logon durations longer than 60 seconds?
      - Can I narrow session statistics to one user account or server?
      instructions:
      - text: Get {presetType} session statistics from {_timeFrom} to {_timeTo}.
        slots:
          _timeFrom: query._timeFrom
          _timeTo: query._timeTo
          presetType: query.presetType
      - text: Show {presetType} session stats for user {userAccount} between {_timeFrom} and {_timeTo}.
        slots:
          _timeFrom: query._timeFrom
          _timeTo: query._timeTo
          presetType: query.presetType
          userAccount: query.userAccount
      - text: List {presetType} sessions from {_timeFrom} to {_timeTo} with logon longer than {logonDurationgt} seconds.
        slots:
          _timeFrom: query._timeFrom
          _timeTo: query._timeTo
          logonDurationgt: query.logonDurationgt
          presetType: query.presetType
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/sessions/timeline/{sessionUid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a session's state-change timeline
      effect: read
      questions:
      - When did a particular session connect, disconnect and log off?
      - Can I see the sequence of state changes for one user session?
      instructions:
      - text: Get the timeline for session {sessionUid}.
        slots:
          sessionUid: path.sessionUid
      - text: Show the state changes of session {sessionUid} in order.
        slots:
          sessionUid: path.sessionUid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/sessions/details'].get
  update:
    x-apievangelist-phrasing:
      intent: Get activity details of an individual session
      effect: read
      questions:
      - What happened during one specific user's session on a machine?
      - Can I pull activity details for a single session that ended with an abnormal logoff?
      instructions:
      - text: Get details of session {sessionUid} on {machineName} ({computerId}) starting {sessionStartDateTime}, normal logoff {isNormalLogoff}.
        slots:
          computerId: query.computerId
          isNormalLogoff: query.isNormalLogoff
          machineName: query.machineName
          sessionStartDateTime: query.sessionStartDateTime
          sessionUid: query.sessionUid
      - text: Show activity for session {sessionUid} on machine {machineName} ({computerId}) from {sessionStartDateTime}, logoff normal {isNormalLogoff}.
        slots:
          computerId: query.computerId
          isNormalLogoff: query.isNormalLogoff
          machineName: query.machineName
          sessionStartDateTime: query.sessionStartDateTime
          sessionUid: query.sessionUid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/sessions/aggregated'].get
  update:
    x-apievangelist-phrasing:
      intent: Aggregate session metrics by a dimension
      effect: read
      questions:
      - What is the average logon duration per delivery group?
      - Can I group session activity by site, user or protocol and get min, max and count?
      instructions:
      - text: Aggregate session metrics {metrics} grouped by {groupBy} from {_timeFrom} to {_timeTo}.
        slots:
          _timeFrom: query._timeFrom
          _timeTo: query._timeTo
          groupBy: query.groupBy
          metrics: query.metrics
      - text: Show {aggregations} of {metrics} per {groupBy} between {_timeFrom} and {_timeTo}.
        slots:
          _timeFrom: query._timeFrom
          _timeTo: query._timeTo
          aggregations: query.aggregations
          groupBy: query.groupBy
          metrics: query.metrics
      method: generated
      generated: '2026-09-26'