REST-API-Endpunkte für die Enterprise-Fakturierung
Verwende die REST-API, um die Abrechnungsinformationen für eine GitHub Enterprise Server-Instanz abzurufen.
Diese Endpunkte unterstützen nur die Authentifizierung über ein personal access token (classic). Weitere Informationen findest du unter Verwalten deiner persönlichen Zugriffstoken.
Der manage_billing:enterprise
-Bereich ist erforderlich, damit personal access tokens (classic) auf diese Endpunkte zugreifen kann.
Get GitHub Actions billing for an enterprise
Gets the summary of the free and paid GitHub Actions minutes used.
Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "Managing billing for GitHub Actions".
The authenticated user must be an enterprise admin.
Differenzierte Zugriffstoken für "Get GitHub Actions billing for an enterprise"
Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:
- GitHub-App-Benutzerzugriffstoken
- Zugriffstoken für GitHub App-Installation
- Differenzierte persönliche Zugriffstoken
Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:
- "Enterprise administration" business permissions (write)
Parameter für „Get GitHub Actions billing for an enterprise“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
enterprise string ErforderlichThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
HTTP-Antwortstatuscodes für „Get GitHub Actions billing for an enterprise“
Statuscode | BESCHREIBUNG |
---|---|
200 | OK |
Codebeispiele für „Get GitHub Actions billing for an enterprise“
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Anforderungsbeispiel
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/actions
Response
Status: 200
{
"total_minutes_used": 305,
"total_paid_minutes_used": 0,
"included_minutes": 3000,
"minutes_used_breakdown": {
"UBUNTU": 205,
"MACOS": 10,
"WINDOWS": 90
}
}
Get GitHub Advanced Security active committers for an enterprise
Gets the GitHub Advanced Security active committers for an enterprise per repository.
Each distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers
is not the sum of active_users for each repository.
The total number of repositories with committer information is tracked by the total_count
field.
Differenzierte Zugriffstoken für "Get GitHub Advanced Security active committers for an enterprise"
Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:
- GitHub-App-Benutzerzugriffstoken
- Zugriffstoken für GitHub App-Installation
- Differenzierte persönliche Zugriffstoken
Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:
- "Enterprise administration" business permissions (write)
Parameter für „Get GitHub Advanced Security active committers for an enterprise“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
enterprise string ErforderlichThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
Name, type, BESCHREIBUNG |
---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Standard: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Standard: |
HTTP-Antwortstatuscodes für „Get GitHub Advanced Security active committers for an enterprise“
Statuscode | BESCHREIBUNG |
---|---|
200 | Success |
Codebeispiele für „Get GitHub Advanced Security active committers for an enterprise“
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Anforderungsbeispiel
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/advanced-security
Success
Status: 200
{
"total_advanced_security_committers": 2,
"total_count": 2,
"maximum_advanced_security_committers": 4,
"purchased_advanced_security_committers": 4,
"repositories": [
{
"name": "octocat-org/Hello-World",
"advanced_security_committers": 2,
"advanced_security_committers_breakdown": [
{
"user_login": "octocat",
"last_pushed_date": "2021-11-03",
"last_pushed_email": "octocat@github.com"
},
{
"user_login": "octokitten",
"last_pushed_date": "2021-10-25",
"last_pushed_email": "octokitten@github.com"
}
]
},
{
"name": "octocat-org/server",
"advanced_security_committers": 1,
"advanced_security_committers_breakdown": [
{
"user_login": "octokitten",
"last_pushed_date": "2021-10-26",
"last_pushed_email": "octokitten@github.com"
}
]
}
]
}
Get all cost centers for an enterprise
Gets a list of all the cost centers for an enterprise.
Differenzierte Zugriffstoken für "Get all cost centers for an enterprise"
Dieser Endpunkt funktioniert nicht mit GitHub-App-Benutzerzugriffstoken, GitHub-App-Installationszugriffstoken oder differenzierten persönlichen Zugriffstoken.
Parameter für „Get all cost centers for an enterprise“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
enterprise string ErforderlichThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
HTTP-Antwortstatuscodes für „Get all cost centers for an enterprise“
Statuscode | BESCHREIBUNG |
---|---|
200 | Response when getting cost centers |
400 | Bad Request |
403 | Forbidden |
500 | Internal Error |
503 | Service unavailable |
Codebeispiele für „Get all cost centers for an enterprise“
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Anforderungsbeispiel
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",
"resources": [
{
"type": "User",
"name": "Monalisa"
}
]
}
]
}
Add users to a cost center
Adds users to a cost center.
The usage for the users will be charged to the cost center's budget. The authenticated user must be an enterprise admin in order to use this endpoint.
Differenzierte Zugriffstoken für "Add users to a cost center"
Dieser Endpunkt funktioniert nicht mit GitHub-App-Benutzerzugriffstoken, GitHub-App-Installationszugriffstoken oder differenzierten persönlichen Zugriffstoken.
Parameter für „Add users to a cost center“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
enterprise string ErforderlichThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
cost_center_id string ErforderlichThe ID corresponding to the cost center. |
Name, type, BESCHREIBUNG |
---|
users array of strings ErforderlichThe usernames of the users to add to the cost center. |
HTTP-Antwortstatuscodes für „Add users to a cost center“
Statuscode | BESCHREIBUNG |
---|---|
200 | Response when adding resources to a cost center |
400 | Bad Request |
403 | Forbidden |
409 | Conflict |
500 | Internal Error |
503 | Service unavailable |
Codebeispiele für „Add users to a cost center“
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Anforderungsbeispiel
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."
}
Remove users from a cost center
Remove users from a cost center.
The usage for the users 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.
Differenzierte Zugriffstoken für "Remove users from a cost center"
Dieser Endpunkt funktioniert nicht mit GitHub-App-Benutzerzugriffstoken, GitHub-App-Installationszugriffstoken oder differenzierten persönlichen Zugriffstoken.
Parameter für „Remove users from a cost center“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
enterprise string ErforderlichThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
cost_center_id string ErforderlichThe ID corresponding to the cost center. |
Name, type, BESCHREIBUNG |
---|
users array of strings ErforderlichThe usernames of the users to remove from the cost center. |
HTTP-Antwortstatuscodes für „Remove users from a cost center“
Statuscode | BESCHREIBUNG |
---|---|
200 | Response when removing resources from a cost center |
400 | Bad Request |
403 | Forbidden |
500 | Internal Error |
503 | Service unavailable |
Codebeispiele für „Remove users from a cost center“
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Anforderungsbeispiel
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."
}
Get GitHub Packages billing for an enterprise
Gets the free and paid storage used for GitHub Packages in gigabytes.
Paid minutes only apply to packages stored for private repositories. For more information, see "Managing billing for GitHub Packages."
The authenticated user must be an enterprise admin.
Differenzierte Zugriffstoken für "Get GitHub Packages billing for an enterprise"
Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:
- GitHub-App-Benutzerzugriffstoken
- Zugriffstoken für GitHub App-Installation
- Differenzierte persönliche Zugriffstoken
Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:
- "Enterprise administration" business permissions (write)
Parameter für „Get GitHub Packages billing for an enterprise“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
enterprise string ErforderlichThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
HTTP-Antwortstatuscodes für „Get GitHub Packages billing for an enterprise“
Statuscode | BESCHREIBUNG |
---|---|
200 | OK |
Codebeispiele für „Get GitHub Packages billing for an enterprise“
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Anforderungsbeispiel
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/packages
Response
Status: 200
{
"total_gigabytes_bandwidth_used": 50,
"total_paid_gigabytes_bandwidth_used": 40,
"included_gigabytes_bandwidth": 10
}
Get shared storage billing for an enterprise
Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages.
Paid minutes only apply to packages stored for private repositories. For more information, see "Managing billing for GitHub Packages."
The authenticated user must be an enterprise admin.
Differenzierte Zugriffstoken für "Get shared storage billing for an enterprise"
Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:
- GitHub-App-Benutzerzugriffstoken
- Zugriffstoken für GitHub App-Installation
- Differenzierte persönliche Zugriffstoken
Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:
- "Enterprise administration" business permissions (write)
Parameter für „Get shared storage billing for an enterprise“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
enterprise string ErforderlichThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
HTTP-Antwortstatuscodes für „Get shared storage billing for an enterprise“
Statuscode | BESCHREIBUNG |
---|---|
200 | OK |
Codebeispiele für „Get shared storage billing for an enterprise“
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Anforderungsbeispiel
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/shared-storage
Response
Status: 200
{
"days_left_in_billing_cycle": 20,
"estimated_paid_storage_for_month": 15,
"estimated_storage_for_month": 40
}
Get billing usage report for an enterprise
Gets a report of usage by cost center for an enterprise. To use this endpoint, you must be an administrator or billing manager of the enterprise. By default this endpoint will return usage that does not have a cost center.
Note: This endpoint is only available to enterprises with access to the enhanced billing platform. For more information, see "About the enhanced billing platform for enterprises."
Differenzierte Zugriffstoken für "Get billing usage report for an enterprise"
Dieser Endpunkt funktioniert nicht mit GitHub-App-Benutzerzugriffstoken, GitHub-App-Installationszugriffstoken oder differenzierten persönlichen Zugriffstoken.
Parameter für „Get billing usage report for an enterprise“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
enterprise string ErforderlichThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
Name, type, BESCHREIBUNG |
---|
year integer If specified, only return results for a single year. The value of |
month integer If specified, only return results for a single month. The value of |
day integer If specified, only return results for a single day. The value of |
hour integer If specified, only return results for a single hour. The value of |
cost_center_id string The ID corresponding to a cost center. The default value is no cost center. |
HTTP-Antwortstatuscodes für „Get billing usage report for an enterprise“
Statuscode | BESCHREIBUNG |
---|---|
200 | Response when getting a billing usage report |
400 | Bad Request |
403 | Forbidden |
500 | Internal Error |
503 | Service unavailable |
Codebeispiele für „Get billing usage report for an enterprise“
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Anforderungsbeispiel
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/usage
Response when getting a billing usage report
Status: 200
{
"usageItems": [
{
"date": "2023-08-01",
"product": "Actions",
"sku": "Actions Linux",
"quantity": 100,
"unitType": "minutes",
"pricePerUnit": 0.008,
"grossAmount": 0.8,
"discountAmount": 0,
"netAmount": 0.8,
"organizationName": "GitHub",
"repositoryName": "github/example"
}
]
}