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'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/harness-perspective-reports-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.