---
title: "Create a budget"
method: POST
path: "/enterprises/{enterprise}/settings/billing/budgets"
tags: ["billing"]
---

# Create a budget

`POST /enterprises/{enterprise}/settings/billing/budgets`

> [!NOTE]
> This endpoint is in public preview and is subject to change.

Creates a new budget for an enterprise. The authenticated user must be an enterprise admin, organization admin, or billing manager of the enterprise.

## Path parameters

- `enterprise` string, required

## Request body

- object
  - `budget_amount` integer, required — The budget amount in whole dollars. For license-based products, this represents the number of licenses.
  - `prevent_further_usage` boolean, required — Whether to prevent additional spending once the budget is exceeded
  - `budget_alerting` object, required
    - `will_alert` boolean, required — Whether alerts are enabled for this budget
    - `alert_recipients` string[], required — Array of user login names who will receive alerts
  - `budget_scope` 'enterprise' | 'organization' | 'repository' | 'cost_center', required — The scope of the budget
  - `budget_entity_name` string — The name of the entity to apply the budget to
  - `budget_type` union, required — The type of pricing for the budget
    - 'ProductPricing'
    - 'SkuPricing'
  - `budget_product_sku` string — A single product or SKU that will be covered in the budget

## Response `200`

Budget created successfully

- CreateBudget
  - `message` string, required — A message indicating the result of the create operation
  - `budget` object, required
    - `id` string — ID of the budget.
    - `budget_scope` 'enterprise' | 'organization' | 'repository' | 'cost_center' — The type of scope for the budget
    - `budget_entity_name` string — The name of the entity to apply the budget to
    - `budget_amount` number, float — The budget amount in dollars
    - `prevent_further_usage` boolean — Whether to prevent additional spending once the budget is exceeded
    - `budget_product_sku` string — A single product or sku to apply the budget to.
    - `budget_type` union — The type of pricing for the budget
      - 'ProductPricing'
      - 'SkuPricing'
    - `budget_alerting` object
      - `will_alert` boolean — Whether alerts are enabled for this budget
      - `alert_recipients` string[] — Array of user login names who will receive alerts

## Other responses

- `400` — Bad Request
- `401` — Requires authentication
- `403` — Forbidden
- `404` — Feature not enabled
- `422` — Validation failed, or the endpoint has been spammed.
- `500` — Internal server error

---

[API](https://skmtc.dev/github/apis/enterprise-cloud.md) · [All operations](https://skmtc.dev/github/apis/enterprise-cloud/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/github/enterprise-cloud/revisions/85e27cfef60d/schema)
