Harness · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Harness Budget Groups API
9 actions
9 updates
phrasing
extends
openapi/harness-budget-groups-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 9
$.info
$.paths['/ccm/api/budgetGroups/{id}'].get
$.paths['/ccm/api/budgetGroups/{id}'].put
$.paths['/ccm/api/budgetGroups/{id}'].delete
$.paths['/ccm/api/budgetGroups/v2/list'].post
$.paths['/ccm/api/budgetGroups/aggregatedAmount'].post
$.paths['/ccm/api/budgetGroups/summary'].get
$.paths['/ccm/api/budgetGroups'].get
$.paths['/ccm/api/budgetGroups'].post
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 Budget Groups API
version: 1.0.0
extends: openapi/harness-budget-groups-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: 8
- target: $.paths['/ccm/api/budgetGroups/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a budget group's details
effect: read
questions:
- What amount and alert thresholds are set on one of my budget groups?
- Can I look up a single cloud cost budget group by its ID?
instructions:
- text: Get budget group {id} in account {account}.
slots:
id: path.id
account: query.accountIdentifier
- text: Show the actual versus forecast cost for budget group {id} in account {account}.
slots:
id: path.id
account: query.accountIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/ccm/api/budgetGroups/{id}'].put
update:
x-apievangelist-phrasing:
intent: Update a budget group
effect: write
questions:
- How do I raise the amount on an existing budget group?
- Can I change the alert thresholds of a budget group after creating it?
instructions:
- text: Set budget group {id} in account {account} to {amount}.
slots:
id: path.id
account: query.accountIdentifier
amount: requestBody.budgetGroupAmount
- text: Update the alert thresholds of budget group {id} in account {account} to {thresholds}.
slots:
id: path.id
account: query.accountIdentifier
thresholds: requestBody.alertThresholds
method: generated
generated: '2026-09-26'
- target: $.paths['/ccm/api/budgetGroups/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a budget group
effect: destructive
questions:
- How do I remove a budget group I no longer track?
- Can a budget group be deleted by its ID?
instructions:
- text: Delete budget group {id} in account {account}.
slots:
id: path.id
account: query.accountIdentifier
- text: Remove the budget group {id} from cost tracking in account {account}.
slots:
id: path.id
account: query.accountIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/ccm/api/budgetGroups/v2/list'].post
update:
x-apievangelist-phrasing:
intent: Filter budget groups into a hierarchy
effect: read
questions:
- Can I filter my budget groups by amount range or budget status?
- Which budget groups were created by a particular user, shown as a tree?
instructions:
- text: Filter budget groups in account {account} with amounts between {min} and {max}.
slots:
account: query.accountIdentifier
min: requestBody.minBudgetAmount
max: requestBody.maxBudgetAmount
- text: Search budget groups for {search} in account {account} and return them as a hierarchy.
slots:
search: requestBody.searchKey
account: query.accountIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/ccm/api/budgetGroups/aggregatedAmount'].post
update:
x-apievangelist-phrasing:
intent: Get aggregated amounts for budgets or groups
effect: read
questions:
- What is the combined amount across a set of budgets or budget groups?
- Can I aggregate last period cost for child budgets under a group?
instructions:
- text: Get the aggregated amount for my budget groups in account {account}.
slots:
account: query.accountIdentifier
- text: 'Aggregate last period cost in account {account}, treating child entities as budgets: {children_are_budgets}.'
slots:
account: query.accountIdentifier
children_are_budgets: query.areChildEntitiesBudgets
method: generated
generated: '2026-09-26'
- target: $.paths['/ccm/api/budgetGroups/summary'].get
update:
x-apievangelist-phrasing:
intent: Summarize budgets and budget groups
effect: read
questions:
- Can I see a summary of both budgets and budget groups together?
- What budgets sit under a specific budget group?
instructions:
- text: Summarize budgets and budget groups in account {account}.
slots:
account: query.accountIdentifier
- text: Show the budget summaries under budget group {group} in account {account}.
slots:
group: query.budgetGroupId
account: query.accountIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/ccm/api/budgetGroups'].get
update:
x-apievangelist-phrasing:
intent: List all budget groups
effect: read
questions:
- Which budget groups exist in my Harness cloud cost account?
- Can I sort my budget groups a particular way when listing them?
instructions:
- text: List all budget groups in account {account}.
slots:
account: query.accountIdentifier
- text: List budget groups in account {account} sorted by {sort} in {order} order.
slots:
account: query.accountIdentifier
sort: query.budgetGroupSortType
order: query.sortOrder
method: generated
generated: '2026-09-26'
- target: $.paths['/ccm/api/budgetGroups'].post
update:
x-apievangelist-phrasing:
intent: Create a budget group with cost alerts
effect: write
questions:
- How do I get alerted when a group of budgets exceeds a combined amount?
- Can I create a budget group that alerts on forecasted overspend?
instructions:
- text: Create budget group {name} with amount {amount} in account {account}.
slots:
name: requestBody.name
amount: requestBody.budgetGroupAmount
account: query.accountIdentifier
- text: Create a {period} budget group {name} over budgets {children} in account {account}.
slots:
period: requestBody.period
name: requestBody.name
children: requestBody.childEntities
account: query.accountIdentifier
method: generated
generated: '2026-09-26'