Harness · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Harness Unit Metric API
7 actions
7 updates
phrasing
extends
openapi/harness-unit-metric-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.
What the actions change
x-apievangelist-phrasing
Targets 7
$.info
$.paths['/ccm/api/unit-metric'].get
$.paths['/ccm/api/unit-metric'].put
$.paths['/ccm/api/unit-metric'].post
$.paths['/ccm/api/unit-metric'].delete
$.paths['/ccm/api/unit-metric/perspective/{perspectiveId}'].post
$.paths['/ccm/api/unit-metric/list'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Harness Unit Metric API
version: 1.0.0
extends: openapi/harness-unit-metric-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/unit-metric'].get
update:
x-apievangelist-phrasing:
intent: Get a unit metric's records over time
effect: read
questions:
- What were the values of a unit cost metric, like cost per customer, over the last month?
- Can I group a unit metric's records by day or month?
instructions:
- text: Get unit metric {metric} records from {start} to {end} in account {account}.
slots:
metric: query.metricIdentifier
start: query.startTime
end: query.endTime
account: query.accountIdentifier
- text: Show unit metric {metric} grouped by {group} between {start} and {end}.
slots:
metric: query.metricIdentifier
group: query.timeTruncGroupBy
start: query.startTime
end: query.endTime
method: generated
generated: '2026-09-26'
- target: $.paths['/ccm/api/unit-metric'].put
update:
x-apievangelist-phrasing:
intent: Update a unit metric definition
effect: write
questions:
- How do I change the name or default aggregation of an existing unit metric?
- Can I push new records into a unit metric I already defined?
instructions:
- text: Update unit metric {metric} to name {name} in account {account}.
slots:
metric: requestBody.metricIdentifier
name: requestBody.metricName
account: query.accountIdentifier
- text: Change the default aggregation of existing unit metric {metric} ({name}) to {aggregation}.
slots:
metric: requestBody.metricIdentifier
name: requestBody.metricName
aggregation: requestBody.defaultAggregation
method: generated
generated: '2026-09-26'
- target: $.paths['/ccm/api/unit-metric'].post
update:
x-apievangelist-phrasing:
intent: Create a unit metric
effect: write
questions:
- How do I define a new business unit metric, such as cost per transaction?
- Can a new unit metric be derived from a data source field instead of uploaded records?
instructions:
- text: Create unit metric {metric} named {name} in account {account}.
slots:
metric: requestBody.metricIdentifier
name: requestBody.metricName
account: query.accountIdentifier
- text: Define a new {type} unit metric {metric} called {name} from data source {source}.
slots:
type: requestBody.type
metric: requestBody.metricIdentifier
name: requestBody.metricName
source: requestBody.dataSource
method: generated
generated: '2026-09-26'
- target: $.paths['/ccm/api/unit-metric'].delete
update:
x-apievangelist-phrasing:
intent: Delete unit metric records or the whole metric
effect: destructive
questions:
- How do I delete a unit metric's records for a certain time range?
- Can I remove a unit metric definition along with all its records?
instructions:
- text: Delete records of unit metric {metric} between {start} and {end} in account {account}.
slots:
metric: query.identifier
start: query.startTime
end: query.endTime
account: query.accountIdentifier
- text: Completely remove unit metric {metric} and all its records from account {account}.
slots:
metric: query.identifier
account: query.accountIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/ccm/api/unit-metric/perspective/{perspectiveId}'].post
update:
x-apievangelist-phrasing:
intent: Query a derived unit metric within a perspective
effect: read
questions:
- What does a derived unit metric look like when scoped to one cost perspective?
- Can I add extra filters on top of a perspective's rules when querying a unit metric?
instructions:
- text: Get derived metric {metric} for perspective {perspective} from {start} to {end}.
slots:
metric: query.metricIdentifier
perspective: path.perspectiveId
start: query.startTime
end: query.endTime
- text: Query column metric {metric} in perspective {perspective} with extra filter {filter} from {start} to {end}.
slots:
metric: query.metricIdentifier
perspective: path.perspectiveId
filter: query.overrideFilter
start: query.startTime
end: query.endTime
method: generated
generated: '2026-09-26'
- target: $.paths['/ccm/api/unit-metric/list'].get
update:
x-apievangelist-phrasing:
intent: List all unit metrics in an account
effect: read
questions:
- Which unit metrics have been defined in my cloud cost account?
- Can I search unit metric definitions by name?
instructions:
- text: List unit metrics in account {account}, page {page} of size {size}.
slots:
account: query.accountIdentifier
page: query.pageNo
size: query.pageSize
- text: Find unit metric definitions matching {term}, {size} per page.
slots:
term: query.searchKey
size: query.pageSize
method: generated
generated: '2026-09-26'