1. For quickest start: Settings > Developer settings > Personal access tokens > Fine-grained tokens. 2. For production/org-wide: create GitHub App at Settings > Developer settings > GitHub Apps. 3. Or just use: https://api.githubcopilot.com/mcp/ (handles OAuth/installation).
| Base URL | https://api.github.com/ |
|---|---|
| API version | 2022-11-28 (REST) + GraphQL v4 |
| Auth | OAuth 2.0 (user-to-server via GitHub App or OAuth App) and Personal Access Tokens (classic or fine-grained). Bearer token in Authorization header. Official MCP server (https://api.githubcopilot.com/mcp/) handles auth via GitHub App installation or PAT. |
| Token URL | https://github.com/login/oauth/access_token |
| Scopes | repo,read:org,workflow,read:user,user:email (PAT) / contents:read,issues:write,pull_requests:write (fine-grained) |
| Request body | application/json |
| Pagination | page-based: page and per_page (max 100). Link header with rel="next"/"last" for navigation. |
| Rate limit | 5,000 req/hour (authenticated PAT). GitHub App: 15,000/hour per installation. Search API: 30 req/min. Secondary rate limits on abuse detection. |
| Error format | JSON: {"message":"...","documentation_url":"...","errors":[{"resource":"...","field":"...","code":"..."}]} |
| Method | Path | Description |
|---|---|---|
| | Create or update a single file in a GitHub repository |
| | Search for GitHub repositories |
| | Create a new GitHub repository in your account |
| | Get the contents of a file or directory from a GitHub repository |
| | Push multiple files to a GitHub repository in a single commit |
| | Create a new issue in a GitHub repository |
| | Create a new pull request in a GitHub repository |
| | Fork a GitHub repository to your account or specified organization |
| | Create a new branch in a GitHub repository |
| | Get list of commits of a branch in a GitHub repository |
| | List issues in a GitHub repository with filtering options |
| | Update an existing issue in a GitHub repository |
| | Add a comment to an existing issue |
| | Search for code across GitHub repositories |
| | Search for issues and pull requests across GitHub repositories |
| | Search for users on GitHub |
| | Get details of a specific issue in a GitHub repository. |
| | Get details of a specific pull request |
| | List and filter repository pull requests |
| | Create a review on a pull request |
| | Merge a pull request |
| | Get the list of files changed in a pull request |
| | Get the combined status of all status checks for a pull request |
| | Update a pull request branch with the latest changes from the base branch |
| | Get the review comments on a pull request |
| | Get the reviews on a pull request |
GET /repos/octocat/hello-world/issues?state=open&per_page=10
Authorization: Bearer {token}
Accept: application/vnd.github+json
X-GitHub-Api-Version: 2022-11-28
Response: [{"number":1,"title":"...","state":"open","user":{"login":"octocat"}}]
Source: curated by KanseiLink from official documentation (docs) and registry checks. Last reviewed: 2026-07-06. Specs change — verify against the official docs before production use.