REST API endpoints for enterprise licenses
Use the REST API to retrieve information about your Enterprise license.
These endpoints are only available to authenticated site administrators. Normal users will receive a 404
response.
These endpoints only support authentication using a personal access token (classic). For more information, see "Managing your personal access tokens."
List enterprise consumed licenses
Lists the license consumption information for all users, including those from connected servers, associated with an enterprise.
The authenticated user must be an enterprise admin to use this endpoint.
OAuth app tokens and personal access tokens (classic) need the read:enterprise
scope to use this endpoint.
Fine-grained access tokens for "List enterprise consumed licenses"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Enterprise administration" business permissions (read)
Parameters for "List enterprise consumed licenses"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
enterprise string RequiredThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
Name, Type, Description |
---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Default: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Default: |
HTTP response status codes for "List enterprise consumed licenses"
Status code | Description |
---|---|
200 | Consumed Licenses Response |
Code samples for "List enterprise consumed licenses"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
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/consumed-licenses
Consumed Licenses Response
Status: 200
{
"total_seats_consumed": 5000,
"total_seats_purchased": 4500,
"users": [
{
"github_com_login": "monalisa",
"github_com_name": "Mona Lisa",
"enterprise_server_user_ids": [
"example_host_name.com:123",
"example_host_name_2:222"
],
"github_com_user": true,
"enterprise_server_user": true,
"visual_studio_subscription_user": false,
"license_type": "enterprise",
"github_com_profile": "https://github.com/monalisa",
"github_com_member_roles": [
"org1:Owner",
"org2:Owner"
],
"github_com_enterprise_roles": [
"owner"
],
"github_com_verified_domain_emails": [
"monalisa@github.com"
],
"github_com_saml_name_id": "monalisa",
"github_com_orgs_with_pending_invites": [
"org1",
"org2"
],
"github_com_two_factor_auth": true,
"enterprise_server_emails": [
"monalisa@github.com"
],
"visual_studio_license_status": "",
"visual_studio_subscription_email": "",
"total_user_accounts": 3
},
{
"github_com_login": "",
"github_com_name": "",
"enterprise_server_user_ids": [
"example_host_name:123"
],
"github_com_user": false,
"enterprise_server_user": true,
"visual_studio_subscription_user": false,
"license_type": "enterprise",
"github_com_profile": "",
"github_com_member_roles": [],
"github_com_enterprise_role": "",
"github_com_enterprise_roles": [],
"github_com_verified_domain_emails": [],
"github_com_saml_name_id": "",
"github_com_orgs_with_pending_invites": [],
"github_com_two_factor_auth": "",
"enterprise_server_emails": [
"hubot@example.com"
],
"visual_studio_license_status": "",
"visual_studio_subscription_email": "",
"total_user_accounts": 1
}
]
}
Get a license sync status
Gets information about the status of a license sync job for an enterprise.
The authenticated user must be an enterprise admin to use this endpoint.
OAuth app tokens and personal access tokens (classic) need the read:enterprise
scope to use this endpoint.
Fine-grained access tokens for "Get a license sync status"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Enterprise administration" business permissions (read)
Parameters for "Get a license sync status"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
enterprise string RequiredThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
HTTP response status codes for "Get a license sync status"
Status code | Description |
---|---|
200 | License Sync Status Response |
Code samples for "Get a license sync status"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
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/license-sync-status
License Sync Status Response
Status: 200
{
"server_instances": [
{
"server_id": "deadbeef1",
"hostname": "github.example.com",
"last_sync": {
"date": "2020-01-01T00:00:00Z",
"status": "success",
"error": ""
}
},
{
"server_id": "filetoffish1",
"hostname": "github2.example.com",
"last_sync": {
"date": "2020-01-01T00:00:00Z",
"status": "success",
"error": ""
}
}
]
}