REST API endpoints for billing - GitHub Docs (original) (raw)

Use the REST API to get billing information for an enterprise.

About billing

You can get billing information for an enterprise. For more information, see REST API endpoints for enterprise billing.

Get GitHub Actions billing for an organization

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 returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "Managing billing for GitHub Actions".

OAuth app tokens and personal access tokens (classic) need the repo or admin:org scope to use this endpoint.

Fine-grained access tokens for "Get GitHub Actions billing for an organization"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

Parameters for "Get GitHub Actions billing for an organization"

Headers

Name, Type, Description
accept string Setting to application/vnd.github+json is recommended.

Path parameters

Name, Type, Description
org string RequiredThe organization name. The name is not case sensitive.

HTTP response status codes for "Get GitHub Actions billing for an organization"

Status code Description
200 OK

Code samples for "Get GitHub Actions billing for an organization"

Request example

get/orgs/{org}/settings/billing/actions

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/orgs/ORG/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 Packages billing for an organization

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."

OAuth app tokens and personal access tokens (classic) need the repo or admin:org scope to use this endpoint.

Fine-grained access tokens for "Get GitHub Packages billing for an organization"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

Parameters for "Get GitHub Packages billing for an organization"

Headers

Name, Type, Description
accept string Setting to application/vnd.github+json is recommended.

Path parameters

Name, Type, Description
org string RequiredThe organization name. The name is not case sensitive.

HTTP response status codes for "Get GitHub Packages billing for an organization"

Status code Description
200 OK

Code samples for "Get GitHub Packages billing for an organization"

Request example

get/orgs/{org}/settings/billing/packages

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/orgs/ORG/settings/billing/packages

Response

Status: 200

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

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."

OAuth app tokens and personal access tokens (classic) need the repo or admin:org scope to use this endpoint.

Fine-grained access tokens for "Get shared storage billing for an organization"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

Parameters for "Get shared storage billing for an organization"

Headers

Name, Type, Description
accept string Setting to application/vnd.github+json is recommended.

Path parameters

Name, Type, Description
org string RequiredThe organization name. The name is not case sensitive.

HTTP response status codes for "Get shared storage billing for an organization"

Status code Description
200 OK

Code samples for "Get shared storage billing for an organization"

Request example

get/orgs/{org}/settings/billing/shared-storage

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/orgs/ORG/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 GitHub Actions billing for a user

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 returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "Managing billing for GitHub Actions".

OAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.

Fine-grained access tokens for "Get GitHub Actions billing for a user"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

Parameters for "Get GitHub Actions billing for a user"

Headers

Name, Type, Description
accept string Setting to application/vnd.github+json is recommended.

Path parameters

Name, Type, Description
username string RequiredThe handle for the GitHub user account.

HTTP response status codes for "Get GitHub Actions billing for a user"

Status code Description
200 OK

Code samples for "Get GitHub Actions billing for a user"

Request example

get/users/{username}/settings/billing/actions

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/users/USERNAME/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 Packages billing for a user

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."

OAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.

Fine-grained access tokens for "Get GitHub Packages billing for a user"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

Parameters for "Get GitHub Packages billing for a user"

Headers

Name, Type, Description
accept string Setting to application/vnd.github+json is recommended.

Path parameters

Name, Type, Description
username string RequiredThe handle for the GitHub user account.

HTTP response status codes for "Get GitHub Packages billing for a user"

Status code Description
200 OK

Code samples for "Get GitHub Packages billing for a user"

Request example

get/users/{username}/settings/billing/packages

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/users/USERNAME/settings/billing/packages

Response

Status: 200

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

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."

OAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.

Fine-grained access tokens for "Get shared storage billing for a user"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

Parameters for "Get shared storage billing for a user"

Headers

Name, Type, Description
accept string Setting to application/vnd.github+json is recommended.

Path parameters

Name, Type, Description
username string RequiredThe handle for the GitHub user account.

HTTP response status codes for "Get shared storage billing for a user"

Status code Description
200 OK

Code samples for "Get shared storage billing for a user"

Request example

get/users/{username}/settings/billing/shared-storage

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/users/USERNAME/settings/billing/shared-storage

Response

Status: 200

{ "days_left_in_billing_cycle": 20, "estimated_paid_storage_for_month": 15, "estimated_storage_for_month": 40 }