Skip to main content

We've recently moved some of the REST API documentation. If you can't find what you're looking for, you might try the Actions REST API page.

Billing

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.

get /enterprises/{enterprise}/settings/billing/actions

Parameters

NameTypeInDescription
acceptstringheader

Setting toapplication/vnd.github.v3+json is recommended.

enterprisestringpath

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

Code samples

Example

Shell
curl \ -H "Accept: application/vnd.github.v3+json" \ https://api.github.com/enterprises/ENTERPRISE/settings/billing/actions
JavaScript @octokit/core.js
await octokit.request('GET /enterprises/{enterprise}/settings/billing/actions', { enterprise: 'ENTERPRISE' })
GitHub CLI gh api
gh api \ -H "Accept: application/vnd.github.v3+json" \ /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 } }

Status codes

HTTP Status CodeDescription
200

OK

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.

get /enterprises/{enterprise}/settings/billing/advanced-security

Parameters

NameTypeInDescription
acceptstringheader

Setting toapplication/vnd.github.v3+json is recommended.

enterprisestringpath

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

per_pageintegerquery

Results per page (max 100)

Default: 30

pageintegerquery

Page number of the results to fetch.

Default: 1

Code samples

Example

Shell
curl \ -H "Accept: application/vnd.github.v3+json" \ https://api.github.com/enterprises/ENTERPRISE/settings/billing/advanced-security
JavaScript @octokit/core.js
await octokit.request('GET /enterprises/{enterprise}/settings/billing/advanced-security', { enterprise: 'ENTERPRISE' })
GitHub CLI gh api
gh api \ -H "Accept: application/vnd.github.v3+json" \ /enterprises/ENTERPRISE/settings/billing/advanced-security

Success

Status: 200
{ "total_advanced_security_committers": 2, "repositories": [ { "name": "octocat-org/Hello-World", "advanced_security_committers": 2, "advanced_security_committers_breakdown": [ { "user_login": "octocat", "last_pushed_date": "2021-11-03" }, { "user_login": "octokitten", "last_pushed_date": "2021-10-25" } ] }, { "name": "octocat-org/server", "advanced_security_committers": 1, "advanced_security_committers_breakdown": [ { "user_login": "octokitten", "last_pushed_date": "2021-10-26" } ] } ] }

Status codes

HTTP Status CodeDescription
200

Success

403

Response if GitHub Advanced Security is not enabled for this repository

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.

get /enterprises/{enterprise}/settings/billing/packages

Parameters

NameTypeInDescription
acceptstringheader

Setting toapplication/vnd.github.v3+json is recommended.

enterprisestringpath

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

Code samples

Example

Shell
curl \ -H "Accept: application/vnd.github.v3+json" \ https://api.github.com/enterprises/ENTERPRISE/settings/billing/packages
JavaScript @octokit/core.js
await octokit.request('GET /enterprises/{enterprise}/settings/billing/packages', { enterprise: 'ENTERPRISE' })
GitHub CLI gh api
gh api \ -H "Accept: application/vnd.github.v3+json" \ /enterprises/ENTERPRISE/settings/billing/packages

Response

Status: 200
{ "total_gigabytes_bandwidth_used": 50, "total_paid_gigabytes_bandwidth_used": 40, "included_gigabytes_bandwidth": 10 }

Status codes

HTTP Status CodeDescription
200

OK

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.

get /enterprises/{enterprise}/settings/billing/shared-storage

Parameters

NameTypeInDescription
acceptstringheader

Setting toapplication/vnd.github.v3+json is recommended.

enterprisestringpath

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

Code samples

Example

Shell
curl \ -H "Accept: application/vnd.github.v3+json" \ https://api.github.com/enterprises/ENTERPRISE/settings/billing/shared-storage
JavaScript @octokit/core.js
await octokit.request('GET /enterprises/{enterprise}/settings/billing/shared-storage', { enterprise: 'ENTERPRISE' })
GitHub CLI gh api
gh api \ -H "Accept: application/vnd.github.v3+json" \ /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 }

Status codes

HTTP Status CodeDescription
200

OK