Budgets
Use la API REST para obtener información presupuestaria.
Importante
Falta un campo obligatorio en el esquema del cuerpo de la solicitud siguiente. Cuando budget_scope es user, también debe incluir un campo user establecido en el nombre de usuario GitHub al que se aplica el presupuesto. Si omite este campo, la API devuelve HTTP 400: Missing required fields: budget_entity_name. Para los presupuestos con ámbito de usuario, budget_entity_name puede ser una cadena vacía.
En el siguiente ejemplo se crea un presupuesto de ámbito de usuario que limita el CopilotAI credits mensual de un único usuario a 30 USD:
{
"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 acceso granulares para "Get all budgets"
Este punto de conexión no funciona con tokens de acceso de usuario de la aplicación de GitHub, tokens de acceso de instalación de la aplicación de GitHub, o tokens de acceso personal de grano fino.
Parámetros para "Get all budgets"
| Nombre, Tipo, Descripción |
|---|
accept string Setting to |
| Nombre, Tipo, Descripción |
|---|
enterprise string ObligatorioThe slug version of the enterprise name. |
| Nombre, Tipo, Descripción |
|---|
page integer The page number of results to fetch. Valor predeterminado: |
per_page integer The number of results per page (max 100). Valor predeterminado: |
scope string Filter budgets by scope type. Puede ser uno de los siguientes: |
user string Filter consumed amount details for budgets by the specified user login. |
Códigos de estado de respuesta HTTP para "Get all budgets"
| código de estado | Descripción |
|---|---|
200 | Response when getting all budgets |
403 | Forbidden |
404 | Resource not found |
Ejemplos de código para "Get all budgets"
Si accede a GitHub en GHE.com, reemplace api.github.com por el subdominio dedicado de la empresa en api.SUBDOMAIN.ghe.com.
Ejemplos de solicitud
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 acceso granulares para "Create a budget"
Este punto de conexión no funciona con tokens de acceso de usuario de la aplicación de GitHub, tokens de acceso de instalación de la aplicación de GitHub, o tokens de acceso personal de grano fino.
Parámetros para "Create a budget"
| Nombre, Tipo, Descripción |
|---|
accept string Setting to |
| Nombre, Tipo, Descripción |
|---|
enterprise string ObligatorioThe slug version of the enterprise name. |
| Nombre, Tipo, Descripción | |||
|---|---|---|---|
budget_amount integer ObligatorioThe budget amount in whole dollars. For license-based products, this represents the number of licenses. | |||
prevent_further_usage boolean ObligatorioWhether to prevent additional spending once the budget is exceeded. For | |||
budget_alerting object Obligatorio | |||
Properties of |
| Nombre, Tipo, Descripción |
|---|
will_alert boolean ObligatorioWhether alerts are enabled for this budget |
alert_recipients array of strings ObligatorioArray of user login names who will receive alerts |
budget_scope string ObligatorioThe scope of the budget. user and multi_user_customer scopes are only supported when budget_product_sku is ai_credits or premium_requests.
Puede ser uno de los siguientes: enterprise, organization, repository, cost_center, multi_user_customer, user
budget_entity_name string The name of the entity to apply the budget to
Valor predeterminado: ""
budget_type string ObligatorioThe 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 estado de respuesta HTTP para "Create a budget"
| código de estado | Descripción |
|---|---|
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 |
Ejemplos de código para "Create a budget"
Si accede a GitHub en GHE.com, reemplace api.github.com por el subdominio dedicado de la empresa en api.SUBDOMAIN.ghe.com.
Ejemplo de solicitud
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 acceso granulares para "Get a budget by ID"
Este punto de conexión no funciona con tokens de acceso de usuario de la aplicación de GitHub, tokens de acceso de instalación de la aplicación de GitHub, o tokens de acceso personal de grano fino.
Parámetros para "Get a budget by ID"
| Nombre, Tipo, Descripción |
|---|
accept string Setting to |
| Nombre, Tipo, Descripción |
|---|
enterprise string ObligatorioThe slug version of the enterprise name. |
budget_id string ObligatorioThe ID corresponding to the budget. |
Códigos de estado de respuesta HTTP para "Get a budget by ID"
| código de estado | Descripción |
|---|---|
200 | Response when updating a budget |
400 | Bad Request |
403 | Forbidden |
404 | Resource not found |
500 | Internal Error |
503 | Service unavailable |
Ejemplos de código para "Get a budget by ID"
Si accede a GitHub en GHE.com, reemplace api.github.com por el subdominio dedicado de la empresa en api.SUBDOMAIN.ghe.com.
Ejemplo de solicitud
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 acceso granulares para "Update a budget"
Este punto de conexión no funciona con tokens de acceso de usuario de la aplicación de GitHub, tokens de acceso de instalación de la aplicación de GitHub, o tokens de acceso personal de grano fino.
Parámetros para "Update a budget"
| Nombre, Tipo, Descripción |
|---|
accept string Setting to |
| Nombre, Tipo, Descripción |
|---|
enterprise string ObligatorioThe slug version of the enterprise name |
budget_id string ObligatorioThe unique identifier of the budget |
| Nombre, Tipo, Descripción | |||
|---|---|---|---|
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 |
| Nombre, Tipo, Descripción |
|---|
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
Puede ser uno de los siguientes: 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 estado de respuesta HTTP para "Update a budget"
| código de estado | Descripción |
|---|---|
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 |
Ejemplos de código para "Update a budget"
Si accede a GitHub en GHE.com, reemplace api.github.com por el subdominio dedicado de la empresa en api.SUBDOMAIN.ghe.com.
Ejemplo de solicitud
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 acceso granulares para "Delete a budget"
Este punto de conexión no funciona con tokens de acceso de usuario de la aplicación de GitHub, tokens de acceso de instalación de la aplicación de GitHub, o tokens de acceso personal de grano fino.
Parámetros para "Delete a budget"
| Nombre, Tipo, Descripción |
|---|
accept string Setting to |
| Nombre, Tipo, Descripción |
|---|
enterprise string ObligatorioThe slug version of the enterprise name. |
budget_id string ObligatorioThe ID corresponding to the budget. |
Códigos de estado de respuesta HTTP para "Delete a budget"
| código de estado | Descripción |
|---|---|
200 | Response when deleting a budget |
400 | Bad Request |
403 | Forbidden |
404 | Resource not found |
500 | Internal Error |
503 | Service unavailable |
Ejemplos de código para "Delete a budget"
Si accede a GitHub en GHE.com, reemplace api.github.com por el subdominio dedicado de la empresa en api.SUBDOMAIN.ghe.com.
Ejemplo de solicitud
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"
}