Harness · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Harness Perspectives API

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

What the actions change

x-apievangelist-phrasing

Targets 8

$.info
$.paths['/ccm/api/perspective'].get
$.paths['/ccm/api/perspective'].put
$.paths['/ccm/api/perspective'].post
$.paths['/ccm/api/perspective'].delete
$.paths['/ccm/api/perspective/getAllPerspectives'].get
$.paths['/ccm/api/perspective/lastPeriodCost'].get
$.paths['/ccm/api/perspective/lastYearMonthlyCost'].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 Harness Perspectives API
  version: 1.0.0
extends: openapi/harness-perspectives-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: 7
- target: $.paths['/ccm/api/perspective'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a cloud cost perspective
      effect: read
      questions:
      - What rules and data sources make up a particular cost perspective?
      - Can I view one perspective's definition by its id?
      instructions:
      - text: Show cost perspective {perspectiveId}.
        slots:
          perspectiveId: query.perspectiveId
      - text: Get the rules and visualization settings of perspective {perspectiveId}.
        slots:
          perspectiveId: query.perspectiveId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/perspective'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a cost perspective
      effect: write
      questions:
      - How do I change the rules or time range of an existing perspective?
      - Can I move a perspective into a different folder?
      instructions:
      - text: Rename perspective {uuid} to {name}.
        slots:
          uuid: requestBody.uuid
          name: requestBody.name
      - text: Move perspective {uuid} into folder {folderId}.
        slots:
          uuid: requestBody.uuid
          folderId: requestBody.folderId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/perspective'].post
  update:
    x-apievangelist-phrasing:
      intent: Create or clone a cost perspective
      effect: write
      questions:
      - How do I build a new cloud cost perspective in Harness CCM?
      - Can I clone an existing perspective instead of starting from scratch?
      instructions:
      - text: Create a cost perspective named {name}.
        slots:
          name: requestBody.name
      - text: Clone perspective {uuid} as {name}, with clone set to {clone}.
        slots:
          uuid: requestBody.uuid
          name: requestBody.name
          clone: query.clone
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/perspective'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a cost perspective
      effect: destructive
      questions:
      - How do I remove a cost perspective I no longer need?
      - Is deleting a perspective done by its id?
      instructions:
      - text: Delete cost perspective {perspectiveId}.
        slots:
          perspectiveId: query.perspectiveId
      - text: Remove perspective {perspectiveId} from my account.
        slots:
          perspectiveId: query.perspectiveId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/perspective/getAllPerspectives'].get
  update:
    x-apievangelist-phrasing:
      intent: List all cost perspectives
      effect: read
      questions:
      - Which cost perspectives exist in my account?
      - Can I search or sort perspectives by name or cloud provider?
      instructions:
      - text: List my cost perspectives, {pageSize} per page, page {pageNo}.
        slots:
          pageSize: query.pageSize
          pageNo: query.pageNo
      - text: Search perspectives for {searchKey}.
        slots:
          searchKey: query.searchKey
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/perspective/lastPeriodCost'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a perspective's cost for the last period
      effect: read
      questions:
      - What did a perspective cost in the previous period?
      - Can I compare this month's perspective spend with last month's?
      instructions:
      - text: Get the last {period} cost for perspective {perspectiveId} from {startTime}.
        slots:
          period: query.period
          perspectiveId: query.perspectiveId
          startTime: query.startTime
      - text: Show the previous-period spend of perspective {perspectiveId}, period {period}, starting {startTime}.
        slots:
          perspectiveId: query.perspectiveId
          period: query.period
          startTime: query.startTime
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/perspective/lastYearMonthlyCost'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a perspective's last 12 months of cost
      effect: read
      questions:
      - What has a perspective cost month by month over the past year?
      - Can I break down twelve months of perspective cost?
      instructions:
      - text: Show twelve months of monthly cost for perspective {perspectiveId} from {startTime}, period {period}, type {type}, breakdown {breakdown}.
        slots:
          perspectiveId: query.perspectiveId
          startTime: query.startTime
          period: query.period
          type: query.type
          breakdown: query.breakdown
      - text: Get last year's monthly spend for perspective {perspectiveId} broken down by {breakdown}.
        slots:
          perspectiveId: query.perspectiveId
          breakdown: query.breakdown
      method: generated
      generated: '2026-09-26'