Центры затрат
Используйте REST API для получения информации о центре затрат.
Обязательные роли
Следующие роли могут получать доступ к конечным точкам API центров затрат:
- Владельцы предприятий
- Менеджеры по выставлению счетов
- Владельцы организаций
Get all cost centers for an enterprise
Gets a list of all the cost centers for an enterprise. Enterprise owners and billing managers can view all cost centers, and organization owners can view cost centers associated with resources they administer. A custom role holder with fine-grained read access to enterprise billing can also view cost centers. An installation access token for a GitHub App installed on the enterprise with read access to enterprise billing can list all cost centers in the enterprise.
Детализированные токены доступа для «Get all cost centers for an enterprise»
Эта конечная точка работает со следующими точными типами маркеров:
Маркер с точной детализацией должен иметь следующий набор разрешений.:
- "Enterprise billing" enterprise permissions (read)
Параметры для «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-коды статуса ответа для «Get all cost centers for an enterprise»
| Код состояния | Description |
|---|---|
200 | Response when getting cost centers |
400 | Bad Request |
403 | Forbidden |
500 | Internal Error |
503 | Service unavailable |
Примеры кода для «Get all cost centers for an enterprise»
Если вы получаете доступ к GitHub на GHE.com, замените api.github.com на выделенный поддомен вашего предприятия в api.SUBDOMAIN.ghe.com.
Пример запроса
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": "Team",
"name": "enterprise-team-1"
}
],
"ai_credit_pool_enabled": true,
"ai_credit_pool_state": {
"target_amount": 21000,
"current_amount": 7250.5
}
},
{
"id": "3ffb9ffe-6903-11ee-8c99-0242ac120003",
"name": "Another Cost Center",
"state": "active",
"resources": [
{
"type": "User",
"name": "Octocat"
},
{
"type": "Team",
"name": "enterprise-team-2"
},
{
"type": "Repo",
"name": "octocat/hello-world"
}
],
"ai_credit_pool_enabled": false
}
]
}Create a new cost center
Creates a new cost center for an enterprise. Enterprise owners and billing managers can create cost centers. A custom role holder with fine-grained write access to enterprise billing can also create cost centers. An installation access token for a GitHub App installed on the enterprise with write access to enterprise billing can create cost centers in the enterprise.
Детализированные токены доступа для «Create a new cost center»
Эта конечная точка работает со следующими точными типами маркеров:
Маркер с точной детализацией должен иметь следующий набор разрешений.:
- "Enterprise billing" enterprise permissions (write)
Параметры для «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) |
ai_credit_pool_enabled boolean Whether the cost center draws from the AI credit pool. This can only be enabled for cost centers that contain only user or team resources.
|
HTTP-коды статуса ответа для «Create a new cost center»
| Код состояния | Description |
|---|---|
200 | Cost center created successfully |
400 | Bad request |
409 | Conflict |
500 | Internal server error |
Примеры кода для «Create a new cost center»
Если вы получаете доступ к GitHub на GHE.com, замените api.github.com на выделенный поддомен вашего предприятия в api.SUBDOMAIN.ghe.com.
Пример запроса
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": [],
"ai_credit_pool_enabled": true,
"ai_credit_pool_state": {
"target_amount": null,
"current_amount": null
}
}Get a cost center by ID
Gets a cost center by ID. Enterprise owners and billing managers can view any cost center, and organization owners can view cost centers associated with resources they administer. A custom role holder with fine-grained read access to enterprise billing can also view the cost center. An installation access token for a GitHub App installed on the enterprise with read access to enterprise billing can get any cost center in the enterprise.
Детализированные токены доступа для «Get a cost center by ID»
Эта конечная точка работает со следующими точными типами маркеров:
Маркер с точной детализацией должен иметь следующий набор разрешений.:
- "Enterprise billing" enterprise permissions (read)
Параметры для «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-коды статуса ответа для «Get a cost center by ID»
| Код состояния | Description |
|---|---|
200 | Response when getting a cost center |
400 | Bad Request |
403 | Forbidden |
500 | Internal Error |
503 | Service unavailable |
Примеры кода для «Get a cost center by ID»
Если вы получаете доступ к GitHub на GHE.com, замените api.github.com на выделенный поддомен вашего предприятия в api.SUBDOMAIN.ghe.com.
Пример запроса
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": "Team",
"name": "enterprise-team-1"
}
],
"ai_credit_pool_enabled": true,
"ai_credit_pool_state": {
"target_amount": 21000,
"current_amount": 7250.5
}
}Update a cost center
Updates an existing cost center. Enterprise owners and billing managers can update any cost center, and organization owners can update cost centers associated with resources they administer. A custom role holder with fine-grained write access to enterprise billing can also update cost centers. An installation access token for a GitHub App installed on the enterprise with write access to enterprise billing can update any cost center in the enterprise.
Детализированные токены доступа для «Update a cost center»
Эта конечная точка работает со следующими точными типами маркеров:
Маркер с точной детализацией должен иметь следующий набор разрешений.:
- "Enterprise billing" enterprise permissions (write)
Параметры для «Update a cost center»
| Имя., Тип, 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 |
ai_credit_pool_enabled boolean Whether the cost center draws from the AI credit pool. This can only be enabled for cost centers that contain only user or team resources.
|
HTTP-коды статуса ответа для «Update a cost center»
| Код состояния | Description |
|---|---|
200 | Response when updating a cost center |
400 | Bad Request |
403 | Forbidden |
404 | Resource not found |
409 | Conflict |
422 | Validation failed, or the endpoint has been spammed. |
500 | Internal Error |
503 | Service unavailable |
Примеры кода для «Update a cost center»
Если вы получаете доступ к GitHub на GHE.com, замените api.github.com на выделенный поддомен вашего предприятия в api.SUBDOMAIN.ghe.com.
Примеры запросов
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": "Team",
"name": "enterprise-team-1"
}
],
"ai_credit_pool_enabled": true,
"ai_credit_pool_state": {
"target_amount": 21000,
"current_amount": 7250.5
}
}Delete a cost center
Archives a cost center by ID. Enterprise owners and billing managers can archive any cost center, and organization owners can archive cost centers associated with resources they administer. A custom role holder with fine-grained write access to enterprise billing can also archive cost centers. An installation access token for a GitHub App installed on the enterprise with write access to enterprise billing can archive any cost center in the enterprise.
Детализированные токены доступа для «Delete a cost center»
Эта конечная точка работает со следующими точными типами маркеров:
Маркер с точной детализацией должен иметь следующий набор разрешений.:
- "Enterprise billing" enterprise permissions (write)
Параметры для «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-коды статуса ответа для «Delete a cost center»
| Код состояния | Description |
|---|---|
200 | Response when deleting a cost center |
400 | Bad Request |
403 | Forbidden |
404 | Resource not found |
500 | Internal Error |
503 | Service unavailable |
Примеры кода для «Delete a cost center»
Если вы получаете доступ к GitHub на GHE.com, замените api.github.com на выделенный поддомен вашего предприятия в api.SUBDOMAIN.ghe.com.
Пример запроса
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. Enterprise owners and billing managers can add any resource, and organization owners can add non-team resources to cost centers associated with resources they administer. A custom role holder with fine-grained write access to enterprise billing can also add resources. An installation access token for a GitHub App installed on the enterprise with write access to enterprise billing can add resources to any cost center in the enterprise.
Детализированные токены доступа для «Add resources to a cost center»
Эта конечная точка работает со следующими точными типами маркеров:
Маркер с точной детализацией должен иметь следующий набор разрешений.:
- "Enterprise billing" enterprise permissions (write)
Параметры для «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. |
enterprise_teams array of strings The enterprise teams to add to the cost center. |
HTTP-коды статуса ответа для «Add resources to a cost center»
| Код состояния | Description |
|---|---|
200 | Response when adding resources to a cost center |
400 | Bad Request |
403 | Forbidden |
409 | Conflict |
500 | Internal Error |
503 | Service unavailable |
Примеры кода для «Add resources to a cost center»
Если вы получаете доступ к GitHub на GHE.com, замените api.github.com на выделенный поддомен вашего предприятия в api.SUBDOMAIN.ghe.com.
Пример запроса
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"
},
{
"resource_type": "team",
"name": "octo-enterprise-team",
"previous_cost_center": "old-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. Enterprise owners and billing managers can remove any resource, and organization owners can remove non-team resources from cost centers associated with resources they administer. A custom role holder with fine-grained write access to enterprise billing can also remove resources. An installation access token for a GitHub App installed on the enterprise with write access to enterprise billing can remove resources from any cost center in the enterprise.
Детализированные токены доступа для «Remove resources from a cost center»
Эта конечная точка работает со следующими точными типами маркеров:
Маркер с точной детализацией должен иметь следующий набор разрешений.:
- "Enterprise billing" enterprise permissions (write)
Параметры для «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. |
enterprise_teams array of strings The enterprise teams to remove from the cost center. |
HTTP-коды статуса ответа для «Remove resources from a cost center»
| Код состояния | Description |
|---|---|
200 | Response when removing resources from a cost center |
400 | Bad Request |
403 | Forbidden |
500 | Internal Error |
503 | Service unavailable |
Примеры кода для «Remove resources from a cost center»
Если вы получаете доступ к GitHub на GHE.com, замените api.github.com на выделенный поддомен вашего предприятия в api.SUBDOMAIN.ghe.com.
Пример запроса
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."
}