Budgets
Используйте REST API для получения информации о бюджете.
Внимание
В схеме тела запроса ниже отсутствует необходимое поле. Если budget_scope , userвы также должны включить user поле, установленное под имя пользователя, к которому GitHub относится бюджет. Если опустить это поле, API возвращает HTTP 400: Missing required fields: budget_entity_name. Для пользовательских бюджетов budget_entity_name может быть пустая строка.
Следующий пример создаёт пользовательский бюджет, который ограничивает ежемесячную сумму CopilotAI credits одного пользователя до 30 долларов США:
{
"budget_amount": 30,
"prevent_further_usage": true,
"budget_scope": "user",
"budget_entity_name": "",
"budget_type": "BundlePricing",
"budget_product_sku": "ai_credits",
"budget_alerting": {
"will_alert": false,
"alert_recipients": []
},
"user": "USERNAME"
}
Get all budgets
Gets all budgets for an enterprise. The authenticated user must be an enterprise admin or billing manager. Each page returns up to 100 budgets.
Детализированные токены доступа для «Get all budgets»
Эта конечная точка не работает с пользовательскими токенами доступа GitHub App, токенами доступа для установки GitHub App или детализированными персональными токенами доступа.
Параметры для «Get all budgets»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
enterprise string Обязательное полеThe slug version of the enterprise name. |
| Имя., Тип, Description |
|---|
page integer The page number of results to fetch. По умолчанию.: |
per_page integer The number of results per page (max 100). По умолчанию.: |
scope string Filter budgets by scope type. Возможные значения: |
user string Filter consumed amount details for budgets by the specified user login. |
HTTP-коды статуса ответа для «Get all budgets»
| Код состояния | Description |
|---|---|
200 | Response when getting all budgets |
403 | Forbidden |
404 | Resource not found |
Примеры кода для «Get all budgets»
Если вы получаете доступ к GitHub на GHE.com, замените api.github.com на выделенный поддомен вашего предприятия в api.SUBDOMAIN.ghe.com.
Примеры запросов
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/enterprises/ENTERPRISE/settings/billing/budgetsResponse when getting all budgets
Status: 200{
"budgets": [
{
"id": "2066deda-923f-43f9-88d2-62395a28c0cdd",
"budget_type": "ProductPricing",
"budget_product_skus": [
"actions"
],
"budget_scope": "enterprise",
"budget_amount": 1000,
"prevent_further_usage": true,
"budget_alerting": {
"will_alert": true,
"alert_recipients": [
"enterprise-admin",
"billing-manager"
]
}
},
{
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"budget_type": "SkuPricing",
"budget_product_skus": [
"actions_linux"
],
"budget_scope": "organization",
"budget_amount": 500,
"prevent_further_usage": false,
"budget_alerting": {
"will_alert": true,
"alert_recipients": [
"org-owner"
]
}
},
{
"id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"budget_type": "ProductPricing",
"budget_product_skus": [
"packages"
],
"budget_scope": "cost_center",
"budget_amount": 250,
"prevent_further_usage": true,
"budget_alerting": {
"will_alert": false,
"alert_recipients": []
}
}
],
"has_next_page": false,
"total_count": 3
}Create a budget
Creates a new budget for an enterprise. The authenticated user must be an enterprise admin, organization admin, or billing manager of the enterprise.
Детализированные токены доступа для «Create a budget»
Эта конечная точка не работает с пользовательскими токенами доступа GitHub App, токенами доступа для установки GitHub App или детализированными персональными токенами доступа.
Параметры для «Create a budget»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
enterprise string Обязательное полеThe slug version of the enterprise name. |
| Имя., Тип, Description | |||
|---|---|---|---|
budget_amount integer Обязательное полеThe budget amount in whole dollars. For license-based products, this represents the number of licenses. | |||
prevent_further_usage boolean Обязательное полеWhether to prevent additional spending once the budget is exceeded. For | |||
budget_alerting object Обязательное поле | |||
Properties of |
| Имя., Тип, Description |
|---|
will_alert boolean Обязательное полеWhether alerts are enabled for this budget |
alert_recipients array of strings Обязательное полеArray of user login names who will receive alerts |
budget_scope string Обязательное полеThe scope of the budget. user and multi_user_customer scopes are only supported when budget_product_sku is ai_credits or premium_requests.
Возможные значения: enterprise, organization, repository, cost_center, multi_user_customer, user
budget_entity_name string The name of the entity to apply the budget to
По умолчанию.: ""
budget_type string Обязательное полеThe type of pricing for the budget
budget_product_sku string A single product or SKU that will be covered in the budget
HTTP-коды статуса ответа для «Create a budget»
| Код состояния | Description |
|---|---|
200 | Budget created successfully |
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 |
Примеры кода для «Create a budget»
Если вы получаете доступ к GitHub на GHE.com, замените api.github.com на выделенный поддомен вашего предприятия в api.SUBDOMAIN.ghe.com.
Пример запроса
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/enterprises/ENTERPRISE/settings/billing/budgets \
-d '{"budget_amount":200,"prevent_further_usage":true,"budget_scope":"enterprise","budget_entity_name":"","budget_type":"ProductPricing","budget_product_sku":"actions","budget_alerting":{"will_alert":false,"alert_recipients":[]}}'Budget created successfully
Status: 200{
"message": "Budget successfully created.",
"budget": {
"id": "f5236c62-157f-4d8f-a79e-ffb91058ee97",
"budget_type": "ProductPricing",
"budget_product_sku": "actions",
"budget_scope": "organization",
"budget_entity_name": "example-organization",
"budget_amount": 100,
"prevent_further_usage": true,
"budget_alerting": {
"will_alert": false,
"alert_recipients": []
}
}
}Get a budget by ID
Gets a budget by ID. The authenticated user must be an enterprise admin or billing manager.
Детализированные токены доступа для «Get a budget by ID»
Эта конечная точка не работает с пользовательскими токенами доступа GitHub App, токенами доступа для установки GitHub App или детализированными персональными токенами доступа.
Параметры для «Get a budget by ID»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
enterprise string Обязательное полеThe slug version of the enterprise name. |
budget_id string Обязательное полеThe ID corresponding to the budget. |
HTTP-коды статуса ответа для «Get a budget by ID»
| Код состояния | Description |
|---|---|
200 | Response when updating a budget |
400 | Bad Request |
403 | Forbidden |
404 | Resource not found |
500 | Internal Error |
503 | Service unavailable |
Примеры кода для «Get a budget by ID»
Если вы получаете доступ к GitHub на GHE.com, замените api.github.com на выделенный поддомен вашего предприятия в api.SUBDOMAIN.ghe.com.
Пример запроса
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/enterprises/ENTERPRISE/settings/billing/budgets/BUDGET_IDResponse when updating a budget
Status: 200{
"id": "2066deda-923f-43f9-88d2-62395a28c0cdd",
"budget_type": "ProductPricing",
"budget_product_sku": "actions_linux",
"budget_scope": "repository",
"budget_entity_name": "example-repo-name",
"budget_amount": 0,
"prevent_further_usage": true,
"budget_alerting": {
"will_alert": true,
"alert_recipients": [
"mona",
"lisa"
]
}
}Update a budget
Updates an existing budget for an enterprise. The authenticated user must be an enterprise admin, organization admin, or billing manager of the enterprise.
Детализированные токены доступа для «Update a budget»
Эта конечная точка не работает с пользовательскими токенами доступа GitHub App, токенами доступа для установки GitHub App или детализированными персональными токенами доступа.
Параметры для «Update a budget»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
enterprise string Обязательное полеThe slug version of the enterprise name |
budget_id string Обязательное полеThe unique identifier of the budget |
| Имя., Тип, Description | |||
|---|---|---|---|
budget_amount integer The budget amount in whole dollars. For license-based products, this represents the number of licenses. | |||
prevent_further_usage boolean Whether to prevent additional spending once the budget is exceeded. For budgets with | |||
budget_alerting object | |||
Properties of |
| Имя., Тип, Description |
|---|
will_alert boolean Whether alerts are enabled for this budget |
alert_recipients array of strings Array of user login names who will receive alerts |
budget_scope string The scope of the budget
Возможные значения: enterprise, organization, repository, cost_center, multi_user_customer, user
budget_entity_name string The name of the entity to apply the budget to
budget_type string The type of pricing for the budget
budget_product_sku string A single product or SKU that will be covered in the budget
HTTP-коды статуса ответа для «Update a budget»
| Код состояния | Description |
|---|---|
200 | Budget updated successfully |
400 | Bad Request |
401 | Requires authentication |
403 | Forbidden |
404 | Budget not found or feature not enabled |
422 | Validation failed, or the endpoint has been spammed. |
500 | Internal server error |
503 | Service unavailable |
Примеры кода для «Update a budget»
Если вы получаете доступ к GitHub на GHE.com, замените api.github.com на выделенный поддомен вашего предприятия в api.SUBDOMAIN.ghe.com.
Пример запроса
curl -L \
-X PATCH \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/enterprises/ENTERPRISE/settings/billing/budgets/BUDGET_ID \
-d '{"prevent_further_usage":false,"budget_amount":10,"budget_alerting":{"will_alert":false,"alert_recipients":[]}}'Budget updated successfully
Status: 200{
"message": "Budget successfully updated.",
"budget": {
"id": "2066deda-923f-43f9-88d2-62395a28c0cdd",
"budget_type": "ProductPricing",
"budget_product_sku": "actions_linux",
"budget_scope": "repository",
"budget_entity_name": "org-name/example-repo-name",
"budget_amount": 10,
"prevent_further_usage": true,
"budget_alerting": {
"will_alert": true,
"alert_recipients": [
"mona",
"lisa"
]
}
}
}Delete a budget
Deletes a budget by ID. The authenticated user must be an enterprise admin.
Детализированные токены доступа для «Delete a budget»
Эта конечная точка не работает с пользовательскими токенами доступа GitHub App, токенами доступа для установки GitHub App или детализированными персональными токенами доступа.
Параметры для «Delete a budget»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
enterprise string Обязательное полеThe slug version of the enterprise name. |
budget_id string Обязательное полеThe ID corresponding to the budget. |
HTTP-коды статуса ответа для «Delete a budget»
| Код состояния | Description |
|---|---|
200 | Response when deleting a budget |
400 | Bad Request |
403 | Forbidden |
404 | Resource not found |
500 | Internal Error |
503 | Service unavailable |
Примеры кода для «Delete a budget»
Если вы получаете доступ к GitHub на GHE.com, замените api.github.com на выделенный поддомен вашего предприятия в api.SUBDOMAIN.ghe.com.
Пример запроса
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/enterprises/ENTERPRISE/settings/billing/budgets/BUDGET_IDResponse when deleting a budget
Status: 200{
"message": "Budget successfully deleted.",
"budget_id": "2c1feb79-3947-4dc8-a16e-80cbd732cc0b"
}