Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
  • Blog
  • Pricing
  • Documentation
Yandex project
© 2025 Yandex.Cloud LLC
Yandex Cloud Billing
  • Getting started
  • Access management
  • Pricing policy
  • Terraform reference
    • Authentication with the API
      • Overview
        • Overview
        • Get
        • List
        • Create
  • Audit Trails events

In this article:

  • HTTP request
  • Body parameters
  • CostBudgetSpec
  • ThresholdRule
  • ConsumptionFilter
  • CloudFoldersConsumptionFilter
  • ExpenseBudgetSpec
  • BalanceBudgetSpec
  • Response
  • CreateBudgetMetadata
  • Status
  • Budget
  • CostBudgetSpec
  • ThresholdRule
  • ConsumptionFilter
  • CloudFoldersConsumptionFilter
  • ExpenseBudgetSpec
  • BalanceBudgetSpec
  1. API reference
  2. REST
  3. Budget
  4. Create

Billing API, REST: Budget.Create

Written by
Yandex Cloud
Updated at April 24, 2025
  • HTTP request
  • Body parameters
  • CostBudgetSpec
  • ThresholdRule
  • ConsumptionFilter
  • CloudFoldersConsumptionFilter
  • ExpenseBudgetSpec
  • BalanceBudgetSpec
  • Response
  • CreateBudgetMetadata
  • Status
  • Budget
  • CostBudgetSpec
  • ThresholdRule
  • ConsumptionFilter
  • CloudFoldersConsumptionFilter
  • ExpenseBudgetSpec
  • BalanceBudgetSpec

Creates a budget for the specified billing account.

HTTP requestHTTP request

POST https://billing.api.cloud.yandex.net/billing/v1/budgets

Body parametersBody 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"
          ]
        }
      ]
    },
    // Includes only one of the fields `resetPeriod`, `startDate`
    "resetPeriod": "string",
    "startDate": "string",
    // end of the list of possible fields
    "endDate": "string"
  },
  "expenseBudgetSpec": {
    "amount": "string",
    "notificationUserAccountIds": [
      "string"
    ],
    "thresholdRules": [
      {
        "type": "string",
        "amount": "string",
        "notificationUserAccountIds": [
          "string"
        ]
      }
    ],
    "filter": {
      "serviceIds": [
        "string"
      ],
      "cloudFoldersFilters": [
        {
          "cloudId": "string",
          "folderIds": [
            "string"
          ]
        }
      ]
    },
    // Includes only one of the fields `resetPeriod`, `startDate`
    "resetPeriod": "string",
    "startDate": "string",
    // end of the list of possible fields
    "endDate": "string"
  },
  "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 field. ID of the billing account to list budgets corresponding to.
To get the billing account ID, use yandex.cloud.billing.v1.BillingAccountService.List request.

name

string

Required field. Name of the budget.

costBudgetSpec

CostBudgetSpec

Cost budget specification.

Includes only one of the fields costBudgetSpec, expenseBudgetSpec, balanceBudgetSpec.

Specification of the budget.

expenseBudgetSpec

ExpenseBudgetSpec

Expense budget specification.

Includes only one of the fields costBudgetSpec, expenseBudgetSpec, balanceBudgetSpec.

Specification of the budget.

balanceBudgetSpec

BalanceBudgetSpec

Balance budget specification.

Includes only one of the fields costBudgetSpec, expenseBudgetSpec, balanceBudgetSpec.

Specification of the budget.

CostBudgetSpecCostBudgetSpec

Cost budget specification describes budget that can be used to control cost of cloud resources usage.

Field

Description

amount

string

Required field. Max cost threshold of the budget. Amount currency is the same as corresponding yandex.cloud.billing.v1.BillingAccount.currency.

notificationUserAccountIds[]

string

User account IDs.
Specified users will be be notified if the budget exceeds.

thresholdRules[]

ThresholdRule

List of the ThresholdRule.
Rules define intermediate cost thresholds of the budget.

filter

ConsumptionFilter

Filter that can be used for specific resources selection. Only consumption cost of selected resources are used for the budget calculation.

resetPeriod

enum (ResetPeriodType)

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.

Includes only one of the fields resetPeriod, startDate.

Start type of the budget.

  • RESET_PERIOD_TYPE_UNSPECIFIED
  • MONTHLY: Reset budget every month.
  • QUARTER: Reset budget every quarter.
  • ANNUALLY: Reset budget every year.

startDate

string

Custom start date of the budget.
Must be the first day of a month and must be formatted like YYYY-MM-DD.

Includes only one of the fields resetPeriod, startDate.

Start type of the budget.

endDate

string

Required field. End date of the budget.
Must be the last day of a month and must be formatted like YYYY-MM-DD.

ThresholdRuleThresholdRule

Rules that define intermediate cost thresholds of the budget.

Field

Description

type

enum (ThresholdType)

Required field. Type of the rule.

  • THRESHOLD_TYPE_UNSPECIFIED
  • PERCENT: Percent.
  • AMOUNT: The same as budget amount.

amount

string

Required field. Amount of the rule.

  • Must be less than 100 if type is PERCENT.
  • Must be less than budget's amount if type is AMOUNT.

notificationUserAccountIds[]

string

User account IDs.
Specified users will be be notified if the threshold exceeds.

ConsumptionFilterConsumptionFilter

Filter that can be used for specific resources selection.

Field

Description

serviceIds[]

string

IDs of the yandex.cloud.billing.v1.Service.
Only consumption of resources corresponding to the given services is used for the budget calculation.
Empty sequence means no services filters.

cloudFoldersFilters[]

CloudFoldersConsumptionFilter

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.

CloudFoldersConsumptionFilterCloudFoldersConsumptionFilter

Filter that can be used for specific cloud and its folders selection.

Field

Description

cloudId

string

ID of the yandex.cloud.resourcemanager.v1.Cloud.
Only consumption within specified cloud is used for the budget calculation.

folderIds[]

string

IDs of the yandex.cloud.resourcemanager.v1.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.

ExpenseBudgetSpecExpenseBudgetSpec

Expense budget specification describes budget that can be used to control expense of cloud resources usage.

Field

Description

amount

string

Required field. Max expense threshold of the budget. Amount currency is the same as corresponding yandex.cloud.billing.v1.BillingAccount.currency.

notificationUserAccountIds[]

string

User account IDs.
Specified users will be be notified if the budget exceeds.

thresholdRules[]

ThresholdRule

List of the ThresholdRule.
Rules define intermediate expense thresholds of the budget.

filter

ConsumptionFilter

Filter that can be used for specific resources selection. Only consumption expense of selected resources are used for the budget calculation.

resetPeriod

enum (ResetPeriodType)

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.

Includes only one of the fields resetPeriod, startDate.

Start type of the budget.

  • RESET_PERIOD_TYPE_UNSPECIFIED
  • MONTHLY: Reset budget every month.
  • QUARTER: Reset budget every quarter.
  • ANNUALLY: Reset budget every year.

startDate

string

Custom start date of the budget.
Must be the first day of a month and must be formatted like YYYY-MM-DD.

Includes only one of the fields resetPeriod, startDate.

Start type of the budget.

endDate

string

Required field. End date of the budget.
Must be the last day of a month and must be formatted like YYYY-MM-DD.

BalanceBudgetSpecBalanceBudgetSpec

Balance budget specification describes budget that can be used to control yandex.cloud.billing.v1.BillingAccount.balance.

Field

Description

amount

string

Required field. Max balance threshold of the budget. Amount currency is the same as corresponding yandex.cloud.billing.v1.BillingAccount.currency.

notificationUserAccountIds[]

string

User account IDs.
Specified users will be be notified if the budget exceeds.

thresholdRules[]

ThresholdRule

List of the ThresholdRule.
Rules define intermediate balance thresholds of the budget.

startDate

string

Start_date of the budget.
Must be the first day of a month and must be formatted like YYYY-MM-DD.

endDate

string

Required field. End date of the budget.
Must be the last day of a month and must be formatted like YYYY-MM-DD.

ResponseResponse

HTTP Code: 200 - OK

{
  "id": "string",
  "description": "string",
  "createdAt": "string",
  "createdBy": "string",
  "modifiedAt": "string",
  "done": "boolean",
  "metadata": {
    "budgetId": "string"
  },
  // Includes only one of the fields `error`, `response`
  "error": {
    "code": "integer",
    "message": "string",
    "details": [
      "object"
    ]
  },
  "response": {
    "id": "string",
    "name": "string",
    "createdAt": "string",
    "billingAccountId": "string",
    "status": "string",
    // Includes only one of the fields `costBudget`, `expenseBudget`, `balanceBudget`
    "costBudget": {
      "amount": "string",
      "notificationUserAccountIds": [
        "string"
      ],
      "thresholdRules": [
        {
          "type": "string",
          "amount": "string",
          "notificationUserAccountIds": [
            "string"
          ]
        }
      ],
      "filter": {
        "serviceIds": [
          "string"
        ],
        "cloudFoldersFilters": [
          {
            "cloudId": "string",
            "folderIds": [
              "string"
            ]
          }
        ]
      },
      // Includes only one of the fields `resetPeriod`, `startDate`
      "resetPeriod": "string",
      "startDate": "string",
      // end of the list of possible fields
      "endDate": "string"
    },
    "expenseBudget": {
      "amount": "string",
      "notificationUserAccountIds": [
        "string"
      ],
      "thresholdRules": [
        {
          "type": "string",
          "amount": "string",
          "notificationUserAccountIds": [
            "string"
          ]
        }
      ],
      "filter": {
        "serviceIds": [
          "string"
        ],
        "cloudFoldersFilters": [
          {
            "cloudId": "string",
            "folderIds": [
              "string"
            ]
          }
        ]
      },
      // Includes only one of the fields `resetPeriod`, `startDate`
      "resetPeriod": "string",
      "startDate": "string",
      // end of the list of possible fields
      "endDate": "string"
    },
    "balanceBudget": {
      "amount": "string",
      "notificationUserAccountIds": [
        "string"
      ],
      "thresholdRules": [
        {
          "type": "string",
          "amount": "string",
          "notificationUserAccountIds": [
            "string"
          ]
        }
      ],
      "startDate": "string",
      "endDate": "string"
    }
    // end of the list of possible fields
  }
  // 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
0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z, i.e. from 0 to 9 digits for fractions of a second.

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
0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z, i.e. from 0 to 9 digits for fractions of a second.

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

If the value is false, it means the operation is still in progress.
If true, the operation is completed, and either error or response is available.

metadata

CreateBudgetMetadata

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

Status

The error result of the operation in case of failure or cancellation.

Includes only one of the fields error, response.

The operation result.
If done == false and there was no failure detected, neither error nor response is set.
If done == false and there was a failure detected, error is set.
If done == true, exactly one of error or response is set.

response

Budget

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.

Includes only one of the fields error, response.

The operation result.
If done == false and there was no failure detected, neither error nor response is set.
If done == false and there was a failure detected, error is set.
If done == true, exactly one of error or response is set.

CreateBudgetMetadataCreateBudgetMetadata

Field

Description

budgetId

string

ID of the budget.

StatusStatus

The error result of the operation in case of failure or cancellation.

Field

Description

code

integer (int32)

Error code. An enum value of google.rpc.Code.

message

string

An error message.

details[]

object

A list of messages that carry the error details.

BudgetBudget

A Budget resource. For more information, see [/docs/billing/concepts/budget].

Field

Description

id

string

ID of the budget.

name

string

Name of the budget.

createdAt

string (date-time)

Creation timestamp.

String in RFC3339 text format. The range of possible values is from
0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z, i.e. from 0 to 9 digits for fractions of a second.

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).

billingAccountId

string

ID of the billing account that the budget belongs to.

status

enum (BudgetStatus)

Status of the budget.

  • BUDGET_STATUS_UNSPECIFIED
  • CREATING: The budget is being created.
  • ACTIVE: The budget is active.
  • FINISHED: The budget is finished.

costBudget

CostBudgetSpec

Cost budget specification.

Includes only one of the fields costBudget, expenseBudget, balanceBudget.

Specification of the budget.

expenseBudget

ExpenseBudgetSpec

Expense budget specification.

Includes only one of the fields costBudget, expenseBudget, balanceBudget.

Specification of the budget.

balanceBudget

BalanceBudgetSpec

Balance budget specification.

Includes only one of the fields costBudget, expenseBudget, balanceBudget.

Specification of the budget.

CostBudgetSpecCostBudgetSpec

Cost budget specification describes budget that can be used to control cost of cloud resources usage.

Field

Description

amount

string

Required field. Max cost threshold of the budget. Amount currency is the same as corresponding yandex.cloud.billing.v1.BillingAccount.currency.

notificationUserAccountIds[]

string

User account IDs.
Specified users will be be notified if the budget exceeds.

thresholdRules[]

ThresholdRule

List of the ThresholdRule.
Rules define intermediate cost thresholds of the budget.

filter

ConsumptionFilter

Filter that can be used for specific resources selection. Only consumption cost of selected resources are used for the budget calculation.

resetPeriod

enum (ResetPeriodType)

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.

Includes only one of the fields resetPeriod, startDate.

Start type of the budget.

  • RESET_PERIOD_TYPE_UNSPECIFIED
  • MONTHLY: Reset budget every month.
  • QUARTER: Reset budget every quarter.
  • ANNUALLY: Reset budget every year.

startDate

string

Custom start date of the budget.
Must be the first day of a month and must be formatted like YYYY-MM-DD.

Includes only one of the fields resetPeriod, startDate.

Start type of the budget.

endDate

string

Required field. End date of the budget.
Must be the last day of a month and must be formatted like YYYY-MM-DD.

ThresholdRuleThresholdRule

Rules that define intermediate cost thresholds of the budget.

Field

Description

type

enum (ThresholdType)

Required field. Type of the rule.

  • THRESHOLD_TYPE_UNSPECIFIED
  • PERCENT: Percent.
  • AMOUNT: The same as budget amount.

amount

string

Required field. Amount of the rule.

  • Must be less than 100 if type is PERCENT.
  • Must be less than budget's amount if type is AMOUNT.

notificationUserAccountIds[]

string

User account IDs.
Specified users will be be notified if the threshold exceeds.

ConsumptionFilterConsumptionFilter

Filter that can be used for specific resources selection.

Field

Description

serviceIds[]

string

IDs of the yandex.cloud.billing.v1.Service.
Only consumption of resources corresponding to the given services is used for the budget calculation.
Empty sequence means no services filters.

cloudFoldersFilters[]

CloudFoldersConsumptionFilter

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.

CloudFoldersConsumptionFilterCloudFoldersConsumptionFilter

Filter that can be used for specific cloud and its folders selection.

Field

Description

cloudId

string

ID of the yandex.cloud.resourcemanager.v1.Cloud.
Only consumption within specified cloud is used for the budget calculation.

folderIds[]

string

IDs of the yandex.cloud.resourcemanager.v1.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.

ExpenseBudgetSpecExpenseBudgetSpec

Expense budget specification describes budget that can be used to control expense of cloud resources usage.

Field

Description

amount

string

Required field. Max expense threshold of the budget. Amount currency is the same as corresponding yandex.cloud.billing.v1.BillingAccount.currency.

notificationUserAccountIds[]

string

User account IDs.
Specified users will be be notified if the budget exceeds.

thresholdRules[]

ThresholdRule

List of the ThresholdRule.
Rules define intermediate expense thresholds of the budget.

filter

ConsumptionFilter

Filter that can be used for specific resources selection. Only consumption expense of selected resources are used for the budget calculation.

resetPeriod

enum (ResetPeriodType)

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.

Includes only one of the fields resetPeriod, startDate.

Start type of the budget.

  • RESET_PERIOD_TYPE_UNSPECIFIED
  • MONTHLY: Reset budget every month.
  • QUARTER: Reset budget every quarter.
  • ANNUALLY: Reset budget every year.

startDate

string

Custom start date of the budget.
Must be the first day of a month and must be formatted like YYYY-MM-DD.

Includes only one of the fields resetPeriod, startDate.

Start type of the budget.

endDate

string

Required field. End date of the budget.
Must be the last day of a month and must be formatted like YYYY-MM-DD.

BalanceBudgetSpecBalanceBudgetSpec

Balance budget specification describes budget that can be used to control yandex.cloud.billing.v1.BillingAccount.balance.

Field

Description

amount

string

Required field. Max balance threshold of the budget. Amount currency is the same as corresponding yandex.cloud.billing.v1.BillingAccount.currency.

notificationUserAccountIds[]

string

User account IDs.
Specified users will be be notified if the budget exceeds.

thresholdRules[]

ThresholdRule

List of the ThresholdRule.
Rules define intermediate balance thresholds of the budget.

startDate

string

Start_date of the budget.
Must be the first day of a month and must be formatted like YYYY-MM-DD.

endDate

string

Required field. End date of the budget.
Must be the last day of a month and must be formatted like YYYY-MM-DD.

Was the article helpful?

Previous
List
Next
Overview
Yandex project
© 2025 Yandex.Cloud LLC