# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Harness Budgets API version: 1.0.0 extends: openapi/harness-budgets-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: 20 - target: $.paths['/ccm/api/budgets/bulk/adjust-budget-amount'].post update: x-apievangelist-phrasing: intent: Adjust the amount of many budgets at once effect: write questions: - Can I raise several cloud cost budgets by a percentage in one request? - How do I bulk change the amount on a set of Harness budgets? - Is the bulk adjustment a fixed amount or a percentage of each budget? instructions: - text: Increase budgets {budgetIds} by {adjustmentValue} using adjustment type {adjustBudgetBulkRequestType}. slots: budgetIds: requestBody.budgetIds adjustmentValue: requestBody.adjustmentValue adjustBudgetBulkRequestType: requestBody.adjustBudgetBulkRequestType - text: Bulk adjust the amount of budgets {budgetIds} by {adjustmentValue}. slots: budgetIds: requestBody.budgetIds adjustmentValue: requestBody.adjustmentValue method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/budgets/bulk/clone'].post update: x-apievangelist-phrasing: intent: Clone several budgets in bulk effect: write questions: - Can I duplicate a batch of budgets and decide how their alerts are copied? - What suffix gets added to budgets I clone in bulk? - When bulk cloning budgets, can I send the copied alerts to new email or Slack recipients? instructions: - text: Clone budgets {budgetIds} in bulk with alert mode {alertMode}. slots: budgetIds: requestBody.budgetIds alertMode: requestBody.alertMode - text: Bulk clone budgets {budgetIds}, add suffix {suffix} to the copies and handle alerts with {alertMode}. slots: budgetIds: requestBody.budgetIds suffix: requestBody.suffix alertMode: requestBody.alertMode - text: Clone budgets {budgetIds} and route the copied alert thresholds to {emailRecipients} using alert mode {alertMode}. slots: budgetIds: requestBody.budgetIds emailRecipients: requestBody.emailRecipients alertMode: requestBody.alertMode method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/budgets/bulk/create-cost-bucket-budgets'].post update: x-apievangelist-phrasing: intent: Create budgets for many cost buckets at once effect: write questions: - How do I create a budget for every cost bucket in a cost category in one call? - Can bulk cost bucket budgets be set up with a growth rate instead of a fixed amount? - Which period and type do I need when creating cost bucket budgets in bulk? instructions: - text: Create {period} budgets of {budgetAmount} for cost buckets {costBucketIds} in cost category {costCategoryId}, type {type}. slots: period: requestBody.period budgetAmount: requestBody.budgetAmount costBucketIds: requestBody.costBucketIds costCategoryId: requestBody.costCategoryId type: requestBody.type - text: Bulk create cost bucket budgets for category {costCategoryId} buckets {costBucketIds} with name prefix {namePrefix}, period {period}, type {type}. slots: costCategoryId: requestBody.costCategoryId costBucketIds: requestBody.costBucketIds namePrefix: requestBody.namePrefix period: requestBody.period type: requestBody.type method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/budgets/bulk/delete'].post update: x-apievangelist-phrasing: intent: Delete several budgets at once effect: destructive questions: - Can I delete a whole list of cost budgets in a single request? - What happens if I bulk delete budgets in Harness Cloud Cost Management? instructions: - text: Delete budgets {budgetIds} in bulk. slots: budgetIds: requestBody.budgetIds - text: 'Remove all of these budgets at once: {budgetIds}.' slots: budgetIds: requestBody.budgetIds method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/budgets/bulk/check-job-status'].get update: x-apievangelist-phrasing: intent: Check the status of a bulk budget job effect: read questions: - Has my bulk budget update job finished yet? - Can I tell whether a bulk budget job is running, completed or failed? instructions: - text: Check whether the bulk budget update job in account {accountIdentifier} is still running. slots: accountIdentifier: query.accountIdentifier - text: Show the status of the latest bulk budget job. method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/budgets/bulk/manage-alerts'].post update: x-apievangelist-phrasing: intent: Manage alerts on many budgets at once effect: write questions: - Can I add or remove alert recipients across many budgets in one go? - How do I delete the alerts on a batch of budgets? - Which alert actions are supported for bulk budget alert management? instructions: - text: Apply alert action {action} to budgets {budgetIds}. slots: action: requestBody.action budgetIds: requestBody.budgetIds - text: Add email recipients {emailRecipients} to the alerts on budgets {budgetIds} using action {action}. slots: emailRecipients: requestBody.emailRecipients budgetIds: requestBody.budgetIds action: requestBody.action - text: Add alert thresholds {alertThresholds} to budgets {budgetIds} with action {action}. slots: alertThresholds: requestBody.alertThresholds budgetIds: requestBody.budgetIds action: requestBody.action method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/budgets/{id}'].get update: x-apievangelist-phrasing: intent: Get a budget's details effect: read questions: - What amount, period and thresholds are set on one specific budget? - How can I look up a single cost budget by its ID? instructions: - text: Show the details of budget {id}. slots: id: path.id - text: Fetch budget {id} so I can review its configuration. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/budgets/{id}'].put update: x-apievangelist-phrasing: intent: Update an existing budget effect: write questions: - How do I edit a budget I already created? - Can I change an existing budget's settings by its ID? instructions: - text: Update budget {id} with the new settings. slots: id: path.id - text: Save changes to existing budget {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/budgets/{id}'].post update: x-apievangelist-phrasing: intent: Clone a single budget under a new name effect: write questions: - Can I copy one budget and give the copy its own name? - How do I duplicate a single existing budget? instructions: - text: Clone budget {id} as {cloneName}. slots: id: path.id cloneName: query.cloneName - text: Make a copy of budget {id} named {cloneName}. slots: id: path.id cloneName: query.cloneName method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/budgets/{id}'].delete update: x-apievangelist-phrasing: intent: Delete a single budget effect: destructive questions: - How do I remove one budget by its ID? - Is deleting a single budget permanent? instructions: - text: Delete budget {id}. slots: id: path.id - text: Remove the budget with ID {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/budgets/filter-values'].post update: x-apievangelist-phrasing: intent: Get the available filter values for budgets effect: read questions: - Which values can I filter my budget list by for a given column? - What filter options exist for budgets, like periods or creators? instructions: - text: List the filter values available for budget columns {columns}. slots: columns: requestBody.columns - text: Show every value I can pick in the budget filters. method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/budgets/v2/list'].post update: x-apievangelist-phrasing: intent: Filter the budgets I have access to effect: read questions: - Which of my budgets are over budget or at risk? - Can I search budgets by name and filter them by folder or amount range? - What budgets exist for a given cost category and bucket? instructions: - text: Find budgets with status {budgetStatus} that I can access. slots: budgetStatus: requestBody.budgetStatus - text: Search the budgets I can see for names containing {searchKey}. slots: searchKey: requestBody.searchKey - text: List budgets in folders {folderIds} between {minBudgetAmount} and {maxBudgetAmount}. slots: folderIds: requestBody.folderIds minBudgetAmount: requestBody.minBudgetAmount maxBudgetAmount: requestBody.maxBudgetAmount method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/budgets/v2/metrics'].post update: x-apievangelist-phrasing: intent: Count total and over-budget budgets effect: read questions: - How many budgets do I have, and how many are over budget? - What's the over-budget count for budgets in a particular folder? instructions: - text: Count my budgets and how many are over budget. - text: Give me the total and over-budget counts for budgets in folders {folderIds}. slots: folderIds: requestBody.folderIds method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/budgets/{id}/costDetails'].get update: x-apievangelist-phrasing: intent: Get the cost details of a budget effect: read questions: - How much has been spent against a specific budget so far? - Can I see a budget's actual versus forecast cost month by month? instructions: - text: Show the cost details for budget {id}. slots: id: path.id - text: Break down budget {id} costs by {breakdown}. slots: id: path.id breakdown: query.breakdown method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/budgets/perspectiveBudgets'].get update: x-apievangelist-phrasing: intent: List the budgets tied to a perspective effect: read questions: - Which budgets are attached to a particular cost perspective? - Does this perspective have any budgets set on it? instructions: - text: List the budgets for perspective {perspectiveId}. slots: perspectiveId: query.perspectiveId - text: Show every budget linked to perspective {perspectiveId}. slots: perspectiveId: query.perspectiveId method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/budgets'].get update: x-apievangelist-phrasing: intent: List all budgets in the account effect: read questions: - What cloud cost budgets are defined in my Harness account? - Can I sort the full budget list by a field and order? instructions: - text: List all my budgets. - text: List every budget sorted by {budgetSortType} in {sortOrder} order. slots: budgetSortType: query.budgetSortType sortOrder: query.sortOrder method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/budgets'].post update: x-apievangelist-phrasing: intent: Create a cost budget with alerts effect: write questions: - How do I get alerted when cloud spend exceeds or is forecast to exceed a budget? - Can a new budget notify a user group or Slack when a threshold is crossed? - What does a yearly budget with a monthly breakdown look like when creating one? instructions: - text: Create a {period} budget named {name} for {budgetAmount}. slots: period: requestBody.period name: requestBody.name budgetAmount: requestBody.budgetAmount - text: Create budget {name} for account {accountId} and email {emailAddresses} when thresholds {alertThresholds} are hit. slots: name: requestBody.name accountId: requestBody.accountId emailAddresses: requestBody.emailAddresses alertThresholds: requestBody.alertThresholds method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/budgets/subscribe/list'].get update: x-apievangelist-phrasing: intent: List the alert thresholds on a budget effect: read questions: - What alert thresholds are configured on this budget? - At what percentages will a budget send me alerts? instructions: - text: List the alert thresholds for budget {budgetId}. slots: budgetId: query.budgetId - text: Show when budget {budgetId} will alert. slots: budgetId: query.budgetId method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/budgets/moveBudgets'].post update: x-apievangelist-phrasing: intent: Move budgets into another folder effect: write questions: - Can I move budgets to a different folder than their perspective's? - How do I reorganize budgets into a new folder? instructions: - text: Move budgets {budgetIds} to folder {newFolderId}. slots: budgetIds: requestBody.budgetIds newFolderId: requestBody.newFolderId - text: Put budgets {budgetIds} in folder {newFolderId}, overriding the perspective folder. slots: budgetIds: requestBody.budgetIds newFolderId: requestBody.newFolderId method: generated generated: '2026-09-26' - target: $.paths['/ccm/api/budgets/subscribe'].post update: x-apievangelist-phrasing: intent: Replace the alert thresholds on a budget effect: write questions: - How do I change the alert percentages on one budget? - Can I overwrite a budget's alert thresholds with a new list? instructions: - text: Update the alert thresholds on budget {budgetId}. slots: budgetId: query.budgetId - text: Set new alert thresholds for budget {budgetId}. slots: budgetId: query.budgetId method: generated generated: '2026-09-26'