# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Harness Anomalies API version: 1.0.0 extends: openapi/harness-anomalies-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/summary'].post update: x-apievangelist-phrasing: intent: Summarize cloud cost anomalies effect: read questions: - What is the overall picture of cost anomalies across my clouds? - Can I get anomaly totals grouped by cluster or AWS service? instructions: - text: Summarize cost anomalies for account {account}. slots: account: query.accountIdentifier - text: Summarize anomalies grouped by {group} with anomalous spend above {min}. slots: group: requestBody.groupBy min: requestBody.minAnomalousSpend method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/anomaly/filter-values'].post update: x-apievangelist-phrasing: intent: List distinct values for anomaly filters effect: read questions: - What values can I filter cost anomalies by? - Do the anomaly filter options include anomalies I've whitelisted? instructions: - text: Get anomaly filter values for account {account}, including whitelisted set to {whitelisted}. slots: account: query.accountIdentifier whitelisted: query.showWhitelistedAnomalies - text: List distinct anomaly field values with whitelisted anomalies {whitelisted}. slots: whitelisted: query.showWhitelistedAnomalies method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/anomaly'].post update: x-apievangelist-phrasing: intent: List detected cost anomalies effect: read questions: - Which unexpected cost spikes have been detected in my cloud spend? - Can I list anomalies for just one perspective? instructions: - text: List cost anomalies for account {account}. slots: account: query.accountIdentifier - text: Show detected anomalies in perspective {perspective}. slots: perspective: query.perspectiveId method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/anomaly/listIgnoredAnomalies'].post update: x-apievangelist-phrasing: intent: List anomalies on the ignore list effect: read questions: - Which cost anomalies have we put on the ignore list? - Can I search ignored anomalies by text? instructions: - text: List ignored anomalies for account {account}. slots: account: query.accountIdentifier - text: Search the anomaly ignore list for {text}. slots: text: requestBody.searchText method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/anomaly/perspective/{perspectiveId}'].post update: x-apievangelist-phrasing: intent: List anomalies for a perspective effect: read questions: - What cost anomalies show up in a particular perspective? - Can I group a perspective's anomalies by a dimension? instructions: - text: List anomalies for perspective {perspective}, whitelisted shown {whitelisted}. slots: perspective: path.perspectiveId whitelisted: query.showWhitelistedAnomalies - text: Get anomalies in perspective {perspective} grouped by {group}. slots: perspective: path.perspectiveId group: requestBody.groupBy method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/anomaly/feedback'].put update: x-apievangelist-phrasing: intent: Mark an anomaly as true or false effect: write questions: - Can I tell the system that a flagged cost anomaly was a false alarm? - Where do I confirm that an anomaly was a real spike? instructions: - text: Report anomaly {anomaly} as {feedback}. slots: anomaly: query.anomalyId feedback: requestBody.feedback - text: Mark anomaly {anomaly} as a false positive. slots: anomaly: query.anomalyId method: generated generated: '2026-09-26' - target: $.paths['/cf/admin/anomalies/{identifier}/dismiss'].put update: x-apievangelist-phrasing: intent: Dismiss a CCM anomaly effect: write questions: - Can I acknowledge a CCM anomaly so it no longer needs attention? - What does dismissing an anomaly in an environment do? instructions: - text: Dismiss anomaly {anomaly} in environment {env}. slots: anomaly: path.identifier env: query.environmentIdentifier - text: Acknowledge anomaly {anomaly} in project {project}. slots: anomaly: path.identifier project: query.projectIdentifier method: generated generated: '2026-09-26'