Harness · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Harness Cloud and AI cost anomalies v2 API

8 actions 8 updates phrasing extends openapi/harness-cloud-and-ai-cost-anomalies-v2-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/anomaly/v2/list'].post
$.paths['/ccm/api/anomaly/v2/metrics'].post
$.paths['/ccm/api/anomaly/v2/summary'].post
$.paths['/ccm/api/anomaly/v2/metrics/time-series'].post
$.paths['/ccm/api/anomaly/v2/mean-resolution-time'].post
$.paths['/ccm/api/anomaly/v2/update/feedback'].put
$.paths['/ccm/api/anomaly/v2/update/status'].put

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 Cloud and AI cost anomalies v2 API
  version: 1.0.0
extends: openapi/harness-cloud-and-ai-cost-anomalies-v2-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/anomaly/v2/list'].post
  update:
    x-apievangelist-phrasing:
      intent: List cloud cost anomalies
      effect: read
      questions:
      - Which unexpected cloud cost spikes has Harness detected in my account?
      - Can I include anomalies I previously whitelisted in the list?
      - What cost anomalies show up within a specific perspective?
      instructions:
      - text: List cost anomalies for account {account}.
        slots:
          account: query.accountIdentifier
      - text: List cost anomalies matching filters {filters} in account {account}.
        slots:
          filters: requestBody.anomalyFilterPropertiesDTO
          account: query.accountIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/anomaly/v2/metrics'].post
  update:
    x-apievangelist-phrasing:
      intent: Get metrics for each type of cost anomaly
      effect: read
      questions:
      - How many cost anomalies of each type do I have, and what's their cost impact?
      - What are the anomaly metrics broken down by anomaly type?
      instructions:
      - text: Get anomaly metrics by type for account {account}.
        slots:
          account: query.accountIdentifier
      - text: Break down cost anomaly metrics by type for perspective query {perspective} (account {account}).
        slots:
          perspective: requestBody.perspectiveQueryDTO
          account: query.accountIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/anomaly/v2/summary'].post
  update:
    x-apievangelist-phrasing:
      intent: Summarize cost anomaly metrics
      effect: read
      questions:
      - What's the headline summary of my cost anomalies right now?
      - Can I get a single rolled-up summary of anomaly totals for a perspective?
      instructions:
      - text: Summarize cost anomaly metrics for account {account}.
        slots:
          account: query.accountIdentifier
      - text: Give me the rolled-up anomaly summary for filters {filters} in account {account}.
        slots:
          filters: requestBody.anomalyFilterPropertiesDTO
          account: query.accountIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/anomaly/v2/metrics/time-series'].post
  update:
    x-apievangelist-phrasing:
      intent: Chart cost anomaly metrics per day
      effect: read
      questions:
      - How have cost anomalies trended day by day?
      - Can I see a daily time series of anomalies for each anomaly type?
      instructions:
      - text: Get the daily anomaly time series for account {account}.
        slots:
          account: query.accountIdentifier
      - text: Plot per-day anomaly metrics using filters {filters} for account {account}.
        slots:
          filters: requestBody.anomalyFilterPropertiesDTO
          account: query.accountIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/anomaly/v2/mean-resolution-time'].post
  update:
    x-apievangelist-phrasing:
      intent: Get the mean time to resolve cost anomalies
      effect: read
      questions:
      - How long does my team take on average to resolve a cost anomaly?
      - What's the mean resolution time for anomalies in one perspective?
      instructions:
      - text: Get the mean anomaly resolution time for account {account}.
        slots:
          account: query.accountIdentifier
      - text: Calculate average time to resolve anomalies matching {filters} in account {account}.
        slots:
          filters: requestBody.anomalyFilterPropertiesDTO
          account: query.accountIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/anomaly/v2/update/feedback'].put
  update:
    x-apievangelist-phrasing:
      intent: Give feedback on a detected cost anomaly
      effect: write
      questions:
      - How do I tell Harness whether a flagged cost anomaly was real or a false alarm?
      - Can I record feedback on a specific anomaly?
      instructions:
      - text: Mark anomaly {anomaly} with feedback {feedback} in account {account}.
        slots:
          anomaly: query.anomalyId
          feedback: query.feedback
          account: query.accountIdentifier
      - text: Flag cost anomaly {anomaly} as a false alarm in account {account}.
        slots:
          anomaly: query.anomalyId
          account: query.accountIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ccm/api/anomaly/v2/update/status'].put
  update:
    x-apievangelist-phrasing:
      intent: Change the status of a cost anomaly
      effect: write
      questions:
      - How do I mark a cost anomaly as resolved or archived?
      - Can I update the status of one anomaly by ID?
      instructions:
      - text: Set anomaly {anomaly} to status {status} in account {account}.
        slots:
          anomaly: query.anomalyId
          status: query.status
          account: query.accountIdentifier
      - text: Resolve cost anomaly {anomaly} for account {account}.
        slots:
          anomaly: query.anomalyId
          account: query.accountIdentifier
      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-cloud-and-ai-cost-anomalies-v2-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.