Billing API, REST: Budget.create
Creates a budget for the specified billing account.
HTTP request
POST https://billing.api.il.nebius.cloud/billing/v1/budgets
Body parameters
{
"billingAccountId": "string",
"name": "string",
// includes only one of the fields `costBudgetSpec`, `expenseBudgetSpec`, `balanceBudgetSpec`
"costBudgetSpec": {
"amount": "string",
"notificationUserAccountIds": [
"string"
],
"thresholdRules": [
{
"type": "string",
"amount": "string",
"notificationUserAccountIds": [
"string"
]
}
],
"filter": {
"serviceIds": [
"string"
],
"cloudFoldersFilters": [
{
"cloudId": "string",
"folderIds": [
"string"
]
}
]
},
"endDate": "string",
// `costBudgetSpec` includes only one of the fields `resetPeriod`, `startDate`
"resetPeriod": "string",
"startDate": "string",
// end of the list of possible fields`costBudgetSpec`
},
"expenseBudgetSpec": {
"amount": "string",
"notificationUserAccountIds": [
"string"
],
"thresholdRules": [
{
"type": "string",
"amount": "string",
"notificationUserAccountIds": [
"string"
]
}
],
"filter": {
"serviceIds": [
"string"
],
"cloudFoldersFilters": [
{
"cloudId": "string",
"folderIds": [
"string"
]
}
]
},
"endDate": "string",
// `expenseBudgetSpec` includes only one of the fields `resetPeriod`, `startDate`
"resetPeriod": "string",
"startDate": "string",
// end of the list of possible fields`expenseBudgetSpec`
},
"balanceBudgetSpec": {
"amount": "string",
"notificationUserAccountIds": [
"string"
],
"thresholdRules": [
{
"type": "string",
"amount": "string",
"notificationUserAccountIds": [
"string"
]
}
],
"startDate": "string",
"endDate": "string"
},
// end of the list of possible fields
}
Field | Description |
---|---|
billingAccountId | string Required. ID of the billing account to list budgets corresponding to. To get the billing account ID, use list request. The maximum string length in characters is 50. |
name | string Required. Name of the budget. |
costBudgetSpec | object Cost budget specification. includes only one of the fields costBudgetSpec , expenseBudgetSpec , balanceBudgetSpec |
costBudgetSpec. amount |
string Required. Max cost threshold of the budget. Amount currency is the same as corresponding BillingAccount.currency. |
costBudgetSpec. notificationUserAccountIds[] |
string Required. IDs of the UserAccount. Specified users will be be notified if the budget exceeds. The minimum number of elements is 1. |
costBudgetSpec. thresholdRules[] |
object List of the |
costBudgetSpec. thresholdRules[]. type |
string Required. Type of the rule. Define the unit of the [ThesholdRule.amount].
|
costBudgetSpec. thresholdRules[]. amount |
string Required. Amount of the rule.
|
costBudgetSpec. thresholdRules[]. notificationUserAccountIds[] |
string IDs of the UserAccount. Specified users will be be notified if the threshold exceeds. |
costBudgetSpec. filter |
object Filter that can be used for specific resources selection. Only consumption expense of selected resources are used for the budget calculation. |
costBudgetSpec. filter. serviceIds[] |
string IDs of the Service. Only consumption of resources corresponding to the given services is used for the budget calculation. Empty sequence means no services filters. |
costBudgetSpec. filter. cloudFoldersFilters[] |
object Cloud and folders consumption filter. Only consumption within specified clouds and folders is used for the budget calculation. Empty sequence means no cloud and folders filters. |
costBudgetSpec. filter. cloudFoldersFilters[]. cloudId |
string ID of the Cloud. Only consumption within specified cloud is used for the budget calculation. |
costBudgetSpec. filter. cloudFoldersFilters[]. folderIds[] |
string IDs of the Folder. Only consumption within specified folders of the given cloud is used for the budget calculation. Empty sequence means no folders filters and the whole cloud consumption will be used. |
costBudgetSpec. endDate |
string Required. End date of the budget. Must be the last day of a month and must be formatted like YYYY-MM-DD. |
costBudgetSpec. resetPeriod |
string Periodic start type that resets budget after specified period is finished. First time budget is calculated in the current period, i.e. current month, quarter or year. costBudgetSpec includes only one of the fields resetPeriod , startDate
|
costBudgetSpec. startDate |
string costBudgetSpec includes only one of the fields resetPeriod , startDate Custom start date of the budget. Must be the first day of a month and must be formatted like YYYY-MM-DD. |
expenseBudgetSpec | object Expense budget specification. includes only one of the fields costBudgetSpec , expenseBudgetSpec , balanceBudgetSpec |
expenseBudgetSpec. amount |
string Required. Max expense threshold of the budget. Amount currency is the same as corresponding BillingAccount.currency. |
expenseBudgetSpec. notificationUserAccountIds[] |
string Required. IDs of the UserAccount. Specified users will be be notified if the budget exceeds. The minimum number of elements is 1. |
expenseBudgetSpec. thresholdRules[] |
object List of the |
expenseBudgetSpec. thresholdRules[]. type |
string Required. Type of the rule. Define the unit of the [ThesholdRule.amount].
|
expenseBudgetSpec. thresholdRules[]. amount |
string Required. Amount of the rule.
|
expenseBudgetSpec. thresholdRules[]. notificationUserAccountIds[] |
string IDs of the UserAccount. Specified users will be be notified if the threshold exceeds. |
expenseBudgetSpec. filter |
object Filter that can be used for specific resources selection. Only consumption cost of selected resources are used for the budget calculation. |
expenseBudgetSpec. filter. serviceIds[] |
string IDs of the Service. Only consumption of resources corresponding to the given services is used for the budget calculation. Empty sequence means no services filters. |
expenseBudgetSpec. filter. cloudFoldersFilters[] |
object Cloud and folders consumption filter. Only consumption within specified clouds and folders is used for the budget calculation. Empty sequence means no cloud and folders filters. |
expenseBudgetSpec. filter. cloudFoldersFilters[]. cloudId |
string ID of the Cloud. Only consumption within specified cloud is used for the budget calculation. |
expenseBudgetSpec. filter. cloudFoldersFilters[]. folderIds[] |
string IDs of the Folder. Only consumption within specified folders of the given cloud is used for the budget calculation. Empty sequence means no folders filters and the whole cloud consumption will be used. |
expenseBudgetSpec. endDate |
string Required. End date of the budget. Must be the last day of a month and must be formatted like YYYY-MM-DD. |
expenseBudgetSpec. resetPeriod |
string Periodic start type that resets budget after specified period is finished. First time budget is calculated in the current period, i.e. current month, quarter or year. expenseBudgetSpec includes only one of the fields resetPeriod , startDate
|
expenseBudgetSpec. startDate |
string expenseBudgetSpec includes only one of the fields resetPeriod , startDate Custom start date of the budget. Must be the first day of a month and must be formatted like YYYY-MM-DD. |
balanceBudgetSpec | object Balance budget specification. includes only one of the fields costBudgetSpec , expenseBudgetSpec , balanceBudgetSpec |
balanceBudgetSpec. amount |
string Required. Max balance threshold of the budget. Amount currency is the same as corresponding BillingAccount.currency. |
balanceBudgetSpec. notificationUserAccountIds[] |
string Required. IDs of the UserAccount. Specified users will be be notified if the budget exceeds. The minimum number of elements is 1. |
balanceBudgetSpec. thresholdRules[] |
object List of the |
balanceBudgetSpec. thresholdRules[]. type |
string Required. Type of the rule. Define the unit of the [ThesholdRule.amount].
|
balanceBudgetSpec. thresholdRules[]. amount |
string Required. Amount of the rule.
|
balanceBudgetSpec. thresholdRules[]. notificationUserAccountIds[] |
string IDs of the UserAccount. Specified users will be be notified if the threshold exceeds. |
balanceBudgetSpec. startDate |
string Start_date of the budget. Must be the first day of a month and must be formatted like YYYY-MM-DD. |
balanceBudgetSpec. endDate |
string Required. End date of the budget. Must be the last day of a month and must be formatted like YYYY-MM-DD. |
Response
HTTP Code: 200 - OK
{
"id": "string",
"description": "string",
"createdAt": "string",
"createdBy": "string",
"modifiedAt": "string",
"done": true,
"metadata": "object",
// includes only one of the fields `error`, `response`
"error": {
"code": "integer",
"message": "string",
"details": [
"object"
]
},
"response": "object",
// end of the list of possible fields
}
An Operation resource. For more information, see Operation.
Field | Description |
---|---|
id | string ID of the operation. |
description | string Description of the operation. 0-256 characters long. |
createdAt | string (date-time) Creation timestamp. String in RFC3339 text format. The range of possible values is from To work with values in this field, use the APIs described in the Protocol Buffers reference. In some languages, built-in datetime utilities do not support nanosecond precision (9 digits). |
createdBy | string ID of the user or service account who initiated the operation. |
modifiedAt | string (date-time) The time when the Operation resource was last modified. String in RFC3339 text format. The range of possible values is from To work with values in this field, use the APIs described in the Protocol Buffers reference. In some languages, built-in datetime utilities do not support nanosecond precision (9 digits). |
done | boolean (boolean) If the value is |
metadata | object Service-specific metadata associated with the operation. It typically contains the ID of the target resource that the operation is performed on. Any method that returns a long-running operation should document the metadata type, if any. |
error | object The error result of the operation in case of failure or cancellation. includes only one of the fields error , response |
error. code |
integer (int32) Error code. An enum value of google.rpc.Code. |
error. message |
string An error message. |
error. details[] |
object A list of messages that carry the error details. |
response | object includes only one of the fields error , response The normal response of the operation in case of success. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is the standard Create/Update, the response should be the target resource of the operation. Any method that returns a long-running operation should document the response type, if any. |