Skip to main content
REST API 现已开始进行版本化。 有关详细信息,请参阅“关于 API 版本控制”。

Budgets

使用 REST API 获取预算信息。

重要

下面的请求正文架构缺少必填字段。 当 budget_scopeuser 时,还必须包含一个 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 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.

“Get all budgets for an organization”的细粒度访问令牌

此端点支持以下精细令牌类型:

细粒度令牌必须具有以下权限集:

  • "Administration" organization permissions (read)

“”Get all budgets for an organization 的参数

标头
名称, 类型, 说明
accept string

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

路径参数
名称, 类型, 说明
org string 必须

The organization name. The name is not case sensitive.

查询参数
名称, 类型, 说明
page integer

The page number of the results to fetch.

默认: 1

per_page integer

The number of results per page (max 100).

默认: 10

scope string

Filter budgets by scope type.

可以是以下选项之一: enterprise, organization, repository, cost_center, multi_user_customer, user

user string

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

“Get all budgets for an organization”的 HTTP 响应状态代码

状态代码说明
200

Response when getting all budgets

403

Forbidden

404

Resource not found

500

Internal Error

“Get all budgets for an organization”的代码示例

请求示例

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.

“Create a budget for an organization”的细粒度访问令牌

此端点支持以下精细令牌类型:

细粒度令牌必须具有以下权限集:

  • "Administration" organization permissions (write)

“”Create a budget for an organization 的参数

标头
名称, 类型, 说明
accept string

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

路径参数
名称, 类型, 说明
org string 必须

The organization name. The name is not case sensitive.

主体参数
名称, 类型, 说明
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
名称, 类型, 说明
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.

可以是以下选项之一: organization, repository, 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. This field is required when budget_scope is user.

“Create a budget for an organization”的 HTTP 响应状态代码

状态代码说明
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

“Create a budget for an organization”的代码示例

请求示例

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.

“Get a budget by ID for an organization”的细粒度访问令牌

此端点支持以下精细令牌类型:

细粒度令牌必须具有以下权限集:

  • "Administration" organization permissions (read)

“”Get a budget by ID for an organization 的参数

标头
名称, 类型, 说明
accept string

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

路径参数
名称, 类型, 说明
org string 必须

The organization name. The name is not case sensitive.

budget_id string 必须

The ID corresponding to the budget.

“Get a budget by ID for an organization”的 HTTP 响应状态代码

状态代码说明
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 for an organization”的代码示例

请求示例

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.

“Update a budget for an organization”的细粒度访问令牌

此端点支持以下精细令牌类型:

细粒度令牌必须具有以下权限集:

  • "Administration" organization permissions (write)

“”Update a budget for an organization 的参数

标头
名称, 类型, 说明
accept string

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

路径参数
名称, 类型, 说明
org string 必须

The organization name. The name is not case sensitive.

budget_id string 必须

The ID corresponding to the budget.

主体参数
名称, 类型, 说明
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
名称, 类型, 说明
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 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.

“Update a budget for an organization”的 HTTP 响应状态代码

状态代码说明
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

“Update a budget for an organization”的代码示例

请求示例

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.

“Delete a budget for an organization”的细粒度访问令牌

此端点支持以下精细令牌类型:

细粒度令牌必须具有以下权限集:

  • "Administration" organization permissions (write)

“”Delete a budget for an organization 的参数

标头
名称, 类型, 说明
accept string

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

路径参数
名称, 类型, 说明
org string 必须

The organization name. The name is not case sensitive.

budget_id string 必须

The ID corresponding to the budget.

“Delete a budget for an organization”的 HTTP 响应状态代码

状态代码说明
200

Response when deleting a budget

400

Bad Request

403

Forbidden

404

Resource not found

500

Internal Error

503

Service unavailable

“Delete a budget for an organization”的代码示例

请求示例

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" }