Skip to main content
L’API REST est maintenant versionnée. Pour plus d’informations, consultez « À propos des versions de l’API ».

Centres de coût

Utilisez l’API REST pour obtenir des informations sur le centre de coûts.

Get all cost centers for an enterprise

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

Jetons d’accès affinés pour « Get all cost centers for an enterprise »

Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.

Paramètres pour « Get all cost centers for an enterprise »

En-têtes
Nom, Type, Description
accept string

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

Paramètres de chemin d’accès
Nom, Type, Description
enterprise string Requis

The slug version of the enterprise name.

Paramètres de requête
Nom, Type, Description
state string

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

Peut être: active, deleted

Codes d’état de la réponse HTTP pour « Get all cost centers for an enterprise »

Code d’étatDescription
200

Response when getting cost centers

400

Bad Request

403

Forbidden

500

Internal Error

503

Service unavailable

Exemples de code pour « Get all cost centers for an enterprise »

Si vous accédez à GitHub à GHE.com, remplacez api.github.com par le sous-domaine dédié de votre entreprise à api.SUBDOMAIN.ghe.com.

Exemple de requête

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: 2022-11-28" \ 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.

Jetons d’accès affinés pour « Create a new cost center »

Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.

Paramètres pour « Create a new cost center »

En-têtes
Nom, Type, Description
accept string

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

Paramètres de chemin d’accès
Nom, Type, Description
enterprise string Requis

The slug version of the enterprise name.

Paramètres du corps
Nom, Type, Description
name string Requis

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

Codes d’état de la réponse HTTP pour « Create a new cost center »

Code d’étatDescription
200

Cost center created successfully

400

Bad request

409

Conflict

500

Internal server error

Exemples de code pour « Create a new cost center »

Si vous accédez à GitHub à GHE.com, remplacez api.github.com par le sous-domaine dédié de votre entreprise à api.SUBDOMAIN.ghe.com.

Exemple de requête

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: 2022-11-28" \ 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.

Jetons d’accès affinés pour « Get a cost center by ID »

Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.

Paramètres pour « Get a cost center by ID »

En-têtes
Nom, Type, Description
accept string

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

Paramètres de chemin d’accès
Nom, Type, Description
enterprise string Requis

The slug version of the enterprise name.

cost_center_id string Requis

The ID corresponding to the cost center.

Codes d’état de la réponse HTTP pour « Get a cost center by ID »

Code d’étatDescription
200

Response when getting a cost center

400

Bad Request

403

Forbidden

500

Internal Error

503

Service unavailable

Exemples de code pour « Get a cost center by ID »

Si vous accédez à GitHub à GHE.com, remplacez api.github.com par le sous-domaine dédié de votre entreprise à api.SUBDOMAIN.ghe.com.

Exemple de requête

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: 2022-11-28" \ 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.

Jetons d’accès affinés pour « Update a cost center name »

Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.

Paramètres pour « Update a cost center name »

En-têtes
Nom, Type, Description
accept string

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

Paramètres de chemin d’accès
Nom, Type, Description
enterprise string Requis

The slug version of the enterprise name

cost_center_id string Requis

The unique identifier of the cost center

Paramètres du corps
Nom, Type, Description
name string Requis

The new name for the cost center

Codes d’état de la réponse HTTP pour « Update a cost center name »

Code d’étatDescription
200

Response when updating a cost center

400

Bad Request

403

Forbidden

404

Resource not found

409

Conflict

500

Internal Error

503

Service unavailable

Exemples de code pour « Update a cost center name »

Si vous accédez à GitHub à GHE.com, remplacez api.github.com par le sous-domaine dédié de votre entreprise à api.SUBDOMAIN.ghe.com.

Exemple de requête

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: 2022-11-28" \ 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.

Jetons d’accès affinés pour « Delete a cost center »

Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.

Paramètres pour « Delete a cost center »

En-têtes
Nom, Type, Description
accept string

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

Paramètres de chemin d’accès
Nom, Type, Description
enterprise string Requis

The slug version of the enterprise name.

cost_center_id string Requis

The ID corresponding to the cost center.

Codes d’état de la réponse HTTP pour « Delete a cost center »

Code d’étatDescription
200

Response when deleting a cost center

400

Bad Request

403

Forbidden

404

Resource not found

500

Internal Error

503

Service unavailable

Exemples de code pour « Delete a cost center »

Si vous accédez à GitHub à GHE.com, remplacez api.github.com par le sous-domaine dédié de votre entreprise à api.SUBDOMAIN.ghe.com.

Exemple de requête

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: 2022-11-28" \ 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.

Jetons d’accès affinés pour « Add resources to a cost center »

Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.

Paramètres pour « Add resources to a cost center »

En-têtes
Nom, Type, Description
accept string

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

Paramètres de chemin d’accès
Nom, Type, Description
enterprise string Requis

The slug version of the enterprise name.

cost_center_id string Requis

The ID corresponding to the cost center.

Paramètres du corps
Nom, Type, 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.

Codes d’état de la réponse HTTP pour « Add resources to a cost center »

Code d’étatDescription
200

Response when adding resources to a cost center

400

Bad Request

403

Forbidden

409

Conflict

500

Internal Error

503

Service unavailable

Exemples de code pour « Add resources to a cost center »

Si vous accédez à GitHub à GHE.com, remplacez api.github.com par le sous-domaine dédié de votre entreprise à api.SUBDOMAIN.ghe.com.

Exemple de requête

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: 2022-11-28" \ 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.

Jetons d’accès affinés pour « Remove resources from a cost center »

Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.

Paramètres pour « Remove resources from a cost center »

En-têtes
Nom, Type, Description
accept string

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

Paramètres de chemin d’accès
Nom, Type, Description
enterprise string Requis

The slug version of the enterprise name.

cost_center_id string Requis

The ID corresponding to the cost center.

Paramètres du corps
Nom, Type, 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.

Codes d’état de la réponse HTTP pour « Remove resources from a cost center »

Code d’étatDescription
200

Response when removing resources from a cost center

400

Bad Request

403

Forbidden

500

Internal Error

503

Service unavailable

Exemples de code pour « Remove resources from a cost center »

Si vous accédez à GitHub à GHE.com, remplacez api.github.com par le sous-domaine dédié de votre entreprise à api.SUBDOMAIN.ghe.com.

Exemple de requête

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: 2022-11-28" \ 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." }