Licensing
Use the REST API to get licensing information.
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:
The fine-grained token must have the following permission set:
- "Enterprise administration" enterprise 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. |
| 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-licensesConsumed 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:
The fine-grained token must have the following permission set:
- "Enterprise administration" enterprise 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. |
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-statusLicense 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": ""
}
}
]
}Get GitHub Advanced Security active committers for an enterprise
Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.
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.
Fine-grained access tokens for "Get GitHub Advanced Security active committers for an enterprise"
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" enterprise permissions (write)
Parameters for "Get GitHub Advanced Security active committers for an enterprise"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
enterprise string RequiredThe slug version of the enterprise name. |
| Name, Type, Description |
|---|
advanced_security_product string The security product to get GitHub Advanced Security active committers for. For standalone Code Scanning or Secret Protection products, this parameter is required to specify which product you want committer information for. For other plans this parameter cannot be used. Can be one of: |
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 "Get GitHub Advanced Security active committers for an enterprise"
| Status code | Description |
|---|---|
200 | Success |
Code samples for "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.
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/settings/billing/advanced-securitySuccess
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"
}
]
}
]
}