Skip to main content
REST API теперь версия. Дополнительные сведения см. в разделе "О управлении версиями API".

Центры затрат

Используйте REST API для получения информации о центре затрат.

Обязательные роли

Следующие роли могут получать доступ к конечным точкам API центров затрат:

  • Владельцы предприятий
  • Менеджеры по выставлению счетов
  • Владельцы организаций

Get all cost centers for an enterprise

Gets a list of all the cost centers for an enterprise.

fine_grained_access

no_fine_grained_access

Параметры для «Get all cost centers for an enterprise»

Заголовки
Имя., Тип, Description
accept string

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

Параметры пути
Имя., Тип, Description
enterprise string Обязательное поле

The slug version of the enterprise name.

Параметры запроса
Имя., Тип, Description
state string

Set to active or deleted to only list cost centers in a specific state.

Возможные значения: active, deleted

http_status_code

status_codeDescription
200

Response when getting cost centers

400

Bad Request

403

Forbidden

500

Internal Error

503

Service unavailable

code_samples

data_residency_notice

request_example

get/enterprises/{enterprise}/settings/billing/cost-centers
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/cost-centers

Response when getting cost centers

Status: 200
{ "costCenters": [ { "id": "2eeb8ffe-6903-11ee-8c99-0242ac120002", "name": "Cost Center Name", "state": "active", "azure_subscription": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "resources": [ { "type": "User", "name": "Monalisa" }, { "type": "Repo", "name": "octocat/hello-world" } ] }, { "id": "3ffb9ffe-6903-11ee-8c99-0242ac120003", "name": "Another Cost Center", "state": "active", "resources": [ { "type": "User", "name": "Octocat" } ] } ] }

Create a new cost center

Creates a new cost center for an enterprise. The authenticated user must be an enterprise admin.

fine_grained_access

no_fine_grained_access

Параметры для «Create a new cost center»

Заголовки
Имя., Тип, Description
accept string

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

Параметры пути
Имя., Тип, Description
enterprise string Обязательное поле

The slug version of the enterprise name.

Параметры запроса
Имя., Тип, Description
name string Обязательное поле

The name of the cost center (max length 255 characters)

http_status_code

status_codeDescription
200

Cost center created successfully

400

Bad request

409

Conflict

500

Internal server error

code_samples

data_residency_notice

request_example

post/enterprises/{enterprise}/settings/billing/cost-centers
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/cost-centers \ -d '{"name":"Engineering Team"}'

Example response for a created cost center

Status: 200
{ "id": "abc123", "name": "Engineering Team", "resources": [] }

Get a cost center by ID

Gets a cost center by ID. The authenticated user must be an enterprise admin.

fine_grained_access

no_fine_grained_access

Параметры для «Get a cost center by ID»

Заголовки
Имя., Тип, Description
accept string

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

Параметры пути
Имя., Тип, Description
enterprise string Обязательное поле

The slug version of the enterprise name.

cost_center_id string Обязательное поле

The ID corresponding to the cost center.

Параметры запроса
Имя., Тип, Description
page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

По умолчанию.: 1

per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

По умолчанию.: 30

http_status_code

status_codeDescription
200

Response when getting a cost center

400

Bad Request

403

Forbidden

500

Internal Error

503

Service unavailable

code_samples

data_residency_notice

request_example

get/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_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/enterprises/ENTERPRISE/settings/billing/cost-centers/COST_CENTER_ID

Response when getting a cost center

Status: 200
{ "id": "2eeb8ffe-6903-11ee-8c99-0242ac120002", "name": "Cost Center Name", "state": "active", "azure_subscription": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "resources": [ { "type": "User", "name": "Monalisa" }, { "type": "Repo", "name": "octocat/hello-world" } ] }

Update a cost center name

Updates an existing cost center name.

fine_grained_access

no_fine_grained_access

Параметры для «Update a cost center name»

Заголовки
Имя., Тип, Description
accept string

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

Параметры пути
Имя., Тип, Description
enterprise string Обязательное поле

The slug version of the enterprise name

cost_center_id string Обязательное поле

The unique identifier of the cost center

Параметры запроса
Имя., Тип, Description
name string Обязательное поле

The new name for the cost center

http_status_code

status_codeDescription
200

Response when updating a cost center

400

Bad Request

403

Forbidden

404

Resource not found

409

Conflict

500

Internal Error

503

Service unavailable

code_samples

data_residency_notice

request_example

patch/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_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/enterprises/ENTERPRISE/settings/billing/cost-centers/COST_CENTER_ID \ -d '{"name":"New Cost Center Name"}'

Response when updating a cost center

Status: 200
{ "id": "2eeb8ffe-6903-11ee-8c99-0242ac120002", "name": "Cost Center Name", "state": "active", "azure_subscription": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "resources": [ { "type": "User", "name": "Monalisa" }, { "type": "Repo", "name": "octocat/hello-world" } ] }

Delete a cost center

Archieves a cost center by ID. The authenticated user must be an enterprise admin.

fine_grained_access

no_fine_grained_access

Параметры для «Delete a cost center»

Заголовки
Имя., Тип, Description
accept string

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

Параметры пути
Имя., Тип, Description
enterprise string Обязательное поле

The slug version of the enterprise name.

cost_center_id string Обязательное поле

The ID corresponding to the cost center.

http_status_code

status_codeDescription
200

Response when deleting a cost center

400

Bad Request

403

Forbidden

404

Resource not found

500

Internal Error

503

Service unavailable

code_samples

data_residency_notice

request_example

delete/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_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/enterprises/ENTERPRISE/settings/billing/cost-centers/COST_CENTER_ID

Response when deleting a cost center

Status: 200
{ "message": "Cost center successfully deleted.", "id": "2066deda-923f-43f9-88d2-62395a28c0cdd", "name": "cc3", "costCenterState": "CostCenterArchived" }

Add resources to a cost center

Adds resources to a cost center.

The usage for the resources will be charged to the cost center's budget. The authenticated user must be an enterprise admin in order to use this endpoint.

fine_grained_access

no_fine_grained_access

Параметры для «Add resources to a cost center»

Заголовки
Имя., Тип, Description
accept string

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

Параметры пути
Имя., Тип, Description
enterprise string Обязательное поле

The slug version of the enterprise name.

cost_center_id string Обязательное поле

The ID corresponding to the cost center.

Параметры запроса
Имя., Тип, Description
users array of strings

The usernames of the users to add to the cost center.

organizations array of strings

The organizations to add to the cost center.

repositories array of strings

The repositories to add to the cost center.

http_status_code

status_codeDescription
200

Response when adding resources to a cost center

400

Bad Request

403

Forbidden

409

Conflict

500

Internal Error

503

Service unavailable

code_samples

data_residency_notice

request_example

post/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}/resource
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/cost-centers/COST_CENTER_ID/resource \ -d '{"users":["monalisa"]}'

Response when adding resources to a cost center

Status: 200
{ "message": "Resources successfully added to the cost center.", "reassigned_resources": [ { "resource_type": "user", "name": "monalisa", "previous_cost_center": "old-cost-center" }, { "resource_type": "organization", "name": "octo-org", "previous_cost_center": "another-cost-center" }, { "resource_type": "repository", "name": "octo-repo", "previous_cost_center": "yet-another-cost-center" } ] }

Remove resources from a cost center

Remove resources from a cost center.

The usage for the resources will no longer be charged to the cost center's budget. The authenticated user must be an enterprise admin in order to use this endpoint.

fine_grained_access

no_fine_grained_access

Параметры для «Remove resources from a cost center»

Заголовки
Имя., Тип, Description
accept string

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

Параметры пути
Имя., Тип, Description
enterprise string Обязательное поле

The slug version of the enterprise name.

cost_center_id string Обязательное поле

The ID corresponding to the cost center.

Параметры запроса
Имя., Тип, Description
users array of strings

The usernames of the users to remove from the cost center.

organizations array of strings

The organizations to remove from the cost center.

repositories array of strings

The repositories to remove from the cost center.

http_status_code

status_codeDescription
200

Response when removing resources from a cost center

400

Bad Request

403

Forbidden

500

Internal Error

503

Service unavailable

code_samples

data_residency_notice

request_example

delete/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}/resource
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/cost-centers/COST_CENTER_ID/resource \ -d '{"users":["monalisa"]}'

Response when removing resources from a cost center

Status: 200
{ "message": "Resources successfully removed from the cost center." }