Harness · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Harness Perspective Reports API

7 actions 7 updates phrasing extends openapi/harness-perspective-reports-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 7

$.info
$.paths['/ccm/api/perspectiveReport/{accountIdentifier}'].get
$.paths['/ccm/api/perspectiveReport/{accountIdentifier}'].put
$.paths['/ccm/api/perspectiveReport/{accountIdentifier}'].post
$.paths['/ccm/api/perspectiveReport/{accountIdentifier}'].delete
$.paths['/ccm/api/perspectiveReport/getAllReports'].post
$.paths['/ccm/api/perspectiveReport/sendMail'].post

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 Perspective Reports API
  version: 1.0.0
extends: openapi/harness-perspective-reports-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: 6
- target: $.paths['/ccm/api/perspectiveReport/{accountIdentifier}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a cost perspective report schedule
      effect: read
      questions:
      - What scheduled cost reports are attached to a given perspective?
      - Can I look up a cloud cost report's settings by its report ID?
      instructions:
      - text: Get the cost report schedules for perspective {perspectiveId} in account {account}.
        slots:
          perspectiveId: query.perspectiveId
          account: path.accountIdentifier
      - text: Show cost report {reportId} in account {account}.
        slots:
          reportId: query.reportId
          account: path.accountIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/perspectiveReport/{accountIdentifier}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a scheduled cost report
      effect: write
      questions:
      - How do I change who receives a scheduled perspective cost report?
      - Can I change the cron schedule of an existing cost report?
      instructions:
      - text: Update cost report {name} in account {account} to send to {recipients} on cron {userCron} for perspectives {viewsId}.
        slots:
          name: requestBody.name
          account: path.accountIdentifier
          recipients: requestBody.recipients
          userCron: requestBody.userCron
          viewsId: requestBody.viewsId
      - text: Change existing report {uuid} in account {account} to run on {userCron}.
        slots:
          uuid: requestBody.uuid
          account: path.accountIdentifier
          userCron: requestBody.userCron
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/perspectiveReport/{accountIdentifier}'].post
  update:
    x-apievangelist-phrasing:
      intent: Schedule a cost perspective report
      effect: write
      questions:
      - How do I email a cloud cost perspective report to my team every week?
      - Can a new scheduled cost report skip rows below a cost threshold?
      instructions:
      - text: Schedule a new report {name} in account {account} for perspectives {viewsId} to {recipients} on cron {userCron}.
        slots:
          name: requestBody.name
          account: path.accountIdentifier
          viewsId: requestBody.viewsId
          recipients: requestBody.recipients
          userCron: requestBody.userCron
      - text: Create report schedule {name} in account {account} in time zone {userCronTimeZone}.
        slots:
          name: requestBody.name
          account: path.accountIdentifier
          userCronTimeZone: requestBody.userCronTimeZone
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/perspectiveReport/{accountIdentifier}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a scheduled cost report
      effect: destructive
      questions:
      - How do I stop a scheduled perspective cost report?
      - Can I delete every report attached to one perspective?
      instructions:
      - text: Delete cost report {reportId} in account {account}.
        slots:
          reportId: query.reportId
          account: path.accountIdentifier
      - text: Remove the reports for perspective {perspectiveId} in account {account}.
        slots:
          perspectiveId: query.perspectiveId
          account: path.accountIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/perspectiveReport/getAllReports'].post
  update:
    x-apievangelist-phrasing:
      intent: List cost reports I can access
      effect: read
      questions:
      - Which scheduled cost reports am I able to see?
      - Can I search the cost reports available to me by text?
      instructions:
      - text: List all cost reports I can access.
      - text: Search accessible cost reports for {searchText}.
        slots:
          searchText: requestBody.searchText
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/perspectiveReport/sendMail'].post
  update:
    x-apievangelist-phrasing:
      intent: Email a cost report now
      effect: write
      questions:
      - Can I send a cost report email immediately instead of waiting for its schedule?
      - How do I trigger the mail for a perspective report on demand?
      instructions:
      - text: Send the email for cost report {reportId} now.
        slots:
          reportId: requestBody.reportId
      - text: Email the report for perspective {perspectiveId} right away.
        slots:
          perspectiveId: requestBody.perspectiveId
      method: generated
      generated: '2026-09-26'