GitHub · OAuth Scopes

GitHub OAuth Scopes

OAuth 2.0 searched

GitHub publishes 35 OAuth 2.0 scopes. Scopes are the fine-grained permissions an application requests at authorization time to act against the GitHub API on a user’s behalf.

This index is generated from the provider’s OpenAPI security definitions (and, where available, its documented scope reference) and refreshes on every APIs.io network build. Browse every provider’s scopes at scopes.apis.io.

CodeDeveloper ToolsPipelinesPlatformSoftware DevelopmentVersion ControlT1GitHub
Scopes: 35 Flows: Method: searched

Scopes (35)

ScopeDescriptionFlows
repo Grants full access to public and private repositories including read and write access to code, commit statuses, repository invitations, collaborators, deployment statuses, and repository webhooks. **Note:** In addition to repository related resources, the `repo` scope also grants access to manage organization-owned resources including projects, invitations, team memberships and webhooks. This scope also grants the ability to manage projects owned by users.
repo:status Grants read/write access to commit statuses in public and private repositories. This scope is only necessary to grant other users or services access to private repository commit statuses *without* granting access to the code.
repo_deployment Grants access to [deployment statuses](/en/rest/repos#deployments) for public and private repositories. This scope is only necessary to grant other users or services access to deployment statuses, *without* granting access to the code.
public_repo Limits access to public repositories. That includes read/write access to code, commit statuses, repository projects, collaborators, and deployment statuses for public repositories and organizations. Also required for starring public repositories.
repo:invite Grants accept/decline abilities for invitations to collaborate on a repository. This scope is only necessary to grant other users or services access to invites *without* granting access to the code.
security_events Grants: read and write access to security events in the [code scanning API](/en/rest/code-scanning) This scope is only necessary to grant other users or services access to security events *without* granting access to the code.
admin:repo_hook Grants read, write, ping, and delete access to repository hooks in public or private repositories. The `repo` and `public_repo` scopes grant full access to repositories, including repository hooks. Use the `admin:repo_hook` scope to limit access to only repository hooks.
write:repo_hook Grants read, write, and ping access to hooks in public or private repositories.
read:repo_hook Grants read and ping access to hooks in public or private repositories.
admin:org Fully manage the organization and its teams, projects, and memberships.
write:org Read and write access to organization membership and organization projects.
read:org Read-only access to organization membership, organization projects, and team membership.
admin:public_key Fully manage public keys.
write:public_key Create, list, and view details for public keys.
read:public_key List and view details for public keys.
admin:org_hook Grants read, write, ping, and delete access to organization hooks. **Note:** OAuth tokens will only be able to perform these actions on organization hooks which were created by the OAuth app. Personal access tokens will only be able to perform these actions on organization hooks created by a user.
gist Grants write access to gists.
notifications Grants: read access to a user's notifications mark as read access to threads watch and unwatch access to a repository, and read, write, and delete access to thread subscriptions.
user Grants read/write access to profile info only. Note that this scope includes `user:email` and `user:follow`.
read:user Grants access to read a user's profile data.
user:email Grants read access to a user's email addresses.
user:follow Grants access to follow or unfollow other users.
project Grants read/write access to user and organization projects.
read:project Grants read only access to user and organization projects.
delete_repo Grants access to delete adminable repositories.
write:packages Grants access to upload or publish a package in GitHub Packages. For more information, see [Publishing a package](/en/packages/learn-github-packages/publishing-a-package).
read:packages Grants access to download or install packages from GitHub Packages. For more information, see [Installing a package](/en/packages/learn-github-packages/installing-a-package).
delete:packages Grants access to delete packages from GitHub Packages. For more information, see [Deleting and restoring a package](/en/packages/learn-github-packages/deleting-and-restoring-a-package).
admin:gpg_key Fully manage GPG keys.
write:gpg_key Create, list, and view details for GPG keys.
read:gpg_key List and view details for GPG keys.
codespace Grants the ability to create and manage codespaces. Codespaces can expose a GITHUB\_TOKEN which may have a different set of scopes. For more information, see [Security in GitHub Codespaces](/en/codespaces/reference/security-in-github-codespaces#authentication).
workflow Grants the ability to add and update GitHub Actions workflow files. Workflow files can be committed without this scope if the same file (with both the same path and contents) exists on another branch in the same repository. Workflow files can expose `GITHUB_TOKEN` which may have a different set of scopes. For more information, see [Use GITHUB\_TOKEN for authentication in workflows](/en/actions/tutorials/authenticate-with-github_token#modifying-the-permissions-for-the-github_token).
read:audit_log Read audit log data.
offline_access Requests an expiring access token and a refresh token, even if your OAuth app is not configured to use expiring tokens. Use this scope to test and gradually roll out support for expiring tokens. For more information, see [Authorizing OAuth apps](/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps#expiring-access-tokens).

Source

OAuth Scopes

Raw ↑
generated: '2026-11-05'
method: searched
source: https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps
docs: https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps
note: OAuth app scopes; GitHub Apps use fine-grained permissions instead.
scopes:
- name: repo
  description: Grants full access to public and private repositories including read and write access to code, commit statuses, repository invitations, collaborators, deployment statuses, and repository
    webhooks. **Note:** In addition to repository related resources, the `repo` scope also grants access to manage organization-owned resources including projects, invitations, team memberships and webhooks.
    This scope also grants the ability to manage projects owned by users.
- name: repo:status
  description: Grants read/write access to commit statuses in public and private repositories. This scope is only necessary to grant other users or services access to private repository commit statuses
    *without* granting access to the code.
- name: repo_deployment
  description: Grants access to [deployment statuses](/en/rest/repos#deployments) for public and private repositories. This scope is only necessary to grant other users or services access to deployment
    statuses, *without* granting access to the code.
- name: public_repo
  description: Limits access to public repositories. That includes read/write access to code, commit statuses, repository projects, collaborators, and deployment statuses for public repositories and organizations.
    Also required for starring public repositories.
- name: repo:invite
  description: Grants accept/decline abilities for invitations to collaborate on a repository. This scope is only necessary to grant other users or services access to invites *without* granting access to
    the code.
- name: security_events
  description: 'Grants:   read and write access to security events in the [code scanning API](/en/rest/code-scanning)   This scope is only necessary to grant other users or services access to security events
    *without* granting access to the code.'
- name: admin:repo_hook
  description: Grants read, write, ping, and delete access to repository hooks in public or private repositories. The `repo` and `public_repo` scopes grant full access to repositories, including repository
    hooks. Use the `admin:repo_hook` scope to limit access to only repository hooks.
- name: write:repo_hook
  description: Grants read, write, and ping access to hooks in public or private repositories.
- name: read:repo_hook
  description: Grants read and ping access to hooks in public or private repositories.
- name: admin:org
  description: Fully manage the organization and its teams, projects, and memberships.
- name: write:org
  description: Read and write access to organization membership and organization projects.
- name: read:org
  description: Read-only access to organization membership, organization projects, and team membership.
- name: admin:public_key
  description: Fully manage public keys.
- name: write:public_key
  description: Create, list, and view details for public keys.
- name: read:public_key
  description: List and view details for public keys.
- name: admin:org_hook
  description: Grants read, write, ping, and delete access to organization hooks. **Note:** OAuth tokens will only be able to perform these actions on organization hooks which were created by the OAuth
    app. Personal access tokens will only be able to perform these actions on organization hooks created by a user.
- name: gist
  description: Grants write access to gists.
- name: notifications
  description: 'Grants:  read access to a user''s notifications  mark as read access to threads  watch and unwatch access to a repository, and  read, write, and delete access to thread subscriptions.'
- name: user
  description: Grants read/write access to profile info only. Note that this scope includes `user:email` and `user:follow`.
- name: read:user
  description: Grants access to read a user's profile data.
- name: user:email
  description: Grants read access to a user's email addresses.
- name: user:follow
  description: Grants access to follow or unfollow other users.
- name: project
  description: Grants read/write access to user and organization projects.
- name: read:project
  description: Grants read only access to user and organization projects.
- name: delete_repo
  description: Grants access to delete adminable repositories.
- name: write:packages
  description: Grants access to upload or publish a package in GitHub Packages. For more information, see [Publishing a package](/en/packages/learn-github-packages/publishing-a-package).
- name: read:packages
  description: Grants access to download or install packages from GitHub Packages. For more information, see [Installing a package](/en/packages/learn-github-packages/installing-a-package).
- name: delete:packages
  description: Grants access to delete packages from GitHub Packages. For more information, see [Deleting and restoring a package](/en/packages/learn-github-packages/deleting-and-restoring-a-package).
- name: admin:gpg_key
  description: Fully manage GPG keys.
- name: write:gpg_key
  description: Create, list, and view details for GPG keys.
- name: read:gpg_key
  description: List and view details for GPG keys.
- name: codespace
  description: Grants the ability to create and manage codespaces. Codespaces can expose a GITHUB\_TOKEN which may have a different set of scopes. For more information, see [Security in GitHub Codespaces](/en/codespaces/reference/security-in-github-codespaces#authentication).
- name: workflow
  description: Grants the ability to add and update GitHub Actions workflow files. Workflow files can be committed without this scope if the same file (with both the same path and contents) exists on another
    branch in the same repository. Workflow files can expose `GITHUB_TOKEN` which may have a different set of scopes. For more information, see [Use GITHUB\_TOKEN for authentication in workflows](/en/actions/tutorials/authenticate-with-github_token#modifying-the-permissions-for-the-github_token).
- name: read:audit_log
  description: Read audit log data.
- name: offline_access
  description: Requests an expiring access token and a refresh token, even if your OAuth app is not configured to use expiring tokens. Use this scope to test and gradually roll out support for expiring
    tokens. For more information, see [Authorizing OAuth apps](/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps#expiring-access-tokens).

Work with this as data

Every scope set here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for oauth scopes

4 MCP tools reach this
  • find_scopesBrowse and filter every scope set in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This scope set
curl "https://apis.io/api/v1/scopes/github-scopes"
All oauth scopes
curl "https://apis.io/api/v1/scopes?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.