Billing

With the Billing API, you can monitor the charges and usage GitHub Actions and Registro del paquete de GitHub for a user or organization.

You can get billing information for an enterprise. For more information, see the "GitHub Enterprise administration" REST API.

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

Access tokens must have the repo or admin:org scope.

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

Parámetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended.

org string path

Ejemplos de código

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  https://api.github.com/orgs/ORG/settings/billing/actions
JavaScript (@octokit/core.js)
await octokit.request('GET /orgs/{org}/settings/billing/actions', {
  org: 'org'
})

Response

Status: 200 OK
{
  "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 organization

Gets the GitHub Advanced Security active committers for an organization 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 advanced_security_committers for each repository. If this organization defers to an enterprise for billing, the total_advanced_security_committers returned from the organization API may include some users that are in more than one organization, so they will only consume a single Advanced Security seat at the enterprise level.

get /orgs/{org}/settings/billing/advanced-security

Parámetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended.

org string path
per_page integer query

Results per page (max 100)

Default: 30
page integer query

Page number of the results to fetch.

Default: 1

Ejemplos de código

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

Success

Status: 200 OK
{
  "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"
        }
      ]
    }
  ]
}

Response if GitHub Advanced Security is not enabled for this repository

Status: 403 Forbidden

Notes


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

Access tokens must have the repo or admin:org scope.

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

Parámetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended.

org string path

Ejemplos de código

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

Response

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

Get shared storage billing for an organization

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

Access tokens must have the repo or admin:org scope.

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

Parámetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended.

org string path

Ejemplos de código

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  https://api.github.com/orgs/ORG/settings/billing/shared-storage
JavaScript (@octokit/core.js)
await octokit.request('GET /orgs/{org}/settings/billing/shared-storage', {
  org: 'org'
})

Response

Status: 200 OK
{
  "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".

Access tokens must have the user scope.

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

Parámetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended.

username string path

Ejemplos de código

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  https://api.github.com/users/USERNAME/settings/billing/actions
JavaScript (@octokit/core.js)
await octokit.request('GET /users/{username}/settings/billing/actions', {
  username: 'username'
})

Response

Status: 200 OK
{
  "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."

Access tokens must have the user scope.

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

Parámetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended.

username string path

Ejemplos de código

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

Response

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

Get shared storage billing for a user

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

Access tokens must have the user scope.

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

Parámetros

Name Type In Description
accept string header

Setting to application/vnd.github.v3+json is recommended.

username string path

Ejemplos de código

Shell
curl \
  -H "Accept: application/vnd.github.v3+json" \
  https://api.github.com/users/USERNAME/settings/billing/shared-storage
JavaScript (@octokit/core.js)
await octokit.request('GET /users/{username}/settings/billing/shared-storage', {
  username: 'username'
})

Response

Status: 200 OK
{
  "days_left_in_billing_cycle": 20,
  "estimated_paid_storage_for_month": 15,
  "estimated_storage_for_month": 40
}

¿Te ayudó este documento?

Política de privacidad

¡Ayúdanos a hacer geniales estos documentos!

Todos los documentos de GitHub son de código abierto. ¿Notas algo que esté mal o que no sea claro? Emite una solicitud de cambios.

Haz una contribución

O, aprende cómo contribuir.