Skip to main content

Permissions required for GitHub Apps

For each permission granted to a GitHub App, these are the REST API endpoints that the app can use.

In this article

About GitHub App permissions

GitHub Apps are created with a set of permissions. Permissions define what resources the GitHub App can access via the API. For more information, see Choosing permissions for a GitHub App.

To help you choose the correct permissions, you will receive the X-Accepted-GitHub-Permissions header in the REST API response. The header will tell you what permissions are required in order to access the endpoint. For more information, see Troubleshooting the REST API.

These permissions are required to access private resources. Some endpoints can also be used to access public resources without these permissions. To see whether an endpoint can access public resources without a permission, see the documentation for that endpoint.

Some endpoints require more than one permission. Other endpoints work with any one permission from a set of permissions. In these cases, the "Additional permissions" column will include a checkmark. For full details about the permissions that are required to use the endpoint, see the documentation for that endpoint.

Enterprise permissions for "Enterprise billing"

EndpointAccessToken typesAdditional permissions
POST /enterprises/{enterprise}/settings/billing/budgetswriteUAT
IAT
PATCH /enterprises/{enterprise}/settings/billing/budgets/{budget_id}writeUAT
IAT
DELETE /enterprises/{enterprise}/settings/billing/budgets/{budget_id}writeUAT
IAT
POST /enterprises/{enterprise}/settings/billing/cost-centerswriteUAT
IAT
PATCH /enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}writeUAT
IAT
DELETE /enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}writeUAT
IAT
POST /enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}/resourcewriteUAT
IAT
DELETE /enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}/resourcewriteUAT
IAT
GET /enterprises/{enterprise}/settings/billing/ai_credit/usagereadUAT
IAT
GET /enterprises/{enterprise}/settings/billing/budgetsreadUAT
IAT
GET /enterprises/{enterprise}/settings/billing/budgets/{budget_id}readUAT
IAT
GET /enterprises/{enterprise}/settings/billing/budgets/{budget_id}/user-statesreadUAT
IAT
GET /enterprises/{enterprise}/settings/billing/cost-centersreadUAT
IAT
GET /enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}readUAT
IAT
GET /enterprises/{enterprise}/settings/billing/premium_request/usagereadUAT
IAT
GET /enterprises/{enterprise}/settings/billing/reportsreadUAT
IAT
Multiple permissions are required, or a different permission may be used. For more information about the permissions, see the documentation for this endpoint.
POST /enterprises/{enterprise}/settings/billing/reportsreadUAT
IAT
Multiple permissions are required, or a different permission may be used. For more information about the permissions, see the documentation for this endpoint.
GET /enterprises/{enterprise}/settings/billing/reports/{report_id}readUAT
IAT
Multiple permissions are required, or a different permission may be used. For more information about the permissions, see the documentation for this endpoint.
GET /enterprises/{enterprise}/settings/billing/usagereadUAT
IAT
GET /enterprises/{enterprise}/settings/billing/usage/summaryreadUAT
IAT

Enterprise permissions for "Enterprise organization installations"

EndpointAccessToken typesAdditional permissions
POST /enterprises/{enterprise}/apps/organizations/{org}/installationswriteUAT
IAT
DELETE /enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}writeUAT
IAT
PATCH /enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositorieswriteUAT
IAT
Multiple permissions are required, or a different permission may be used. For more information about the permissions, see the documentation for this endpoint.
PATCH /enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories/addwriteUAT
IAT
Multiple permissions are required, or a different permission may be used. For more information about the permissions, see the documentation for this endpoint.
PATCH /enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories/removewriteUAT
IAT
Multiple permissions are required, or a different permission may be used. For more information about the permissions, see the documentation for this endpoint.
GET /enterprises/{enterprise}/apps/installable_organizationsreadUAT
IAT
GET /enterprises/{enterprise}/apps/installable_organizations/{org}/accessible_repositoriesreadUAT
IAT
Multiple permissions are required, or a different permission may be used. For more information about the permissions, see the documentation for this endpoint.
GET /enterprises/{enterprise}/apps/organizations/{org}/installationsreadUAT
IAT
GET /enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositoriesreadUAT
IAT
Multiple permissions are required, or a different permission may be used. For more information about the permissions, see the documentation for this endpoint.

Organization permissions for "Administration"

EndpointAccessToken typesAdditional permissions
PUT /organizations/{org}/actions/cache/retention-limitwriteUAT
IAT
PUT /organizations/{org}/actions/cache/storage-limitwriteUAT
IAT
PATCH /orgs/{org}writeUAT
IAT
DELETE /orgs/{org}writeUAT
IAT
POST /orgs/{org}/actions/hosted-runnerswriteUAT
IAT
PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}writeUAT
IAT
DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}writeUAT
IAT
POST /orgs/{org}/actions/oidc/customization/properties/repowriteUAT
IAT
DELETE /orgs/{org}/actions/oidc/customization/properties/repo/{custom_property_name}writeUAT
IAT
PUT /orgs/{org}/actions/oidc/customization/subwriteUAT
IAT
PUT /orgs/{org}/actions/permissionswriteUAT
IAT
PUT /orgs/{org}/actions/permissions/artifact-and-log-retentionwriteUAT
IAT
PUT /orgs/{org}/actions/permissions/fork-pr-contributor-approvalwriteUAT
IAT
PUT /orgs/{org}/actions/permissions/fork-pr-workflows-private-reposwriteUAT
IAT
PUT /orgs/{org}/actions/permissions/repositorieswriteUAT
IAT
PUT /orgs/{org}/actions/permissions/repositories/{repository_id}writeUAT
IAT
Multiple permissions are required, or a different permission may be used. For more information about the permissions, see the documentation for this endpoint.
DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}writeUAT
IAT
Multiple permissions are required, or a different permission may be used. For more information about the permissions, see the documentation for this endpoint.
PUT /orgs/{org}/actions/permissions/selected-actionswriteUAT
IAT
PUT /orgs/{org}/actions/permissions/self-hosted-runnerswriteUAT
IAT
PUT /orgs/{org}/actions/permissions/self-hosted-runners/repositorieswriteUAT
IAT