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
PUT /orgs/{org}/actions/permissions/self-hosted-runners/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/self-hosted-runners/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/workflowwriteUAT
IAT
GET /orgs/{org}/bypass-requests/push-ruleswriteUAT
IAT
PATCH /orgs/{org}/code-scanning/ai-scanwriteUAT
IAT
POST /orgs/{org}/code-security/configurationswriteUAT
IAT
DELETE /orgs/{org}/code-security/configurations/detachwriteUAT
IAT
PATCH /orgs/{org}/code-security/configurations/{configuration_id}writeUAT
IAT
DELETE /orgs/{org}/code-security/configurations/{configuration_id}writeUAT
IAT
POST /orgs/{org}/code-security/configurations/{configuration_id}/attachwriteUAT
IAT
PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaultswriteUAT
IAT
POST /orgs/{org}/copilot/billing/selected_teamswriteUAT
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}/copilot/billing/selected_teamswriteUAT
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 /orgs/{org}/copilot/billing/selected_userswriteUAT
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}/copilot/billing/selected_userswriteUAT
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 /orgs/{org}/credential-authorizations/revoke-allwriteUAT
IAT
POST /orgs/{org}/credential-authorizations/revoke-credential-typewriteUAT
IAT
DELETE /orgs/{org}/credential-authorizations/{credential_id}writeUAT
IAT
POST /orgs/{org}/credential-authorizations/{username}/revokewriteUAT
IAT
POST /orgs/{org}/credential-authorizations/{username}/revoke-credential-typewriteUAT
IAT
PATCH /orgs/{org}/dependabot/repository-accesswriteUAT
IAT
PUT /orgs/{org}/dependabot/repository-access/default-levelwriteUAT
IAT
PUT /orgs/{org}/interaction-limitswriteUAT
IAT
DELETE /orgs/{org}/interaction-limitswriteUAT
IAT
GET /orgs/{org}/interaction-limits/pulls/creation-capwriteUAT
IAT
PATCH /orgs/{org}/interaction-limits/pulls/creation-capwriteUAT
IAT
GET /orgs/{org}/rulesetswriteUAT
IAT
POST /orgs/{org}/rulesetswriteUAT
IAT
GET /orgs/{org}/rulesets/rule-suiteswriteUAT
IAT
GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}writeUAT
IAT
GET /orgs/{org}/rulesets/{ruleset_id}writeUAT
IAT
PUT /orgs/{org}/rulesets/{ruleset_id}writeUAT
IAT
DELETE /orgs/{org}/rulesets/{ruleset_id}writeUAT
IAT
GET /orgs/{org}/rulesets/{ruleset_id}/historywriteUAT
IAT
GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}writeUAT
IAT
POST /orgs/{org}/secret-scanning/custom-patternswriteUAT
IAT
DELETE /orgs/{org}/secret-scanning/custom-patternswriteUAT
IAT
PATCH /orgs/{org}/secret-scanning/custom-patterns/{pattern_id}writeUAT
IAT
PATCH /orgs/{org}/secret-scanning/pattern-configurationswriteUAT
IAT
PUT /orgs/{org}/security-managers/teams/{team_slug}writeUAT
IAT
DELETE /orgs/{org}/security-managers/teams/{team_slug}writeUAT
IAT
PUT /orgs/{org}/settings/immutable-releaseswriteUAT
IAT
PUT /orgs/{org}/settings/immutable-releases/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.
PUT /orgs/{org}/settings/immutable-releases/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}/settings/immutable-releases/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.
POST /orgs/{org}/{security_product}/{enablement}writeUAT
IAT
GET /enterprise-installation/{enterprise_or_org}/server-statisticsreadUAT
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 /organizations/{organization_id}/custom_rolesreadUAT
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 /organizations/{org}/actions/cache/retention-limitreadUAT
IAT
GET /organizations/{org}/actions/cache/storage-limitreadUAT
IAT
GET /orgs/{org}/actions/cache/usagereadUAT
IAT
GET /orgs/{org}/actions/cache/usage-by-repositoryreadUAT
IAT
GET /orgs/{org}/actions/hosted-runnersreadUAT
IAT
GET /orgs/{org}/actions/hosted-runners/images/github-ownedreadUAT
IAT
GET /orgs/{org}/actions/hosted-runners/images/partnerreadUAT
IAT
GET /orgs/{org}/actions/hosted-runners/limitsreadUAT
IAT
GET /orgs/{org}/actions/hosted-runners/machine-sizesreadUAT
IAT
GET /orgs/{org}/actions/hosted-runners/platformsreadUAT
IAT
GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}readUAT
IAT
GET /orgs/{org}/actions/oidc/customization/properties/reporeadUAT
IAT
GET /orgs/{org}/actions/oidc/customization/subreadUAT
IAT
GET /orgs/{org}/actions/permissionsreadUAT
IAT
GET /orgs/{org}/actions/permissions/artifact-and-log-retentionreadUAT
IAT
GET /orgs/{org}/actions/permissions/fork-pr-contributor-approvalreadUAT
IAT
GET /orgs/{org}/actions/permissions/fork-pr-workflows-private-reposreadUAT
IAT
GET /orgs/{org}/actions/permissions/repositoriesreadUAT
IAT
GET /orgs/{org}/actions/permissions/selected-actionsreadUAT
IAT
GET /orgs/{org}/actions/permissions/self-hosted-runnersreadUAT
IAT
GET /orgs/{org}/actions/permissions/self-hosted-runners/repositoriesreadUAT
IAT
GET /orgs/{org}/actions/permissions/workflowreadUAT
IAT
GET /orgs/{org}/audit-logreadUAT
IAT
GET /orgs/{org}/code-scanning/ai-scanreadUAT
IAT
GET /orgs/{org}/code-security/configurationsreadUAT
IAT
GET /orgs/{org}/code-security/configurations/defaultsreadUAT
IAT
GET /orgs/{org}/code-security/configurations/{configuration_id}readUAT
IAT
GET /orgs/{org}/code-security/configurations/{configuration_id}/repositoriesreadUAT
IAT
GET /orgs/{org}/copilot/billingreadUAT
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 /orgs/{org}/copilot/billing/seatsreadUAT
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 /orgs/{org}/credential-authorizationsreadUAT
IAT
GET /orgs/{org}/custom-repository-rolesreadUAT
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 /orgs/{org}/custom-repository-roles/{role_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 /orgs/{org}/custom_roles/{role_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 /orgs/{org}/dependabot/repository-accessreadUAT
IAT
GET /orgs/{org}/fine_grained_permissionsreadUAT
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 /orgs/{org}/installationsreadUAT
IAT
GET /orgs/{org}/interaction-limitsreadUAT
IAT
GET /orgs/{org}/members/{username}/copilotreadUAT
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 /orgs/{org}/repository-fine-grained-permissionsreadUAT
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 /orgs/{org}/secret-scanning/custom-patternsreadUAT
IAT
GET /orgs/{org}/secret-scanning/pattern-configurationsreadUAT
IAT
GET /orgs/{org}/security-managersreadUAT
IAT
GET /orgs/{org}/settings/billing/advanced-securityreadUAT
IAT
GET /orgs/{org}/settings/immutable-releasesreadUAT
IAT
GET /orgs/{org}/settings/immutable-releases/repositoriesreadUAT
IAT

Organization permissions for "Custom repository roles"

EndpointAccessToken typesAdditional permissions
POST /orgs/{org}/custom-repository-roleswriteUAT
IAT
PATCH /orgs/{org}/custom-repository-roles/{role_id}writeUAT
IAT
DELETE /orgs/{org}/custom-repository-roles/{role_id}writeUAT
IAT
POST /orgs/{org}/custom_roleswriteUAT
IAT
PATCH /orgs/{org}/custom_roles/{role_id}writeUAT
IAT
DELETE /orgs/{org}/custom_roles/{role_id}writeUAT
IAT
GET /organizations/{organization_id}/custom_rolesreadUAT
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 /orgs/{org}/custom-repository-rolesreadUAT
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 /orgs/{org}/custom-repository-roles/{role_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 /orgs/{org}/custom_roles/{role_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 /orgs/{org}/fine_grained_permissionsreadUAT
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 /orgs/{org}/repository-fine-grained-permissionsreadUAT
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 "GitHub Copilot Business"

EndpointAccessToken typesAdditional permissions
POST /orgs/{org}/copilot-spaces/{space_number}/collaboratorswriteUAT
IAT
PUT /orgs/{org}/copilot-spaces/{space_number}/collaborators/{actor_type}/{actor_identifier}writeUAT
IAT
DELETE /orgs/{org}/copilot-spaces/{space_number}/collaborators/{actor_type}/{actor_identifier}writeUAT
IAT
POST /orgs/{org}/copilot/billing/selected_teamswriteUAT
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}/copilot/billing/selected_teamswriteUAT
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 /orgs/{org}/copilot/billing/selected_userswriteUAT
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}/copilot/billing/selected_userswriteUAT
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 /orgs/{org}/copilot-spaces/{space_number}/collaboratorsreadUAT
IAT
GET /orgs/{org}/copilot/billingreadUAT
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 /orgs/{org}/copilot/billing/seatsreadUAT
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 /orgs/{org}/members/{username}/copilotreadUAT
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 "Members"

EndpointAccessToken typesAdditional permissions
GET /orgs/{org}/external-group/{group_id}writeUAT
IAT
GET /orgs/{org}/external-groupswriteUAT
IAT
POST /orgs/{org}/invitationswriteUAT
IAT
DELETE /orgs/{org}/invitations/{invitation_id}writeUAT
IAT
DELETE /orgs/{org}/members/{username}writeUAT
IAT
PUT /orgs/{org}/memberships/{username}writeUAT
IAT
DELETE /orgs/{org}/memberships/{username}writeUAT
IAT
DELETE /orgs/{org}/organization-roles/teams/{team_slug}writeUAT
IAT
PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}writeUAT
IAT
DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}writeUAT
IAT
DELETE /orgs/{org}/organization-roles/users/{username}writeUAT
IAT
PUT /orgs/{org}/organization-roles/users/{username}/{role_id}writeUAT
IAT
DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}writeUAT
IAT
PUT /orgs/{org}/outside_collaborators/{username}writeUAT
IAT
DELETE /orgs/{org}/outside_collaborators/{username}writeUAT
IAT
PUT /orgs/{org}/public_members/{username}writeUAT
DELETE /orgs/{org}/public_members/{username}writeUAT
GET /orgs/{org}/team-sync/groupswriteUAT
IAT
POST /orgs/{org}/teamswriteUAT
IAT
PATCH /orgs/{org}/teams/{team_slug}writeUAT
IAT
DELETE /orgs/{org}/teams/{team_slug}writeUAT
IAT
GET /orgs/{org}/teams/{team_slug}/external-groupswriteUAT
IAT
PATCH /orgs/{org}/teams/{team_slug}/external-groupswriteUAT
IAT
DELETE /orgs/{org}/teams/{team_slug}/external-groupswriteUAT
IAT
PUT /orgs/{org}/teams/{team_slug}/memberships/{username}writeUAT
IAT
DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}writeUAT
IAT
GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappingswriteUAT
IAT
PATCH /orgs/{org}/teams/{team_slug}/team-sync/group-mappingswriteUAT
IAT
POST /scim/v2/organizations/{org}/UserswriteUAT
IAT
PUT /scim/v2/organizations/{org}/Users/{scim_user_id}writeUAT
IAT
PATCH /scim/v2/organizations/{org}/Users/{scim_user_id}writeUAT
IAT
DELETE /scim/v2/organizations/{org}/Users/{scim_user_id}writeUAT
IAT
PATCH /teams/{team_id}writeUAT
IAT
DELETE /teams/{team_id}writeUAT
IAT
PUT /teams/{team_id}/members/{username}writeUAT
IAT
DELETE /teams/{team_id}/members/{username}writeUAT
IAT
PUT /teams/{team_id}/memberships/{username}writeUAT
IAT
DELETE /teams/{team_id}/memberships/{username}writeUAT
IAT
GET /teams/{team_id}/team-sync/group-mappingswriteUAT
IAT
PATCH /teams/{team_id}/team-sync/group-mappingswriteUAT
IAT
PATCH /user/memberships/orgs/{org}writeUAT
GET /orgs/{org}/failed_invitationsreadUAT
IAT
GET /orgs/{org}/invitationsreadUAT
IAT
GET /orgs/{org}/invitations/{invitation_id}/teamsreadUAT
IAT
GET /orgs/{org}/membersreadUAT
IAT
GET /orgs/{org}/members/{username}readUAT
IAT
GET /orgs/{org}/memberships/{username}readUAT
IAT
GET /orgs/{org}/organization-roles/{role_id}/teamsreadUAT
IAT
GET /orgs/{org}/organization-roles/{role_id}/usersreadUAT
IAT
GET /orgs/{org}/outside_collaboratorsreadUAT
IAT
GET /orgs/{org}/public_membersread