Budgets
Use a API REST para obter informações de orçamento.
Importante
O esquema do corpo da solicitação abaixo não tem um campo necessário. Quando budget_scope for user, você também deverá incluir um campo user definido como o nome de usuário GitHub ao qual o orçamento se aplica. Se você omitir esse campo, a API retornará HTTP 400: Missing required fields: budget_entity_name. Para orçamentos com escopo do usuário, budget_entity_name pode ser uma cadeia de caracteres vazia.
O exemplo a seguir cria um orçamento com escopo de usuário que limita o valor mensal CopilotAI credits de um único usuário a US$ 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.
Tokens de acesso granulares para "Get all budgets"
Esse ponto de extremidade não funciona com tokens de acesso de usuário do GitHub App, tokens de acesso de instalação do GitHub App ou tokens de acesso pessoal com controle refinado.
Parâmetros para "Get all budgets"
| Nome, Tipo, Descrição |
|---|
accept string Setting to |
| Nome, Tipo, Descrição |
|---|
enterprise string ObrigatórioThe slug version of the enterprise name. |
| Nome, Tipo, Descrição |
|---|
page integer The page number of results to fetch. Padrão: |
per_page integer The number of results per page (max 100). Padrão: |
scope string Filter budgets by scope type. Pode ser um dos: |
user string Filter consumed amount details for budgets by the specified user login. |
Códigos de status de resposta HTTP para "Get all budgets"
| Código de status | Descrição |
|---|---|
200 | Response when getting all budgets |
403 | Forbidden |
404 | Resource not found |
Exemplos de código para "Get all budgets"
Se você acessar GitHub em GHE.com, substitua api.github.com pelo subdomínio dedicado da sua empresa em api.SUBDOMAIN.ghe.com.
Exemplos de solicitação
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.
Tokens de acesso granulares para "Create a budget"
Esse ponto de extremidade não funciona com tokens de acesso de usuário do GitHub App, tokens de acesso de instalação do GitHub App ou tokens de acesso pessoal com controle refinado.
Parâmetros para "Create a budget"
| Nome, Tipo, Descrição |
|---|
accept string Setting to |
| Nome, Tipo, Descrição |
|---|
enterprise string ObrigatórioThe slug version of the enterprise name. |
| Nome, Tipo, Descrição | |||
|---|---|---|---|
budget_amount integer ObrigatórioThe budget amount in whole dollars. For license-based products, this represents the number of licenses. | |||
prevent_further_usage boolean ObrigatórioWhether to prevent additional spending once the budget is exceeded. For | |||
budget_alerting object Obrigatório | |||
Properties of |
| Nome, Tipo, Descrição |
|---|
will_alert boolean ObrigatórioWhether alerts are enabled for this budget |
alert_recipients array of strings ObrigatórioArray of user login names who will receive alerts |
budget_scope string ObrigatórioThe scope of the budget. user and multi_user_customer scopes are only supported when budget_product_sku is ai_credits or premium_requests.
Pode ser um dos: enterprise, organization, repository, cost_center, multi_user_customer, user
budget_entity_name string The name of the entity to apply the budget to
Padrão: ""
budget_type string ObrigatórioThe type of pricing for the budget
budget_product_sku string A single product or SKU that will be covered in the budget
Códigos de status de resposta HTTP para "Create a budget"
| Código de status | Descrição |
|---|---|
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 |
Exemplos de código para "Create a budget"
Se você acessar GitHub em GHE.com, substitua api.github.com pelo subdomínio dedicado da sua empresa em api.SUBDOMAIN.ghe.com.
Exemplo de solicitação
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.
Tokens de acesso granulares para "Get a budget by ID"
Esse ponto de extremidade não funciona com tokens de acesso de usuário do GitHub App, tokens de acesso de instalação do GitHub App ou tokens de acesso pessoal com controle refinado.
Parâmetros para "Get a budget by ID"
| Nome, Tipo, Descrição |
|---|
accept string Setting to |
| Nome, Tipo, Descrição |
|---|
enterprise string ObrigatórioThe slug version of the enterprise name. |
budget_id string ObrigatórioThe ID corresponding to the budget. |
Códigos de status de resposta HTTP para "Get a budget by ID"
| Código de status | Descrição |
|---|---|
200 | Response when updating a budget |
400 | Bad Request |
403 | Forbidden |
404 | Resource not found |
500 | Internal Error |
503 | Service unavailable |
Exemplos de código para "Get a budget by ID"
Se você acessar GitHub em GHE.com, substitua api.github.com pelo subdomínio dedicado da sua empresa em api.SUBDOMAIN.ghe.com.
Exemplo de solicitação
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.
Tokens de acesso granulares para "Update a budget"
Esse ponto de extremidade não funciona com tokens de acesso de usuário do GitHub App, tokens de acesso de instalação do GitHub App ou tokens de acesso pessoal com controle refinado.
Parâmetros para "Update a budget"
| Nome, Tipo, Descrição |
|---|
accept string Setting to |
| Nome, Tipo, Descrição |
|---|
enterprise string ObrigatórioThe slug version of the enterprise name |
budget_id string ObrigatórioThe unique identifier of the budget |
| Nome, Tipo, Descrição | |||
|---|---|---|---|
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 |
| Nome, Tipo, Descrição |
|---|
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
Pode ser um dos: 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
Códigos de status de resposta HTTP para "Update a budget"
| Código de status | Descrição |
|---|---|
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 |
Exemplos de código para "Update a budget"
Se você acessar GitHub em GHE.com, substitua api.github.com pelo subdomínio dedicado da sua empresa em api.SUBDOMAIN.ghe.com.
Exemplo de solicitação
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.
Tokens de acesso granulares para "Delete a budget"
Esse ponto de extremidade não funciona com tokens de acesso de usuário do GitHub App, tokens de acesso de instalação do GitHub App ou tokens de acesso pessoal com controle refinado.
Parâmetros para "Delete a budget"
| Nome, Tipo, Descrição |
|---|
accept string Setting to |
| Nome, Tipo, Descrição |
|---|
enterprise string ObrigatórioThe slug version of the enterprise name. |
budget_id string ObrigatórioThe ID corresponding to the budget. |
Códigos de status de resposta HTTP para "Delete a budget"
| Código de status | Descrição |
|---|---|
200 | Response when deleting a budget |
400 | Bad Request |
403 | Forbidden |
404 | Resource not found |
500 | Internal Error |
503 | Service unavailable |
Exemplos de código para "Delete a budget"
Se você acessar GitHub em GHE.com, substitua api.github.com pelo subdomínio dedicado da sua empresa em api.SUBDOMAIN.ghe.com.
Exemplo de solicitação
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"
}