Центры затрат
Используйте 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 |
| Имя., Тип, Description |
|---|
enterprise string Обязательное полеThe slug version of the enterprise name. |
| Имя., Тип, Description |
|---|
state string Set to Возможные значения: |
http_status_code
| status_code | Description |
|---|---|
200 | Response when getting cost centers |
400 | Bad Request |
403 | Forbidden |
500 | Internal Error |
503 | Service unavailable |
code_samples
data_residency_notice
request_example
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-centersResponse 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 |
| Имя., Тип, 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_code | Description |
|---|---|
200 | Cost center created successfully |
400 | Bad request |
409 | Conflict |
500 | Internal server error |
code_samples
data_residency_notice
request_example
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 |
| Имя., Тип, 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." По умолчанию.: |
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." По умолчанию.: |
http_status_code
| status_code | Description |
|---|---|
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
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_IDResponse 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 |
| Имя., Тип, 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_code | Description |
|---|---|
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
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 |
| Имя., Тип, 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_code | Description |
|---|---|
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
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_IDResponse 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 |
| Имя., Тип, 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_code | Description |
|---|---|
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
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 |
| Имя., Тип, 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_code | Description |
|---|---|
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
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."
}