Budgets
Manage Budgets in bulk
Change the budget amount for the budgets in bulk
Account Identifier for the Entity.
List of budget IDs to perform action on.
Percentage or amount to adjust the budget by.
Bulk operation accepted
Bad Request
Internal server error
POST /gateway/ccm/api/budgets/bulk/adjust-budget-amount?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Content-Type: application/json
Accept: */*
Content-Length: 97
{
"budgetIds": [
"text"
],
"adjustBudgetBulkRequestType": "DECREASE_BY_PERCENTAGE",
"adjustmentValue": 1
}Clone budgets in bulk with customizable alert handling options
Account Identifier for the Entity.
List of budget IDs to perform action on.
Suffix for the cloned budgets.
How to handle budget alerts when cloning.
List of new slack recipients to use if COPY_THRESHOLDS_NEW_RECIPIENTS
List of new email recipients to use if COPY_THRESHOLDS_NEW_RECIPIENTS
Bulk clone operation accepted
Bad Request
Internal server error
POST /gateway/ccm/api/budgets/bulk/clone?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Content-Type: application/json
Accept: */*
Content-Length: 137
{
"budgetIds": [
"text"
],
"suffix": "text",
"alertMode": "COPY_THRESHOLDS_OLD_RECIPIENTS",
"slackRecipients": [
"text"
],
"emailRecipients": [
"text"
]
}Create budgets for multiple cost buckets within a cost category
Account Identifier for the Entity.
Whether the Budget is based on a specified amount or based on previous month's actual spend
Bulk create operation accepted
Bad Request
Internal server error
POST /gateway/ccm/api/budgets/bulk/create-cost-bucket-budgets?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Content-Type: application/json
Accept: */*
Content-Length: 578
{
"costCategoryId": "text",
"costBucketIds": [
"text"
],
"period": "DAILY",
"type": "SPECIFIED_AMOUNT",
"budgetAmount": 1,
"growthRate": 1,
"startTime": 1,
"alertThresholds": [
{
"percentage": 1,
"basedOn": "ACTUAL_COST",
"emailAddresses": [
"text"
],
"userGroupIds": [
"text"
],
"slackWebhooks": [
"text"
],
"alertsSent": 1,
"crossedAt": 1
}
],
"budgetMonthlyBreakdown": {
"budgetBreakdown": "YEARLY",
"budgetMonthlyAmount": [
{
"time": 1,
"value": 1
}
],
"actualMonthlyCost": [
1
],
"forecastMonthlyCost": [
1
],
"yearlyLastPeriodCost": [
1
],
"forecastCostConfigured": true
},
"namePrefix": "text",
"folderId": "text",
"disableCurrencyWarning": true
}Delete budgets in bulk.
Account Identifier for the Entity.
List of budget IDs to perform action on.
Bulk delete operation accepted
Bad Request
Internal server error
POST /gateway/ccm/api/budgets/bulk/delete?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Content-Type: application/json
Accept: */*
Content-Length: 22
{
"budgetIds": [
"text"
]
}Checks the current status (RUNNING, COMPLETED, FAILED) of a bulk budget update job by jobId.
Account Identifier for the Entity.
Returns the status string of the bulk update job (RUNNING, COMPLETED, FAILED)
Bad Request
Internal server error
GET /gateway/ccm/api/budgets/bulk/check-job-status?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Accept: */*
Manage alerts for budgets in bulk (delete, add, add/remove recipients)
Account Identifier for the Entity.
List of budget IDs to perform action on.
Action to perform on the budgets.
List of email recipients. Required for ADD_RECIPIENTS or REMOVE_RECIPIENTS.
List of Slack recipients. Required for ADD_RECIPIENTS or REMOVE_RECIPIENTS.
Bulk manage alerts operation accepted
Bad Request
Internal server error
POST /gateway/ccm/api/budgets/bulk/manage-alerts?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Content-Type: application/json
Accept: */*
Content-Length: 270
{
"budgetIds": [
"text"
],
"action": "DELETE_ALL_ALERTS",
"emailRecipients": [
"text"
],
"slackRecipients": [
"text"
],
"alertThresholds": [
{
"percentage": 1,
"basedOn": "ACTUAL_COST",
"emailAddresses": [
"text"
],
"userGroupIds": [
"text"
],
"slackWebhooks": [
"text"
],
"alertsSent": 1,
"crossedAt": 1
}
]
}Fetch details of a Budget for the given Budget ID.
Unique identifier for the budget
Account Identifier for the Entity.
Bad Request
This is Failure entity as defied in Harness
Internal server error
Get a Budget by it's identifier
GET /gateway/ccm/api/budgets/{id}?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Accept: */*
{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}Clone a Budget using the given Budget ID.
Unique identifier for the budget
Account Identifier for the Entity.
Name of the new budget
Bad Request
This is Failure entity as defied in Harness
Internal server error
Returns the identifier string of the new Budget created using clone operation
POST /gateway/ccm/api/budgets/{id}?accountIdentifier=text&cloneName=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Accept: */*
{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}Update an existing Budget for the given Budget ID.
Unique identifier for the budget
Account Identifier for the Entity.
Bad Request
This is Failure entity as defied in Harness
Internal server error
Returns a generic string message when the operation is successful
PUT /gateway/ccm/api/budgets/{id}?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Content-Type: application/json
Accept: */*
Content-Length: 6
"text"{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}Delete a Budget for the given Budget ID.
Unique identifier for the budget
Account Identifier for the Entity.
Bad Request
This is Failure entity as defied in Harness
Internal server error
Returns a text message whether the operation was successful
DELETE /gateway/ccm/api/budgets/{id}?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Accept: */*
{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}Returns the list of filter values for all the specified filters.
Account Identifier for the Entity.
Request for obtaining available filter values for budget filters
List of column names to get filter values for. Supported values: 'period', 'createdBy', 'perspectiveName', 'budgetStatus', 'scopeType', 'costCategoryName', 'costBucketName'
Bad Request
This is Failure entity as defied in Harness
Internal server error
POST /gateway/ccm/api/budgets/filter-values?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Content-Type: application/json
Accept: */*
Content-Length: 483
{
"columns": [
"text"
],
"filter": {
"period": "DAILY",
"createdBy": [
"text"
],
"perspectiveNames": [
"text"
],
"minBudgetAmount": 1,
"maxBudgetAmount": 1,
"lastModifiedStartTime": 1,
"lastModifiedEndTime": 1,
"offset": 1,
"limit": 1,
"folderIds": [
"text"
],
"searchKey": "text",
"budgetStatus": [
"ON_TRACK"
],
"scopeType": "text",
"costCategoryNames": [
"text"
],
"costBucketNames": [
"text"
],
"costCategoryDTOs": [
{
"costCategory": "text",
"costBucket": "text"
}
],
"tags": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"filterType": "CCMBudget"
}
}{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}Returns a list of budgets based on filter criteria with folder-based RBAC checks
Account Identifier for the Entity.
Field to sort results by
Sort order (ASCENDING or DESCENDING)
Properties of the Budget Filter defined in Harness
Filter by budget period
Filter by creator user ID
Filter by perspective ID
Minimum budget amount
Maximum budget amount
Start time for last modified filter (timestamp in milliseconds)
End time for last modified filter (timestamp in milliseconds)
Number of results to skip
Maximum number of results to return
Filter by multiple folder IDs
Search text to filter budgets by name (case-insensitive)
Filter by budget scope type (PERSPECTIVE, COST_BUCKET)
Filter by cost category names
Filter by cost bucket names
Bad Request
This is Failure entity as defied in Harness
Internal server error
POST /gateway/ccm/api/budgets/v2/list?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Content-Type: application/json
Accept: */*
Content-Length: 453
{
"period": "DAILY",
"createdBy": [
"text"
],
"perspectiveNames": [
"text"
],
"minBudgetAmount": 1,
"maxBudgetAmount": 1,
"lastModifiedStartTime": 1,
"lastModifiedEndTime": 1,
"offset": 1,
"limit": 1,
"folderIds": [
"text"
],
"searchKey": "text",
"budgetStatus": [
"ON_TRACK"
],
"scopeType": "text",
"costCategoryNames": [
"text"
],
"costBucketNames": [
"text"
],
"costCategoryDTOs": [
{
"costCategory": "text",
"costBucket": "text"
}
],
"tags": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"filterType": "CCMBudget"
}{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}Returns the total budget count (ignoring any budgetStatus selection) and the over-budget count for the given filter, with folder-based RBAC checks
Account Identifier for the Entity.
Properties of the Budget Filter defined in Harness
Filter by budget period
Filter by creator user ID
Filter by perspective ID
Minimum budget amount
Maximum budget amount
Start time for last modified filter (timestamp in milliseconds)
End time for last modified filter (timestamp in milliseconds)
Number of results to skip
Maximum number of results to return
Filter by multiple folder IDs
Search text to filter budgets by name (case-insensitive)
Filter by budget scope type (PERSPECTIVE, COST_BUCKET)
Filter by cost category names
Filter by cost bucket names
Bad Request
This is Failure entity as defied in Harness
Internal server error
POST /gateway/ccm/api/budgets/v2/metrics?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Content-Type: application/json
Accept: */*
Content-Length: 453
{
"period": "DAILY",
"createdBy": [
"text"
],
"perspectiveNames": [
"text"
],
"minBudgetAmount": 1,
"maxBudgetAmount": 1,
"lastModifiedStartTime": 1,
"lastModifiedEndTime": 1,
"offset": 1,
"limit": 1,
"folderIds": [
"text"
],
"searchKey": "text",
"budgetStatus": [
"ON_TRACK"
],
"scopeType": "text",
"costCategoryNames": [
"text"
],
"costBucketNames": [
"text"
],
"costCategoryDTOs": [
{
"costCategory": "text",
"costBucket": "text"
}
],
"tags": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"filterType": "CCMBudget"
}{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}Fetch the cost details of a Budget for the given Budget ID.
Unique identifier for the Budget
Account Identifier for the Entity.
Whether the Yearly budget breakdown is yearly or monthly
Bad Request
This is Failure entity as defied in Harness
Internal server error
Returns the cost data of a Budget
GET /gateway/ccm/api/budgets/{id}/costDetails?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Accept: */*
{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}List all the Budgets associated for the given Perspective ID.
Account Identifier for the Entity.
Unique identifier for the Perspective
Bad Request
This is Failure entity as defied in Harness
Internal server error
Returns the list of Budgets
GET /gateway/ccm/api/budgets/perspectiveBudgets?accountIdentifier=text&perspectiveId=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Accept: */*
{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}List all the Budgets.
Account Identifier for the Entity.
Budget List Sort Type
Budget List Sort Order
Bad Request
This is Failure entity as defied in Harness
Internal server error
Returns the list of all Budgets
GET /gateway/ccm/api/budgets?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Accept: */*
{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}Create a Budget to set and receive alerts when your costs exceed (or are forecasted to exceed) your budget amount.
Account Identifier for the Entity.
The Cloud Cost Budget definition
Whether the Budget is based on a specified amount or based on previous month's actual spend
Bad Request
This is Failure entity as defied in Harness
Internal server error
Returns the ID string of the new Budget created
POST /gateway/ccm/api/budgets?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Content-Type: application/json
Accept: */*
Content-Length: 1231
{
"uuid": "text",
"accountId": "text",
"name": "text",
"scope": {
"entityIds": [
"text"
],
"entityNames": [
"text"
],
"budgetScopeType": "text",
"type": "text"
},
"type": "SPECIFIED_AMOUNT",
"budgetMonthlyBreakdown": {
"budgetBreakdown": "YEARLY",
"budgetMonthlyAmount": [
{
"time": 1,
"value": 1
}
],
"actualMonthlyCost": [
1
],
"forecastMonthlyCost": [
1
],
"yearlyLastPeriodCost": [
1
],
"forecastCostConfigured": true
},
"customAlertMessage": "text",
"budgetAmount": 1,
"period": "DAILY",
"growthRate": 1,
"actualCost": 1,
"forecastCost": 1,
"lastMonthCost": 1,
"alertThresholds": [
{
"percentage": 1,
"basedOn": "ACTUAL_COST",
"emailAddresses": [
"text"
],
"userGroupIds": [
"text"
],
"slackWebhooks": [
"text"
],
"alertsSent": 1,
"crossedAt": 1
}
],
"emailAddresses": [
"text"
],
"userGroupIds": [
"text"
],
"parentBudgetGroupId": "text",
"notifyOnSlack": true,
"isNgBudget": true,
"startTime": 1,
"endTime": 1,
"budgetHistory": {
"ANY_ADDITIONAL_PROPERTY": {
"time": 1,
"endTime": 1,
"actualCost": 1,
"forecastCost": 1,
"budgeted": 1,
"budgetVariance": 1,
"budgetVariancePercentage": 1
}
},
"disableCurrencyWarning": true,
"createdAt": 1,
"lastUpdatedAt": 1,
"createdBy": {
"uuid": "text",
"name": "text",
"email": "text",
"externalUserId": "text"
},
"lastUpdatedBy": {
"uuid": "text",
"name": "text",
"email": "text",
"externalUserId": "text"
},
"folderId": "text",
"ngBudget": true
}{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}List all the alert thresholds that have been set for the given Budget ID.
Account Identifier for the Entity.
Unique identifier for the budget
Bad Request
This is Failure entity as defied in Harness
Internal server error
Returns the list of alert thresholds for the budget
GET /gateway/ccm/api/budgets/subscribe/list?accountIdentifier=text&budgetId=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Accept: */*
{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}Move budgets to a different folder, overriding perspective folder inheritance.
Account Identifier for the Entity.
DTO for moving budgets between folders
The ID of the target folder to move budgets to
List of budget IDs to be moved
Bad Request
This is Failure entity as defied in Harness
Internal server error
Returns number of budgets moved
POST /gateway/ccm/api/budgets/moveBudgets?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Content-Type: application/json
Accept: */*
Content-Length: 43
{
"newFolderId": "text",
"budgetIds": [
"text"
]
}{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}Update the alert thresholds for the given Budget ID with the provided list of alert thresholds.
Account Identifier for the Entity.
Unique identifier for the budget
A description of a single Alert
Whether the alert is based on Actual cost or next 30 days Forecasted Cost
Bad Request
This is Failure entity as defied in Harness
Internal server error
Returns a success message when the alert thresholds are updated successfully
POST /gateway/ccm/api/budgets/subscribe?accountIdentifier=text&budgetId=text HTTP/1.1
Host: nextgen-ce-d788d786-jz7g5
Content-Type: application/json
Accept: */*
Content-Length: 146
[
{
"percentage": 1,
"basedOn": "ACTUAL_COST",
"emailAddresses": [
"text"
],
"userGroupIds": [
"text"
],
"slackWebhooks": [
"text"
],
"alertsSent": 1,
"crossedAt": 1
}
]{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}Last updated
Was this helpful?