Skip to main content
Ahora la API REST está versionada. Para obtener más información, consulta "Acerca del control de versiones de la API".

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 for an organization

Gets all budgets for an organization. The authenticated user must be an organization admin or billing manager. Each page returns up to 100 budgets.

Tokens de acceso granulares para "Get all budgets for an organization"

Este punto de conexión funciona con los siguientes tipos de token pormenorizados:

El token pormenorizado debe tener el siguiente conjunto de permisos:

  • "Administration" organization permissions (read)

Parámetros para "Get all budgets for an organization"

Encabezados
Nombre, Tipo, Descripción
accept string

Setting to application/vnd.github+json is recommended.

Parámetros de ruta
Nombre, Tipo, Descripción
org string Obligatorio

The organization name. The name is not case sensitive.

Parámetros de consulta
Nombre, Tipo, Descripción
page integer

The page number of the results to fetch.

Valor predeterminado: 1

per_page integer

The number of results per page (max 100).

Valor predeterminado: 10

scope string

Filter budgets by scope type.

Puede ser uno de los siguientes: enterprise, organization, repository, cost_center, multi_user_customer, user

user string

Filter consumed amount details for budgets by the specified user login.

Códigos de estado de respuesta HTTP para "Get all budgets for an organization"

código de estadoDescripción
200

Response when getting all budgets

403

Forbidden

404

Resource not found

500

Internal Error

Ejemplos de código para "Get all budgets for an organization"

Ejemplos de solicitud

get/organizations/{org}/settings/billing/budgets
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/organizations/ORG/settings/billing/budgets

Response 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 for an organization

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

Tokens de acceso granulares para "Create a budget for an organization"

Este punto de conexión funciona con los siguientes tipos de token pormenorizados:

El token pormenorizado debe tener el siguiente conjunto de permisos:

  • "Administration" organization permissions (write)

Parámetros para "Create a budget for an organization"

Encabezados
Nombre, Tipo, Descripción
accept string

Setting to application/vnd.github+json is recommended.

Parámetros de ruta
Nombre, Tipo, Descripción
org string Obligatorio

The organization name. The name is not case sensitive.

Parámetros del cuerpo
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 user and multi_user_customer scopes, this must be true.

budget_alerting object
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 for this organization. Use 'organization' for org-level budgets or 'repository' for repo-specific budgets within the organization. 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: organization, repository, multi_user_customer, user

budget_entity_name string

The name of the entity to apply the budget to

Valor predeterminado: ""

budget_type string

The type of pricing model used by the budget. Determines how budget_product_sku is interpreted.

  • BundlePricing: Covers all AI credit SKUs. Set budget_product_sku to ai_credits.
  • ProductPricing: Covers all SKUs that belong to a product. Set budget_product_sku to a product such as actions or packages.
  • SkuPricing: Covers a single, specific SKU. Set budget_product_sku to a SKU such as actions_linux.
budget_product_sku string

A single product or SKU that will be covered in the budget

user string

The username of the user for user scope budgets. This field is required when budget_scope is user.

Códigos de estado de respuesta HTTP para "Create a budget for an organization"

código de estadoDescripción
200

Budget created successfully

400

Bad Request

401

Requires authentication

403

Insufficient permissions

404

Feature not enabled or organization not found

422

Validation failed, or the endpoint has been spammed.

500

Internal server error

Ejemplos de código para "Create a budget for an organization"

Ejemplo de solicitud

post/organizations/{org}/settings/billing/budgets
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/organizations/ORG/settings/billing/budgets \ -d '{"budget_amount":500,"prevent_further_usage":true,"budget_scope":"organization","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 for an organization

Gets a budget by ID. The authenticated user must be an organization admin or billing manager.

Tokens de acceso granulares para "Get a budget by ID for an organization"

Este punto de conexión funciona con los siguientes tipos de token pormenorizados:

El token pormenorizado debe tener el siguiente conjunto de permisos:

  • "Administration" organization permissions (read)

Parámetros para "Get a budget by ID for an organization"

Encabezados
Nombre, Tipo, Descripción
accept string

Setting to application/vnd.github+json is recommended.

Parámetros de ruta
Nombre, Tipo, Descripción
org string Obligatorio

The organization name. The name is not case sensitive.

budget_id string Obligatorio

The ID corresponding to the budget.

Códigos de estado de respuesta HTTP para "Get a budget by ID for an organization"

código de estadoDescripció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 for an organization"

Ejemplo de solicitud

get/organizations/{org}/settings/billing/budgets/{budget_id}
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/organizations/ORG/settings/billing/budgets/BUDGET_ID

Response 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 for an organization

Updates an existing budget for an organization. The authenticated user must be an organization admin or billing manager.

Tokens de acceso granulares para "Update a budget for an organization"

Este punto de conexión funciona con los siguientes tipos de token pormenorizados:

El token pormenorizado debe tener el siguiente conjunto de permisos:

  • "Administration" organization permissions (write)

Parámetros para "Update a budget for an organization"

Encabezados
Nombre, Tipo, Descripción
accept string

Setting to application/vnd.github+json is recommended.

Parámetros de ruta
Nombre, Tipo, Descripción
org string Obligatorio

The organization name. The name is not case sensitive.

budget_id string Obligatorio

The ID corresponding to the budget.

Parámetros del cuerpo
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 user or multi_user_customer scope, this must remain true.

budget_alerting object
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 model used by the budget. Determines how budget_product_sku is interpreted.

  • BundlePricing: Covers all AI credit SKUs. Set budget_product_sku to ai_credits.
  • ProductPricing: Covers all SKUs that belong to a product. Set budget_product_sku to a product such as actions or packages.
  • SkuPricing: Covers a single, specific SKU. Set budget_product_sku to a SKU such as actions_linux.
budget_product_sku string

A single product or SKU that will be covered in the budget

user string

The username of the user for user scope budgets.

Códigos de estado de respuesta HTTP para "Update a budget for an organization"

código de estadoDescripció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

Ejemplos de código para "Update a budget for an organization"

Ejemplo de solicitud

patch/organizations/{org}/settings/billing/budgets/{budget_id}
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/organizations/ORG/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 for an organization

Deletes a budget by ID for an organization. The authenticated user must be an organization admin or billing manager.

Tokens de acceso granulares para "Delete a budget for an organization"

Este punto de conexión funciona con los siguientes tipos de token pormenorizados:

El token pormenorizado debe tener el siguiente conjunto de permisos:

  • "Administration" organization permissions (write)

Parámetros para "Delete a budget for an organization"

Encabezados
Nombre, Tipo, Descripción
accept string

Setting to application/vnd.github+json is recommended.

Parámetros de ruta
Nombre, Tipo, Descripción
org string Obligatorio

The organization name. The name is not case sensitive.

budget_id string Obligatorio

The ID corresponding to the budget.

Códigos de estado de respuesta HTTP para "Delete a budget for an organization"

código de estadoDescripció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 for an organization"

Ejemplo de solicitud

delete/organizations/{org}/settings/billing/budgets/{budget_id}
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/organizations/ORG/settings/billing/budgets/BUDGET_ID

Response when deleting a budget

Status: 200
{ "message": "Budget successfully deleted.", "budget_id": "2c1feb79-3947-4dc8-a16e-80cbd732cc0b" }