Harness · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Harness Budgets API

21 actions 21 updates phrasing extends openapi/harness-budgets-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 21 · first 16 shown; the file carries all of them

$.info
$.paths['/ccm/api/budgets/bulk/adjust-budget-amount'].post
$.paths['/ccm/api/budgets/bulk/clone'].post
$.paths['/ccm/api/budgets/bulk/create-cost-bucket-budgets'].post
$.paths['/ccm/api/budgets/bulk/delete'].post
$.paths['/ccm/api/budgets/bulk/check-job-status'].get
$.paths['/ccm/api/budgets/bulk/manage-alerts'].post
$.paths['/ccm/api/budgets/{id}'].get
$.paths['/ccm/api/budgets/{id}'].put
$.paths['/ccm/api/budgets/{id}'].post
$.paths['/ccm/api/budgets/{id}'].delete
$.paths['/ccm/api/budgets/filter-values'].post
$.paths['/ccm/api/budgets/v2/list'].post
$.paths['/ccm/api/budgets/v2/metrics'].post
$.paths['/ccm/api/budgets/{id}/costDetails'].get
$.paths['/ccm/api/budgets/perspectiveBudgets'].get

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 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'